Molly 並沒有花時間準備Scrum 訓練教材,她感覺大家其實對敏捷開發常用的手法—增量迭代 有人簡稱 i&i, (incremental & iterative), 藉由 Unified Process的實務經驗已經是自然反應,而她只是習慣在 Scrum 的專案工作。所以應該讓彼此多討論與互動,找出其中的差異,進而幫助這個 AI探索專案採用比較合適的框架。
從 Wiki 搜尋關於UP與Scrum的資料,找到幾張圖放大印出。她打算用這幾張圖帶著大家理解 Scrum,用互動方式她有把握同時也吸取到 Unified Process 的知識。
“除了今日我們在這裡一起分享Scrum知識外,我強烈建議大家讀一下這本書--The Scrum Guide: The Rules of the Game。在scrum.org 的網站有原文與多國語言的翻譯,也有繁體中文版,看來是免費的。裡邊用不到20頁,把Scrum的運作精神很精鍊的描繪出,昨晚我再次閱讀它,距上次閱讀後因為又參與兩個採用Scrum的專案,更覺得該推薦此書” Molly邊把幾張圖貼在白板兩邊,開宗明義讓大家有參考書。
“我們一起看這張 Scrum 最經典的概要圖,我直接從Wiki印出來的,首先請大家聚焦在 Sprint,可以將Sprint 類比成 UP 的一個 Iteration。把一個專案,切成數個小開發期,無論叫做Iteration 或是 Sprint,都是開發團隊要想盡辦法在一個小開發期完成可以被測試或是展示的產出來”。
Cash 問到:“有次同學聚會,我胡吹我們公司UP多敏捷,切好幾個迭代。我另一位在電信公司當MIS的死黨,說他們公司一直把大專案拆成子專案,然後如果開發時程還太久,還搞個分階段上線,這跟迭代 Iteration 有啥差別? 勸我不要用新名詞來炫耀啦。我當時因為沒有實際專案經驗,被嗆的啞口無言呢!Molly 姐你有看法嗎?”
Molly還沒及答腔,Fields搶答了:”要是我馬上嗆回去,子專案分階段上線,每個階段還是一個專案,只是規模小一點,如果那個階段上線的軟體開發採用Scrum,還會分好幾個 Sprint; 當然如果像我們用UP的話就會分幾個 Iteration,迭代。台灣就是太多半吊子,用自己都懷疑的論調來唱反調,才會搞成剛廢核四,又馬上有人喊要。。。”
Gavin 趕快插話:”下次我們休息時有機會時再討論政治。我們必須有這個默契,工作中不談政治”
“請轉下頭看 RUP 這張經典圖,也是從Wiki直接抓的,跟UP差異不大,這大家是專家。裡面的 I1, E1, E2, C1, C2..到 T2,我理解應該是都是Iteration?” Molly 問道。
Gavin 搶答:“是的,UP將專案固定切成四個Phase。每個Phase 至少有一個Iteration。每個 Iteration 都要進行諸如分析, 設計開發, 測試, 佈署的工作,我個人覺得UP分Phase 在專案的實務管理上會比較嚴謹,讓管理層有機會審視這個專案是否值得往下進行,Scrum似乎只用 Iteration或者Sprint 來決定,這對高層來講過於密集。"
Molly:”這樣我已經看到UP 與 Scrum 的一個核心差異了,Unified Process似乎特別強調每個Iteration 都是一個瀑布式的開發,所以會有需求分析, 設計, 開發測試等等。看來是被特化成專為軟體開發的流程框架。Scrum 雖然最多是用在軟體案子上,每個Sprint當然也可以採用瀑布式開發流程,這個是團隊必須自行選擇合適的。特別的是我有參與過Scrum用在其他非軟體領域的案子上。”
其他人已經被 UP 同化多年,聽到著名的敏捷方法Scrum可以用在其他領域,立即表示興趣來。