本文探讨了在团队内部,如何有效安排人员处理系统问题解答、排查和支持等工作。文章提出了两种模式:一是固定人员负责特定系统,优点是专业性强,缺点是易形成单点故障且可能打断个人工作;二是轮流Oncall模式,优点是团队成员对业务有普遍认知,能保证问题及时响应,非Oncall人员可专注本职工作,缺点是需要组内成员具备多系统基础认知和文档支持。文章邀请大家讨论哪种模式更可取,或提出更优的解决方案。
🎯 **固定系统负责制**:此模式下,每位成员(或几位成员)负责特定的系统,负责该系统出现的所有问题。优点在于能够深入熟悉各自负责的系统,形成专业性。然而,其主要缺点是容易造成“单点故障”,一旦负责人员不在(如休假),系统问题可能无法及时得到有效处理,并且可能导致个人频繁被打断,影响其他工作的开展。
⏰ **轮流Oncall制度**:这种模式要求团队成员轮流承担Oncall职责,负责处理组内所有系统的突发问题。其优势在于能够保障问题得到及时响应,同时促使团队成员对组内负责的业务有更广泛的基础认知。非Oncall期间,成员可以更专注地进行开发或其他本职工作,减少干扰。但这种模式也对团队成员的跨系统认知能力、设计文档的可读性以及使用文档的完备性提出了更高要求。
💡 **寻求更优解决方案**:文章鼓励大家积极讨论,除了上述两种模式,是否存在更高效、更可持续的团队问题支持方案。这可能包括技术工具的应用、知识共享机制的优化、或者更精细化的职责划分等,以期在专业深度、响应效率和团队协作之间找到最佳平衡点。
在组内, 经常会有各种系统需要帮忙解答, 排查问题, 问题查看等等, 大家的公司是如何安排人员去做这些事情的呢?
- 是每人(几人)负责一个(几个)系统, 这几个系统出现问题都找这个人去解决?
对于这种安排, 每人都仅需要熟悉自己的系统, 但是会出现单点问题. 对于我个人来言, 我是不希望每时每刻都有人来找我的, 例如我休假之后都会打电话让我看问题.
- 还是每周安排一人(几人)Oncall 去做这些事情?
这种安排就需要组内人员对涉及的系统都有一个基本的认知, 出现问题后有排查思路, 每个系统能有基础可读的设计文档, 使用文档等等. 这就要求组内的人员要熟悉其他人的系统了. 好处是大家能对组内负责的业务都有基础的了解, 并且用户提问问题时都是有人在响应的. 非 Oncall 的人员时间也可以专心做其他事情, 不需要随时被打断.
大家个人又是如何看待这个问题的呢, 觉得哪种方案是可以接受的, 或者有什么更好的解决方法吗, 欢迎大家来讨论~