新闻资讯

如何使用CMMI2.0真正实现大规模敏捷开发

2019-12-03    1334

在过去的几年里,敏捷开发已经从一个生态概念转变为世界上许多大公司采用的标准实践。通过小型的、自我管理的团队来加速软件开发现在是一个公认的战略,并且越来越被视为提升创新和竞争力的关键。一项调查显示,近90%的组织在某种程度上在开发团队中使用敏捷。今天,敏捷方法正在延展到软件开发领域之外,因为公司试图将更大的敏捷性注入到整个组织及其文化中。

尽管敏捷越来越流行,但是当公司试图在整个企业范围内大规模敏捷软件开发的使用时,仍然会遇到问题。虽然敏捷对于小型的、独立的、自我管理的项目是非常有效的,但是很难协调多个项目和团队来构建更大、更复杂的产品和系统。因此,公司面临着许多与早期软件开发方法相同的难题,例如集成和接口问题、未能充分满足所有需求、延误和质量问题。

因此,随着敏捷应用的扩展,企业克服这些问题所需的互补性最佳实践也在不断增加。CMMI(能力成熟度模型集成)V2.0提供了这些最佳实践,帮助组织建立成熟的过程,这些成熟度过程能管理在实施大规模敏捷开发时的复杂性和风险。




CMMI V2.0如何帮助大规模敏捷

CMMI集成了一组用于提高业务绩效的最佳实践。许多公司多年来一直将CMMI和敏捷开发结合在一起;2017年的一项调查发现,80%应用CMMI的公司也使用敏捷。但最新版本CMMI V2.0增强了两者之间的协同作用,为敏捷开发中大规模和弹性增加了直接的指导。

CMMI V2.0专门解决了企业在尝试大规模敏捷时遇到的挑战,例如准确估算开发时间和资源、集成系统组件和维护质量。它还支持一系列对成功至关重要的其他过程,如“管理和提供服务”以及“选择和管理供应商”。此外,它正在扩大到包括安全在内的更多领域。它不仅聚焦于提高绩效,而且着眼于维持确保企业长期保持绩效的习惯和流程。CMMI V2.0在投入最小化工作量的同时提供了这些关键优势,因为它让您只选择满足业务独特需求的实践域。

CMMI的全面性和整体性是成功大规模敏捷开发的关键,它与其他试图在大规模上支持敏捷的方法形成了鲜明的对比。通常,那些方法部分地解决了一些挑战,并完全不能解决其他挑战。

解决集成问题---------

让我们仔细看看CMMI帮助组织成功地大规模应用敏捷开发的一些方法。组织经常遇到麻烦的两个领域是项目评估和产品集成。CMMI提供了健壮的估计实践,支持从许多小组件构建大型复杂系统的敏捷方法。它还可以帮助您确保设计系统的每个组件,以便以后可以将其与其他组件集成。

在大多数组织中,多个团队在快速冲刺中开发系统的组件。大型系统可能涉及许多单独的sprint,每个sprint开发的组件都必须集成。敏捷项目在设计和需求阶段往往不能充分地解决这个问题,因此许多软件开发组织遇到了与组件之间的接口和集成相关的大问题。如果您有两个开发团队执行敏捷sprint以生成不同的组件,您如何知道这些组件将在sprint结束时集成?如果你还没有预先定义组件如何装配在一起,你就像在真空中构建每个组件。

CMMI提供了一个健壮的框架,帮助公司在最初的需求和设计阶段定义接口和集成需求,然后在整个开发过程中的各个sprint中跟踪和测试它们。没有CMMI,确保无故障集成的能力完全取决于团队的经验。专家开发人员可能有远见和专业知识来确保组件在未来的集成,但经验不足的人可能缺乏这一关键知识,即使他们能够快速生成好的代码。CMMI中的最佳实践从本质上提升了团队的专业知识,使团队能够抓住可能会遗漏的潜在问题。

通过支持重要但常规的项目任务,如估算和集成,CMMI使开发人员能够专注于他们真正要做的事情——解决创新新功能的困难和有趣的挑战。而且,由于CMMI为所有开发项目提供了一个通用的框架,它还使得在项目之间移动人员变得更加容易,从而提高了组织的敏捷性。随着一个项目的结束,CMMI使那些开发人员更容易转向另一个项目并立刻工作。


CMMI让避免敏捷混乱---------

如果没有协调多个团队和多次独立Sprint的成熟流程,就开始尝试大规模敏捷开发,很容易导致混乱。CMMI独特地提供了一个全面的业务绩效管理框架,可以贯穿整个组织,从而时公司可以更好地协调项目、集成复杂的系统、更快地交付更高质量的软件。

(翻译者:王庆付)

(出处:https://cmmiinstitute.com/resource-files/public/how-to-truly-scale-agile-development-in-the-enterp?utm_medium=social-media-organic&utm_source=linkedin&utm_campaign=CMMI-General&utm_content=Oct15_V2.0_Article)


在线咨询