敏捷和CMMI对比——译文

2013年初次接触敏捷,感觉遇到一群敏捷神棍,有些事情明显是错的!当时业内普遍任务CMMI有问题——太重。不过要细问重在哪里,发现他们没有细看CMMI。
敏捷能够发展,必然有其道理和优势,只是很可能不是我看到的样子,无奈之余,翻译了一篇论文CMMI and Scrum - CMMI or Agile- Why Not Embrace Both!  》,自娱自乐,翻译仅供参考。

Dimension领域

CMMI Paradigm

CMMI 方法

Agile Paradigm

Agile 方法

Organizational focus of attention组织关注的焦点

The focus is on the organization or enterprise.Most benefit occurs when CMMI is implemented at organizational level so that all functions and capabilities contributing to the development of products and services are addressed by the process improvement effort. CMMI关注点在组织级和企业级。CMMI通过过程改进提升组织研发产品和服务的能力,使实施CMMI的组织受益。

The focus is on the project and team. Agile methods can isolate (i.e., insulate) the project/team from the organization and still be effective. 敏捷关注项目和团队。敏捷的方法可以在项目/团队脱离组织管理后依然保持高效。

Management管理

Management plays an important role in ensuring project success. There is much attention to project management, including ensuring that plans affecting the project are integrated with the project plan, dependencies are managed, coordination issues are resolved, there is a shared vision for the work, and risk management is performed. CMMI中,项目成功与否,管理发挥着重要的作用。CMMI非常重视项目管理,包括确认影响项目计划的其它相关计划于项目计划吻合,管理依赖关系、解决不一致问题、使大家对工作有共同愿景,并执行风险管理。

Management is a coaching function (as opposed to traditional command-and-control) that helps to eliminate barriers to progress. This view of management may be expanding as Agile approaches are extended to address larger project contexts. 在敏捷中,管理是一个辅导功能(而不是传统的指挥和控制),帮助团队消除前进障碍。 这种思想会随着敏捷应用范围的扩大而影响范围更大

Trust信任

Some CMMI practices assume the need to compensate for a low-trust environment (a key concern of the Agilist as). A lowtrust environment is often characterized by (1) safety and mission critical objectives, (2) high risk of failure, and most of all (3) multiple stakeholders who cannot be totally transparent relative to their intensions and commitments. 一些CMMI实践可以增强对项目信心,降低项目风险。 高风险项目的特点是:1、安全要求极高且使命必达,2、失败后成本极高的一类项目,3、彼此之间不能完全公开的多个利益相关者(如商务上甲乙方)

Agile methods originated from the recognition that teams work best when they are composed of task-mature individuals operating in high trust groups. An Agile environment fosters high trust. 敏捷方法起源于以下认识:当团队由任务成熟的个体组成并在高信任的团体中运作时,团队可以达到最好的工作状态。 敏捷环境可以培养高度的信任。

Market/User Assumption市场/用户假设

CMMI is broadly beneficial but particularly so when the target market becomes more mature and process innovation becomes a more important differentiator to organization success. CMMI帮助企业提高效率,尤其是在成熟的市场重视开发工艺的市场上。(CMMI可以提供外包的接包商服务能力)

Agile methods have the most benefit in an emergent and not well-understood target/market. 敏捷适用用在变化速度快,前景不明朗的领域。(比如互联网金融创新领域)

Perspective

远景

CMMI takes, has, and assumes a longer-term view. CMMI采取长期的视野。

Agile takes, has, and assumes a short to medium-term view. 敏捷采取短到中期的视野。

Planning

计划

CMMI promotes macro (project-level) planning with an emphasis on establishing a suitable defined process enabling the project to achieve its objectives. Traditional planning approaches assume a long time horizon. Detailed plans are not required by CMMI but many of the examples encourage such an interpretation. Nevertheless, many who use CMMI also use rolling plans (detailed only to the next iteration or quarter). There is emphasis on replanning and conditional change.

CMM提倡在宏观计划(项目计划)中定义合适的过程,保证项目目标达成。通常项目计划假定项目周期跨度很长。尽管很多人推荐制定完整的详细计划,CMMI并不要求这样做。然而,许多使用CMMI的人也使用“滚动计划”(仅详细到下一个迭代或季度)。 CMMI强调重新计划和条件改变。

In Agile methods, there are multiple levels of planning, including high-level product planning (including release planning) and at the beginning of each iteration, more detailed planning around the features to be addressed in that iteration. There is a strong emphasis on flexibility and replanning as conditions change. Use of Gantt charts (that map tasks to calendar time) and graphs of task networks is discouraged because the requirements on which the tasks are based change frequently.

