CMMI和敏捷实践分析
 

2010-06-02 作者:童艺川 来源:mypm.net

 

由于上次已经说过CMMI与敏捷的关系在企业宏观面的思考,这里只谈在企业实施层面的共同点和区别。

一、共同点分析

1、 目标一致,都是要又快又好地做出产品,以满足用户需求,提高用户满意度;

2、 都是总结了业界的最佳实践,以把成功的经验能够更快更有效的传播。

二、区别分析

1、 CMMI是在研究了大量成功的软件企业的实践基础上,对成功实践进行抽象,总结出来的过程标准和推荐实践;

2、 Agile在经验教训的基础上,结合了有效的实践,提出的一些具体的实践方法,可以说是方法论;

3、 CMMI更多是站在企业如何获取成功的角度,从企业的业务目标、发展战略分析企业的业务流程如何开展;

4、 Agile更多关注软件开发的方法和实践,是为达成企业业务目标的一些有效的实践手段和方法;

5、 CMMI更侧重于过程的手段,通过一致的过程来消除不同能力水平的人对企业绩效带来的波动,以稳步提升企业的整体成熟度;

6、 Agile更侧重于发挥人的主观能动性,通过最大限度的激发人的主观能动性,来为企业发展作出贡献。

三、应用和融合

1、 CMMI是企业级管理思路,企业在达到一定规模时需要进行引入,以使得企业从杂牌军迈向正规军,而Agile在企业中形成游击队,是可以大大提高正规军的灵活度,避免因为规模增大、管理规范而形成僵化;

2、 由于CMMI针对企业级,其中提到的实践可以用于规模大的项目,做大的战役,尤其适用于一些较为复杂的新产品开发,以明确各方协作要求,确保一个稳定的产品架构;Agile针对项目级,更适合不断更新升级的产品开发,适合于小团队作战,最好团队规模小于7人;

3、 CMMI相关标准的推荐适用情景:

1) 项目管理:立项、结项;总体计划、里程碑管理、决策管理

2) 度量:区分组织绩效考核的要求(采用外部、客户相关数据)、效率的要求(项目的数据)

3) 需求管理:制定规范和要求,明确协商原则和奖惩措施;

4) 设计开发:制定指导书、推荐用模板和工具,不做强制要求,项目根据生命周期模型选择和调整设计开发方法;

5) 产品质量保证:制定指导书、推荐用模板和工具,不做强制要求,项目根据生命周期模型选择和调整产品质量保证的手段和方法;

4、 Agile的推荐适用情景:

1) 项目管理:关注具体项目任务的分配和跟踪、项目问题和风险的管理方式

2) 度量:对每个迭代周期进行度量,而不是针对每个迭代中的阶段进行度量;

3) 需求管理:定期的与客户面对面需求确认、进行需求分析和优先级排序,并依据迭代进展,不断更新需求状态;

4) 设计开发:在必要时保持简单设计和不断重构,来保证代码质量的可靠性;

5) 产品质量保证:极致的评审(结队编程)、持续集成

四、实践中的困难

1、 企业价值观导向

Agile需要在组织中推动,一个很基本的条件是:企业要具备相应的价值观,例如以人为本,重视人的价值和创造性,管理从控制型向引导型转变;说起容易做起难,这是一个从上到下的观念和做法的转变,同时要配合更多的企业制度的支持才能做到,是最大的障碍。

2、 人的创造性和积极性

人的潜能是无限的,但如何激发人的创造性和积极性呢?在一个产品研发型企业,员工的创造性和积极性是企业生命的源泉,但如何激发和保护员工的这些特质,我们还缺乏有效的手段。

3、 绩效考核

企业为了实现业务目标,做好方向把握和控制,需要通过绩效考核和KPI体现公司的导向;通常的做法是,组织的KPI会层层分解,最终会落实到对个人的绩效考核上;但Agile的实施,很多团队中人人都工作积极、能力不断提升、差距逐步缩小,在这样的团队氛围下,怎样实施绩效考核才能体现公平,不至于打击员工的积极性?



由外而内看敏捷软件开发
架敏捷开发中史诗故事与用户
看板任务管理
面向全球化的有效敏捷交付
小型团队快速开发方法
DevOps,不是一个传说!
更多...   


统一过程及应用
敏捷过程实践
基于XP/RUP的迭代开发
软件开发过程指南
SCRUM过程实践
敏捷测试-简单而可行


某博彩企业 产品经理与产品管理
北京 研发团队与工作管理
广东金赋信息 敏捷开发过程与项目管理
某支付平台 软件配置管理与发布管理
富士 软件外包项目管理与进度管理
塞孚耐 基于Scrum的敏捷开发
更多...   
 
 
 
 
 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号