CMMI回顾
敏捷回顾
在追求卓越的过程中,组织会尝试多种途经,采用不同的原则、方法及技术。一个对敏捷实践感兴趣的组织可能也会对PMI的OPM3、ISO或能力成熟度模型集成(CMMI)感兴趣,反之亦然,因为这些都是通向卓越的手段。CMMI与敏捷框架在很多方面能够和平共处,互相补充,甚至可能协同工作。
从本质上讲,CMMI、ISO和Agile都是人们为了解决在软件生产过程中出现的质量低下、进度延迟、预算超支等问题,而产生的标准或过程改进的模型或方法实践,只是它们的关注点有所不同而已。CMMI和ISO关注为了实现组织软件生产目标,我们应该做什么?但却不关注如何做。而敏捷开发作为一个实践性方法,更关注怎么做。因此,在具体操作过程中,可以通过有效结合,能够使组织更快、更好地实现过程改进目标。 为了能够有效结合各种CMMI和敏捷开发,组织必须明确它们的区别和联系,以及每种方法的主要关注点。
如上表所示,CMMI和敏捷开发的主要冲突来自于双方产生的环境、目标客户和团队文化要素,例如CMMI早期客户,主要关注大型项目、复杂系统、使命关键(Mission Critical)系统,而敏捷开发主要关注小项目、简单应用和灵活多变的系统;CMMI的假想市场和用户主要面向成熟市场,面向那些关注流程创新的企业,而敏捷开发主要关注在新兴市场和多变的市场环境;文化方面,CMMI强调流程和管理,而敏捷更强调高度信任的氛围中,被激励起来的个人之间的协作创新。
但在整体上,CMMI和敏捷开发能够很好地相互补充、相互支持。首先在关注点上CMMI关注组织级或企业级改进,关注回答项目应该做什么,而不是具体怎么做的方法,而敏捷开发则更关注项目级改进,关注项目具体怎么做的方法和最佳实践,这使双方在定位方面形成很好的相互补充的态势,一方面CMMI为敏捷提供组织级扩展的能力和必须的组织治理框架,便于组织级对敏捷最佳实践的推广和重用;另一方面,敏捷为CMMI提供了项目级的具体实践方法,确保团队在CMMI框架下能够快速响应,不断创新,持续交付价值。两者的有效结合,能够有效实现个人绩效向团队绩效、向组织绩效的转变过程。同时,也可以通过敏捷实践,规避CMMI实施过程中重文档、重流程的不良倾向,使CMMI实施时更加关注组织的实际价值、关注客户、关注创新。
参考文献: CMMI and Scrum - CMMI or Agile- Why Not Embrace Both! Hillel Glazer, Jeff Dalton,David Anderson, Mike Konrad, Sandy Shrum, Nov. 2008 |
|