在敏捷方法中,有多个级别的规划,包括高级别的产品代办列表(包含发布规划),并且在每次迭代开始时,对计划在该迭代中解决的功能要进行更详细的规划。敏捷强调计划适应变化, 不鼓励使用甘特图(将任务映射到日历时间)和任务网络的图标,因为任务所基于的需求经常变化。

Appraisals

评估

The SCAMPI method compares the organizations processes against the practices of CMMI to evaluate whether the organization has implemented processes that achieve CMMI goals.

SCAMPI方法将组织的流程与CMMI的实践进行比较,以评估组织是否已实现CMMI目标的流程。

The desire of Agile practitioners is that appraisals are made only by looking at results (i.e., customer satisfaction and other project outcomes).

敏捷从业者希望是仅通过查看结果(即,客户满意度和其他项目成果)就可以进行评估。

Learning

学习

Learning happens in many ways, including: (1) organizational training based on analyses of process and skill needs and priorities and the design of appropriate training vehicles; (2) through the development activities of the project itself (e.g., the evaluation of proposed product requirements and solutions for feasibility and cost, schedule, quality, and risk impact); (3) through the planning and use of the processes on projects, measurements, and lessons learned are gathered and shared across the organization; (4) as part of a causal analysis process; and (5) through an analysis of how well the organizations and projects quality and process performance objectives are being met by the processes in use.

CMMI中,有很多自我学习的机会,包括:(1)组织级培训内容有流程分析、必要技能、优先级以及恰当设计的课程;(2)通过项目本身的开发活动(例如,对提出的产品需求和解决方案的可行性和成本,进度,质量和风险影响等方面的评估)3)在整个组织中收集和共享项目的规划和使用过程、测量和经验教训4)作为因果分析过程的一部分5)通过分析在使用过程,组织和项目的质量以及过程绩效目标中是否得到满足。

Learning happens at project/iteration levels, typically bottom-up and just-in-time (i.e., comparable to Kaizen).

学习发生在项目/迭代级别,通常是自下而上和按需学习(即,与Kaizen相当)。

Design Presumptions

前提假设

CMMI presumes the product architecture is selected or created in the early stages of a project and is revisited when it becomes clear the selected architecture is no longer valid or when using an iterative lifecycle.

CMMI假定产品体系结构在项目的早期阶段就被选择或创建,直到明确证明架构无效或者进入下一个生命周期才会重构。

Projects are most successful when corporate standard architectures are adopted with flexibility applied as the project progresses. Some Agile methods downplay the importance of architectures on the general principle that such are often prematurely specified.

当采用公司标准架构并随着项目的进展灵活应用时,项目是最成功的。有些敏捷的方法会淡化这些需要在早期细化的架构的重要性。

Human Development

职业发展

CMMI has a limited people focus at the project level. There is an expanded people focus at the organizational level. CMMI does not advocate heroics, but instead creating an environment in which people can excel without heroics (i.e., an effective process appropriately leverages people and technology).

CMMI从业者中,少数人关注项目级别,更多的人关注的是组织级别。CMMI不倡导英雄事迹,而是创造一个环境,在其中人们可以胜过英雄(即,一个合理利用人和技术的有效过程)。

Agile has a team and individual focus (i.e., people over process). There has been a tendency among many in the Agile community to advocate just hire good people with an implicit undercurrent of developing hero developers within a work-life balanced culture.

敏捷有一个团队和个人关注点(即,人高于过程)。 敏捷社区中的许多人一直倾向于在工作生活平衡的文化中提倡“只雇佣有能力的人”,同时隐含着发展“英雄开发者”的暗流。

Life-Cycle Emphasis

CMMI has a strong review-as-you-develop emphasis. There is also a tendency to read in CMMI the approach verify often and validate at the end, which is NOT the correct way to understand what CMMI is saying (e.g., see the introductory notes to the Validation process area).
CMMI is consistent with an environment in which there is a high cost of failure (see Trust above). The objective is to proactively avoid the high costs associated with product failure (or time-to-market failure). The conclusion is that we cannot rely on testing alone. Therefore, CMMI encourages documentation, analyses, and reviews before product components are integrated into a functional product. CMMI also encourages frequent (early and mid-course) validations to ensure the right product is being built. The project determines the appropriate application and timing of these review and testing steps.

