l

2009年10月30日 星期五

我變成有牌的 ScrumMaster 了

00:55~01:20

話說上禮拜四、五上完了 Certified Scrum Master 課程之後,我才想到,阿...怎麼沒有發證書呢? 這可是關係到四萬塊大洋...後來才知道,上完課程之後,會得到一個http://www.scrumalliance.org/ 網站的帳號,登入之後填一些基本資料,然後便成「Certified Scrum Master 候選人」(這是什麼東東?)。之後還要參加一個線上測驗 (今年10月1日才有的規定,之前好像不用),要在一個小時內回答61題,通過之後才會成為 Certified ScrumMaster。

證書長這樣子

這個認證只有兩年期限 (這兩年的會員費用已經包含在上課費用裡面),兩年過後還要重新考一次(好像要付 150 美元的會員費),認證才會繼續有效。不愧是老外,真會賺。

考試過程倒是沒什麼特別的,除了一些題目不會寫以外,其他都還順利 (不會寫不就是最嚴重的問題嗎!) 不過有一點我倒是要寫信去抗議 (和考試無關),就是在填寫個人資料的時候,國家一欄居然出現 「Taiwan, Province of China 」,哇...靠...左邊走...,這網站是外包給阿共開發的嗎?準備明天寫一封信去要求更正。

Teddy 非統非獨,只不過,有出國玩的人都知道,阿共的旅客水準實在有待加強。Teddy 可不想變成阿共不可分割的一部份。話說回來,連體嬰都可以分割了,世界上哪有什麼不可分割的?

2009年10月25日 星期日

功課寫完沒: The definition of done

根據事後諸葛亮表示,小朋友最怕父母問的一個問題,就是「功課寫完沒?」短短五個字,對幼小的心靈而言,卻具有如同原子彈般的殺傷力。因為這個問題的答案,決定了接下來的時間,小朋友們能不能:

出去玩
看海綿寶寶
Play Game
吃點心
看漫畫

眼看人生中這麼多美好的事情,就要被一個簡短的是非題給毀了,幼小的心靈學會了什麼叫做善意的謊言:「寫….完…了…啊(答的很心虛,事實是,完全沒動,或是亂寫一通)」

當父母的自然也不是省油的燈:「寫完了啊,拿出來我看一下」,當場就被抓包了。

***

隨著時間飛逝,小朋友長大了,從此過著幸福快樂的日子…. 錯!這個「功課作完沒?」的問題變成:

程式寫完了嗎、Bugs 解了嗎、軟體可以release了嗎

為了不傷老闆的心,你大聲的說出:寫完了、解好了、隨時可以release

此時的你,心中浮現小小的吶喊:

寫完了,還沒測試
這個 bug 解好了,但是以另外一個 bug的身分繼續存在著
隨時可以release,附贈bugs吃到飽以及口齒不清的說明文件

「你等會」曾說過:「阿共再大,也沒有我老爸大」,這句話一點也沒錯。爸爸媽媽可以抓出你功課沒寫完,而阿共卻看不出你案子沒做完。隨著年紀漸長,功課有沒有寫完這個問題越來越難回答,因為常常連做功課的人也不知道,功課的範圍有多少,何時才寫的完。

定義功課寫完沒 (The definition of “done”)

在Scrum裡面,Scrum團隊如何知道需求是否已經做完,可以被Product Owner驗收?所以Scrum提到團隊需要有一個對於「完成的定義」。這個定義可能包含:

程式可以動、通過單元測試、通過其他各種測試(integration, function, system, security, performance, availability, robustness…)、重整程式(refactored)、更新重要設計文件、完成使用手冊、可以被安裝等等。

唯有事先定義好done,才能知道每一個 sprints真正完成了多少功能,而不是灌水的數據,也才有可能在每個sprint結束時,產生一份「可以交給老師的作業」(potentially shippable products)。


什麼是軟體工程

