[scrum][CMMI]戏说CMMI与Agile的近亲关系

戏说CMMIAgile的近亲关系

作者简介

2009/3-2010/9

Newegg

参与CMMI3CMMI4的改进、访谈、过级

2010/9-2011/9

EF Lab

参与ScrumAgile)实施过程

 

前言

Ø         本文缘于公司对员工参与Agile Conference 2011所求的回顾与总结

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

Ø         本人为一普通过程参与人员,所站高度有限

对没有机会参与NeweggCMMI5实施深表遗憾,故无法就该级的“持续改进” 特性与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作为蜚声软件过程领域的标杆,其RTCAgile起步成员有着革命性指导作用(它的核心价值在于整体流程规划与集成,当培训师们鼓吹Agile的简单易用只需3个角色3个会议3个文档的时候,是IBM告诉我们Agile也可以和CMMI4一样有Risk management,甚至做的更多)。

Ø         分析表

 

特性→目的

适用场景

CMMI4

QPM(量化项目管理)

→统计、分析、预见项目质量及可能风险

成本高昂/变更可控

→高精密行业

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

Agile

增量迭代

→持续改进

成本低廉/变更频繁

→非高精密行业

(大多数“软件业”)

CMMI4强调了整体可控性与计划性。所以对架构有洁癖的使用者尤为追崇。又因为该方式在一开始就进行了全方位分析,故其对各技术、业务、行政接口尤为敏感,能通过不同类型的责任定义,明晰权益、规避纠纷。但同时也产生了“一荣俱荣,一辱俱辱”的陷阱。

Agile在业务型产品上备受关注,此类项目的主要特性:1. 变更频繁;2. 用户接受度高;3. 技术架构接受度高;4. 成本控制严密。Show caseiPhone1iPhone4(培训师必讲案例,笑~)。但由于“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]

你可能感兴趣的:(职场,Scrum,agile,休闲,cmmi)