最流行的敏捷方法

張恂發表於2009-06-11

(c) 2009 張恂

本文的最新版在 http://www.zhangxun.com/entry.aspx?sname=AgileSurvey&section=popular


VersionOne 2008 的這份報告中 我們看到,採用 Scrum 的比例高達 49%,Scrum/XP 聯合採用的達到 22%,而單純只採用 XP 的排在第三佔 8%,其他各類方法一共佔 29%。

其他幾個選項得票率均在 8% 以下,排名依次為:Custom/hybrid, Don't know, AgileUP, Other, FDD, Lean, DSDM, OpenUP, Agile Modeling, Crystal 等。我覺得漏掉了 MSF For Agile,今後應該補上。

採用 Scrum 加 Scrum/XP 的超過了 70%,佔絕對優勢,可見 Scrum 和 XP 的知名度與影響力,而在普及程度上 Scrum 比 XP 更勝一籌。這說明,大家在實施敏捷改進的時候,Scrum 和 XP 是很好的參考框架和模型,不管最終能否用得上,都應當認真研究和學習,屬於必修課。

Scrum 和 XP 都不全面

如何理解這些民調資料?實際上,作為過程方法 Scrum 和 XP 都是不完整、不全面的,在實際的軟體專案管理和開發中不能單獨採用。Scrum 是一個輕量級的敏捷專案管理框架,框架則意味著它本身是一個半成品(半熟的),在實踐中我們還需要開動自己的大腦新增更多其他的東西,需要在敏捷價值觀和原則的指導下,把 Scrum 與其他方法,包括行之有效的傳統方法,結合起來運用。

對於國內的敏捷改進,我通常向客戶推薦的一種方案是:IID + Scrum + UP + XP + X,也就是一種先打碎,然後混合、融合、整合的方案。作為太極敏捷思想方法的倡導者,我個人歷來傾向於 process mashup, integration, synergy, unification 或 hybrid 方案,主張兼收幷蓄、融會貫通。相信很多人會和我有類似的看法,這麼做有很多好處。其實沒有哪一種方法、模型、標準能夠包打天下,CMM/CMMI 不行,RUP 不行,Scrum、XP 當然也不行。

IID 代表迭代遞增式開發,已有超過 40 多年的發展歷史,是 Scrum、UP、XP 等當代敏捷方法所共有的前身和基礎。我把 IID 單獨拿出來,是為了引起大家的注意,敏捷改進最好先從 IID 做起。

為什麼 Scrum 遠比 XP 更流行?

在過去幾年當中,國內 XP 的知名度可以說遠高於 Scrum,某些媒體、企業和個人都對之大加讚賞、竭力宣傳。人們在 XP 宣傳上的投入也曾經遠大於 Scrum,這導致很多人都誤以為:敏捷 = XP。因此,可能很多人看到這些資料,會感到意外,怎麼 Scrum 後來居上,XP 反而叫好不叫座,為什麼會有這種反差?

這背後的原因,不同的人有不同的解讀。我想,這可能與專家們的努力,相關企業和組織的 marketing,是否採用了認證方式等等外在因素與內在因素有關。

張恂認為,XP 的普及程度明顯不如 Scrum,可以用太極敏捷思想的極限法則來解釋:越極限、越極端的東西,其適用面往往越小,這大概就是 XP 不如 Scrum 的內在原因。實際上,我們發現成功採用 XP 的前提條件、適用條件比 Scrum 更嚴格,XP 對於某些工程做法的規定更具體,諸如 TDD(測試驅動開發)、PP(結對程式設計)、CI(持續整合)等做法的效果到底怎麼樣在國內外科學工程界也一直存在著不少爭議,當然 TDD、PP、CI 等做法並不是成功的敏捷實施所必需的(儘管某些企業和個人,出於自身利益的考慮,強烈迫使您堅信這一點),這些因素都可能限制、約束了它的發展。

Scrum 只保留了敏捷專案開發的一個最小的 IID(迭代遞增式開發)管理框架,沒有對具體的工程做法(比方如何做設計,如何程式設計,如何測試等等)作硬性規定,這樣就給它帶來了很大的靈活性和可擴充套件性,便於和其他方法結合,這正是 Scrum 的聰明之處。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13633641/viewspace-605872/,如需轉載,請註明出處,否則將追究法律責任。

相關文章