十年前,当我第一次遇到 软件坐标测量机 我想,和许多人一样,我对它似乎如此准确地描述了许多企业中软件开发的混乱“一级”状态感到震惊,特别是它提到了对英雄的依赖。它似乎还为组织提高流程改进水平提供了现实的指导。

但是,虽然它似乎提供了一个良好的模型和现实的改进指导,但我从未真正见证过坚持 CMM 对我工作过或共事过的任何组织产生了重大的积极影响。我知道一家大型软件咨询公司声称拥有 CMM 5 级(最高级别),因为我亲眼看到他们的流程与其他非 CMM 企业一样混乱,而且其软件产品的质量也参差不齐。

所以我想知道,有没有人看到根据 CMM 坚持流程改进带来真正的、切实的好处?

如果您看到了改进,您是否认为这种改进特别归因于 CMM,还是其他替代方法(例如 六个西格玛)同样有益或更有益?

还有人相信吗?

顺便说一句,对于那些还没有看过它的人来说,看看这个有趣的,因为它是真的 戏仿

有帮助吗?

解决方案

对于典型的 CMM 1 级编程车间来说,努力达到 2 级是值得的;这意味着您需要考虑您的流程并将其写下来。当然,这会遇到牛仔程序员的抵制,他们感到受到标准、文档和测试用例的限制。

从第 2 级(“有一个流程”)到第 3 级(“每个人都有相同的流程”)的努力通常会陷入部门间的冲突,因此可能不值得开始。

其他提示

我发现它是臃肿的文档练习,主要用作合同获取/维护工具。一旦我们签订了合同,那就是绕过这个过程的练习。

作为一名开发人员,我除了在 CMMI 上浪费了几个月的职业生涯之外,什么也没有得到。

6 Sigma 也是如此,我将其称为“盒子里的常识”。我不需要接受如何找出流程问题所在的培训 - 这通常是相当明显的。

对我来说,小团队和敏捷机制效果更好。周期短,沟通多。这可能不适用于所有环境,但它绝对适用于我的环境。

只是我的两分钱。

问题的核心在于这个问题,CMM 指南本身清楚地描述了这一点......

...正确且具有洞察力地使用坐标测量机需要做出正确的判断。智力、经验和知识必须在特定环境中形成对 CMM 的适当解释。该解释应基于组织和项目的业务需求和目标。死记硬背、以清单为导向的 CMM 应用程序可能会损害组织而不是帮助组织……

从第 14 页,第 1.6 节开始 能力成熟度模型,改进软件过程的指南 由卡内基梅隆大学软件工程学院编写,ISBN 0-201-54664-7。

如果您看到 CMM 运行。而且跑得快。

如果您的组织牢记其试图教授的课程,那么 CMM 和 CMMI 都会提供一些好处。问题是,达到更高的水平是非常困难和昂贵的,而且我唯一一次看到组织经历这种努力是因为他们的客户在达到一定水平之前不会让他们投标合同。

这会导致组织尽一切努力“只是获得数字”,而不真正关心它改进他们的流程。

更高端?不。CMM-5 商店没有给我留下深刻的印象。

低端?是的。CMM-1 组织让我害怕。

CMM 可以帮助新团队衡量自己并进行自我改进。

CMMI 并不是真正要改进您的软件,而是要记录您所做的事情。您几乎可以通过公司生成的文档的权重来估计公司的 CMMI 水平。

背景:我在软件工程研究生课程中学习了 CMMI,并在一个遵循其指导方针的团队中工作。

我的经验是,CMM 非常模糊,但很容易实现。此外,当他们来认证您时,他们会查看您的组织选择的项目。在我以前工作的地方,这个项目没有真正的截止日期,有大量的资金,并且需要在流程的每个角落和缝隙上花费大量的时间。许多其他项目在几乎没有代码/设计审查的情况下继续进行,有时甚至没有版本控制软件。

我认为强调 CMM 认证是不幸的。公司知道如何运作该系统,并且也这样做了。他们没有专注于满足其底线的实际流程改进,而是专注于获得认证和运行系统。老实说,我认为大多数组织宁愿花时间在前者上,也不愿在后者上浪费那么多时间。

真正重要的是拥有认真负责的人,他们想要做出良好的发展决策,并且知道他们在做出这些决策时需要帮助。优秀的程序员是无可替代的,他们知道编程是一项持续的集体活动,他们和其他人一样有可能犯错误。

我一直在对进行迭代开发的小团队进行大量面试。就我个人而言,如果我在简历上看到 CMM,这是一个很大的危险信号,表明对过程的兴趣超过了结果。

所有正式方法的存在都是为了销售书籍/培训课程/认证,没有其他原因。这就是为什么有这么多正式方法。一旦你意识到这一点,你就自由了:-)

尤登仍然 相信. 。但他也可能仍然相信世界将因千年虫而终结。

我个人不会对这一点抱有很大的信心,也不想在未来被束缚。但通常我们的目的并不是去推理为什么......

附:虽然有点题外话,但我想提一下,伪造的 CMMI 认证以及通过贿赂获得的真实认证都很常见。

CMM 并不是真正谈论软件的质量,而是更多地谈论过程的文档和可重复性。换句话说,有可能有一个有序且可重复的开发过程,但仍然会创建蹩脚的软件。只要流程被正确记录,就有可能达到 CMM 5 级。