關於軟體工程到底算是個什麼東西,各種定義都有,在此Teddy要提供一個孤狗找不到、課本沒有寫、危機百科尚未編目的定義。此定義來自於Teddy的指導教授:

Software Engineering is Talking Engineering

這真是太偉大的定義了。說穿了,軟工這一行,靠著不就是一張嘴。會講話的,大家買單,一起當白老鼠。這跟直銷有點像,當下線夠多的時候,上線自然水漲船高,大師名號手到擒來。不會講話的,做到死也沒人知道。這就是為什麼程式寫不好你老闆不會知道,而講錯話卻馬上被白眼的原因。

這一點從物理的角度也可得到證明:

音速 >> 人類動作的速度

除非某天鄉民們能帶個火把或是小手電筒「自行發光」(拿個什麼貴死人不償命的 CMMI 證照):

光速 >> 音速 >> 人類動作的速度
(大牌顧問) >> (Manager or 小牌顧問) >> (小工程師)

不過,千萬別忘了,還有一個最重要的力量左右專案的一切,你的老闆:

黑洞 >> 光速 >> 音速 >> 人類動作的速度
(老闆) >> (大牌顧問) >> (Manager or 小牌顧問) >> (小工程師)

至於小工程師,回家唱唱蔡秋鳳的「金包銀」吧。

2009年10月24日 星期六

免費的 Papers, 快來看喔

Teddy身為博速級的軟體從業人員,身邊隨時帶著三、五篇papers(論文),也是很自然的事(鄉民甲:被我抓到了,抄襲功夫足球的對白喔)。最近在Teddy門可羅雀的部落格上「話虎爛」的文章比例太高,也不行,所以這次介紹幾篇Teddy曾經發表但卻沒什麼人看的論文,來充充篇數。

Exception Handling Refactorings: Directed by Goals and Driven by Bug Fixing

一個支援Scrum 的工具: 利用問題追蹤及持續整合系統

JCIS2:一個分散式持續整合系統

JCIS3:一個支援跨平台專案的持續整合系統


這幾篇文章都有一個共同點,就是都屬於 agile methods 領域。第一篇有點長,不過,如果鄉民們有失眠的困擾或是吃飽沒事想了解如何重構與 exception handling相關程式碼,這一篇是目前地球上寫的最好的一篇。

2009年10月23日 星期五

Certified Scrum Master, Day 2

話說昨天的課程,Teddy可是拼著老命去參加的,因為就在禮拜五的清晨,Teddy突然牙痛,一整夜幾乎沒睡。還好課程內容有料,在服用兩杯咖啡之後,成功的阻擋Teddy與周公的meeting。昨天下課回到家之後,立刻直衝牙醫診所,還好平常幫Teddy看牙的醫生當晚有看診。醫生檢查了老半天,也不能確定是哪一顆牙齒有問題,醫生告訴Teddy:「我們有兩個嫌疑犯,牙齒X和牙齒Y,我認為牙齒X的嫌疑比較大,這次先把牙齒X的神經給抽掉,如果回家之後過幾天還會痛,我們再來處裡牙齒Y。」我ㄌㄟ…靠過來一點…Teddy口中的居民已經沒剩下幾個了,拜託醫生你要猜的準一點啊。

離開診所。從此之後,Teddy又「少了一根經」。

以上關於Teddy個人健康情況的報告,請直接跳過…(鄉民甲:切,我都看完了你才叫我不要看)

言歸正傳,第二天的課,講了幾個Teddy自以為早已知道其實不然的東西:

* Product backlog
* Product backlog refinement (這個Teddy沒有印象在Scrum的書裡面有看到過)
* Sprint backlog
* Daily scrum
* Sprint retrospective
* Working agreements (這個好像也是第一次聽到)

另外,Teddy以前看到scaling scrum 相關的議題都直接跳過,Why…如果你的team只有6 , 5 , 4 個人,有需要擔心這個問題嗎?依據agile methods的精神… deciding as late as possible, 下一頁。好里佳在,今天的課程也有涵蓋這個範圍,因為善心人士可能會問Teddy這個問題。

