4.10 基于度量的持续改进
《DevOps实践指南》中提到的DevOps三步工作法的最后一步是“持续学习与实验”。敏捷开发12条原则的最后一条是“团队定期地反思如何能提高成效,并依此调整自身的举止表现”。《精益思想》中提到的5条原则的最后一条是“尽善尽美”。《持续交付:发布可靠软件的系统方法》中提到的软件交付的8条原则的最后一条是“持续改进”。这里我们也把“持续改进”作为软件交付的10个策略中的最后一个。
在运作实践中,我们可能会做一个大的改进项目,比如“新一代的XXX工具平台”“XXX转型”“XXX战役”,以此来争取资源、推动改进,并最终展示“一大块”成果。这挺好,但同时要注意改进无止境,不是一蹴而就的。当一个大的改进项目“完成”后,应当持续关注,不断发现新的改进点,并推动改进。
另外,总是应该拿事实和数据说话,对软件交付过程进行改进也一样。一次构建耗时多久,流水线执行失败后多久能恢复,即红灯修复时长是多少,一个特性从代码开发完毕到上线要多长时间,这些度量统计信息对软件交付过程的不断改进是十分有帮助的。
所以我们加上定语,变成:基于度量的持续改进。
至此,软件交付的10个策略就讲完了。
小结
本章首先介绍了组织结构、系统架构和交付流程的总体策略,包括:
• 细粒度、低耦合、可复用的架构。
• 小批量持续流动的流程。
• 运行综合手段保证质量和安全。
然后介绍了针对具体事情如何做到方便、快捷,包括:
• 自动化与自助化。
• 加速各项活动。
• 及时修复。
接下来介绍了一些支持保障补充性的内容,包括:
• 完备记录,充分展现。
• 标准化。
• 协调完成完整功能。
最后介绍了如何改进:基于度量的持续改进。
要想做好软件交付,这10个策略是最根本的指导原则,本书后面具体讨论每个细分领域(比如构建、代码扫描、部署等)时,将反复、变着花样地应用这些策略。因为软件交付过程的众多优秀实践,就是在反复、变着花样地应用这些策略。当我们将来探索新的实践、新的方法时,很有可能也是举一反三地应用这些策略。所谓“万变不离其宗”,本章讲的这10个策略就是“宗”。所谓“无招胜有招”,本章讲的这10个策略就是“无招之招”。
[1]来源:链接10。
[2]关于制品概念的详细介绍,请见第17章。