了解2.0的朋友一定知道,Context Specific是CMMI 2.0的一个新内容,它完善了模型的可扩展性和快速吸收业界最新优秀实践的能力。让核心实践和具体方法,场景相结合,为模型的使用者提供了更加具有针对性的指导。2.0开放式架构让模型可以根据具体的方法、标准、套路进行裁剪。目前,2.0只包含以Scrum实践为主的敏捷Context Specific的内容。2017年,研究院做了一个Context Specific意向的问卷调查,DevOps高居榜首,是大多数人的首选。就在上个月,Ron Lear和Bob Moore做了一个题为“LEVERAGING CMMI® V2.0 AND DEVOPS,to Maximize Agile Transformation”的报告,简要指出了二者的互补性。那么从操作层面看,如何让CMMI 2.0成为DevOps的助力器呢?抛出这么一大段啰嗦的背景介绍,无非是为了引出DevOps和2.0在我眼中该如何结合。理念一致是所有结合成功的基础。在这点上,CMMI 2.0和 DevOps绝对是根基扎实。二者均致力于价值驱动的改进,通过度量作为推手,追求经济价值的不断提升。二者的过程理念也一样。DevOps通过工具链让过程落地,实际执行的过程和定义的过程高度统一,并通过反馈,不断改进端到端瓶颈点,这也是CMMI的过程价值观。在培育工程文化形成组织的共同潜意识方面,CMMI 2.0给出了一个很好的框架,而文化变革则是DevOps的一个重要内容。不论是CMMI或DevOps,最大的挑战都是如何让企业文化能够顺应这些变化。在软件行业里,代码易改人难改。2.0的II和GOV两个PA指出了组织行为变更管理的要点,在推动DevOps转型时,GOV和II是很好的护航指南。我一直称CMMI是敏捷的安全网,DevOps的助力器。CMMI的系统框架及思维模式可以弥补DevOps的一些局限。DevOps目前关注更多的还是Dev Process Flow,对如何融入、扩展Ops Process Flow以及Security还没有成熟的指导。CMMI2.0中的Dev, Service和即将发布的Security的内容,能够指导我们将这些过程实践自然的整合在一个框架之下。导入DevOps一般会经历三个阶段:初创价值工作流,形成改进闭环,支持学习创新。CMMI 2.0对走好这三个台阶可以起到良好助力作用。这个阶段的主要工作包括下任务:
-深入理解工作流,明确建立流程中的工作和客户价值的关系持续交付需要高度自动化,而自动化的前提是要先建立合理适用的过程,CMMI有能力对这个阶段的DevOps工作提供非常好的支持。PCM,PAD,STSM, OT和MPM中的实践为梳理出实际有效的工作流提供了重要要点。
建立能够支持持续交付的自动化需要强有力的配置管理过程,否则自动化的结果是快速产出一堆错误的数据。
这个阶段的DevOps追求缩短客户到开发的反馈闭环周期。通过反馈我们可以回答下列问题:
- 是否考虑到干系人(如客户,老板,支持团队等)的需求?我们是否能够及时响应这些需求?- 在和反馈提供者沟通前,谁会分析、解释干系人的需求满足情况?CMMI2.0提供了及其丰富的改进反馈收集机制,PLAN, MC, RSK, PQA等实践域给出了项目和过程执行的反馈要求。RDM,PR, VV, PI, DAR, IRP, SDM展示了开发和运维中针对工程和质量的反馈。
MPM,PCM,CAR告诉我们如何做到改进闭环并做效果评价。
DevOps能够在系统中留下大量数据,MPM的实践可以指导我们有效的将这些数据变成支持决策的信息。拿修复系统的时间来举例,它可以帮助我们判断问题修复能力是否能满足用户要求;比如用户需求变更频率是否和代码变更频率一致?由此可见,DevOps的改进必须是数据驱动。
DevOps的终极目标是建立能够支持快速学习,支持创新的系统,有点像华为IPD 2.0的愿景:让不可能变成可能。
建立支持学习创新的DevOps让CMMI 2.0的高成熟度实践有了用武之地。CAR, RSK中的机会管理内容,MPM,PCM,CONT,IRP的实践也指出了重要的切入点。
正如CMMI研究院指出的那样,评估社区需要适应DevOps环境下的CMMI评估。绝大多数DevOps工具都会提供一些具备关键信息收集功能的API,其开发平台也有“自我文档化”的能力。从CMMI评估角度来看,这些信息和文档真实体现过程的执行。
零准备和零干扰的评估如果成为常态化的评估模式,那绝对是大受欢迎的变化。
最后表达三个期望:
1. 希望CMMI研究院加快步伐,早日整理出DevOps的优秀实践集合,推出DevOps的 context specific 内容。同时希望研究院能够融入DevSecOps实践,给我们一个符合预期的Safety和Security的benchmarkviews.2. 希望中国如火如荼的DevOps运动,能够和CMMI 2.0结合,走出一条自己的路,丰富DevOps和CMMI的内容。3. 希望自己能有机会和体力,秉着“活到老学到老”的精神,在二者结合方面去做一些实实在在的工作。