CMM/CMMI 與敏捷的比較

張恂發表於2008-04-22

多年來網路上存在一些對 CMM、敏捷似是而非的觀點,這裡糾正一下,望讀者朋友和 CMM/CMMI 專家們指正。

張恂認為,CMM 基本上是 15 年之前比較傳統、陳舊的東西,現在我們更多地應該拿 CMMI-SW 與 Agile 進行比較。目前有關 CMM/CMMI 與 Agile 比較的最權威的一本名著是:Barry Boehm 與 Richard Turner 大師的 Balancing Agility and Discipline: A Guide for the Perplexed(BAND)。CMMI 到底與 Agile 有何不同?我向國內每一位軟體專案經理、架構師和過程改進相關負責、研究人員推薦這本必讀之作。

cmm/cmmi 與 agile 的區別主要有:

1、CMM更注重質量,Agile更注重生產率

錯。

Agile 至少與 CMM 一樣注重質量,只不過它採取了更為輕便的、成本更低的方式來保證質量。生產率並不是 Agile 追求的主要目標,只是一個迭代輕量過程的副產品。

正確的說法是:

Agile 與 CMM/CMMI 都非常注重質量,差別在於一種是輕量方法,另一種是重量方法,分別有各自適用的專案開發環境。

2、CMM強調過程的可觀測性,Agile強調可觀測的結果(可執行軟體)

大致對。

3、CMM注重管理和過程,Agile注重技術和效率

錯。

Agile 不但包含敏捷工程技術,也包含敏捷管理和敏捷過程。Agile 至少與 CMM 一樣注重管理和過程,區別在於 Agile 採用的是一種更為輕便、靈活、高效的方式。

難道一定要採用重型方法,制定大量的細節行為規範,編寫大量的文件,採集大量的資料,才叫管理和過程?輕型方法就不能做好軟體研發的管理和過程?顯然,這沒有道理。

在 Agile 支持者眼中,對於他們所從事的專案開發環境,Agile 是遠比 CMM 更為有效、先進和成熟的方式方法。

認為只有 CMM 注重管理、過程和質量,而 Agile 不注重管理、過程和質量,顯然是一種錯誤的偏見。

正確的說法是:

CMM/CMMI 與 Agile 是兩種不同的軟體研發管理和過程體系,區別在於前者重量,後者輕量;Agile 包含了更多具體、實用的軟體工程技術方法,而 CMM/CMMI 提供了更多以數學統計為基礎的過程管理和質量控制技術方法。在適用條件下,輕量過程通常會帶來了更高的開發效率。

4、CMM注重組織,Agile注重個人

錯。

Agile 不但注重個人,也注重團隊和組織。敏捷可以分為三個層次:敏捷個人、敏捷團隊、敏捷企業。

正確的說法是:

CMM/CMMI 與 Agile 都注重組織、團隊,Agile 更強調發揮個人的主觀能動性。由於價值觀、出發點和適用條件不同,導致兩者的具體做法和關注面有所不同。

5、CMM無所不包(Universal),Agile有明確的適用範圍

錯。

我不知道有什麼理由說 CMM/CMMI 無所不包?通常一個號稱無所不包的東西,同時也意味著它是一件無用的東西。

事實上,僅管 CMM/CMMI 體系龐大、內容繁雜,但它的目標依然只是作為一個成熟的過程改進和評價模型,必然缺少了軟體工程領域的其他許多內容。張恂認為,CMM/CMMI 體系對於國內大多數軟體企業、研發機構而言,可能過度成熟了,有點過猶不及。CMM/CMMI 中不包括如何寫好需求,如何做好設計,如何寫好測試等許多方面的軟體工程技術、技能方面的指導,而這些恰好是敏捷的強項。敏捷方法整合了一套輕量的管理、過程和工程技術方法,這是它作為 21 世紀的先進方法體系優於 CMM 的地方。

正確的說法是:

CMM/CMMI 與 Agile 都有各自明確的適用範圍。在一些價值觀、原則和實踐做法上,它們既存在著明顯的區別或對立,同時又存在著一定的互補關係。


6、它們都包含了一些軟體工程的好的實踐(Practices)

對。

CMM/CMMI 作為一個複雜的過程體系,有著大量的參考實踐做法。Agile 的實踐做法數量要少得多,也更容易操作。兩套實踐做法集在各自的適用環境下,可能都是最優的。

為什麼 CMMI 與敏捷的許多最佳實踐看上去差異較大?張恂認為,這是因為它們是兩套分別歸納自工作在不同軟體工程行業、領域的科學家、工程師群體的成熟經驗,而兩者的價值觀、目的和用途也有著較大的差異。

科學的結論

那麼,CMM/CMMI 與 Agile 方法或體系到底有哪些異同,什麼是更為科學和準確的說法?CMMI 與 Agile 到底是完全對立,還是可以彼此借鑑,揚長避短、互補融合?...

為解答這一連串有趣而有益的問題,我建議您首先認真地研讀 BAND 這本名著,瞭解國際上前沿的研究成果和結論,並獨立思考,大膽地進行實踐和嘗試。期待您的反饋意見。

(待續)

敏捷 OO 教練 張恂
www.zhangxun.com
2008 版權所有

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

相關文章