当软件复杂性不断增加时,组织的挑战是如何系统化地改进研发效能。在参与中国信通院《汽车行业软件研发效能成熟度模型》标准的制定过程中,场量科技设计并贡献了一个新的工具:研发效能雷达(Engineering Efficiency Radar),来帮助组织简化问题发现、定位改进区域,更好地规划、执行与跟踪改进方案。
本文约3500字,可选择感兴趣的章节阅读:
- 设计篇:工具构建的背景和方法基础
- 结构篇:雷达的组成结构与区域描述
- 控制篇:效能与实践在实施中如何闭环
- 规划篇:治理与采纳过程双向驱动
- 改进篇:结构化和向导式的改进指南
1.设计篇
成熟度能力模型是一种改进指导工具,帮助企业基于评估结果制定对应策略、一步步实现能力提升。软件行业常见的成熟度能力模型包括两类:以CMMI为代表的驱动过程能力改进的模型,和以AMM(Agile Maturity Model)为代表的驱动人的能力改进的模型。
研发效能能力模型不止需要关注过程,也需要关注结果。随着软件规模的扩大,研发复杂性也在不断增加,实践覆盖到了从项目管理、应用开发、测试管理、运营运维到度量的软件全生命周期,组织引入变得越来越困难,需要在能力模型中降低使用复杂性、简化采纳过程。
汽车行业软件开发是目前最复杂的情形之一,涉及了多样的技术种类、业务场景和研发模型,是构建应对复杂性模型的理想研发场景。基于形态分析法对汽车软件研发中的多种特征进行建模组合,最终我们建立了一种研发效能能力模型的框架结构,优势如下:
统一过程与结果: 以软件过程与系统结构的组合作为底座,两者是研发中稳定存在的控制对象,分别代表了开发过程和开发结果。
分解复杂性: 以雷达图中的象限—层次为划分,将软件过程与系统结构分解为若干个更小的实践区域,以降低管理难度。
2.结构篇
效能雷达由区域、象限与分层三部分组成。根据不同的运用策略,效能雷达首先自内向外划分为三个环状区域:标准域、实践域和度量域,分别对应了组织级标准、过程与系统中的实践以及度量分析相关指标的分类范围。
雷达的象限为软件过程,实践域以系统结构划分为多个层次环状。根据行业、企业的实际情况扩展出多个象限或层次。以汽车软件系统为例,我们采用了行业中研发V模型通用的系统结构定义,包含系统、领域子系统、组件及单元;软件过程采用需求、开发、测试、运营/运维四大主要过程进行效能雷达的设计,示例如下。
作为结构的扩展,效能雷达也可以进一步应用在组织层级,比如构建软件过程—组织结构雷达,通过对团队级、部门级的映射,更好地跟踪实践采纳情况。
3.控制篇
我们设计了两种结构化的策略来确保研发效能的有效实施:效能闭环结构和实践闭环结构。
雷达的每个扇形区域直观地提供了第一种闭环结构:标准—实践—度量。控制理念为,标准由具体的实践来完成实施,而度量反映实践效果的达成程度。
实践由人、流程与工具构成闭环,意味着每一项实践应包含的要素。对应关系如下图所示。
例如,指定 Python PEP8 为作编码规范标准,如果没有相应的编码实践、代码风格检查来指导和约束,编码规范只能是一纸空谈。对应的实践可包括,结对编程(人)、流水线代码风格检查步骤(流程)、自动化构建(工具),通过编码风格检查的新增/关闭/打开问题数量作为度量跟踪指标,闭环对编码规范的执行要求。
4.规划篇
根据驱动实践落地的不同方式,以两种过程来完成规划:采纳过程和治理过程,分别在雷达的实践域自内外向和自外向内部署实践。
以开发实践为例,通常采用采纳过程,从编程规约、构建检查到单元测试、集成测试,自内向外驱动实践走向高成熟度。
以需求实践为例,通过采用治理过程,从高阶的大颗粒度需求出发,自外向内逐层分解、渐进明细到工作项,实现更高的可跟踪性和流动性。
5.改进篇
基于效能雷达,可通过现状评估—问题定义—差距分析—改进措施四个步骤完成改进。
在开始前需要收集以下基础信息并对雷达区域进行填充:
- 标准域:已有的标准、规范和约定;
- 实践域:已有的实践,包括过程实践、工程实践及管理实践;
- 度量域:过程指标归类于过程象限,结果指标可归类于运营象限。
现状评估
通过标准、实践及度量指标在雷达图各个区域的覆盖情况,可以评估组织对研发效能各项能力的构建完善程度。标准的缺失将影响到组织对能力构建的重视程度,尤其是研发效能由单个职能部门或能力中心承担建设作用时,横向的能力构建需要标准驱动;实践或度量的缺失则会影响到标准的落地与实践效果的衡量。
现状评估可分为整体评估和分组评估(包括产品、团队及项目)。
问题定义
基于现状评估的结果,可以定义出能力建设的待解决问题清单,比如:
- 待建设的组织标准;
- 提高实践覆盖完整度;
- 构建度量指标;拉齐某项实践的执行偏差,等等。
在这一阶段确定实施改进的优先级和顺序。
差距分析
通常基于组织或团队的目标,以及其它的参照物进行对比,对研发效能来说,可选择的维度主要分为效率和质量、过程与结果、现状与趋势,等等。具体包括差距的测量、产生的原因分析以及可改进的空间分析。
差距分析的过程也是评估实施改进的潜在收益的过程。
改进措施
三种主要的改进措施包括:
- 基于问题清单优先级;
- 基于差距分析的改进空间;
- 基于结构化闭环策略。
最后通过度量指标跟踪改进结果。
在中国信通院发布的《汽车行业软件研发效能成熟度模型》标准中,已提供了30多个能力项及对应的分级标准,有助于组织进行评估、对照和采纳。
研发效能雷达作为一个开放的工具,我们正在邀请行业中的研发效能从业人员,一起进行使用、反馈;作为效能雷达工具的下一步,是持续对相关的工具方法进行细化,整理定义出结构化的实践、度量指标,并提供培训、指南,不断丰富研发效能的工具箱。
标签:效能,实践,企业级,改进,雷达,研发,过程 From: https://blog.51cto.com/u_14588342/5980110