在过去的几年中,敏捷开发已经从一个利基概念(利基是指针对企业的优势细分出来的市场,这个市场不大,而且没有得到令人满意的服务。产品推进这个市场,有盈利的基础。)转变为全球许多大公司采用的标准实践。 通过小型、自我管理的团队加速软件开发现已成为一种公认的策略,并且越来越被视为企业创新和竞争力的关键。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. [go-linq]-Go的.NET LINQ式查询方法

    关于我 我的博客|文章首发 开发者的福音,go也支持linq了 坑爹的集合 go在进行集合操作时,有很不舒服的地方,起初我真的是无力吐槽,又苦于找不到一个好的第三方库,只能每次写着重复代码.举个栗子 ...

  2. Distributed | MapReduce

    最近终于抽出时间开始学习MIT 6.824,本文为我看MapReduce论文和做lab后的总结. [MapReduce英文论文] lab要用到go语言,这也是我第一次接触.可以参考go语言圣经学习基本 ...

  3. Redis解读(2):Redis的Java客户端

    Redis的Java客户端 Redis不仅使用命令客户端来操作,而且可以使用程序客户端操作,其实配置和实现起来也非常容易. 现在基本上主流的语言都有客户端支持,比如Java.C.C#.C++.php. ...

  4. Linux 用户和用户组管理(useradd userdel groupadd groupdel)

    Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. Linux系统用户账户的 ...

  5. Windows搭建Linux子系统(WSL)详细教程

    介绍 WSL(windows下的Linux子系统) Windows Subsystem for Linux(简称WSL)是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式 ...

  6. 【笔记】《Redis设计与实现》chapter12 事件

    12.1 文件事件 Redis基于Reactor模式开发了自己的网络事件处理器:这个处理器被称为文件时间处理器: 文件时间处理器使用IO多路复用程序来同时监听多个套接字,并根据套接字目前执行的任务来为 ...

  7. 手写Spring AOP,快来瞧一瞧看一看撒!

    目录 AOP分析 Advice实现 定义Advice接口 定义前置.后置.环绕和异常增强接口 Pointcut实现 定义PointCut接口 定义正则表达式的实现类:RegExpressionPoin ...

  8. SAAS云平台搭建札记: (四) AntD For React使用react-router-dom路由接收不同参数页面不刷新的问题

    在.net开发员眼里,如果使用MVC,根据路由匹配原则,可以通过各种方式接收参数,比如 /Post/List/1, /Post/List/2,或者 /Post/List?id=1,/Post/List ...

  9. DDD实践反思

    某大型互联网公司于2019年开始在XX中台财务域进行DDD实践.事后回顾,整体并没有达到预期的效果,个人也做了很多的反思和总结,形成此文. 1. 背景 为什么当时要实践DDD?其中的缘由比较复杂,可以 ...

  10. 痞子衡嵌入式:实抓Flash信号波形来看i.MXRT的FlexSPI外设下AHB读访问情形(无缓存)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是实抓Flash信号波形来看i.MXRT的FlexSPI外设下AHB读访问情形. 上一篇文章 <i.MXRT中FlexSPI外设对A ...