软件工程治理的价值:在不拖慢速度的前提下降低风险
在哥本哈根Goto大会上,Sarah Wells指出,软件工程治理能帮助团队做出决策。她主张治理应支持价值交付,而非阻碍它。糟糕的治理会拖慢进度,并可能增加成本。通过技术战略和雷达可以帮助团队做出更好的决策,而与DORA能力对齐可以提升团队绩效。
Wells将软件工程治理定义为一套原则、实践和工具,帮助团队做出一致、知情且安全的技术决策:
通常,治理不包含工具;它更多是关于设定期望。但工具提供了一个机会,通过让正确的事变得容易做来帮助人们。
Wells表示,治理应该是帮助团队交付价值,而不是指责他们。它应该确保公司安全、可靠、成本可控,并朝着一致的方向前进。
Wells指出,需要与外部团队协调或等待审批的治理可能对生产力和效率产生重大影响。但人们往往会远离这些流程,而不考虑可能带来的后果:
没有治理,什么能阻止你发布带有安全漏洞的代码?当需要时,你能否快速轻松地修补代码?
如果你迁移到云端并允许开发人员在需要时启动资源(Wells提到你应该这样做),那么在没有治理的情况下,会有服务器在应该被关闭或缩容数周甚至数月后仍在运行,从而增加成本。
Wells提到,如果没有治理来提供对软件资产的监督,工程师可能不得不手动处理问题,从而无法将时间用于功能开发。如果没有治理来保持技术团队对齐,你可能会重复构建相同的东西,或者看到团队使用即将被淘汰的平台,因为他们不知道情况。
DORA能力是与DORA指标上高绩效相关的实践、流程和工具,并为技术组织带来更好的业务成果。这些能力与三个领域相关:学习氛围、快速流动和快速反馈。Wells解释说:
任何需要等待其他团队或个人执行某些操作的治理流程都会影响快速流动和快速反馈。 例如,你可能会发现任何引入新技术的项目都会因为架构评审流程繁琐且耗时数周而变慢。
Wells提到,其中一些能力确实与治理问题直接相关,例如简化变更审批和版本控制。
Wells认为,我们需要一个技术战略来对齐技术决策并做出更好的决策。她表示,令人惊讶的是,许多组织都没有制定技术战略,但当你拥有它时,你需要以多种方式频繁沟通,以便人们足够熟悉它,在决策时使用它。
组织技术雷达也可以提供帮助,因为它展示了组织内已经成功使用或失败的内容——这样团队可以从成功集合中选择,Wells提到。
人们希望做正确的事,包括编写每个人都需要阅读的多项政策或召开CAB会议的人,Wells说。如果你能让这些人与平台或安全工程团队合作,你可以利用他们的知识构建更好的解决方案,她补充道。
Wells提到,我们需要记住,如果某人认为自己的工作就是运行CAB,那么取消它将很困难。然而,如果他们能够将自己的工作重新定义为保持组织安全,那么就有可能找到更好的方法来实现这一目标,Wells总结道。
InfoQ就应用治理实践采访了Sarah Wells。
InfoQ:变更咨询委员会有哪些缺点?
Sarah Wells:变更咨询委员会是来自业务不同部门的一组人员,开会审查并接受或拒绝即将投入生产的软件变更。 它们给人一种安全的错觉,但研究表明,大多数变更都会获得批准,问题仍然会出现,因此它们并没有减少失败的变更数量。然而,它们确实会拖慢团队的速度,我们知道能够在代码准备好时发布它对于软件工程生产力至关重要。
InfoQ:我们如何构建有效的防护栏和政策?
Wells:首先考虑如何将它们构建到工具和流程中,以便轻松做正确的事。 例如,我们希望人们将每个新服务添加到我们的服务目录中。通过使其成为获取唯一系统代码的地方,并且该代码必须用于标记所有AWS资源,这促使工程师在正确的时间(即将上线时)这样做。
关于作者
Ben Linders 是一位位于荷兰的敏捷、精益、质量和持续改进独立顾问。著有《Getting Value out of Agile Retrospectives》、《Waardevolle Agile Retrospectives》、《What Drives Quality》、《The Agile Self-assessment Game》、《Problem? What Problem?》和《Continuous Improvement》。创建了许多敏捷教练工具,例如敏捷自评估游戏。
作为顾问、教练和培训师,他通过部署有效的软件开发和管理实践帮助组织。他专注于持续改进、协作与沟通以及专业发展,以向客户交付业务价值。
Ben 是敏捷、精益和质量网络的活跃成员,也是频繁的演讲者和作家。他在双语博客(荷兰语和英语)上分享经验,并担任 InfoQ 的敏捷编辑。在 Twitter 上关注他:@BenLinders。