本文摘于《软件研发效能权威指南》——第 9 章
核心观点
- 开发人员在多个“单点式”工具平台之间的来回切换是很耗费时间和精力的。
- “一站式”是指把研发各个环节的软件工程能力集成在一个统一的平台上,对新人友好,对老人提效。
- “一键式”是指让研发工程师只关心具有创造性价值的工作,而不需要处理能够由研效平台自动完成的事情。
- “双流”模型可以实现需求价值流和研发工程流双向自动联动。
传统单点研发效能工具平台面临的挑战
一个完整的研发效能工具平台,需要包括需求协作、代码管理、构建能力、测试能力、环境部署能力、制品管理、配置管理、监控告警、高效运维等功能。可以说,效能工具平台是研发工作开展的载体,涵盖了软件研发全生命周期的各个环节,其设计与使用体验做得好,整体研发过程的流畅度就高,工程师的有效价值就能更好地被发挥。
软件研发全生命周期中的各个环节都有各自领域的单点工具,比如需求管理工具常用的是 Jira、代码管理工具常用的是 GitHub 和 GitLab 等,这些垂直领域的单点工具平台不论是商业化产品,还是企业自研,基本都是以 SaaS 的形式在企业内为广大工程师提供服务。
开发工程师要完成一个需求开发任务,往往需要在多个单点垂直工具间来回反复切换。当我们的软件工程纪律和流程管控越严格时,工具来回切换的次数就会越多,而且每次切换都可能需要以人工的方式在各个工具平台间传递信息,甚至是“翻译”信息。
比如,在一个典型的开发任务场景中,开发工程师首先要访问需求管理工具,从中找到对应的任务项,然后将其状态从**“待开发”转变为“开发中”,接着到代码管理工具中找到对应的代码仓库并下载代码。同时,先使用需求管理工具中的开发任务 ID 作为分支名字来创建功能分支,然后在该功能分支上完成本地的开发与测试工作。在此期间,为了做到质量