l

2013年5月31日 星期五

Scrum敏捷方法實作班第六梯次課程實錄

May 29 21:50~22:32

5月25~26日是Scrum敏捷方法實作班第六梯次上課日,這次上課Teddy分享了一些新的Scrum導入經驗,所以有新的「笑點」可以聽,這樣子助教比較不會無聊(同樣的故事助教聽了太多次了挑眉質疑)。接下來用「照片來寫日記」,看幾張課程進行照片。

講到empirical process control,Teddy要變一個魔術,請一位學員來當助理先生,配合演出。

螢幕快照 2013-05-29 下午10.00.52

 

怎麼一片黑漆漆的,難道是走錯地方來到電影院?不是啦,看一段YouTube上面的Acer平板電腦廣告,從中理解「價值驅動」與「計畫驅動」的差別。

螢幕快照 2013-05-29 下午10.02.51

 

這次的story改用了新的格式…其實內容元素是一樣的,不過把原本放在最後面so that的內容移到最前面,這種寫法比較有助於需求發想。

螢幕快照 2013-05-29 下午10.28.02

 

開始動手寫story。

螢幕快照 2013-05-29 下午10.09.30

 

出牌估算story point…這麼快就鐵支了挑眉質疑。要寫完10個story才可以下課喔。

螢幕快照 2013-05-29 下午10.10.37

 

切割與估算task。

螢幕快照 2013-05-29 下午10.14.05

 

實作,大家都變認真的,果然是工程師啊微笑

螢幕快照 2013-05-29 下午10.14.28

 

Daily Scrum後的工作看板。

螢幕快照 2013-05-29 下午10.15.03

 

Review跟Retrospective…照片忘了拍…不過這不是重點,重點是,學員們要切記,不要只學會doing agile,重點是要being agile。

螢幕快照 2013-05-29 下午10.15.31

 

這次還有介紹如何從消除浪費的角度來養成持續改善的團隊文化。

螢幕快照 2013-05-29 下午10.21.23

 

最後的最後,考考學員們,導入Scrum會遭遇的什麼問題。

螢幕快照 2013-05-29 下午10.16.02

***

友藏內心獨白:不同梯次的課程內容都有些許的不同喔。

2013年5月30日 星期四

改行寫網路小說算了(12)

May 29 12:50~14:05

pic04

圖片來源在此

***

差役甲:什麼,你說今天早朝聖上下旨要我們把「雲端殺豬系統」變成「open source」軟體?

九品工程師:精確地說,是聖上要我們把「open source」這個「功能」加入「雲端殺豬系統」裡面。

差役乙:切,拜託,「open source」又不是一種「功能」,這些大臣們到底懂不懂啊。

九品工程師:你是新來的啊,他們當然不懂也不想懂啊。

差役甲:那怎麼辦,我們要怎麼實作出「open source」這個「功能」啊?

九品工程師:放心吧,實作出「open source」這個「功能」的要求你們不需要去理會他。

差役甲:你敢抗旨不遵(難道你老早就開啟了104上的履歷)?

九品工程師:各位放心,待我上書一封奏摺,此事定可平安無事。

***

臣九品工程師 白木林 啟奏:

奉聖上2013年5月xx日早朝口諭,有關「雲端殺豬系統」開放原始碼一案,將以GNU General Public License (GPL)形式釋出。

恭請聖裁。

***

(數日後,南書房)

聖上:這什麼亂七八糟的東西,九品工程師上這份奏摺朕怎麼越看愈糊塗啊。

小李子:皇上,這是上周五早朝的時候,您開金口要九品工程師把「雲端殺豬系統」的程式碼給公開,讓所有的老百姓都可以免費自由使用。

聖上:要公開程式碼,還可以讓老百姓免費自由使用?朕怎麼不記得有這回事?

小李子:當時行銷總監提議,只要「雲端殺豬系統」能夠「支援open source這個功能」,便可拿下挪威市場。

聖上:朕想起來了,是有這麼一回事。可朕並沒有說要讓老百姓們可以「免費自由使用」咱們 大清國 的「雲端殺豬系統」啊。朕是要九品工程師把「支援open source的功能」加入「雲端殺豬系統」裡面。

小李子:奴才琢磨著,「支援open source的功能」就是要公開程式碼並且讓老百姓免費自由使用。

聖上:不行、不行,這可是有違「祖制」的事。

***

(一個月後)

差役甲:你上書給聖上的那份奏摺怎麼一直沒有批覆?

九品工程師:聖上沒有批覆的奏摺,就代表他不贊成。

