CMMI V2.0丨如何通过CMMI真正在企业中的实施规模化敏捷开发
在过去的几年中,敏捷开发已经从一个利基概念(利基是指针对企业的优势细分出来的市场,这个市场不大,而且没有得到令人满意的服务。产品推进这个市场,有盈利的基础。)转变为全球许多大公司采用的标准实践。 通过小型、自我管理的团队加速软件开发现已成为一种公认的策略,并且越来越被视为企业创新和竞争力的关键。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真正在企业中的实施规模化敏捷开发的更多相关文章
- 带你全面认识CMMI V2.0(一)
新发布的CMMI V2.0在方法论和方法上都提出了一些战略上的变化和改进.这些更新提供了新的要求.历史标准的演进以及以往实践的延续. CMMI V2.0和CMMI V1.3的变化 CMMIV2.0的定 ...
- 带你全面认识CMMI V2.0(二)
CMMI V2.0成熟度等级 CMMI V2.0的一大变化是,所有实践领域均适用于成熟度三级(ML3),并具有特定的附加必需实践水平. 例如,在ML3上需要进行因果分析和解决,但在CMMI成熟度四级( ...
- 2019年度CMMI V2.0性能报告
2020年底,CMMI研究院发布<2019 CMMI V2.0 Performance Report Summary>,渠成团队进行了全文翻译并简单总结如下.(文末提供中英双版PDF下载) ...
- 带你全面认识CMMI V2.0(终)——实施落地
引入CMMI的方法 一共有四个阶段将您的业务过程和最佳实践最终融合在一起,并在该范围内重新创造整个组织的"完成方式".这四个阶段是: 战略探索:此阶段的重点是了解当前状态并计划过渡 ...
- 带你全面认识CMMI V2.0(三)——实践域
实践域以往被称为称为"过程域",如:配置管理,现在叫做"实践域".对于2.0版,则有25个适用的实践域.与以前版本的CMMI模型一样,"实践域&quo ...
- 带你全面认识CMMI V2.0(五)——改进
改进(Improving)涉及开发.管理和改进过程及其相关资产,其主要重点是提高组织绩效.保持习惯和持久性可确保过程在整个组织中是持久.习惯性地执行和维持,并有助于有效地实现业务绩效目标.治理(GOV ...
- 带你全面认识CMMI V2.0(四)——管理 赋能
风险和机会管理(PSK)包括:识别威胁和机会:评估其发生和影响的可能性:减轻潜在威胁:利用潜在机会目的:识别,记录,分析和管理潜在的风险或机会.价值:减轻不利影响或利用积极影响来增加实现目标的可能性. ...
- CMMI 2.0术语变化
过程域 vs. 实践域 “过程域”(Process Areas,PAs)在CMMI 2.0中变成了“实践域(Practice Areas,PAs)”.这样的改变,强调了CMMI 2.0是最佳实践的集合 ...
- 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 ...
随机推荐
- springMVC:校验框架:多规则校验,嵌套校验,分组校验;ssm整合技术
知识点梳理 课堂讲义 学习目标 能够阐述表单验证的分类和区别 能够运用表单验证的常用注解 能够编写表单验证的示例 能够编写SSM整合的应用案例 能够总结SSM整合的步骤 1 校验框架 1.1 入门-视 ...
- Kubernetes中Deployment部署故障排除
Kubernetes中Deployment部署故障排除 字符型思维导图 排查pod状态(带标签):kubectl get pods,是否有等待处理的pod? 是?kubectl describe po ...
- [.net] 关于Exception的几点思考和在项目中的使用(一)
本文链接 https://www.cnblogs.com/hubaijia/p/about-exceptions-1.html 关于exception的基本语法和作用,这里不再赘述,下面记录一下我在项 ...
- 201871030102_崔红梅 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 课程班级博客链接 班级博客 这个作业要求链接 作业要求 我的课程学习目标 1.体验软件项目开发中的两人合作,练习结对编程2. 掌握Github协作开发程序的操作方法.3.阅读<现代软 ...
- Linux就该这么学:重定向,管道符,通配符,转义符,环境变量
第三章:重定向,管道符,环境变量 3.1 输入输出重定向 定义:输入重定向是指将文件导入命令中,输出重定向是指将原本显示到屏幕的信息输出问文件.相较于输入重定向,输出重定向使用的更多,下面重点介绍输出 ...
- Java中获取类的运行时结构
获取运行时类的完整结构 通过反射获取运行时类的完整结构 Field(属性).Method(方法).Constructor(构造器).Superclass(父类).Interface(接口).Annot ...
- xctf - forgot
xctf - forgot check一下,开启了NX 拉入ida中,能找到: __isoc99_scanf,能够无限输入, 循环中,读取32个scanf的字符并进行判断,最后根据结果调用存在栈上的函 ...
- Ambassador-07-熔断
Ambassador的熔断机制的定义 circuit_breakers: - priority: <string> max_connections: <integer> max ...
- Day11_50_SortedMap集合
SortedMap集合 二叉查找树 和 二叉*衡树 二叉查找树是一种有序的树,所有的左孩子的value值都是小于叶子结点的value值的,所有右孩子的value值都是大于叶子结点的.这样做的好处在于: ...
- React函数式组件的性能优化
优化思路 主要优化的方向有2个: 减少重新 render 的次数.因为在 React 里最重(花时间最长)的一块就是 reconction(简单的可以理解为 diff),如果不 render,就不会 ...