CMMI与Agile敏捷开发比较之一:两者的本质区别
作者:陈勇
出处:blog.csdn.net/cheny_com
这是CMMI与敏捷开发比较系列的第一篇(之一,之二,之三)。
本来不需要比较的两样东西,因为总是被安排到企业的一个部门(EPG)去管理,所以已经被比较了N多次,纷争已久。
2011过程改进年会的锵锵N人行(其实就是原来的PK会)上几位嘉宾被问及问一个本来可以解决这种纷争的问题:CMMI的管理目标是?敏捷的管理目标是?嘉宾答:CMMI的管理目标是进度质量成本。敏捷则是……(这个问题后来没有回答)这样回答,会发现根本解决不了纷争,因为两者几乎都管理进度质量成本,如果再多点,人/技术/组织……什么都管理一些,虽然侧重不同。火星谚语说:只有简单的答案,才是正确的答案。那么有没有简单的答案一语中的得解决这个纷争呢?
其实我觉得答案就是:CMMI的管理目标就是让美国国防部能客观地评价和选择供应商;Agile的管理目标就是让开发人员能以自己的价值观来管理项目。
NASA在担心什么?担心程序员不被激励吗?担心程序员没有创新吗?担心,但是永远不会超过这一条:担心项目失败。因为他们涉及巨大的财产和生命安全问题,需要一种方法来保证事事顺利,而无论成本如何高。CMMI的沉重的但是保证一次成功的理念显然更适合。无论苹果、Google多么成功,NASA都不可能找他们来管理过程,或把项目外包给他们(就算有,那个项目也过了CMMI3级以上认证了,这是美国法律)。
Google在担心什么?担心项目失败吗?不!如果担心,别开互联网公司了,随便一个政府银行项目的成功可能性都大于互联网项目。那到底担心什么?担心没有创新,担心慢人半步。在这种环境中选择谁?当然选择让人心性更方法更开放的敏捷开发。盛大网络的18计划有100多个合作团队,并不需要所有团队都成功,确切说只要有1个成功,就回本了。
有一种叫做雄性经济学的东西,就是认为更多,更大,更强,更广是追求的目标。所以导致有些敏捷开发推广者玩命地想证明敏捷也适合航空航天,敏捷也适合一万人的开发团队,其实完全没有必要。当那几位创立敏捷开发宣言的开拓者滑雪的时候,谁在想航空航天?谁在想一万人的开发团队?
点击下载免费的敏捷开发教材:《火星人敏捷开发手册》