差役甲:不贊成就批不贊成不就好了?

九品工程師:當然不行啊,因為聖上已經在早朝公開下旨要我們把「open source」這個「功能」加入「雲端殺豬系統」裡面。如果現在聖上在奏摺上批示不可,會留下紀錄,這不是自打嘴巴嗎。

差役甲:所以說…

九品工程師:沒消息就是好消息啊微笑

***

友藏內心獨白:快去買一本清宮密史,大內高手不是那麼好當滴。

2013年5月29日 星期三

可是約耳說要關在自己專屬的房間啊

May 27 09:21~23:38

image

 

有一個問題Teddy在演講與上Scrum課程的場合被問過好幾次,今天就來談一下這個問題。很多鄉民都讀過《約耳趣談軟體》與《約耳續談軟體》這兩本書,在書中作者「約耳」建議每一個程式設計師都要有一個可以關上門而且有窗戶的房間,如此可以避免程式設計師的思慮不被吵雜的環境給打斷,可以提升工作的效率。

問題來了,Scrum團隊把開發人員全部搞到一個大房間裡面,每個人排排坐,吃果果 寫程式。這樣子的好處是有助於團隊溝通,但是開發人員也很容易被其他人的討論聲音給影響,因此會降低生產力。那到底是要聽約耳的,還是要聽Scrum的建議?

***

這是一個很常見的問題,會有這個疑問的鄉民們,一定是沒上過Teddy的「Design Patterns這樣學就會了:入門實作班熱戀,上過這個課的鄉民們就知道,要分析一個問題,至少必須要考慮Solution、Problem、Context這三個因素。發問的鄉民只注意到約耳提出的Solution,以及隱約知道這個Solution要解決的問題是什麼,但是卻忽略了約耳的Problem與Solution所發生的Context。讓Teddy幫鄉民們分析一下:

  • Context:你開了一家小型軟體公司,你擁有自己的產品並且想要行銷到全世界。為了成功,你採取菁英策略,想盡各種方法招募頂尖的開發人員。你知道軟體開發是一件腦力密集的工作,若開發人員的思慮一直被外界干擾給中斷,則會降低生產力與品質。
  • Problem:如何配置工作環境?
  • Solution:給每一位開發人員一間可關上門且有窗戶的房間,作為上班的工作空間。獨立的空間可隔絕外界的干擾,讓開發人員專心於工作上。

***

然後哩?看完之後還是不知道「要聽約耳的,還是要聽Scrum的建議」啊。仔細思考這個問題,可以發現有兩個重要的Force需要被平衡:

  • 不受干擾的環境可以讓開發人員專心於工作,有助於提升生產力與品質。
  • 軟體開發是一個團隊活動,開發人員需要彼此溝通協調。好的溝通可以讓團隊成員少走很多冤枉路,並且鼓勵知識在團隊中互相流動,有助於提升生產力與品質。

在約耳的Context底下,他認為處理「單獨作業與不受干擾」這個Force比較重要,因此他對於工作環境安排Solution主要是為了解決第一個Force。至於溝通的問題,可以採用其他方式來處理。在Scrum的框架下,認為「團隊合作與溝通」比重要,因此Scrum建議的工作環境Solution主要在解決第二個Force。

***

看到這裡關於「要聽約耳的,還是要聽Scrum的建議」這個問題只討論了一半,另外一半就是提問這個問題的鄉民對於Scrum(廣義的說應該是敏捷方法)所提出工作環境建議的Solution並沒有全盤了解。在《Visual Studio Team System: Better Software Development for Agile Teams》這本書中有談論到敏捷開發團隊的工作環境配置建議,如下圖所示:

image

除了公開的開發環境以外,敏捷開發團隊還應該有自己的會議室、廚房、以及較為隱密的個人工作區。很可惜在台灣因為 老闆省錢 地狹人稠的原因,團隊的工作環境最後被cost down成只有開放的工作區域挑眉質疑

***

寫到這邊Teddy想到open-closed principle這個物件導向設計原則,以及2007年的時候所寫的一篇e-learning論文:《Towards a Pattern Language Approach to Establishing Personal Authoring Environments in E-Learning》,文中也有提到專心與干擾的問題(論文可在搞笑談軟工Facebook下載)。

螢幕快照 2013-05-27 上午11.24.16

***

友藏內心獨白:Alexander的pattern方法真的是一種分析問題的好工具。

2013年5月28日 星期二

軟體開發和大便的關係

May 27 13:41~15:14

螢幕快照 2013-05-27 下午3.10.39

