GJB5000B的运行维护包括例行检查以及升级维护,要做好运维,需要技术人员具有较好的技术功底,需要掌握以下三种技能:
阅读和分析代码能力
阅读和分析代码的能力,是软件运维人员必备的技能。
如果运维人员不是开发人员,或者对运维的软件产品不够了解,他只能依靠阅读和理解代码来帮助他分析和解决问题;即使是对软件产品比较熟悉的,如果遇到了不太常见的问题,依然需要通过阅读代码来定位、解决问题。
运维人员了解软件产品,还可以通过需求、设计文档来了解,但如果这些文档没有得到很好的管理,文档与代码的状态不一致,或者文档中错误百出,甚至没有文档,那就不会有任何帮助,运维人员可依靠的还是代码。
通过阅读代码,运维人员可以反推软件产品的架构、功能、内外部接口,从而帮助他定位问题,解决问题。
阅读和分析报警信息
一般的软件产品都有可维护性的要求,这样的软件应当会通过日志功能提供了很多报警信息。运维人员应当熟悉《软件用户手册》/《固件保障手册》中对于常见报警信息的内容,在对软件产品进行例行检查时注意阅读和分析报警信息,及时发现软件产品可能出现的故障,并解决之。
有时候没有报警并不代表软件产品没有问题,因为有些问题的发生是有一个累积过程,这需要运维人员在历次例行检查时注意收集和分析软件的功能、性能数据,及时发现这些数据出现的异常或变化趋势,然后去分析背后的原因,以此找出隐藏的Bug。
对问题要大胆假设,小心求证
大胆假设,小心求证,是科学研究的方法,也是我们解决难题的方法。当运维人员遇到百年不遇的非常偏僻的问题,一时之间难以定位问题,找出原因,那就需要用到这个方法了。运维人员可以大胆猜测各种可能的原因,然后对每个原因逐一进行验证,保证结论的可靠性。排除不可能的原因,就会找到真正的原因。必要时,还需要使用头脑风暴,找来多人提供更多的原因假设,再去进行验证。
这正是:
运维需有三技能,阅读代码第一能
熟悉报警会分析,大胆假设再求证
参考书目:进化——我们在互联网上奋斗的故事,作者:北大首届互联网CIO-CTO班全体同学,出版社:人民邮电出版社
作者简介:王小双,长期从事GJB5000推广、实施、评价、改进的工作,创建《软件工程之思》微信公众号,一直在《软件工程之思》分享GJB5000、CMMI、软件工程的知识和感悟。现致力于GJB5000咨询以及软件过程改进、软件工程能力提升的研究工作。