01-研发效能概述
研发效能的定义、目标以及解决的问题
研发效能既要关注有效性(做正确的事),也要关注效率(正确的做事并追求速度);既要关注投入,也要关注产出
在组织层面,研发效能就是更高效、更高质量、更可靠、可持续的交付更优的业务价值的能力
在个人层面,研发效能工作更强调“功劳”而不是“苦劳”,强调更聪明地工作,强调个人能力成长
研发效率需要解决规模化的问题,在软件规模和复杂性不断提升的同时努力保持高效,尽可能减缓研发效能随熵增而恶化的程度
研发效能的实践框架
建设研发效能他的“黄金三角”,形成具有增强回路效果的研发效能提升体系
效能实践、效能平台和效能度量三个部分可以互相促进、彼此增强
坚持研发效能的价值主张,做正确的事情与正确地做事情同样重要
效能实践
目标:提炼和采纳与上下文匹配的 DevOps 及效能提升实践
价值主张:产品导向+工程卓越
实施建议:没有“一刀切”的解决方案,要因地制宜,以解决瓶颈为目标,持续改进
效能平台
目标:打造“一站式”“一体化”的效能平台,支撑软件交付的全生命周期
价值主张:自动化+自助化、场景化+生态化
实施建议:已能满足研发场景的诉求为出发点,不追求“大而全”,注重加强各工具间的连通性
效能度量
目标:在正确的方向上开展研发效能度量和数据洞察,指导并驱动有效的效能提升
价值主张:数据去顶+实验思维
实施建议:推进研发效能度量的“五项精进”,落地度量基础设施、度量指标、度量模型、度量产品、数据运营
研发效能的实施策略
注重灵活务实的解决研发“痛点”和实际问题,要避免开展“大跃进式”、虚假繁荣的运动
研发效能提升需要业务研发团队、工具平台团队、效能专家或教练团队、组织级研效管理团队共同协作
以上四种角色或团队该做什么、不该做什么很关键,哲学原则在不同的场景下都是相通的
研发效能要服务于业务,而不能让业务反过来迁就研发效能
适合党校环境的座右铭:“不躺平、不内卷,行稳致远”
研发效能的核心价值观和常见误区
核心价值观:以业务价值为导向、优化全局流动、追求工程卓越、善用数据思维
常见误区:缺乏系统化的规划、盲目推行一致性、“伪”工程实践的“面子工程”、忽视上下文而照搬方案、忽视开发者的体验、不恰当的使用度量
引用《软件研发效能权威指南》
部分解读
效能实践在某些角度上,无法照搬方案的原因好比部分 Java 项目使用 JDK 1.5 无法使用 maven 作为依赖管理,但是 springboot 项目就可以使用 maven 或 gradle 作为依赖管理, 但是 maven 或 gradle 需要建立本地或私有制品库作为仓库中心,这又涉及到制品库的管理方法,所以不同的项目适用不同的效能实践,甚至不仅仅是项目级别的效能实践不同,部分公司产品将页面功能或规则引擎代码配置存储在数据库中,这种情况下投产上线就不能仅仅靠代码库的编译发版了,这时候就需要一套新的自动化部署方案或系统。
在实现效能平台时,所谓自动化可以参考规则引擎,加上自主化就是可以调用命令行的可视化规则引擎,可以参考软件 n8n ms的 Microsoft Power Automate 或命令行工具。
效能度量的实现需要长期的数据监控,并且多做总结回顾,不断提升效能指标的准确性,并且要定期做总结,我们的外部环境随时随地都在发生变化,度量指标需要跟着环境随时变化才真正能够管理好效能。