這一張是Teddy珍藏將近20年的圖片,原始檔案已經不見了,上圖是當年用噴墨印表機印出來的文件所翻拍而成的照片。

***

老闆:這個功能幾天可以做完?

你:不知道耶,要做看看才知道。

老闆:你是資深軟體工程師,這樣講太不專業了吧。

***

老闆:我肚子不舒服,去上個廁所你在這裡等我一下。

你:請問您大便要大多久。

老闆:我怎麼知道,要大完之後才知道啊。

你(內心獨白):身體是你自己的,這樣講太不專業了吧。

***

老闆:你大個便怎麼這麼久,要是讓我來拉只要5分鐘就拉個乾乾淨淨,你居然需要15分鐘,工作 拉屎效率只有我的1/3。

你(內心獨白):比這個有意義嗎挑眉質疑

***

幾天前看到某位朋友在Facebook上的一句留言,Teddy突然領悟到軟體開發和大便其實很像。

  1. 耗費時間有跡可循卻又很難準確估計:在沒有便秘的前提之下,假設一個人大便所需的時間落在5~10分鐘的範圍。有些人每天都會大便,有些人2~3天才大一次,但每次大便的時間總是可以參考歷史資料因此有跡可循。但有時候你會突然肚子痛,往廁所一衝一瀉千里。正當你覺得差不多要「結案收工」的時候,bug…不對,是大便卻還是一滴、一滴的冒出來(好噁心啊挑眉質疑)。這時候你很後悔剛剛衝進廁所的時候怎麼沒有順手帶份報紙或是雜誌,還好你隨身攜帶智慧型手機,讓你在接下來不可預期的時間之內有事可做(迷之音:你洗手了嗎…沒事不要跟剛上完廁所的人借手機來玩啊)。
  2. 大多久不是重點,還剩下多少沒拉出來才是重點:有些人堅信「無法測量,就無法改善」的科學化管理方法,因此堅持統計每次大便所耗費的時間,以作為預估下次大便所需時間的參考。很可惜需求在變,人的身體狀況也在變。毒澱粉、三聚氰胺、環境賀爾蒙,吃東西的風險真的不比做專案要來的低。你花了多久的時間在馬桶上的數據對於你下次大便需要拉多久的幫助並不大,還是先煩惱這次還需要多少時間才可以拉的乾乾淨淨比較實在。有時候你在馬桶上呆坐10分鐘,一點成果也沒有,但就在你擦好屁股之後,卜的一聲,又有bug…不對,是黃金從天而降。噯呀,剛剛用掉的衛生紙都浪費了。有時候一恍神可能不小心跌落馬桶之中,遇到解不完的bug,弄得整個人變得臭臭的。此時要趕緊打電話求救,千萬不要硬撐。
  3. 品質很重要:產品品質不良會造成重工(rework),形成時間與金錢的浪費。大便也是如此,你擦完屁股,按下馬桶,穿好褲子,走出廁所,完成了一次完美的大便。但,才剛走回座位上不到3分鐘,肚子又怪怪的,你又快速跟熟悉的馬桶報到。衛生紙、沖馬桶的水、以及你來回走動的時間,還有等待廁所有空的時間(有時候會遇到馬桶都被占用的情況),都是一種浪費。
  4. 加班不能解決問題:把一個人擺在馬桶上14個小時,第一次你可能可以得到比較多的便便。但是如果每天都在馬桶上待上14個小時,你將無法壓榨出更多的便便,他只會在馬桶上玩手機而已。要得到穩定的 產出 便便,健康的身體與正常的作息是最基本的條件。
  5. 便秘的人待在馬桶上的時間再久還是拉不出屎:一個人的 流程 大腸如果已經卡住了,累積了太多宿便,此時就算是一天24小時都坐在馬桶上,還是徒勞無功,毫無便意。這時候應該建議這個人改變一下生活作息、食物與飲食習慣,病情嚴重者甚至要去 請顧問 看醫生。
  6. 工具有幫助但並非必須:有些人覺得用衛生紙擦屁屁不衛生也擦不乾淨,而且冬天很冷的時候一屁股坐在馬桶蓋上會「打冷榫」,因此堅持要購買免治馬桶。好的免治馬桶的確可以提升便便的「使用者體驗」,但拉不拉得出來、拉的漂不漂亮,還是要靠正常的作息與飲食習慣。

***

友藏內心獨白:希望鄉民們不要在吃飯的時候讀到這篇挑眉質疑

2013年5月27日 星期一

改行寫網路小說算了(11)

