十年前,当我第一次遇到软件的CMM时,我想像许多人一样,对于在许多企业中描述混乱的"一级"软件开发状态的准确程度感到震惊,特别是在提到依赖英雄时.它似乎也为组织提供了切实可行的指导,以提高其流程水平.
虽然它似乎提供了一个良好的模型和现实的改进指导,但我从未真正目睹过遵守CMM对我曾为之工作过的任何组织产生重大积极影响.我知道一家大型软件咨询公司声称CMM级别5 - 最高级别 - 当我可以看到他们的流程一样混乱,他们的软件产品质量与其他非CMM业务一样多样化.
所以我想知道,根据CMM,是否有人从遵守流程改进中看到了真正的实实在在的好处?
如果您已经看到改进,您是否认为改进特别归功于CMM,或者替代方法(例如6-sigma)是否同样或更有益?
还有人还相信吗?
顺便说一句,对于那些还没有看过它的人来说,看看这个有趣的 - 因为它真实的模仿
问题的核心在于这个问题,由CMM指导本身巧妙地描述......
" ......正确判断对于正确使用CMM和洞察力是必要的.智力,经验和知识必须在特定环境中形成对CMM的适当解释.该解释应基于组织和项目的业务需求和目标.CMM的死记硬背,面向核对清单的应用程序有可能损害组织而不是帮助它...... "
摘自卡内基梅隆大学软件工程研究所能力成熟度模型,改进软件过程指南,第0页,ISBN 0-201-54664-7.
我发现它很臃肿,文档练习主要用作合同获取/维护工具.一旦我们签了合同,那就是绕过这个过程的练习.
作为一名开发人员,我从中得不到任何东西,但却失去了我职业生涯中的一小部分 - 与CMMI一起放屁.
6西格玛也是如此,我将其称为"盒子中的常识".我不需要接受培训如何弄清楚问题对于一个过程是什么 - 它通常非常明显.
对我来说,小团队和敏捷机制的工作要好得多.周期短,沟通多.这可能不适用于所有环境,但它肯定适用于我的.
只是我的两分钱.
对于典型的CMM 1级编程车间,努力达到2级是值得的; 这意味着您需要考虑流程并将其写下来.当然,这将受到牛仔程序员的抵制,他们感到受到标准,文档和测试用例的限制.
从第2级("有一个过程")到第3级("每个人都有相同的过程")的努力通常会陷入部门间的战争中,所以它可能不值得开始.
如果你看到CMM运行.跑得快.
CMM和CMMI都可以提供一些好处,如果您的组织采取它试图教导的内心.问题是,达到更高的水平是非常困难和昂贵的,而且我唯一一次看到一个组织经历这种努力是因为他们的客户不会让他们在合同上竞标,直到他们达到一定水平.
这具有组织尽其所能"只获得数字"的效果,而无需实际关心它改进他们的过程.
更高端?没有.CMM-5商店给我留下了深刻的印象.
低端?是.CMM-1组织吓到我了.
CMM可以帮助新手/新手团队衡量自己并做自我改善的事情.