CMM/CMMI的20年和敏捷十年
?????? 近來在InfoQ上陸續翻譯了紀念回顧敏捷十年的文章,在CMM/CMMI/Agile都有興趣的我不由得想到從1991年CMM1.0發布之時算起,今年正好也是CMM/CMMI的20年。
對比看下兩者的歷史,也許會有些意思。
SEI1986年在美國國防部資助下開始研究能力成熟度模型(Capability Maturity Model,簡稱CMM),于1991年正式推出了軟件能力成熟度模型(Capability Maturity Model For Software,簡稱SW-CMM),并發布了最早的SW-CMM 1.0版。經過兩年試用之后,1993年SEI正式推出SW-CMM1.1版,這個就是CMM成名的版本,缺省說到CMM,指的就是這個版本,這個版本一直用到了2006年。
CMM 2.0草案于1997年制定(未廣泛應用)。
SEI于2000年12月公布了能力成熟度整合模型(Capability Maturity Model - Integrated, CMMI),主要整合了軟件能力成熟度模型(SW-CMM)2.0版,系統工程能力模型(SECM)和整合產品發展能力成熟度模型(IPD-CMM)0.98版。
CMMI-SE/SW 1.1(CMMI for System Engineering and Software Engineering)于2002年1月正式推出,其中覆蓋了IPPD/SS(Integrated Product and Process Development/Supplier Sourcing)。
CMMI V1.2 于2006年推出,首先推出的是CMMI-DEV, CMMI從V1.2開始,成為Product Suite,包括了三大方面,分別是 1.Product and service development — CMMI for Development (CMMI-DEV), 2.Service establishment, management, and delivery — CMMI for Services (CMMI-SVC), and 3.Product and service acquisition — CMMI for Acquisition (CMMI-ACQ). 原來的CMMI V1.1主要升級到了 CMMI-DEV V1.2?,F在缺省說到CMMI,其實指的是CMMI-DEV。
CMMI V1.3 在2010年11月推出,三大方向的V1.3同時發布。
CMMI DEV V1.3在吸納目前業內的一些好的實踐的同時,還吸納了ISO以及PMI的一些新的成果。其主要變化包括:
1、? 吸收了敏捷軟件開發的實踐。在配置管理(CM)、技術解決方案(TS)、產品集成(PI)、驗證(VER)、確認(VAL)、需求管理(REQM)、質量保證(PPQA)等過程域中,對敏捷軟件開發相關一些實踐作了說明;
2、? 對高成熟度的4個過程域作了較大優化,以“反應業界的最佳實踐”。感覺現在這幾個過程域的實踐不再像之前那樣高不可攀,很多解釋似乎不再像從前那樣機械,而且把過程改進目標與組織商務目標相聯系,增加了一些具體的例子,對實踐有一定指導作用。同時,該版本中刪掉了原來高成熟度等級中的共性目標。連續型模型中只包含了3個級別,不再有高成熟度等級。
3、? 更加重視需求管理:該版本將需求管理(REQM)過程域從工程組(Engineering)移至項目管理組(Project Management)。
4、? 更加關注結果。這表現在一些名詞的提法,如:
?“管理過程(Manage Process)”變成“管理項目(Manage Project)”;
?共性實踐GP2.6的標題從“管理配置項”更改為“控制工作產品”,雖然內容基本沒有變化;
?共性實踐GP2.9 “客觀評價依從性”中將原來“客觀評價過程的依從性”,更改為“客觀評價過程和工作產品的依從性”;
5、? 吸納了ISO、PMBOK等的一些最新成果。例如:
?原來的“需求”變成了“功能需求和質量屬性(Quality Attributes)”;
?增加了架構評審的一些實踐
?更加強調各過程與組織商務目標的關系
6、? 其他:刪除了所有IPPD(Integrated Product and Process Development)的相關內容。
敏捷十年的情況在 http://www.infoq.com/news/2011/02/agile-manifesto-10-years-series,infoQ中文站提供了多篇譯稿,比如
Liz Keogh:敏捷十年——對失敗的預言,以及預言的失敗 http://www.infoq.com/cn/articles/agile-prophecy-failure
回顧《敏捷宣言》發布以來的10年 http://www.infoq.com/cn/articles/10-years-agile-manifesto
敏捷10年發展史 http://www.infoq.com/cn/articles/agile-10-years-on
偶然成為敏捷人士:個人回望《敏捷宣言》發布十年 http://www.infoq.com/cn/articles/Accidental-Agilist
敏捷的十年危機 http://www.infoq.com/cn/articles/agile-teenage-crisis
程序員雜志2011年9月刊的封面是一副等高線地圖,敏捷的各個流派(流派這詞并沒有達成共識,在這里就是指代諸如Scrum、UX、TDD、Lean等等)成為一個個的山頭。
在《敏捷的十年危機》提到 “對于敏捷和精益社區自身而言,無政府主義阻礙了更加系統的知識體系機構的形成。”,“社區的無政府主義無助于組織出知識體系”
作者最后說,敏捷運動在某些方面有點兒像一位少年:非常的自我意識,對著鏡子不斷地檢查其外貌,接受少數批評,只對同齡人感興趣,排斥來自過去的全部所有智慧,只因為那來自過去,采用時尚和新的行話,有時狂妄而傲慢。但我毫不懷疑它會進一步成熟,對于外界變得更加開放、更加深思熟慮,并因此變得更加有效。我知道我要在以后的雪鳥會議上打算做什么了,那就是找到比這次會議更多的大象。
敏捷軟件開發宣言和原則在十年來沒有變化,多位大佬提出修訂宣言,但沒有達成共識,大佬們各自組合,提出了更多的宣言(參見《不堪重負的宣言》,http://www.infoq.com/cn/news/2011/08/manifesto-overload)。 10年來,敏捷方面的書本估計在國內出版的就超過了100本,讓程序員們感到壓力好大,讓程序員的領導們如何來看。
CMMI正在擁抱變化,而且總是維護成為系統又和諧的知識體系,而且還注意文字的總篇幅,CMMI-DEV V1.3英文全文不超過500頁,反而比V1.2少了,閱讀的負擔從篇幅上來也不重。不過,由于CMMI的文字講究模型的廣泛適用性,目標和實踐等文字往往是經過高度抽象的,理解起來稍有點困難,可喜的是 CMMI提供了諸如 典型工作產品,說明,示例等等,較之原來的CMM,可讀性已經好多了。當然就算這樣,閱讀起來也要花費不少時間,還有一個選擇是參見 3天的CMMI-DEV培訓,只比CSM培訓多一天,可以幫助快速的學習CMMI-DEV。
?
?
CMM-DEV V1.3積累了數百位全世界各地的專家近20年的經驗,其本身的演進就是符合敏捷的,其內容已經遠不是當年主要為了美國國防部服務。
對于入門者,面對不到一頁紙的敏捷宣言和原則,和闡述敏捷的100多本書,筆者推薦在閱讀第4本敏捷類書籍前,閱讀CMMI-DEV V1.3。?
對于敏捷實踐者,已經閱讀了多本敏捷類書籍,推薦馬上閱讀CMMI-DEV V1.3,可以更好的理解軟件開發的全景和上下文,對在選擇各種敏捷實踐做法時會有更深入的理解和更全面準確的判斷,對開發組織全面建設也會有更整體的理解。
參考:
http://www.mypm.net/blog/user7/YvonneJenny/archives/2011/82995.html
http://www.sei.cmu.edu/library/assets/cmmihistory.pdf?
總結
以上是生活随笔為你收集整理的CMM/CMMI的20年和敏捷十年的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 拥抱敏捷的用例分析方法
- 下一篇: 再论CMMI和敏捷的对话