May 26 21:43~23:19

image

「雲端殺豬系統」的功能真的是越來越強大了挑眉質疑

***

聖上:聽說軟體部門已經把滷肉飯味道太淡的問題給解決了,是嗎?

行銷總監:啟奏聖上,這件問題在奴才全力奔波協調之下,已經辦妥了。

聖上:很好、很好。

產品經理:皇上聖明,請聖上開金口訂定「雲端殺豬系統」的上市日期。

聖上:這…此事急不得。依朕看,還是先找三個熟識的客戶試用一下,看看對方的反應,再來決定上市日期。

行銷總監:聖明啊、皇上聖明啊。奴才有罪、有罪,怎麼就沒想到這一點呢。

產品經理:(叩、叩、叩)奴才也有罪,請聖上治罪。

九品工程師內心獨白:有醉、有醉,這兩隻真的是醉很大,醉不用錢。

聖上:好了、好了,朕又沒有怪罪你們,起來吧、起來吧。

聖上:關於找試用客戶的事,就交給行銷總監去辦吧。

行銷總監:奴才遵旨。

聖上:那今天就到這裡,退朝。

(眾人)吾皇萬歲、萬歲、萬萬歲。

***

行銷總監:那個「來福」啊。

產品經理:小的在。

行銷總監:剛剛聖上說的話聽到沒有啊,快去找三個客戶試用一下我們的「雲端殺豬系統」,知道嗎?

產品經理:小的知道了,小的馬上去辦。

***

(三個月後)

聖上:「雲端殺豬系統」試用的情況如何啊?

行銷總監:啟奏聖上,此事奴才讓產品經理來報告。

產品經理:聖上,我們找了三位客戶,三位都表示我們的「雲端殺豬系統」不符合他們的需求。

聖上:你都找了那些客戶啊?

產品經理:啟奏聖上,有挪威的妮妮絲軟體公司印尼的木思您集團、以及日本的沙西米路電信公司

聖上:不錯、不錯,這些都是很大的客戶啊。為什麼他們覺得「雲端殺豬系統」不符合需要呢?

產品經理:首先,妮妮絲軟體公司說他們只用open source的系統,我們的「雲端殺豬系統」沒有open source,所以他們不予考慮。至於木思您集團則是說他們國家的人民不吃豬,所以「雲端殺豬系統」對他們而言沒有市場,但是如果可以增加殺牛的功能的話,他們倒是願意考慮看看。最後沙西米路電信公司表示,中國是口蹄疫疫區,他們不敢試用我們安裝在中國的「雲端殺豬系統」,但是如果我們的系統可以支援「雲端殺鮪魚」的功能,他們才願意考慮試用。

行銷總監:大喜啊,聖上,真的是大喜啊。

聖上:何喜之有?

行銷總監:聖上,產品經理所收集到的客戶試用回饋真的是太寶貴的資訊了。只要我們的「雲端殺豬系統」能夠「支援open source這個功能」,還有增加「殺牛、殺鮪魚的能力」,那麼我們就可以拿下挪威、印尼、日本這三個市場啊。

聖上:喔,那要增加這三個功能需要多少時間啊?「雲端殺豬系統」不是已經可以殺豬跟殺雞了嗎,四隻腳跟兩隻腳的都可以殺了,再殺個四隻腳的牛跟沒有腳的鮪魚應該不難才對。

九品工程師:聖上,首先「open source」並不是一種「功能」,而是要將我們軟體系統的原始碼公開,然後…。

產品經理:唉呀,我說九品工程師啊,你老毛病怎麼又犯了。聖上是問你做完這三個功能需要多少時間,你講這些技術細節做什麼呢?

行銷總監:是啊、是啊,你就估個時間吧。我看…嗯…兩個禮拜會不會太多?

九品工程師:兩個禮拜!既然行銷總監如此神勇,那有勞大人親自來做這三個「功能」。

聖上:好了、好了,愛卿別吵了,依朕看,就一個月好了,一個月之內把這三個新功能加到「雲端殺豬系統」裡面。九品工程師,沒…問…題…吧?

九品工程師:臣盡力試試。

聖上:各位愛卿遇事要好好商量,你們看問題不是解決了嗎。沒其他事就退朝吧。

(眾人)吾皇萬歲、萬歲、萬萬歲。

***

九品工程師內心獨白:難道公司當初在應徵員工的時候,都沒有做過智力測驗嗎?就算沒有考智力測驗,應徵條件也應該要註明「限地球上的人類,牲畜與外星人勿擾」吧惱怒

