研发效能度量框架解读
本文共计 1100 字,建议阅读时间:2-3 分钟。
阅读本文你将收获:
1、研发效能度量框架有哪些构成?
2、对研发效能度量框架进行拆分解读
3、研发效能度量基础设施建设改怎么做
作者简介:
任晶磊,清华大学计算机系博士,前微软亚洲研究院研究员,曾在斯坦福大学、卡内基梅隆大学做访问学者。在软件系统、软件工程领域从事多年前沿研究,多篇论文发表在 FSE、OSDI 等顶尖国际学术会议上;积极贡献开源社区,代码被多个用户广泛的开源项目所使用;亦参与过微软重大工程项目的设计与实施。现为硅谷科技公司 Merico 创始人和 CEO,专注于研发程序代码库分析技术,测量程序员对软件开发活动的贡献,服务于全球企业的软件工程管理和人才管理。
软件研发效能度量是一项系统性工作。其中最重要的三个要素是对目标的共识、对现状的认知和从现状到目标的路径。它们可以分别用三个“E”、“C”(cognition,认知)和“I”(improvment,改进)来代表,共同构成 E3CI
软件研发效能度量框架,如下图。
图 1:软件研发效能度量框架
2. 框架解读
框架可以抽象为一个简洁的公示:效能 = 认知 + 改进。下面分述三个部分。
2.1 研发效能的定义和目标
业界对“软件研发效能”有诸多定义,可以总结为如下三个 E,也是效能提升的最终目标。
●Effectiveness 效果。软件研发活动应以用户价值和业务价值为导向。
●Efficiency 效率。软件能够多快好省地交付。
●Excellence 卓越。软件研发过程通过健康的、可持续的方式实现。
2.2 对研发效能的认知
为了迈向研发效能的目标,我们首先需要对团队研发效能的现状有清楚的认知,并提升团队对研发效能的认知。我们总结了研发效能度量包含的五个认知域:
●交付价值,认知软件研发交付需求对用户或业务带来的效果。
●交付速率,认知软件研发交付需求的快慢。
●交付质量,认知软件研发交付需求的好坏。
●交付能力,认知软件研发交付需求的可持续性。
●交付成本,认知软件研发交付需求的开销。
2.3 对研发效能的改进
在认知的基础上,需要通过改进达成效能目标。改进的过程可以总结为 MARI 循环(读作“码睿”),
即 Measure 度量 - Analyze 分析 - Review 回顾 - Improve 改进。
图 2:研发效能改进的 MARI 循环
●度量:无论任何改进活动,首先需结合组织及团队实际认知需求,面向改进目标通过量化数据对过程及目标进行刻画,即建立度量。度量需要统一数据及指标的采集方法。
●分析:有了量化指标,运用统计分析方法,对数据的趋势、分布、关联等信息进行分析,得到对现状的量化理解。
●回顾:基于分析结果,对产生“果”(结果)的“因”(影响因子),进行回顾,挖掘对结果产生影响的根本原因,定位关键问题。
●改进:针对关键问题,建立可落地的改进措施,通过调整“因”(影响因子),最终影响“果”(目标)的达成,并进入下一轮度量验证。
这四个步骤共同组成一轮完整的优化迭代。大部分情况下,问题改进需要经历多个迭代,持续度量改进效果,不断校准改进的方向和方法。3. 框架实现框架的实现包括基础设施建设和方法论的应用。基础设施的建设目标是支持如下的度量框架:
图 3:度量基础设施建设
底层通过接入 DevOps 工具链,收集和沉淀包括代码在内的各类数据源,汇入研发数据湖。在数据湖之上构建进一步的数据处理能力,以及指标的计算能力。这些指标可以灵活地组合成视图,满足用户特定的信息需要,并形成决策和后续行动。
基础设施建设可借助开源的力量,参见延伸阅读中的 Dev Lake 开源研发数据平台。方法论的应用可参考延伸阅读中的 OpenMARI 指南,包含对部分常用指标的度量和分析方法、回顾的典型问题和改进的典型措施等。
4. 延伸阅读
1、《软件研发效能度量规范》团体标准
2、OpenMARI开源指标体系和效能提升指南(https://github.com/merico-dev/OpenMARI)
3、Dev Lake 开源研发数据平台:https://github.com/merico-dev/lake
如果您想了解更多关于关于研发效能的内容,可查看思码逸网站获取;
——结束——
思码逸 Merico 研发效能分析平台,致力于帮助研发团队解决研发效率、研发质量和人才发展三大痛点,提升研发效率与软件工程质量;
欢迎在评论区与我们交流!
版权声明: 本文为 InfoQ 作者【思码逸研发效能】的原创文章。
原文链接:【http://xie.infoq.cn/article/173d70b24f53433389e958a30】。文章转载请联系作者。
评论