在过去的几年中,敏捷开发已经从一个利基概念(利基是指针对企业的优势细分出来的市场,这个市场不大,而且没有得到令人满意的服务。产品推进这个市场,有盈利的基础。)转变为全球许多大公司采用的标准实践。 通过小型、自我管理的团队加速软件开发现已成为一种公认的策略,并且越来越被视为企业创新和竞争力的关键。CMMI研究院的统计报告显示,2018年参加CMMI评估的企业80%以上使用了敏捷。如今,随着公司寻求更多地将敏捷性注入整个组织及其文化中,敏捷技术已经不仅仅应用于软件开发领域。

尽管敏捷越来越流行,但是当企业尝试在整个企业范围内推广使用敏捷软件开发时,仍然会遇到问题。尽管敏捷对于小型、独立、自我管理的项目可能非常有效,但是很难用于协调构建大型、复杂的产品和系统所需的多个项目和团队。结果就是公司遇到了与早期软件开发方法相同的许多棘手的问题,例如集成和接口问题、未能充分满足所有需求、延迟交付和质量缺陷。

因此,随着敏捷的普及,对克服上述问题的最佳实践的需求也在不断增长。CMMI V2.0提供了这些最佳实践,可帮助组织建立成熟的流程,来控制规模化敏捷可能面对的复杂情况和风险。

CMMI V2.0如何帮助实现规模化敏捷

CMMI是一套用于改善业务性能的最佳实践。多年来,很多公司已经同时使用了CMMI和敏捷开发。 2017年的一项调查发现,使用CMMI的公司中有80%也使用敏捷。但是最新版本的CMMI V2.0增强了两者之间的协同作用,为在敏捷开发中建立规模和弹性提供了直接指导。

CMMI V2.0专门解决了企业在尝试规模化敏捷时遇到的挑战,例如准确估算开发时间度量和资源、集成系统组件以及保持质量。CMMI V2.0还支持对成功实施至关重要的各种其它流程,例如管理和交付服务以及选择和管理供应商流程。此外,CMMI V2.0还扩展覆盖到包括安全性在内的更多领域。CMMI V2.0不仅着重于提高绩效,而且着眼于维持习惯和持久性,以确保企业随着时间的推移保持该性能。CMMI V2.0在最小化投入的同时,提供了这些关键优势,因为CMMI V2.0允许选择满足业务独特需求的实践域。

全面使用CMMI是成功实施规模化敏捷开发的关键,这与试图大规模支持敏捷的其它方法形成鲜明对比。通常,这些方法解决了一些挑战,却完全无法解决其它挑战。SAFe(规模化敏捷框架)就是一个例子,它在关键领域缺少关键要素,例如软件质量、设计和集成、管理服务和供应商、规划和管理工作、管理业务弹性以及维持性能。

解决集成问题

来看看CMMI是如何帮助组织成功地应用规模化敏捷开发。组织经常遇到麻烦的两个领域是项目估算和产品集成。CMMI提供了可靠的估算方法,这些估算方法支持用许多小组件构建大型复杂系统的敏捷方法。它还可以帮助确保设计的每个系统组件可以与其他组件集成。

在大多数组织中,多个团队在Sprint中开发系统的组件。大型系统可能涉及许多单独的Sprint,每个冲刺都会生成必须集成的组件。敏捷项目通常在设计和需求阶段无法充分解决这一问题,结果就是许多软件开发组织遇到了与接口和组件之间的集成相关的重大问题。如果您有两个开发团队进行敏捷冲刺,生产不同的组件,那么您如何知道这些组件将在冲刺完成后是否可以集成?如果您尚未预先定义组件的组装方式,那么每个组件都将各自在真空中被独立构建。

CMMI提供了强大的框架帮助公司在初始需求和设计阶段定义接口和集成需求,然后在整个开发过程中的各个冲刺里进行跟踪和测试。如果没有CMMI,确保无故障集成的能力则完全取决于团队的经验。专家级开发人员可能具有远见卓识和专业知识来确保组件能够进行集成。但是经验不足的人可能缺乏关键知识,即使他们能够快速编写良好的代码。CMMI的最佳实践从根本上提高了团队的专业知识,使团队能够发现原本可能会遗漏的潜在问题。

通过支持重要但常规的项目任务(如估算和集成),CMMI使开发人员可以将精力集中在他们真正应该做的事情上,从而解决了开发新功能带来的艰巨而有趣的挑战。而且,由于CMMI为所有开发项目提供了通用框架,因此也使在项目之间的人员调动变得更加容易,提高了组织的敏捷性。随着一个项目的结束,CMMI使这些开发人员更轻松地转向另一个项目并开始工作。

使用CMMI避免敏捷混乱

如果没有成熟的流程来协调多个团队和个人进行冲刺,那么规模化敏捷开发的尝试很容易导致混乱。CMMI提供了可在整个组织中使用的全面而独特的业务性能框架,因此公司可以更好地协调项目、集成复杂的系统,更快地交付更高质量的软件。

参考文献:
How to Truly Scale Agile Development in the Enterprise—with CMMI,Submitted by: CMMI Institute, 15 October, 2019
https://cmmiinstitute.com/resource-files/public/how-to-truly-scale-agile-development-in-the-enterp