***

友藏內心獨白:客戶拒絕使用產品,還可以掰出試用結果,真是高啊。

2013年5月26日 星期日

2013馬祖考察之旅Day2-A從北竿到南竿

May 24 22:18~23:29

早上7:30吃早餐,民宿準備的早餐一人一杯熱咖啡和一個「繼光餅加蛋」。今天早上的天氣很好,好的可以看到對岸。

螢幕快照 2013-05-24 下午10.50.31

螢幕快照 2013-05-24 下午10.50.08

 

民宿女老闆的工作區,這裡只賣飲料,吃的只有繼光餅挑眉質疑

螢幕快照 2013-05-24 下午10.51.21

 

對了,Teddy和Kay住的民宿叫做芹壁25號,房間乾乾淨淨的,設備也算新穎,有免費WiFi和早餐,以及機場、港口接送。Teddy覺得還不錯,有興趣到北竿遊玩的鄉民們可以參考一下。

螢幕快照 2013-05-24 下午10.52.28

 

遙遠的陸地就是對岸,可以看到好幾根風力發電機…挑眉質疑

螢幕快照 2013-05-24 下午10.51.04

從沙灘上拍芹壁村,如果好好整理一下,真的很漂亮。

螢幕快照 2013-05-24 下午10.51.34

螢幕快照 2013-05-24 下午10.51.54

螢幕快照 2013-05-24 下午10.52.03

***

吃完早餐略作休息,來到北竿港口,準備搭船到南竿。港口外好多計程車,第一次在北竿同時看到這麼多部計程車。

螢幕快照 2013-05-24 下午10.54.21

螢幕快照 2013-05-24 下午10.53.10

 

到北竿的船票160元。

螢幕快照 2013-05-24 下午10.53.58

 

搭船、搭船。

螢幕快照 2013-05-24 下午10.53.33

 

偷拍船長的駕駛座位。

螢幕快照 2013-05-24 下午10.55.09

 

20分鐘左右就來到了南竿,看到著名的枕戈待旦四個大字。

螢幕快照 2013-05-24 下午10.54.51

 

南竿碼頭。

螢幕快照 2013-05-24 下午10.55.30

 

港口邊有一家小七,還有購票處。

螢幕快照 2013-05-24 下午10.55.20

 

購票處可以購買到北竿還有其他小島的船票。

螢幕快照 2013-05-24 下午11.04.13

 

裡面還有免費的置物櫃,不過size都很小,大一點的行李還放不下,只能放在下面沒有門的空格子裡面。

螢幕快照 2013-05-24 下午11.04.25

***

在購票處等民宿主人來載我們,把行李放到民宿之後就要開始南竿之旅了微笑

***

友藏內心獨白:突然想到一個關於馬祖的趣聞,下次再說。

2013年5月25日 星期六

2013馬祖考察之旅Day1-G北竿大街覓食_民宿休息

May 9 22:56~23:15

回到北竿機場附近的「市區」,繞了一下尋找晚餐。

螢幕快照 2013-05-09 下午10.57.41

螢幕快照 2013-05-09 下午10.57.48

螢幕快照 2013-05-09 下午10.58.03

 

這家阿婆魚麵也滿有名的。

螢幕快照 2013-05-09 下午10.58.10

 

螢幕快照 2013-05-09 下午10.58.18

螢幕快照 2013-05-09 下午10.58.25

螢幕快照 2013-05-09 下午10.58.36

 

大街上有著北竿唯一一家小七。

螢幕快照 2013-05-09 下午10.58.50

 

居然也有歇腳亭。

螢幕快照 2013-05-09 下午10.59.08

 

還有炸雞排。

螢幕快照 2013-05-09 下午10.59.17

***

買好晚餐回到民宿,這時候才帶著早上寄放的行李check-in。民宿的大門,看起來很新。

螢幕快照 2013-05-09 下午11.00.05

 

一層有四間房的樣子。

螢幕快照 2013-05-09 下午10.59.56

 

無線網路,有三支天線,訊號應該很強很棒

螢幕快照 2013-05-09 下午11.00.14

 

房間的浴室,設備也是很新穎。

螢幕快照 2013-05-09 下午10.59.35

***

最後是晚上快12點的時候所拍的芹壁照片,真的非常漂亮啊。

螢幕快照 2013-05-09 下午11.00.23

螢幕快照 2013-05-09 下午11.01.26

螢幕快照 2013-05-09 下午11.00.59

***

友藏內心獨白:伴著海浪聲入眠,非常舒服很棒