Agile methods employ concurrent development, test iterations, and informal peer reviews of work products as necessary.
There is a tendency to see in Agile a 
validate often and verify second approach which may be a more correct reading.
Fail early, fail fast, and learn are central to Agile methods. The trade-off is seen as favoring the development of a useable and testable product vs. developing and analyzing requirements and product components.
A low cost of delay or low cost of failure is assumed. There is an assumption of incremental delivery being viable.
Burn out can arise from repeated time-boxed iterations, so special provisions should be made for this eventuality (e.g., by revising the time-box duration based on experience feedback and by providing some slack around iterations).

生命周期的重点

CMMI强烈强调“像你在开发一样地去审查”。阅读CMMI的方法还有一个倾向,”经常核实,最后证实“,这不是一个了解CMMI的正确方式(例如,参见验证过程区域的介绍性说明)。
CMMI
应用在有高故障成本的环境中(参见上面提到的的信任)。 目标是主动避免产品失败引起的高故障成本(或产品上市时间延迟引起损失)。 结论是,我们不能单靠测试。 因此,CMMI鼓励在产品组件集成为功能性产品之前进行文档编写,分析和评审。 CMMI还鼓励频繁(早期和中期)验证,以确保正在研发正确的产品。 项目决定了这些审查和测试步骤的适当应用和时间安排。


敏捷方法采用共同开发(开发、测试一起),测试迭代,仅进行产品必要的评审。
在敏捷中有一种趋势是“经常正确性检视,然和验证目标”,这可能是一个更正确的理解方式。
“试错、成长”是敏捷方法的核心。 这种权衡有利于开发可用和可测试的产品,而不是开发和分析需求和产品组件。
敏捷假设试错成本低,延迟交付成本低。 假设产品是可以增量交付的。
时间耗尽能够引起迭代延期,因此应该对这种可能性做出特殊规定(例如,通过基于经验反馈以及为迭代提供弹性时间来修正时间盒持续时间)。

Predictability可预测性

Predictability is achieved for critical subprocesses (those process steps that are leading contributors to or indicators of quality and process performance) through statistical management (which involves, among other things, use of control charts). Predictability is achieved at the project, iteration, or level by monitoring the performance of critical subprocesses and periodically using the organizations established process performance models, appropriately calibrated, to evaluate whether the project is on track to achieving its objectives. Finally, at the organizational level, analysis of subprocess performance across projects provides an increased understanding of the capability of the organizations processes and thus of which  areas to target for innovation.

通过历史数据(其中包括使用控制图)可以实现关键子过程(这些过程步骤是质量和过程性能的主要影响因素)的预测。 通过监测关键子过程的性能并定期使用组织已建立的经过适当校准的过程性能模型来评估项目是否按照计划执行,可以在项目、迭代或级别实现可预测性。 最后,在组织层面,对项目之间子过程性能的分析提高了对组织流程能力的理解,从而增强了对于创新目标领域的理解。

Using time-boxed scope-limited iterations, evolving designs/solutions, driving out defects as early as possible, and failing quickly leads toward a predictable development velocity.
There is also an expectation of predictability of iteration delivery and scope of delivery. The anecdotal evidence suggests that Agile teams often struggle with predictability of iteration scope, often de-scoping iterations (or sprints) in the final few days. This de-scoping is rooted in a lack of statistical convergence of the velocity data combined with the analysis technique underlying the scope breakdown.

敏捷使用时间盒、(任务)范围固定的迭代、不断优化的设计/解决方案、尽早发现缺陷,通过快速试错找到正确发展方向。
敏捷可以预知迭代交付期和交付范围。 案例表明,敏捷团队调整迭代交付量,经常在最后几天中缩减迭代范围(或冲刺)。 缩减范围的原因在于缺乏交付速率的统计数据以及相关的对比分析技术

Cost of Failure失败成本

Historically, CMMI was developed in a domain of high cost of failure. If a plane crashes, the cost of failure is extremely high. Examples within this domain include the development of aircraft, weaponry, spacecraft and safety-critical medical devices.

从历史上看,CMMI是在高故障成本领域发展来的。 如果飞机坠毁,失败的成本是非常高的。 这个领域的例子包括飞机,武器,航天器和安全关键医疗设备的开发。

Agile methods have flourished in a domain of low cost of failure or linear incremental cost of failure. Examples within this domain include Internet commerce, social networking, and games development.

敏捷方法已经在低成本故障或线性增量故障成本领域蓬勃发展。 这个领域的例子包括互联网商务,社交网络和游戏开发。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值