最流行的敏捷方法
(c) 2009 張恂
本文的最新版在 http://www.zhangxun.com/entry.aspx?sname=AgileSurvey§ion=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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [分享] 最流行的 10 個 JavaScript 庫JavaScript
- 2019年最流行的7款Java框架Java框架
- FigJam:2021年最流行的線上白板
- 2023年最流行的道德駭客工具
- FastAPI:2021年最流行的Python的Web框架ASTAPIPythonWeb框架
- 2021,17個 最流行的 Vue 外掛Vue
- 介紹一款目前流行且好用的敏捷開發框架敏捷框架
- 最流行的5大開源Web伺服器Web伺服器
- 最流行的 Go Web 框架: GitHub Star 數量排行(2019)GoWeb框架Github
- 五大最流行的配置管理工具
- 最流行的開源電子健康記錄(EHR)OpenEMR
- 最好用最流行的Python機器學習庫合集!Python機器學習
- 【工具篇】最流行的Web漏洞掃描工具推薦!Web
- 小白教程|一小時上手最流行的前端框架vue前端框架Vue
- 國內外最流行的 Python編輯器【IDE】 TOP 8PythonIDE
- 敏捷開發團隊,最喜歡的開發工具 CORNERSTONE敏捷
- 敏捷開發團隊,最喜歡的開發工具CORNERSTONE敏捷
- 2020年最流行的Java開發技術,最為主流的技術與工具你懂嗎?Java
- 帶你認識幾種最流行的Python編輯器/IDEsPythonIDE
- 2020年最流行的Java開發技術你不瞭解下?Java
- 【技術乾貨】盤點最流行的Web漏洞掃描工具!Web
- IEEE Spectrum:2020年全球最流行語言是 PythonPython
- Kent Beck的test && commit || revert 敏捷協作方法MIT敏捷
- Scrum敏捷開發方法實踐Scrum敏捷
- 六款好用的Mac最流行的開發工具,程式設計師必看~Mac程式設計師
- 2018年最流行的十大程式語言,有你用的嗎?
- 最流行的國家級域名是什麼?不是.cn 也不是.uk
- 工欲行其事,必先利其器:目前流行且好用敏捷開發工具敏捷
- 基於 GitHub 的敏捷學習方法之道與術Github敏捷
- Linux流行病毒家族&清除方法集錦Linux
- 圖表庫原始碼剖析 – Chart.js 最流行的 Canvas 圖表庫原始碼JSCanvas
- 當下最流行的3大駭客seo最佳化手法大曝光
- 安卓即將趕超Windows,成全球最流行的作業系統安卓Windows作業系統
- 帶你認識幾種最流行的Python編輯器/IDEs(附連結)PythonIDE
- 2019最流行的搞笑說說,錢少看山看水錢多看房看車
- 走近流行強化學習演算法:最優Q-Learning強化學習演算法
- e-guardian:2019年日本推特最流行熱詞
- 2024最流行的網站架構----邊緣平臺架構:概念與產品網站架構
- 敏捷開發實踐之Scrum方法運用敏捷Scrum