課程結束之後,Teddy拿了一本書給Bas簽名,並且跟兩位講師合照一張相片。





夜深了,本集播放到此結束。以後有機會再整理一下這兩天上課的心得。

友藏內心獨白:「耶,怎麼沒有發Certified Scrum Master證書?」

2009年10月22日 星期四

Certified Scrum Master, Day 1

Certified Scrum Master Course 終於巡迴到台灣,今明兩天在台北神旺飯店三樓盛大舉辦。上課時間早上9:00到下午6:00,講師為Bas Vodde(荷蘭人,現居住在新加坡,好像有六年以上採用Scrum的經驗…不確定有沒有聽錯…) 與Clinton Keith(老美,參與過許多戰鬥機與遊戲專案),都是經驗十分豐富的專家。上課的學員,包含Teddy共有14人,其中有一位是Bas公司的員工,來自香港(長的很像Teddy以前的同事,相似度85%)。所以正港的臺灣人只有13位,其中某遊戲公司與某病毒製藥公司各派出四名員工參加(有富爸爸的感覺真好,一套四萬的鯊魚衣,喜歡嗎…爸爸買給你… YES)。另外有兩位曾經與Teddy一起上過CMMI課程的前輩,資金來源不明;還有一位來自三個I,加上Teddy,耶,還有一位漏網之魚的背景沒有調查清楚。

一疊厚厚的四萬塊新台幣要拿去換一張薄的幾乎讓人忘了它的存在的證書,對Teddy而言C/P值不夠高,原本是沒有打算報名參加的。後來在某位善心人士熱心贊助之下,Teddy欣然接受,就報名了。先講結論,第一天上課的經驗是:「這兩位遠來的和尚還挺會念經的」,尤其是Bas,很幽默的,而且講英文的時候特意放慢速度,咬字非常清楚,大家都聽的懂。

為了把這筆善款的價值提到最高,Teddy事先把之前看過的Scrum書籍拿來出來複習一遍,抱持著自助火鍋「吃到飽」的精神,先寫下10個問題準備發問。上午的課程苦無發問機會,眼看就要吃午飯,可能會各作鳥獸散。不過不知是幸運還是不幸,午餐居然是16個人在一個包廂內圍著一個超大圓桌一起吃飯,Teddy當場傻眼…好像幫派或是政客在「喬」事情的場景。好死不死,Teddy左手邊沒人坐,晚到的Bas沒得選只能坐在Teddy旁邊。利用上菜空檔與吃飯時間,Teddy用「菜英文」向Bas請教了幾個問題。聊了幾句之後,服務生上了第一道菜,Bas忽然用「流利」的中文問服務生這道菜是什麼。哇哩勒,難道阿斗仔也學會咱們台灣人「莊孝唯」這一套…一問之下,原來Bas的老婆是北京人(不是住在周口店的那種),他在家裡都跟他老婆講中文。

關於Bas中文一級棒這件事,還不是今天最令Teddy感到意外的。讓Teddy最感意外的事,居然是Bas說Scrum裡面不使用focus factor。這個Teddy在一年半前從Scrum and XP from the Trenches 這本書學來的方法,居然被Bas說成:「Scrum沒有focus factor這種東東」。天啊,這好比「你等會兒」曾說過:「釣魚台是日本不可分割的一部分」更令Teddy難以接受。不過Bas補充說明,如果Teddy服用focus factor之後「自我感覺良好」,表示此藥物沒有副作用,可以放心繼續服用,不必因噎廢食。各位看官,如果是你,你還啃的下去嗎?

最後,Teddy拿出Ken Schwaber(身分等同XP的Ken Beck)在N年前所寫的論文「Scrum Development Process」(請參考下圖,取自該論文)來請問Bas,「為什麼這篇paper裡面提到的Scrum,還包含了Pregame(planning & system architecture/high level design)與postgame(closure)兩個phases?」Bas輕描淡寫的說:「這篇paper太舊了,現在Ken已經不談這兩個phases了」。真帥,一槍斃命。



