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

    [root@bs-k8s-ceph ~]# ceph osd pool create harbor 128 Error ETIMEDOUT: crush test failed with -110: ...

  2. java面试-JDK自带的JVM 监控和性能分析工具用过哪些?

    一.JDK的命令行工具 1.jps(JVM Process Status Tools):虚拟机进程状况工具 jps -l 2.jinfo(Configuration Info for java):Ja ...

  3. 【软件推荐】利用Stylus修改网页显示字体

    Windows下,字体的显示总是让人抓狂.抗锯齿效果让汉字显得粗细不均,甚至无法对齐的情况. 为了改善网页的显示效果,可以利用Stylus进行字体的替换 Stylus可以在Google的商店下载,由于 ...

  4. CTF导引(一)

    ctf预备知识: 视频:https://www.bilibili.com/video/av62214776?from=search&seid=1436604431801225989 CTF比赛 ...

  5. 自动化kolla-ansible部署centos7.9+openstack-train-超融合单机架构

    自动化kolla-ansible部署centos7.9+openstack-train-超融合单机架构   欢迎加QQ群:1026880196 进行交流学习 环境说明: 1. 满足一台电脑一个网卡的环 ...

  6. day13.常用模块

    一.time与datetime模块 1.1time 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计 ...

  7. Day13_65_线程sleep()方法

    线程sleep()方法 * public static void sleep​(long millis) throws InterruptedException * Thread.sleep(),该方 ...

  8. k8s endpoints k8s未配置选择器的service

    service 其实是一个TCP/UDP 代理 不仅可以代理Pod也可以代理其他的非Pod资源,例如外网的数据库,或者其他的资源 创建未配置选择器的service, service 的对外端口是500 ...

  9. kubespray续签k8s证书

    查看证书过期时期 [root@node1 ~]# openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep ' Not ...

  10. Linux 究级基础入门命令整理

    Linux 究级基础入门命令整理 条条框框,三三两两,怎讷个这么多,哈哈!no zuo no die. 纯粹个人菜鸟笔记,望大神笑纳! 后续,未完!! 查看系统信息 uname -a - 查看内核/操 ...