l

2014年7月30日 星期三

心有戚戚焉

July 28 10:41~12:16

螢幕截圖 2014-07-28 12.10.16

 

在上周末(7/26~7/27)「第十梯次Scrum敏捷方法實作班」中,學員A告訴Teddy…

學員A:我來自於遊戲業,我們曾經在公司內試過Scrum,但是試了一陣子,整個工作看板(task board)都掉下來了也沒人發現,最後結果當然是失敗收場。所以想來上課,看看「正常版的Scrum」應該是個什麼樣子。

聽完學員A的「悲慘經驗」,Teddy點頭如搗蒜,非常能夠感同身受。Teddy第一次接觸Scrum專案,是在學校念書,即將畢業的那一年。有幾個學弟被指派用Scrum來進行軟體開發,最後的結果,雖然工作看板沒有整個掉下來那麼慘,不過工作看板上面黏貼著的黃色便利貼,卻像是秋天的落葉一樣,早已掉落滿地無人理挑眉質疑

那種一開始滿懷希望,最後卻以落寞與失望結尾的心情,Teddy懂。

***

「第十梯次Scrum敏捷方法實作班」第二天課程結束之後,另一位學員B留下來聊天…

學員B:(看著書架)我可以直接跟你買這本《笑談軟體工程:例外處理設計的逆襲》嗎?

螢幕截圖 2014-07-28 12.14.34

 

Teddy:當然可以啊,順便幫你簽名。

學員B:(繼續看著書架)Larman的這本《Applying UML and Patterns》,書中提到要建domain model,但是Martin的《Agile Software Development》這本書就沒有提到…

Teddy:Larman的《Applying UML and Patterns》是以前我唸書的時候,OOAD(物件導向分析與設計)課程的教科書,也就是我上Scrum課程的時候提到當年我當助教的那門課。

Teddy:Larman的書從問題分析開始,透過一連串「問題轉換」的過程,把軟體系統設計、開發出來,所以會提到要建立domain model。Martin的這本書,正如書的副標題所提到的,主要在介紹敏捷開發的「principles、patterns、practices」(原則、模式、實務做法)。兩本書的重點不一樣。

學員B:還有像是Fowler的《Refactoring》,書的內容好像都看得懂,但實際應用起來總覺得有點困難。

Teddy:是啊…

***

每一本軟體開發的書,各自成為一個體系,單獨去看都有意義。但是這些書最後運用的對象,還是在軟體開發身上,所以應該把它們放在軟體開發的流程,或是value stream(價值流)上面來評估與取捨,應用起來比較不會走火入魔或是見樹不見林。

這兩位學員所遇到的情況,Teddy也都遭遇過,所以非常能夠體會他們的處境。這也是Teddy在設計課程的時候,所希望解決的問題。Teddy曾經說過,一個(敏捷)軟體開發團隊,應該具備以下三種基本技能。

螢幕截圖 2014-07-28 11.38.20

 

  • 設計與實作能力:上面提到的《Applying UML and Patterns》、《Agile Software Development》、《Refactoring》這幾本書,就屬於這一類。
  • 實務做法:IDE、版控系統、持續整合,這些屬於這一類。有些「設計與實作能力」的內容,像是《Refactoring》,也可以看成是實務做法被分在這一類(屬於那一類其實不是那麼重要挑眉質疑)。
  • 流程:這一類包含流程框架、流程、流程改善方法、所以像是Scrum、Lean、Kanban等,就屬於這一類。

以下是泰迪軟體所規劃的訓練課程地圖,實線外框的課程是已經開課或即將開課的課程,虛線的課程是未來預計開設的課程。開發課程是很花時間與精力的工作,以Teddy一年完成1~2門新課程的速度來看,下圖中的全部課程要設計完成,在最順利的情況下,大概還需要3年的時間。希望泰迪軟體可以撐到Teddy把圖中的課程都開發完成啊不要告訴別人

螢幕截圖 2014-07-28 12.02.52

***

友藏內心獨白:不能只為了賺錢而隨便開課啊。

沒有留言:

張貼留言