CMMI V2.0丨如何通过CMMI真正在企业中的实施规模化敏捷开发的更多相关文章

  1. 带你全面认识CMMI V2.0(一)

    新发布的CMMI V2.0在方法论和方法上都提出了一些战略上的变化和改进.这些更新提供了新的要求.历史标准的演进以及以往实践的延续. CMMI V2.0和CMMI V1.3的变化 CMMIV2.0的定 ...

  2. 带你全面认识CMMI V2.0(二)

    CMMI V2.0成熟度等级 CMMI V2.0的一大变化是,所有实践领域均适用于成熟度三级(ML3),并具有特定的附加必需实践水平. 例如,在ML3上需要进行因果分析和解决,但在CMMI成熟度四级( ...

  3. 2019年度CMMI V2.0性能报告

    2020年底,CMMI研究院发布<2019 CMMI V2.0 Performance Report Summary>,渠成团队进行了全文翻译并简单总结如下.(文末提供中英双版PDF下载) ...

  4. 带你全面认识CMMI V2.0(终)——实施落地

    引入CMMI的方法 一共有四个阶段将您的业务过程和最佳实践最终融合在一起,并在该范围内重新创造整个组织的"完成方式".这四个阶段是: 战略探索:此阶段的重点是了解当前状态并计划过渡 ...

  5. 带你全面认识CMMI V2.0(三)——实践域

    实践域以往被称为称为"过程域",如:配置管理,现在叫做"实践域".对于2.0版,则有25个适用的实践域.与以前版本的CMMI模型一样,"实践域&quo ...

  6. 带你全面认识CMMI V2.0(五)——改进

    改进(Improving)涉及开发.管理和改进过程及其相关资产,其主要重点是提高组织绩效.保持习惯和持久性可确保过程在整个组织中是持久.习惯性地执行和维持,并有助于有效地实现业务绩效目标.治理(GOV ...

  7. 带你全面认识CMMI V2.0(四)——管理 赋能

    风险和机会管理(PSK)包括:识别威胁和机会:评估其发生和影响的可能性:减轻潜在威胁:利用潜在机会目的:识别,记录,分析和管理潜在的风险或机会.价值:减轻不利影响或利用积极影响来增加实现目标的可能性. ...

  8. CMMI 2.0术语变化

    过程域 vs. 实践域 “过程域”(Process Areas,PAs)在CMMI 2.0中变成了“实践域(Practice Areas,PAs)”.这样的改变,强调了CMMI 2.0是最佳实践的集合 ...

  9. Ibatis 异常:Unable to open connection to "oledb , provider V2.0.0.0 in framework .NET V2.0".

    在实际项目中使用了ibatis,然后在开发过程中遇到一些问题,最严重的就是这个“Unable to open connection to "Microsoft SQL Server, pro ...

随机推荐

  1. 运维小姐姐说这篇Consul集群和ACL配置超给力(保姆级)

    前言 上一篇简单介绍了Consul,并使用开发模式(dev)进行流程演示,但在实际开发中需要考虑Consul的高可用和操作安全性,所以接着来聊聊集群和ACL的相关配置,涉及到的命令会在环境搭建过程中详 ...

  2. Vue中的Xss构造

    首发tools:https://www.t00ls.net/thread-59512-1-1.html 存储型XSS 最近做测试的时候碰到了一个前端页面使用了Vue框架的项目 在测试XSS漏洞的过程中 ...

  3. 「HTML+CSS」--自定义按钮样式【004】

    前言 Hello!小伙伴! 首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 哈哈 自我介绍一下 昵称:海轰 标签:程序猿一只|C++选手|学生 简介:因C语言结识编程,随后转入计算机 ...

  4. spring5源码编译过程中必经的坑

    spring源码编译流程:Spring5 源码下载 第 一 步 : https://github.com/spring-projects/spring-framework/archive/v5.0.2 ...

  5. 记一次 .NET游戏站程序的 CPU 爆高分析

    一:背景 1. 讲故事 上个月有个老朋友找到我,说他的站点晚高峰 CPU 会突然爆高,发了两份 dump 文件过来,如下图: 又是经典的 CPU 爆高问题,到目前为止,对这种我还是有一些经验可循的. ...

  6. 什么?女神发了朋友圈,快来围观之Java设计模式:观察者模式

    目录 观察者模式 示例 定义 设计原则 意图 主要解决问题 何时使用 优缺点 女神和追求者的故事 Java中的实现 观察者模式 示例 微信公众号,关注就可以收到推送的消息,取消关注就不会收到 定义 定 ...

  7. JAVAEE_Servlet_22_Cookie实现十天内免登录

    Cookie实现十天内免登录 代码: - CheckLogin 查看是否获取到了Cookie,如果获取到了连接数据库验证Cookie发过来的用户名和密码,如果没有获取到Cookie信息,那么就跳转到登 ...

  8. JAVAEE_Servlet_19_重定向可以解决页面刷新问题(sendRedirect)

    重定向可以解决页面刷新问题(sendRedirect) 在向数据库中添加数据的时候,如果使用转发(getRequestDispatcher),数据插入成功后,转发到提示插入成功页面,在数据插入成功页面 ...

  9. JavaScript实现斐波那契数列

    什么是斐波那契数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为&qu ...

  10. java面试一日一题:讲下mysql中的索引

    问题:请讲下mysql中的索引 分析:mysql中有很多索引,要对对这些索引有所掌握,还要弄清楚每种索引的本质? 回答要点: 主要从以下几点去考虑 1.索引的本质是什么 2.mysql的索引分类: 3 ...