https://www.mckinsey.com/business-functions/mckinsey-digital/our-insights/four-ways-to-improve-technology-service-resiliency
Companies can significantly reduce technology system outages and other costly tech glitches by improving incident response and how they manage change.
问题
- 某大型的零售商,在热购节日几个小时的系统宕机导致损失500万美元。
- 某网络服务商因为系统故障营收下降8%。
- 某银行因为宕机数日,直接损失数千万营收,并且面临一大波罚款。
- Ponemon Institute预估,意外的业务问题导致的损失,平均每分钟近9000美元(每小时54万美元)。
单独看起来可能不算很大,但是通常一个公司每年都要面临数百次的弹性故障。
解析
- 可用性 Availability 系统的对客户可用的时间(uptime)
- 可靠性 Reliability 系统能够按照预期工作的概率
- 回弹性 Resiliency 系统出错以后依然能够从客户角度提供服务的能力
四步
1. 探寻事项发生的根源和模式
深入分析可能存在的阶段,比如
- 开发过程
- 配置过程
- 能力管理
- 变更管理
- 硬件故障
等阶段。这种过程能够发现是否是某些流程导致的频繁错误。
比如某公司在部署后通常只测试happy path,这样促使研发关注度也放在happy path上,可以很快的完成工作,待会带来很多的不稳定因素。而通过提升该测试团队的全回归和用例覆盖能力,把生产环境问题的数量降低了30%。
2. 集成并自动预防和侦测问题
某些流程可以自动化。某大型金融机构通过自动监控和跟踪其移动应用的完整用户旅程中的警告,这些警告关联着一个工单系统,会自动创建工单交由对应的人去处理。这样一个过程应用以后在六周以后减少了8%的问题数量。
通常紧急的问题会跟着一些事务性(Routine)问题一起出现,而团队不得不靠自己来做优先级排序。通常一些团队在快速修复问题的时候会导致更高的变更失败率。除了要提升风险归类以外,还需要创建一个评分系统,通过变更量和应用质量对不同的开发团队分级。对于分值比较低的团队,需要限制生产环境变更;某金融机构采用了这套机制,高评分团队会获得绩效奖励,通过这种机制,团队的平均质量分提升了25~40个百分点,产品质量大大提升。
长期来看这种变更过程都可以纳入自动化管理的流程。
3. 开发工具和SME来加速问题响应
- 内建问题的知识仓库,提供问题的简报、对应处理的解决方案、相应的联系信息等
- 跟踪问题记录和度量,监控MTTR(Mean Time To Resolve 平均解决时间)等关键指标
- 提供便捷的协作工具和与SME沟通的工具
- 保证关键的干系人得到适当的知会,需要危机沟通计划。及时、高效的跟客户告知问题,构建稳定的干系人关系
有问题出现时,客户是理解的,但客户不买帐的事长时间的等待解决问题、没有及时告知以及因为问题导致的用户体验下降。
4. 确保整个问题管理机制有组织、有行动、有顶层支持
通常问题管理团队会分析并给出解决方案来避免一些反复出现的问题,但这些方案很难落地,而因此导致更多问题继续出现。
某金融机构大概要花费4周分析并给出问题方案,而需要在等待6周左右才能实现对应的解决方案。通常是因为他们的SLA(Service-Level Agreement 服务等级协议)没有定义清晰。
领导层的支持也很重要。问题团队需要保持与CIO的紧密关系。某公司CIO会召开一个问题管理的状态评审周会,push某些方案执行,两个月后,方案落地时间从25天降低到8天。
再谈问题
需要思考的点:
- 数字化落地以及提升变更速率以后,对IT的回弹性有何影响,并且COVID-19又带来了哪些方面的影响?
- 贵司的问题响应跟同行相比、或者跟其他行业相比,其数量、严重程度和代价(成本)是什么样的?
- 纵观全局业务,哪些情况会造成的问题数量最多,哪些用户和客户流程被影响最大?
- 有多少百分比的IT问题是在生产环境首次发现的,花费了多少人时来分析和解决这些问题?有什么自动的流程可以更便宜更有效地替代吗?