6

有没有人可以告诉我CMMI和敏捷之间有什么区别。我知道一些明显的区别,但我想进一步了解。如果有人可以帮助我,我将不胜感激!谢谢!

4

3 回答 3

11

CMMI 是一种过程改进方法,旨在将项目或团队从第 1 级“混乱”提升到更高的级别,理想情况下但不一定是第 5 级“优化”。

它由各种能力组成,每一种能力都被分配到一个特定的级别。例如,CMM 2 级需要项目计划能力。级别基本上是:

  1. 混乱,没有真正的控制。
  2. 项目级别的管理流程,主要是反应性的。
  3. 定义的,组织级别的流程,主动的。
  4. 定量的、测量和控制的过程。
  5. 优化、反馈循环和持续改进。

在我看来,高水平的 CMMI 成熟度相当复杂且难以实现。在为一家大型电信公司进行外包的大公司工作时,我们达到了 5 级,但对于不断递减的收益来说,这是一项大量工作。我们最终认为它主要是一种获得政府工作的方式,事实上,我以小型项目专家的身份出名,我们仍然可以遵循 CMMI,但不必向客户收取巨额费用。

另一方面,敏捷是一种项目管理方法,更侧重于交付客户需要的东西,而不是大量的文书工作:-)

我认为 CMMI敏捷更上一层楼,因为敏捷本身并不是一个大规模的自我改进过程。

具有内置的改进流程(例如回顾),但不是以这样一种方式,即如果整个方法论没有执行,则可能会被淘汰。

在更高的 CMMI 级别中,可以根据其性能和/或可能的效率来抛弃或购买整个项目管理方法(例如包括敏捷)。

于 2013-06-12T07:52:03.853 回答
6

敏捷是一组四个主要原则:

  • 个人和交互超过流程和工具
  • 工作软件优于综合文档
  • 合同谈判中的客户协作
  • 响应变化而不是遵循计划

——敏捷宣言

从中衍生出数十种软件 开发 方法。

CMMI是一种过程改进模型。这是一个过程,它不是,AFAIK,与软件开发严格相关。

因此,比较两者(一个模型和一组原则)绝对没有意义。询问哪个成熟度级别是敏捷的,甚至哪个成熟度级别是特定的敏捷方法论也是没有意义的。

我们只能谈论特定敏捷软件方法实现的具体成熟度级别,例如“在这个团队中,我们在优化成熟度级别上进行 Scrum”。

于 2013-06-12T09:28:49.593 回答
1

一些很好的正式答案已经在这里,也许这将有助于理解那些寻求理解的人的区别:

在海盗船上,让海盗们朝着共同目标前进的一套原则被称为“海盗荣誉守则”——这是一套敏捷原则。

但是船上总有一个人带着导航仪器和一张地图,他知道我们现在在哪里以及如何引导船穿过大海——这就是 CMMI。

于 2013-10-18T08:56:24.607 回答