UML软件工程组织

CMMI5在项目中的应用

 

2007-12-04 出处:CSDN博客

 

这周,我们的新产品——DM项目正式启动,作为公司参与CMMI5评审的项目。对于我们的team来说,以往基本上没有在流程上做严格的控制,现在以CMMI5的标准来要求项目的实施,一方面可以说是机会与挑战,趁机规范我们的开发、测试流程;另一方面,因为以往没有这方面的实践,一下子要以CMMI5的标准要求我们,实施起来也会有一定的难度。将会有怎样的效果,投入这么多的人力物力是否值得,现在还不好说,且看项目结束后的收效吧。

DM这个项目,按我们以往的开发与测试模式,3个月之内会完成所有的工作,虽然测试一般都是在产品完成代码编写之后才参与,但因为团队有一定的流程管理,公司也比较重视测试,且开发与测试的水平都不错,产品的质量是比较有保证的,经我们发布出去的产品在现网运行效果一直有较好的口碑。只是,缺少需求、设计以及代码的评审,大部分的问题都是在测试阶段发现并解决,这样一来,问题的修改成本相对比较高,而且产品的质量很大程度上依赖测试人员的素质和对业务的熟悉程度。这一点,我在以往的测试中一直强调,希望问题能够及早发现,也希望产品的质量能够尽量少地依赖个人。

CMMI5强调通过各种的活动及早发现并解决问题,通过流程的控制减少产品质量的人为因素,这些正是我们所需要的。不过,每件事情都会有两面性,一个本来3个月就可以完成的项目,按照CMMI5的流程来实施,需要6个月,而且需要耗费更多的人力资源。特别是在项目的前期,大量的文档、评审,的确是需要投入非常多的人力和时间,而且也不能马上看到效果。从短期来看,当然是不划算,也看不到真正的收益,这就是为什么在中国大多数的IT公司都不注重流程控制、也是为什么CMMI到了中国实施起来就变了味儿的原因之一。我曾经跟一个资深的工程师探讨CMMI在项目中的应用,他跟我说,他反对将国外的CMMI不经消化便套到项目实施中,因为流程管理在项目的应用中没有起到效果,反而是让人疲于应付各种流程各种文档,导致项目的开展效率低见效少抱怨多。末了,他颇具幽默地对我说,其实,coding并不是靠管理给管出来的。但愿,CMMI5在我们的项目的应用中能看到积极正面的评价。

如果CIMMI5只是在某个项目中实施,如果实施的目的只是为了过级,如果过级之后就连CMMI5是什么都给丢了,我觉得是没有任何的意义的,浪费时间浪费精力。既然开展了就得认认真真地实施,项目结束之后,将其中的精髓应用于整个团队,改进团队的开发与测试流程,提高产品的开发效率与质量,这才是CMMI5所给我们带来的真正意义。否则,在一个项目中投入如此大的成本,就真的太不划算了。在对CMMI5的应用熟悉到一定程度之后,我们不必实施CMMI5的所有活动,完全可以适当地剪裁合适我们的东西并应用起来,相信这样效果会更好。这些,当然,需要管理层认为有用并下决心去推动,而且团队中的成员也要积极支持,才会出现积极的效果。CMMI5在DM中的应用,能否给整个团队注入焕然一新的面貌?还是只是一场过场戏?现在给结论还为期过早,咱们拭目以待吧!

PS:在项目启动前,开发经理跟我说,DM的测试负责人,就由你来做吧!我自然是乐颠颠地接受了,因为这是一个学习和施展的好机会。事后,他问我:“你已经作为两个核心产品的测试负责人了,下半年的IAGW还要靠你去主导,是否给任务太重了?”我跟他说:“没事,我能行。”一方面,我相信我自己可以安排好,不会辜负他对我的信任;另一方面,我的确是很珍惜这个学习的机会。关于流程管理,我有一定的基础和思考,但是没有真正地运用起来,这个机会正好可以让我认真地去学习一些新的知识,应用一些新的理念。下半年的任务如此重,我想我应该学会将任务下放了,主要的精力是集中在测试计划、测试设计和宏观调控上,至于具体案例的编写,我可以思考测试要点之后将部分案例的设计交给其他的测试人员去编写,而测试的实施,因为有了测试用例和测试方案,也可以将部分功能的测试交给其他的测试人员去测试,自己可以集中在质量的宏观把关上。当然,很多事情还是需要自己亲自去做的。