论坛上上的一篇帖子唤起了我对CMMI的无限反感和我对敏捷开发的无限期待!
下面是这篇帖子的地址
http://www.iteye.com/topic/1112913?page=2#2222402
本来打算把下面的内容回复到上面的帖子里,但是担心影响原贴得主题,所以自立了该贴,
欢迎大家把对敏捷的,CMMI的看法或亲身经历发表出来。
有不妥的地方欢迎指正!
一个真实的例子,
我在某某公司参与R版本的开发时,
该公司是严格按照CMM5流程管理的,
我记得当时为了该界面上的一个错别字花了我整整两天的时间,
不是我的效率不高,而是整个流程太不人性化了。
整个流程是这样的:
当时我发现了软件界面上有个英文单词写错了;
我提bug单给测试经理;
测试经理将bug单分配给测试人员去确认;
测试人员确认后转给开发经理,
开发经理再将Bug分配给我改,
我改完后要写测试报告(为了写这个测试报告,我要等新的版本部署以后才能写)
写完报告,再给相关人员Peer review;
Review 通过再转给测试经理
测试经理再分配给测试人员
测试人员测试通过后才关单
从此以后 我对CMM流程已完全无好感,他完全像套在开发人员脖子上的枷锁
然而CMM流程对设计的不良毫无作为,仅仅靠前期做一些设计评省来把关,而评省会更多是像一场座谈会,说说笑笑就过了,有谁能比设计师更了解设计,有谁能在几个小时内将别人几个月的吃透然后提出有建设性的意见呢?
评省对设计优化起不了太大作用,我看到很多丑陋的设计在系统内,如果用代码的坏味道准则来衡量,可以发现一堆的问题,但是到了开发的中后期,流程根本没有给你改善它的机会,所以我个人觉得CMMI流程只能让不良的设计坚持到底。
如果你当前采用的是CMM流程,实施敏捷后,怎么可能不节省成本,提高效率呢?
如果你没有采用任何流程,为什么你不试验一下Scrum 或XP呢,或者根据敏捷的精神
裁减一套你自己的流程呢。