天天看點

[scrum][CMMI]戲說CMMI與Agile的近親關系

戲說CMMI 與Agile 的近親關系 作者簡介
2009/3-2010/9 Newegg 參與CMMI3→CMMI4的改進、訪談、過級
2010/9-2011/9 EF Lab 參與Scrum(Agile)實施過程
前言

Ø         本文緣于公司對員工參與Agile Conference 2011所求的回顧與總結

Ø         本人非反CMMI或反Agile者,故盡可能以中性詞表态

Ø         本人為一普通過程參與人員,所站高度有限

對沒有機會參與Newegg的CMMI5實施深表遺憾,故無法就該級的“持續改進” 特性與Agile相形比較。

另,謹向奮戰在Newegg加州總部的Lynn Dong先生表示敬意(我的筆記本上仍留有3大張當年參與北美區多語言項目的全過程筆記且至今受益,計劃于稍後共享各位)。

正文

Ø         澄清

許多人在談及Agile時,總是提出 “打倒傳統模式”、 “打倒瀑布式開發”、“打倒軟體疊代”等關鍵詞,甚至反複強調 “TDD”、“Automation Test”及“Unit Test”等與軟體過程毫無關聯的技術性語彙。

其實,這一切都隻是營銷推廣的賣點與噱頭而已。

1           即使在Agile中,從會議的程序或文檔的定義,仍可看出一個産品從無到有的明顯階段分割,隻是其通過以

Working software

為标準劃分User story的原則,将每次送出細分成微粒度而已。

2           技術名詞向來隻是實作軟體的手段,就像用Java還是.Net不能決定軟體過程方法論一樣的道理。多少典型的CMMI實踐項目也在貫徹着所謂“TDD”、“Automation Test”和“Unit Test”?!

3           寶信的張克強先生認為,Agile相當于2級半的CMMI。原因:Agile具備2級的可重複過程域和3級的簡化版統計資訊。對此,我表示非常同意,且認為刨除Agile本身對以“

Working software

”為機關的送出外,鮮有差别。

4           IBM作為蜚聲軟體過程領域的标杆,其RTC對Agile起步成員有着革命性指導作用(它的核心價值在于整體流程規劃與內建,當教育訓練師們鼓吹Agile的簡單易用隻需3個角色3個會議3個文檔的時候,是IBM告訴我們Agile也可以和CMMI4一樣有Risk management,甚至做的更多)。

Ø         分析表

特性→目的 适用場景
CMMI4

QPM(量化項目管理)

→統計、分析、預見項目品質及可能風險

成本高昂/變更可控

→高精密行業

(尤其“制造業”、“金融業”)

Agile

增量疊代

→持續改進

成本低廉/變更頻繁

→非高精密行業

(大多數“軟體業”)

CMMI4強調了整體可控性與計劃性。是以對架構有潔癖的使用者尤為追崇。又因為該方式在一開始就進行了全方位分析,故其對各技術、業務、行政接口尤為敏感,能通過不同類型的責任定義,明晰權益、規避糾紛。但同時也産生了“一榮俱榮,一辱俱辱”的陷阱。

而Agile在業務型産品上備受關注,此類項目的主要特性:1. 變更頻繁;2. 使用者接受度高;3. 技術架構接受度高;4. 成本控制嚴密。

Show case :iPhone1 →iPhone4

(教育訓練師必講案例,笑~)。但由于“Just Do It!”的slogan,一切陷入 “Just So So!”的怪圈。剛剛好的産品、剛剛好的變化、剛剛好的文檔、剛剛好的Communication,讓所有的解決方案掉在了“人”上(再高深的咨詢師面前,隻要你刨根問底,他都會掉出狐狸尾巴,讓你找“人”解決,别無他法,屢試不爽。尤其是

多團隊合作

)。

與此同時,CMMI4就像是“法家”,一切都在厚厚的項目規程百寶書中有章可循,隻要遵守、不要變革。你嘗試過還沒開始一行代碼就能知道項目bug數的驚奇感嗎?沒錯!用CMMI4,馬上體會!

哦,你讨厭boring,渴望創新?Agile适合你!他堪比“孔孟”,禮樂治天下(self-organized)。遇到問題了?正常!怎麼辦?DIY!整體太難不會做?去掉特效先簡化!

至于

項目拆分

傳統模式沒有?有也隻是技術層面開解?别說笑了!!!即使1994版的CMM至今也有近20年了,真當碼農們農民嗎?當然會有業務層拆建,隻是他們不像Agile那麼提倡短期傳遞,是以product粒度非常不同而已。個人認為,架構級CMMI占優,業務級Agile無敵(一家之言,不信也罷)。

當然,老闆們是愛Agile的。為什麼???因為CMMI是要花錢搞認證的!花錢買工具的!花錢顧人做資料做稽核不是做産品的!證書過期還要重新考哦!不包郵哦!親~

你說對了!Agile也要請顧問,用工具,搞認證,做審計。但裡面很多都是浮雲!丫totally就是一藝術解構主義的抽象意識形态,大家懂的!何況去掉工具也可以喲!不養一夥一行代碼都不能寫的家夥們也行喲!!!關鍵是:“

快速釋出

”(也做“

快速疊代

”)!這讓付錢給我們填肚子看醫生住樓房的老闆們深刻感覺到“大家在幹活啊!不帶摸魚啊!”同時使用者們也突然發現,“哇!這網站2周一個樣!2月大變樣!還不快參觀參觀今天神馬樣?!”

後記

最後,向偉大的Linda Rising緻敬!!!Agile不是花費巨額budget請來顧問套用即有framework就能實作的願景,隻有了解“人”,了解“溝通/團隊合作”,才能夠真正實作靈活!!!

初稿完成于2011/9/6淩晨,精神無比亢奮中。如有個把别字或主觀語态不代表作者本意,謝絕揣測。倘有任何不專業措辭,将于再稿修定。請諸位不吝賜教。并感謝大家撥冗閱讀。

P.S. 個别語句不合宜公諸老闆,會在翻譯時另行删減。

Email:[email protected]

轉載于:https://blog.51cto.com/opheliawei/658655