使工程师对其生产中的代码和服务负责可为工程师和代码提供多个优势。
寻求提供更好的产品和服务的软件团队必须专注于更快的发布周期。 但是,以越来越高的速度运行可靠的系统提出了巨大的挑战。 通过调整围绕持续服务所有权的策略,软件团队可以同时拥有质量和速度。 在此模型中,应召唤起了很大的作用,但是知识的进步,更灵活的代码,增强的协作和更好的实践意味着工程师不必大惊小怪。
这个由四部分组成的系列文章将深入研究全方位服务所有权的概念,转型中的心理安全性,问责制道德以及所有权对客户体验的影响。
什么是全方位服务所有权?
全面服务所有权是工程师对他们在生产中创建的代码和服务负责的理念。 使用“编码,交付,拥有,拥有”的心态,意味着拥护DevOps原则,不再将代码丢给操作人员,也不再依赖站点可靠性工程(SRE)团队来确保野外服务的可靠性。 代替:
问责制,可靠性和持续改进是全面服务所有权的主要目标。
让工程师对他们所创造的事物保持待命状态,将责任直接交到该工程师和团队手中。
为什么问责制很重要
数字化转型改变了人们的工作方式和消费者的消费方式。 消费者心中暗含期望服务将起作用。 例如,当我尝试在线购买(几乎总是通过移动设备)时,我希望获得无缝,安全和高效的体验。 当我因为页面无法加载或引发错误而被打扰时,我只是转到可以满足我要求的另一家公司。 根据英国2017年《 PagerDuty数字运营状况报告》,有86.6%的消费者会做同样的事情。
通过拥有完整的代码和服务生命周期,使工程师能够在客户体验的边缘上工作,从而为公司带来竞争优势。 全面服务的所有权不仅有益于公司,也有益于工程师。 问责制可确保高质量的工作,并使工程师可以直接了解代码或服务如何执行并影响客户的日常工作。
超越主题专家的可靠性
服务将下降; 这是在数字世界中运营的必然方面。 但是,这些服务的停机时间以及停机对客户的影响将通过降低主题专家(SME)或“所有者”立即进入事件。 SME是创建代码或服务的工程师,并且具有熟悉的技术知识,可以对事件做出响应并采取纠正措施,以确保服务通过持续改进而减少了中断。作为负责人,工程师被激励去自动化,测试和创建尽可能防弹的代码。
此外,采用全方位服务所有权的团队会增加他们的整体知识。通过包括交接中的交接,代码审查,日常维护和“失败星期五”练习在内的实践,各个工程师可以在整个代码库中积累更多的专业知识。新技能包括系统思考,协作以及在非孤岛环境中的工作。团队和个人通过共享信息来建立必要的技能和知识冗余。
连续的提高
随着工程师努力不断改进其产品,代码和/或服务,全服务所有权的副作用是服务和警报的改进。在正常工作时间以外中断时间的警报必须可以执行。如果团队成员被无法采取行动的警报反复打断,则有机会通过分析数据来改善系统。清理监视系统是时间的投入;但是,致力于采取可行的警报措施将使团队中的每个人都能更好地进行通话,并减少警报疲劳感,这将释放出精力来专注于将来的发布和自动化。
编写代码并为该代码定义警报的开发人员更有可能创建可操作的警报。如果不这样做的话,它将在夜间将它们唤醒。除了可采取行动的警报之外,工程师还具有产生最高质量代码的动机,因为更好的代码等于更少的中断。
虽然通话可以打断个人生活,但通话并不意味着“永远在线”。相反,确保高质量代码是团队的共同责任。可以说,它正在及时建立“非呼叫”状态,而不是将完整服务所有权视为呼叫需求。
假设正在操作团队中对事件进行分类。时间至关重要,需要快速回答。是否要仔细查看负责该服务的团队所有成员的清单?还是要打电话给您知道总是在周日下午接听电话的SME?反复打电话给一个或两个人,给这些人带来了不适当的负担,有可能导致单一的失败源,从而导致职业倦怠。话虽如此,呼叫轮换具有多种功能:
工程师知道,在他们下班时,代码和服务就会被覆盖,因此可以完全放松。
成为轮换成员的其他团队将承担成为“首选” SME的负担。
服务变得更加可靠。
通过对代码库的更深入了解,团队的知识和技能将会增强。
通过从编码到运输和所有权,全方位服务所有权通过定义角色和职责,消除不必要的层次并最终建立授权和问责文化,减少了与事件相关的混乱。并且,在本系列的下一篇文章中,将分享全方位服务所有权如何促进心理安全。
您的经历如何?待命可以帮助成为更好的工程师吗?讨厌拿起“传呼机”的想法吗?在下面的评论中或通过tweet @julie_gund让我们知道您的想法。