l

2012年7月31日 星期二

馬蓋先與敏捷精神

July 31 15:40~16:50

image

 

講到馬蓋先,年輕一輩的人可能不知道,但是想當年(1986)「百戰天龍」這個影集在台視播出時,可是非常、非常、非常、的轟動。說真的過了那麼久的時間,Teddy對於影集的內容只剩下非常片段的模糊記憶。最近因緣際會之下,又看了幾集,突然有種感覺:馬蓋先的做事方法,不正是敏捷精神嗎?

話說在某一集中,美國某個地底研究中心發生爆炸,大量強酸溶液溢出,眼看著就要汙染當地的地下水源。此時馬蓋先適時地出現,準備深入地底救出被圍困的人,並且要排除強酸污染的危機。場景停留在馬蓋先正準備從地面管道鑽入地底時:

安全人員:你就這樣空著雙手下去,什麼設備也不帶?

馬蓋先:重點不是我帶了什麼,而是一路上我可以撿到什麼

***

馬蓋先要解決的問題,都是一些常人無法處裡的「疑難雜症」,因此,無法用傳統「擬定計畫」、「實施計畫」的步驟來解決問題。只能且戰且走,隨機應變。影集中的馬蓋先,有著豐富的物理與化學知識,能文能武,上山下海都難不倒他。有了這樣的能力,外加一隻瑞士刀以及一綑膠帶,自然可以應付各種突發狀況。

以上所描述的能力,其實跟敏捷方法,尤其是XP,所希望開發人員或是開發團隊具備的能力,是很相近的。傳統軟體開發的思維,特別是在台灣那種工廠代工式的思維,總是希望只要能夠隨便找到「大量的一般人」,然後一直加班、一直加班,就可以生出東西來。為了讓這些不用太花腦筋的一般人可以做出東西,所以要很強調規劃、書面文件、控管等等的。

這幾年敏捷方法比較流行了,有些團隊或公司想說「那我們也來趕個流行,也導入敏捷方法好了」。好啊,那怎麼導入?啊,聽說Scrum很簡單就可以上手,哪就來導入Scrum好了。

三個月後…

啊,怎麼導入Scrum之後,原本軟體開發遇到的問題都沒有解決啊。還是抓不住使用者真正的需求、系統分析做不好、軟體架構不會設計、寫出來的程式bug一大堆。我看還是改回傳統的「爆肝流程 加班流程」好了,這個最不花腦筋。

***

組織與團隊要能夠變得敏捷,人員的挑選、訓練、帶領是很重要的一環。一艘快要沉的船,不會因為導入Scrum就自動浮出水面。如同馬蓋先有著豐富的物理與化學知識,敏捷團隊開發人員,也要有著很強的專業能力,否則很難成功。

軟體專案所牽涉到的專業能力很多,舉凡需求分析、系統分析、系統設計、程式撰寫、測試、整合、維護等等,都算。這些能力,在沒有導入Scrum之前,就應該要好好培養了。Scrum只是一個開頭,讓團隊可以檢視自己缺少什麼,並依據現況訂出各方人馬都可以接受的改善行動,並持續加以修正。

***

看到這邊鄉民們可能會問,那要怎麼變成馬蓋先啊?答案很簡單:

  1. 每天按時收看搞笑談軟工。
  2. 買一本《笑談軟體工程:敏捷開發法的逆襲》回家仔細閱讀。
  3. 報名Scrum敏捷方法實作班
  4. 報名Design Patterns這樣學就會了

以上藥方按時服用,大概就可以變成1/3個馬蓋先,成效也算不錯了。

***

友藏內心獨白:應該沒有人想變成老皮或是賈大頓吧。

1 則留言:

  1. 呵 如果是我 我不會用馬蓋仙的那句話當例子耶

    回覆刪除