code

2017年10月18日 星期三

Agile Software Development 1 - 概觀

Agile Manifesto

agile原始方法論一開始是幾個software consultants提出,他們當初的12原則如下:


這在2000年初提出來的,現在看來真的很先進的工作理念,因為隱含著尊重個體,顧客為主,擁抱變化,以及持續改進等四大軟體工作管理模式,現在當然稀鬆平常(但是真的implement的台灣公司很少),當初應該是創舉。


Agile Methods

1. XP: 主要貢獻是把標準軟體製造重點從documentation / SOP 轉換到software以及programmer本身,也就是software才是真正衡量成就的標準,而不是完美的UML 或是符合CMMI (稱為process-oriented methods)。

2.  Lean: 借鏡Toyota管理車廠方式,引用到software engineering來,主要focus在如何消除浪費,其中浪費包括無意義的documentation,要把焦點放在如何deliver software到客戶手中。

3. Crystal:嘗試結合agile與傳統process-oriented methods。

4. Scrum: 這是本課程重點,也是近年agilist的主要信念,這其實不一定專門應用在軟體開發上。通常近年來我們說到"agile",事實上幾乎都是指"Scrum",是一種project management的principle。


Agile Values (vision)

1. 縮減manager權力,不該由manager去assign tasks! 這statement很神奇,期待後面的解說。
2. 邊做邊設計,而非一開始花一堆時間設計和架構
3. 縮短的iteration驗證
4. 只做對顧客馬上有用的事 (Lean屏除waste的概念)
5. 專注在品質上,利用充分測試達成


沒有留言:

張貼留言