归根结底,CMM 是另一个可能被使用或误用的工具。如果最终目标是提高软件质量,那么就有可能使用CMM来改进开发流程,提高软件质量。如果目标是达到一定的 CMM 水平,那么软件质量很可能会受到影响。

该模型正在失去可信度,首先是因为公司采用该模型并不是为了寻找更成熟的软件开发模型,而是为了获得 CCMI 级别的评估。

另一个问题,我认为导致可信度丧失的问题是,作为承包商,您无法保证您的 CMMI 评估供应商向您销售的项目将使用模型实践进行开发。CMMi 标签仅表明该公司曾经开发过被评估为符合特定 CMMi 成熟度级别的项目。

问题不仅在于 CMMi,还在于公司开发的流程。CMMi 不描述流程本身,而只是描述流程应该做什么。PMBOK 也有同样的问题。事实上,问题不仅仅出在 PMBOK 上,更主要的问题是那些声称遵循 PMI 声明的糟糕项目经理。

在学校,我被教导:CMM 是一个好主意,但缺乏认证(任何人都可以说它们是 5 级/4 级),它最终成为离岸商店的营销工具。所以,是的,这个想法是合理的,但是你如何证明坚持呢?

我曾经。但现在我发现 CMM 和 CMMI 不太适合敏捷方法。

哦,当然,你可以挤压东西将方钉插入圆孔,但是当紧要关头时,你的方法仍然基于预测所需的一切的能力,并预测在构建一个软件系统。

我们都知道,这种方法在现实生活中效果如何!(-:

干杯,

敏捷是下一个 CMM,两者都很脆弱。流程和质量咨询领域在任何行业都是一门好生意,就像工程人员一样,每个人都需要新的流行语来保持资金流动。

CMM 在 SEI 首次出现时是一个基于扎实学术工作的好概念,但它很快就被流程顾问采纳,现在是一个毫无价值的认证,大多数 CIO 都用它来掩饰自己的屁股(没有人因为这个而被解雇)选择 CMM 5 级公司)

敏捷很快就会沿着这条路走下去,然后我们很快就能看到下一个银弹:)

当我从事商业飞行软件工作时,我们使用了 CMM,并且随着流程的改进,我们准确预测完成时间的能力也得到了提高。但这是一个繁琐的过程,其他方法应该也同样有效。

较小的项目对成功的依赖程度较低。关键指标是英雄与旁观者的比率。任何 HTBR 低于 0.2 的项目都会遇到严重的麻烦。

有很多好的想法可以很容易地被任何组织为了自身的利益而调整和采用,但由于需要各种冗余文档,获得徽章是一件痛苦的事情。

问题在于 CMMi 不是一个流程,而只是您可能选择采用的任何流程的指南,而且它本身会引发不成熟的想法。

另一点是,刚开始迁移时确实很痛苦,但我想它与任何其他初期问题一样。

理解 CMMi 价值的主要问题是理解 CMMi 本身。

CMMi 是一种记录软件生产持续改进的方法。

在制造业中理解 SPC 的持续改进已经够困难的了,但加上无形的软件产品,难度是指数级的。

我会向刚接触 CMMi 的任何人或组织推荐:记录他们当前的流程,然后看看可以独立于流程来衡量哪些结果(成本/收益)。这样,如果标准的任何过程、程序发生改变,就会产生“更好”的结果。此练习的先决条件是有记录的、稳定的可重复过程,因为不可能衡量临时环境中任何更改的好处,因为您没有进行“同类比较”。

通过最初关注上述概念,组织将开始理解并接受 CMMi 的基本价值。

传说,承包了大量合同的美国国防部发现,许多项目都面临时间和成本超支,甚至交付时也与订单不符。

因此,他们想要一种方法来确保承包商能够在预算范围内按时交付并接近要求。由此,能力成熟度模型诞生了。

其论点是,如果事情被写下来,那么它们就不会被磨损。但光说把所有的东西都写下来还不够,还必须检查它们是否写得正确。除其他事项外。

在这一切过程中,他们从未想过考虑这样做的成本。因为从国防部的角度来看,如果它给出了一个 100 万美元的项目,一年内就能得到一些东西,但最终在 10 年内支付了 1000 万美元,却没有得到他们想要的东西,而现在如果他们改为花 500 万美元买同样的东西,在两年内得到他们真正想要的东西,他们仍然节省了 500 万美元,更不用说他们实际上得到了一些东西。

因此,如果您是美国国防部或类似机构的承包商,请继续获取 CMM,因为这是一项要求。但是,如果您在 elance 上与数千家软件开发商店竞争,以获得预算有限、时间有限等的项目......CMM 不是一个好的选择。

也就是说,请随意阅读 CMMI Dev pdf(撰写本文时为 v 1.3)。它有很多优点。它很好地解构了组织。如果您看到任何让您惊叹不已的点,“啊哈!”我有这个问题”,然后一定要运用这种智慧来解决你的问题。就我们而言,我们所做的一个小改变是确保我们列出了所有可以向我们提出要求的人的名单。如果有多个人被允许向我们提出要求,那么来自一个来源的任何要求都会分发给其他人,在我们将其添加到待办事项中之前,他们必须说“好的”。这个小小的改变对我们的工作和返工量产生了很大的影响。

简而言之,查看流程区域并将其与您的痛点区域进行比较,并采纳 CMM 给出的建议。您实现它的方式是您自己的。而且您始终可以以不需要花费太多时间或花费太多金钱的方式来实施它。但我想这同样适用于相关的 ISO/IEC 标准。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top