其他幾個選項得票率均在 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 的聰明之處。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/