眼尖的鄉民們可能注意到了,上圖中Ken稱呼Scrum為「Methodology」,現在似乎比較常用Scrum Framework。Teddy一向對於「大家來找碴」這類活動不甚擅長,沒有留意到Ken好心留下的線索。再提醒一次,「Planning & System Architecture」和「Closure」已經過了保存期限,擅自服用者請自負風險。

說真的,第一次看到這張圖,覺得好眼熟…怎麼有點RUP的感覺:

Planning & System Architecture = (Inception + Elaboration * 0.5)
Sprints = (Elaboration * 0.5) + Construction
Closure = Transition

這個問題Teddy一直苦思不解,雖然也曾經懷疑這篇paper的時效性,但畢竟只是猜測。在Bas解惑之後,Teddy又想到古人的名言:「盡信 Papers 不如無 Papers」。YES,老祖宗的智慧真的不可忽視啊。

今天的課程如果真要說有什麼美中不足之處,除了某位疑似感冒的學員沒有戴口罩之外,就是「吃的東西太少了啦」。這些搞agile methods的人,不都是最會吃吃喝喝的嗎?怎麼現場只有咖啡、茶,以及三樣小點心(餅乾和超小蛋糕之類的),好像稍微少了一點。如果有,ㄟ,燒賣之類的熱食,就「萬德佛」了。畢竟,古人有云:「吃完甜的,都嘛會想要來點鹹的,此乃人之常情是也」(請提供此典故的出處…)。

友藏內心獨白:「過期的paper東西,請自動下架」

2009年10月13日 星期二

事後諸葛亮之法力無邊

八八水災之後,某藏傳佛教活佛造訪嚴重受創的寶島台灣,並為災民祈福的行動,引起了很多爭議。鄉民們的看法,大致可分為下列幾點:

1. 這都是在野黨的陰謀,用來破壞兩岸(國共?)關係。
2. 這是某在野黨市長為了提升自己個人聲望所作的縝密規劃。
3. 阿共說:活佛是政治人物,不是宗教人物。
4. 啊這次的災民很多都是信奉基督教的原住民,找來藏傳佛教的活佛與我們的信仰不符啦(阻抗不匹配?)。
5. 語言不通(有這一條嗎?)
6. 其他(分類的最後一項,一定要加上「其他」,以達到一網打盡之效果。內容請自由發揮之)

話說Teddy與活佛的關係頗深,因為活佛是西藏人,而Teddy是「西藏…路」人。平平都有「西藏」二字,Teddy當然要替活佛為台灣帶來的偉大貢獻說幾句話。

活佛所帶來撫慰心靈的能量是無形的,不太容易說明。正所謂「眼見為憑」,因此Teddy嘗試將此無形的力量具體化,以方便各位參透箇中奧妙。

八八水災之後,緊接而來的「芭瑪」颱風,相信大家對其詭異的路徑,都還記憶猶深。眼看著芭瑪就要直撲台灣南部,此時南台灣卻好像被一個無形的防護罩所保護著,芭瑪無論再怎麼樣努力的嘗試,都無法突破這個防護罩。這防護罩就是活佛當初在南台灣祈福所形成的,在防護罩保護之下,芭瑪只能無奈地滯留在巴士海峽好幾天,無法越雷池一不,最後無奈轉向南下,鬱鬱而終。

當中秋夜台北烏雲罩頂的時候,據鄉民表示台南居然可以看到大大的月亮。真是太感恩了。可憐的宜蘭和菲律賓,少了活佛的庇祐,大雨成災。

講到這邊,各位應該知道下次活佛訪台行程要如何安排了吧,至少也要來個八天七夜環島之旅才夠看的啦。還有,簽證費貴死人不償命的歐巴馬先生,據說活佛年底要到華府訪問,你居然打破慣例不與他會面。小心,卡翠納就在你身邊…

友藏內心獨白:「ㄟ,防護罩有效期限多久?」