如何做“好”软件维护工作
摘要:
项目管理如何面对维护工作?这是很多国内实施项目面临的难题,PMBOK也未将维护作为一个知识领域来研究,但对实施项目来说,这是一个无法回避并且非常关键的一项任务。本文并没有全面描述软件维护工作都需要哪些工具、方法和规章制度,但提供了一种工作思路,点明维护工作的意义,对软件维护人员进行工作指导。
序言
如何做“好”软件维护工作?曾经问过很多人这个问题,就是想了解一下大家的思路和看法,但答案均不理想。在着手写下这篇稿子之前,我Google了一下,输入关键字“如何 好 软件 维护 工作”,获得了815,000项结果,查阅了前2页中比较贴近的5篇文章和帖子,还是觉得不够理想。更坚定了我写下本文的想法。
阅读此文,你会发现:
普通人轻视软件维护工作,会失掉及其宝贵的机会;
维护人员轻视软件维护工作,会失掉本应精彩的人生;
老板轻视软件维护工作,会丢掉大片本来属于自己的市场……
是危言耸听么?
一、如何做“好”软件维护工作
如何做“好”软件维护工作,很多人的看法是:1、做好日常检察工作;2、做好备份工作。这也是大多数软件维护人员都在做的事情,也正是这种看法让很多人觉得软件维护工作很简单,很枯燥,很“低能”,有理想有抱负的有志青年是“很不屑”干这个工作的。
首先想说的是:“做工作”和“做好工作”是两种完全不同的工作追求态度,也就必然导致两种完全不同的工作层次,也正是这种不同的态度决定了人生命运的不同!
做好日常检查和备份是做维护工作必须完成的任务,但只做这些肯定无法达到“好”这个层次。这两项任务的目的都是预防软件系统出现故障和问题,早发现早解决。可以这么说,如果没有问题产生,没有人会意识到有“软件维护工程师”存在。换个角度来看,对大多数用户来说,软件维护人员存在的价值就是为用户解决问题。一套稳定的系统是不会频繁出问题的,但出了问题的关键时刻就是维护人员体现价值、大显身手的时刻,问题的解决情况也是决定用户对维护人员评价“优秀”、“一般”和“很差”的主观依据。如何做好软件问题的解决,我归纳为3关3“度”:“态度”、“速度”和“深度”。
先说第一关:态度。这是一个现在谈的有点滥的两个字,所有管理学的书籍中几乎都会谈到,但这也说明了这两个字的重要性。生活其实在重复着许多简单的真理和原则,但可惜的是很多人做不到。在遇到问题的时候,求助者的心情很多是很急迫、紧切的,如果他在电话或者当面看到你是“沉着而又冷静,甚至慢条斯理”,在他眼里很可能就变成了“麻木不仁”。因此,在接受求助的时候,无论是电话或者当面,表现出“热情而关切”的态度首先就是给求助者注射了一针稳定剂,让他体会到你对问题的重视,你就通过了第一关。当然,你内心的“沉着与冷静”也是必须的,否则自乱了阵脚,那你如何能顺利帮助别人解决问题?很多人就是这第一关过不了,把“求助”变成了“投诉”。
再说第二关:速度。没有人不想问题立刻得到解决,但问题的解决速度,取决于你个人的能力,主要是你之前的积累。“养兵千日,用在一时”!你对系统的熟悉程度,你个人的技术能力,分析能力,判断能力,决定了你能用多少时间解决问题。这些能力有先天的因素:个人天资,最主要的还是靠后天的个人努力,平时的勤奋学习,刻苦努力,日积月累。“平时不用功,战时多流血”!如果能力不到,遇到紧急情况,那肯定会手忙脚乱,甚至需要求助外援!问题解决的速度,一定程度上会影响用户的满意度。能以最快的速度解决问题,你就通过了第二关。
第三关:深度。这一关相比是最难的一关,与第二关相比,套用武侠小说常用的说法,那是“高手”与“武圣”的差异。很多人往往过了第二关就认为万事大吉,一了百了了。软件系统,尤其是现代企业管理信息系统,往往是集成了大量各种技术、各种操作系统,基于各种型号、各个厂家的复杂而庞大的系统,有些问题的解决,会有多种方案。复杂的不说,举个简单的例子,系统“染毒”,我们就会有杀毒、备份恢复、重装系统等多种选择,杀毒还有彻底清除、暂时隔离、删除文件等选择,采取何种方案,问题的解决时间,对用户造成的影响大小,差异非常大。一个问题能处理掉,但是否查清了问题的根本原因,找到了彻底的解决办法,避免同一问题、同类问题再度发生?这关乎个人责任心和态度,更是一种工作方法。解决问题的最高境界,就是“上医治未病”,不让问题发生,至少不能再发生。
很多实施的项目都是非常复杂的软件系统,以上的“3关3度”,既是给软件维护人员提个醒,告诉经验不足和年轻的同行该如何处理问题,又是一个软件维护工程师的能力标准,请看看自己处于一个什么样的层次,也有了努力的目标。
这里有两个案例,请考虑一下如何面对,大家可以探讨交流。
案例一:
一天下午14:22分,维护人员接到一个用户的紧急电话,说他下午1点多钟通过邮件服务器群发了一个附有9M附件的Email,发给了40多个人,结果该邮件不断重复发送,有同事已经收到5封,要求给帮助解决。
如果你是维护人员,你会如何处理?
案例二:
有2个重要的用户反映,她们登录使用办公系统时,系统反映很慢,浏览器用的是IE6,但上其它网站速度很快。维护人员没有接到其它用户有这样的反馈,去查看了一下也没有查出原因。
面对这种情况,你认为该如何处理?
二、如何更上一层楼
问题处理得好,对做好软件维护工作很重要,但这还远远不够。好的习惯是成为优秀人才的关键。软件维护工作是一个可轻可重的工作,非常关键但又很容易让人忽视甚至忽略的一个工作,有些企业领导人都可能认为这是一个可有可无的工作岗位。因此,想干好这个工作,真的不是一件容易的事情。一个优秀的维护人员,甚至可能会永远都没有人来求助他解决问题,因为他真的做到了“上医治未病”!那怎么才能让领导让别人知道你是“优秀的”呢?功夫全靠平时,有三点非常关键:一记录,二总结,三报告。
不存在没有问题的软件系统,但有很多不存在重大隐患的软件系统!如何消灭问题并体现自己的工作业绩是每个维护人员都需要考虑好的事情。
对于日常检查和用户反馈的问题,维护人员一定要做好记录。这是一件琐碎但异常重要
的工作。有些维护人员总是抱怨很忙,你如果想了解他都忙了什么,他会告诉你又是接电话,又是跑上跑下,还会告诉你不信可以问其它同事,振振有词。你如果跟他要工作记录,他只能给你公司规定的日常检查记录,几乎没有一个问题日志记录。这种员工是典型的“活死人”,每天都在用脖子以下部位工作,貌似遵守公司规定,也在忙碌地工作,但属于比较典型的“蠢作为”!
记录只是手段不是目的,记录的主要目的是做总结。优秀的软件维护人员能通过汇总日常记录发现一些具有规律的、普遍性的问题,通过对这些问题的分析,一方面可以发现一些深藏不漏的问题,避免重大隐患,另一方面,可以通过对这些普遍、相同或类似问题的分析,通过一些简单的设计改造,为用户提供更方便的功能,还避免了自己大量重复劳作。
举一个简单的例子,现在很多软件系统都是基于Web的,为了增强易用性大量使用了微软的ActiveX控件,修改了IE浏览器的一些安全配置参数。但市场上有很多其它浏览器,不能对该功能提供很好的支持,很多用户使用其它浏览器时就会遇到大量与此有关的问题。这样的问题在设计时一般都会编写程序在用户登录时检查是否使用了IE浏览器,不是的话就警示让其换用IE浏览器。但是有些却不能通过程序来实现,就需要维护人员把这些汇总后修改帮助系统,在醒目的位置把这些问题的解决办法告诉客户,而这些小小的修改,却可以大大减轻维护人员的工作强度,但关键是维护人员能否把这些好的建议报告反馈给管理层或者开发人员!
进一步说,总结也不是根本目的,根本目的是整理出有价值的报告。报告,这是最能体现一个人工作能力,也是最简单的“表现”办法。大量的事实已经证明,现代管理理论提倡的过程改进是质量保证的最有效手段。维护人员要想提高自己的维护工作质量,就要从过程改进来入手。这包含两个层面,一是个人能实施的,比如以上的处理问题过程改进,还有日常工作方法的过程改进:做好记录,总结分析,改进个人不足;二是需要公司来实施的,制度的增加、删除与完善。我们公司为了改善故障处理,编写实施了《故障处理手册》,获得了很好的效果,但绝不是这些对于维护工作就够了。我们客户的组织管理体系差异很大,对于信息化管理水平不高,维护分工不清晰的客户单位,维护人员是否可以提议增加《统一信息平台用户管理制度》,《维护分工界面制度》等来约束、规范用户的行为,改进维护工作,减少维护纠纷。所有这些如果用心,都是能做,并且可以做好的事情。当然,这些对于多数公司,包括我们公司,都没有硬性规定你要为公司过程改进做多少贡献。但好的公司会鼓励,对提建议有考核加分或其他奖励措施。
一部分人脑子中还在抱着那种“勤勤恳恳工作,踏踏实实做人”的原则,这没有错,但是如果只知道低头干活,不知道抬头看天,注定是一个悲哀的人生。在一个生活节奏如此之快,竞争如此激烈的社会,对于那些在工作时还有“怀才不遇,坐等伯乐”想法的人,注定要被社会淘汰,只有那些“主动出击,创造机遇”的人,才可能适应这个快速变化的社会,才可能开拓出年轻、精彩而闪亮的人生!一份有价值的报告,必源于平时勤奋的记录,详尽的分析和融入大量智慧的总结,如果不是勤于动手又勤于动脑的人绝不可能有这样的成果。一份有数据、有分析、有建议的优秀报告,必然会深得任何一个聪慧领导的欣赏,也必然会让他对你“青眼相看”,人生的机遇由此产生。
如果你认为这些文字仅仅是煽情,让我们看看成功的职场前辈的经历。GE前总裁,世界著名的企业管理精英韦尔奇,在他的新著《赢》描述了自己职业生涯中一件很重要的事,你可以看看他是如何通过优秀的报告让老板和上司刮目相看,从而赢得上升机会的。
(以下文字摘自杰克·韦尔奇与他妻子苏茜·韦尔奇的合著《赢》)
早在GE工作的时候,我就获得了这样的经验。那时我还在实验室工作,负责开发一种名叫PPO的新型塑料。有一天,公司的某位副总裁来到我们所在的小镇,我的老板安排我向他介绍开发项目的最新进展。当时,我急于向他们证明自己的实力,所以提前一周加班准备材料。我不但分析了PPO的经济效益,还探讨了该产业中的其他所有工程塑料的前景。我最后递交的报告包括了一个五年展望计划,与杜邦、Celanese和孟山都(Monsando)生产的同类产品的陈本对比报告,以及一份GE应该如何争取竞争优势的大纲。
谦虚点说,我的老板和副总裁感到非常震惊。他们对此事的积极反应让我明白,向别人交出超过预期的业绩将产生很好的影响。
我绝不是要鼓励每个人都去做领导,每个人的秉性、天赋差异很大,走技术路线还是管理路线自己一定要仔细分析自我情况,慎重地做出人生这最为重要的选择。但能否通过记录、总结,写出有很好解决方案和建议的报告,是优秀员工与普通员工的很大差异,无论你是普通员工还是管理者。如果你还在抱怨你为什么如此辛苦,老板却还不给加薪,总是遭受批评的话,请仔细想想这两个问题:
我能给公司提供多少好的建议?
我能为公司赢得多少荣誉?
忙碌不能体现一个人的价值,很多人都在忙忙碌碌干着毫无意义的事情,效率高低决定了人生精彩的程度!
三、维护工作的意义
以上的文字应该足以让维护人员明白如何干好维护这件工作,但这件工作的意义究竟有多大呢?在一个智慧者的人生词典里,不应该去干那些无意义的事情!许三多说得多好:人活着就是为了干有意义的事!
对任何一家公司来说,永远都在干着四件事:一、开拓市场;二、占领市场;三、占稳市场;四、挖掘市场。这是对任何一家公司生死存亡的大事,任何一个环节出现大问题,都会给公司带来致命打击!
建立一家公司并让其茁壮成长是多么不容易的一件事情,为了让大家对此了解得更深入,印象更深刻,我从互联网上搜集到了如下数据,数据的真实性大家可以通过自己身边的所见所闻来核实判断。
(以下文字摘自互联网)
据美国《财富》杂志报道,美国大约62%的企业寿命不超过5年,只有2%的企业存活达到50年,中小企业平均寿命不到7年,大企业平均寿命不足40年;一 般的跨国公司平均寿命为10-12年;世界500强企业平均寿命为40-42年,1000强企业平均寿命为30年。日本《日经实业》的调查显示,日本企业 平均寿命为30年。《日本百强企业》一书记录了日本百年间的企业变迁史,在百年中,始终列入百强的企业只有一家。
在中国, 1993年、1995年、1997年、2000年、2002年连续进行的5次全国私营企业大规模抽样调查表明,1993年以前私营企业平均存继周期只有4 年,2000年提高到7.02年。根据中关村科技园区最近所做的调查研究, 从1995年到2003年这8年间, 1995年时的企业中规模最大的前20%企 业,只有38.5%生存下来,另61.5%的企业在2003年的时候已经不复存在。生存下来的这38.5%中,只有22.9%的企业仍然居于2003年中关村科技园区规模最大的前20%之列,其他的大部分企业规模都缩小了,还有2.1%的企业进入中关村最小净资产企业的名单。
有数据表明,中国大型企业(集团公司)的平均寿命约为7—8年,与2000年统计的私营企业平均寿命相仿,不知这是否也就是中国企业的平均生存时间?
可以断言:任何一家企业如果没干好这四件事,都将面临消失的命运,哪怕只是其中一件。维护工作属于这四大环节中的哪些呢?三、四和一,占稳市场、挖掘市场和开拓市场。
90年代IBM经过市场调研和认真分析,做出了一个重大而关键漂亮的转型:IBM将成为服务型的公司,服务将成为IBM的核心业务!
无论你如何理解服务,但软件维护工作就是一个需要高素质人才才能做好的服务工作。对维护服务工作不重视,必然失掉客户失掉市场。无论前期销售、售前和开发人员如何辛苦的拿下单子,打下阵地,占领市场,如果没有后期很好的维护服务,以现在的软件生命周期和市场竞争激烈程度,很快就会被更易用,功能更加大的对手公司的软件以更低价格甚至免费来替代。任何一家不重视维护的公司都难逃此厄运!
做好维护服务工作,不仅仅是占稳市场。用户反映软件系统的大量问题,往往不仅反映出对软件系统改进的需求,更会反映出一些全新的功能需求,需要新的软件系统才能满足,而这些都是真实的市场信息,比任何一家市场调研公司拿过来的都更真实更有价值。这些信息的搜集和反馈不属于保密范畴,不会有法律纠纷,对当前的合作不会有任何影响。如果这些信息能得到有效反馈和认真分析,将可以更深层次地挖掘开拓出更大的市场,这对公司来说是多么有意义而又容易的事。可以仔细观察世界两大软件巨头IBM和微软,他们的很多产品和市场就是这么发展壮大的。
做好维护服务工作,提高客户满意度,所带来的品牌美誉度,一传十,十传百的口碑广告效应,远远不是一般广告所能达到的。“自己说好不算好,客户说好那是真的好!”。这对新市场的开拓,对公司竞争力的提升,都是极其有意义的事情。这是任何一家有雄心的软件公司战略层面都非常重视的事情,但作为软件维护人员的你,是否意识到了这些意义?
对公司有如此大的意义,那么对个人呢?
从实际工作情况来看,再没有比维护工作更能提供大量学习时间和学习机会的工作了,尤其是软件维护。有很多人大学毕业了还要到培训班去花钱学习编程,这看起来是多么荒唐的事情,但这样的事情现在仍在不断重复发生。其实,学习和提高编程能力的最好办法就是做到两点:一个是读,一个是写。阅读、理解、记忆大量算法、设计模式,再结合业务实例亲自编写,将会快速提高自己的编程和设计软件系统的能力。
在软件企业,软件维护人员相比其他软件技术人员要更有充裕的时间,有大量代码和文档可以研读,还有强大的,有丰富实际经验的“教师团队”(每个公司都有资深架构师、开发人员、测试人员)可以几乎随时请教,软件行业团队协作,集体学习的工作氛围,还有比这更好的学校么?不仅不需要花钱,还有老板给你发工资,剩下的只有一件事,你自己肯学习!
因为软件维护人员不仅仅是学好干好技术,更有大量的机会要跟方方面的人员沟通,不仅仅是客户,这将会给其带来沟通能力、反应能力等综合能力的锻炼,还可以积累很好的人脉关系。所有这些对一个人的发展是多么重要,这是多么好的一个机会!
如果能紧紧抓住并利用这个机会,无论是走技术路线还是走管理路线,都将不会是平通平凡的人生。我曾经问我们项目的维护工程师将来的职业目标,他说他想做架构师,我非常欣赏他的想法和规划,只要他肯学习,这是一条平坦而光明的大道。没有几个工作岗位能有如此好的学习、锻炼和成长的机会!路是要一步一步走的,但起点不同,目标不同,决定了要走多少弯路才能达到成功的巅峰!
四、总结
软件维护是一个比较新兴的职业,但维护工程师已是一个比较传统的工作岗位。但因为软件系统的复杂性,高技术含量,软件生命周期短,更新快等特点,都给这个岗位提出了比传统维护工程师更高的素质要求,也提供了更好的未来发展前景。但还有人以传统陈旧的想法来看待新的形势,新的情况,这是十分可悲的事!
一位佛学大师说:选对了路,就不怕路远!
目标明确,思路清晰,方法正确,卓绝努力,人生成功,舍你其谁?
不要懒惰,打通三关,做好三点,献出你漂亮的工组报告,提出你宝贵的建议,你会获得精彩的人生!
切记:放弃该做的事情,将放弃你宝贵的人生!
刘培臣
2008-7-7