经理改进待命的指南
就像急诊室需要医生待命时间表来处理医疗急救一样,DevOps 团队也需要待命时间表来高效地应对影响性能、部署和可用性的软件和系统事务。
但是,开发待命实践说起来容易做起来难。待命对员工而言可能是一种艰巨和颠覆性的经历。为团队找到责任范围、可扩展性和生活质量的适当平衡是一项持续的挑战。
随着最佳实践的转变和公司的发展,最敏捷、速度最快的团队正在实施新的方法并取得成功。
谁构建,谁维护
就在十年前,响应 IT 事件是运维团队的主要工作。组织通常具有分层的团队结构(即第 1 级、第 2 级、第 3 级,技能水平和薪酬越高,层级越高)。
采用这种结构的目的是降低运营成本。通常,第 1 级将涉及入门级员工。如果第 1 级无法解决事务,他们会将其上报到由更高级(因此费用更高)的人员组成的第 2 级。此流程一直持续到事务得以解决。
但是,随着始终在线服务的兴起,系统之间的相互依赖性以及客户对正常运行时间的期望也有所提高。如今,与让高级开发人员提前参与事件相比,缓慢的响应可能使公司付出更大的代价,包括声誉、客户满意度和收入损失。
这种不断变化的技术格局的结果是,响应团队的结构需要改变。进入 DevOps 运动和“谁构建,谁维护”的概念。
这种想法很简单:最熟悉代码的开发人员是在最短的时间内解决相关事务的最佳人选。由于 DevOps,这种逻辑是现在开发人员待命的常见原因,它可以确保代码运行良好,并降低事件的 MTTA 和 MTTR。
这种方法的额外好处是在部署前进行更严格的测试。现在,负责代码的开发人员可以在下班时间收到警报,有了更深层次的责任感,这增加了对代码进行两次和三次检查的动力。越来越多的公司发现,其结果是系统更可靠、更具弹性。
构建团队喜爱的待命实践
待命广受诟病,有时理由很充分。不平衡的待命方案可能会对工作与生活的平衡、健康和睡眠产生负面影响。有不佳待命体验或没有待命体验的员工可能会想象他们的社交生活和工作与生活的平衡在他们眼前消失。
但事实是,待命并不一定是降低生活质量的郁闷之举。通过平衡待命职责,考虑团队偏好,并建立强大的系统来尽可能防止和减少事件和待命警报,您可以创建一种实践,最大限度地减少和分担团队的负担。
要使管理层在这方面取得成功,就必须事先对团队保持透明,提供充足的培训,对待命和开发职责设定合理的期望,制定健全的流程,并根据团队本身的投入和支持不断检查和改进。
对您的团队保持透明
透明度是成功沟通的关键。在推出待命系统或更改现有待命系统时,必须明确对可用性的期望。请务必仔细考虑并清楚地回答常见的员工问题,例如:
- 工程师会通宵待命吗?
- 如果通宵待命,第二天能否灵活在家办公?如果待命员工需要补觉,他们能否在第二天晚些时候开始工作?
- 开发人员是否负责在待命期间进行开发工作?
- 开发人员每月会待命多少次?一个人待命的最大次数是多少?
- 您将如何奖励待命员工?
提供适当的培训
培训待命团队的最佳实践包括:
- 制定解决流程和常见事务的培训计划
- 提供最新的运行手册
- 让新员工向经验丰富的待命工程师学习
- 允许员工访问过去的事件报告,以便他们可以看到过去与他们正在处理的事件相似的事件是如何成功解决的
拥有多个上报渠道也是个好主意。典型的最佳做法是让初级工程师进行主要的待命轮换,并安排高级工程师作为后备或辅助轮换。这有助于初级工程师培养所需的待命技能,同时避免在出现超出其专业知识的事务时感到恐慌。
将待命和开发职责分开
在待命期间承担开发职责通常意味着大量的上下文切换和中断,特别是对于有频繁事件和待命要求的公司而言。
这一切通常意味着开发效率降低,待命工程师承受更大的压力,并可能导致倦怠、警报疲劳和工作不满意。它还可能对开发冲刺产生负面影响,因为很难估计待命人员可以而且将会为任何给定的冲刺做出多少贡献。
因此,作为最佳实践,我们建议将待命职责和开发职责分开。当待命员工有空闲时间时,他们可以努力改进与待命相关的文档和自动化,从而最终提高系统和服务的可持续性。
优化您的待命流程
健全的待命系统只有通过优化流程和系统不断加以改进,才能持续存在。借助 Jira Serv ice Management 等事件管理解决方案,自定义待命值班表、路由规则和上报政策,以高效处理警报。为实现这些目标,我们建议:
- 评估警报优先级和紧急程度,并据此设置系统。低紧急程度警报可以等到早上,让待命员工获得急需的睡眠。
- 根据根本原因、源系统、消息、阈值等因素对警报进行分类,从而减少误报。这有助于将可行的警报与其他警报区分开来。
- 消除重复的相关警报以避免警报疲劳。
- 设计丰富的警报,清楚地描述事务,使待命工程师能够做出有效的决策并应用运行手册中记录的知识。
- 向待命团队提供警报报告和指标,以便识别和改善系统中的薄弱环节。(换句话说:不要让待命团队一遍又一遍地被同样的事务所困扰。)
查看待命报告,并根据需要进行调整
为了保持公平并避免员工倦怠,经理应查看与待命相关的报告,以了解:
- 每位团队成员被呼叫或唤醒的频率
- 每位团队成员待命多长时间
- 每人每小时和每天的待命职责分配
- 根据需要调整时间表以公平分配工作。
倾听员工心声
管理层应定期与待命工程师举行全体会议,讨论问题、投诉和薄弱环节,然后采取行动解决事务。
待命系统、工具、流程、人员、文档和培训不是您设置完即可忘记的静态内容。随着公司的发展、团队的学习和变化,以及事件随着时间的推移而变化,管理层应不断重新评估和改进他们的待命方案。
最有能力告诉您什么起作用和什么不起作用的人是待命工程师。聆听他们的意见。实施变更。而且,最重要的是,在待命组织和协议方面,确保管理层不是唯一的决策者。您越能让团队改进自己的流程和实践,他们就越能接受待命。
培养友好的待命文化
待命工程师对公司的成功负有巨大责任。因此,压力和紧张是常见的问题也就不足为奇了,尤其是在原因不明的重大事务上。
高级待命工程师和管理团队树立的待命文化定义了人们如何应对压力和紧张情绪以及他们对待命的感受。
为了待命工程师的原因和公司的待命文化,管理团队应注意培养友好的待命文化,并明确目标应始终是发现系统中的问题、风险和薄弱环节并加以解决。
在 Atlassian,这意味着不仅要不断改进我们的待命系统,而且还要进行不指责的事后分析,重点是改进,而不是找人责备。
探索 Jira Service Management(一种支持积极的待命文化的解决方案),并构建一个具有增强的通信功能、集中式警报、灵活的自动化和高级事件响应报告功能的系统,将事件响应能力提升到更高水平。