做测试,还做管理的工作,我真的是不得要领,因为我觉得管理人是需要技巧的,是需要对所管理的人负责的,并且当时我觉得我还不存在这样的资格,特别是最后的这个资格的问题一直在束缚着自己吧,后来想想自己是错了,而且是一塌糊涂。如果重新来过,应该不会是这个样子。
我不觉得我有这个资格,这个凌驾于其他人[测试小组的组员]之上的管理的资格,不存在这样的权威,始终觉得自己是在辅助于Leader来带领这样的人,让他们成长得和我一样或者比我更好。
当时我们的组是由2个比我晚一届[2000年]的同事和3个2001年刚刚加入公司的新人共同组成,但我们6个人有一个共同的特点,就是之前都没有做过系统的测试工作,都是在做开发。所以在如何让他们理解这样的工作性质上是个难题,普遍的心理是软件工程的主要工作是开发程序,而不是这种低级的测试。
工作的本身是很低级,做得好与坏完全取决于个人的能力,因为我们的工作不是很规范,测试计划的编写其实是COPY需求的过程,不能够进一步的细化和挖掘,这样这份计划很有走过程的意味。我们是做功能测试,类似于用户测试,不太在乎内部的代码的问题,另外就是测试的过程是手工的,不存在使用自动/半自动的测试工具,这就意味着工作是繁重的,而且是反复的,特别是做回归测试的时候。另外程序员写的代码并不去做认真的单元测试,或者不进行测试,这样就容易出现在修改了某个Bug之后,会带出其他的Bug,而测试人员的每次Check Bug,其实都是跑大半个的程序。开发中的程序还好,因为没有真正的上线,如果存在一些Bug,这次没有跑到,下次也会的。但是那种已经上线运行的系统的Bug修改,或者需求变化[我们称之为CR Changed Reqirement]的修改的测试,就会很复杂,考虑很多的问题,并且每次的一个小Bug/CR的Check都是需要全情的投入,很累。所以对于后者我会安排比较有“慧根”的,很负责的人来做。
另一方面我想到的就是怎样才能让大家共同提高,即使找不到测试工作的乐趣,但是也不能因为不喜欢而让自己在这段时间里没有收获。最重要的就是鼓劲,讲测试的重要性,讲在测试中对于软件本身的功能的全面把握,讲对Domain知识的汲取,讲个人素质的提高应该是多方面的,讲如何让自己在的不太喜欢的工作中找到自己的成长点,应该是很多,那段时间我都是在想怎么去说服别人。并且也在承诺如果有合适的机会还是会让他们去做开发的工作,有多方面的锻炼。有心的人,总是很有心,也许未必因为我讲,但是他们会做的很好,特别是这三个新人的表现还是不错的。或者也有求生的本能在里面,当时是试用期,初来乍到的总是不想印象很糟糕,那无异于自掘坟墓,那样的牛人比较少数,我也是不喜欢的,赫赫。
就测试本身而言,我还是定期的和大家以会议交流的方式进行经验的分享,或者解决一些棘手的问题。另外就是当时也根据之前的保留的文档总结了一些开发的规范和测试的规范,那是当时我以自己的经验写出的文档,还是得到一些认同。但是不足的是,我没有将它推广到整个的项目组,而仅限于测试组。后来又一位很认真激进的同事做了我本来应该做的事,也提升了测试组的地位,这是很让人欣喜的事情。
或者当时我应该是考虑这样的事情,但是我的性格比较懦弱,不知道去争取来自于上面的支持[因为我觉得他们不支持我,只不过随便让我做做,这种感觉,我离职的时候还是这样的,我想也是沟通存在问题。]。同时我也缺少坚持,总是走中间路线,当测试人员和开发人员出现争议的时候,我不自觉地跑到了开发人员这一方,为其开脱,这样也是打消了测试人员的积极性了吧。所以不能太轻视自己,另外还要坚持。[刚才提到的那个同事,这方面也做的很好。人格上他是鲜明的,而我是鹅卵石。但我也不是变色龙,也是很直,不懂得曲线救国,他就懂,去寻找支持他的上层力量。]
另外还有一件事对我的影响很大,因为没有把握好,影响了我的测试工作,我的管理工作,也使大家对我失去了信心,主要还是当时没有体会到这个影响的重要性,不能怨别人,还是自己没有仔细的思考问题以及解决问题的方法。
2001年下半年的时候,部门决定将自己开发的项目以产品的形式推广到公司以外,这其实是令人振奋的事情,或者有些人可以想这样做就不要总是受制于来自台湾的需求。但是一旦事情做的有些眉目了,高层或者有些人开始觊觎,是不是会有更大的利润,所以总公司决定专门成立软件公司来打造它。
产品在那里,但它是经不起推敲的,因为当初没有考虑到它作为产品推出,所以在设计方面的投入是远远不够的,灵活性、方便性都是不够的,另外稳定性也很差。客户对他的兴趣我想主要是来自于对公司背景的认知,这种无形的东西的作用是不能小觑的,并且当时这要针对的还是在大陆的台资企业,文化上的认同在商业交往中还是相当的重要的。
那么产品有问题了,自然就需要有人来为此作一些事情。当时,新成立的软件公司尽管拿了我们的项目/产品,但是我们这个部门还是归我们在台湾的ITS掌控,就是说他们是不同的利益实体,尽管在同一个集团,但并不是同一个公司。那软件公司没有这方面的人,怎么做事呢?所以就采取了借调的方式,我是被借调到软件公司了的,这是2001年的11月,那天是阴雨的天气。但问题就在于这种借调不是真正的借调,我给那边做事,我还在我原来的部门拿薪水,绩效还是这边评。
当时没有考虑清楚,主要就是有人让我做事,我就做了。当时我还是在做测试组的管理,因为部门的人说你还在我们部门,当然应该做。而那边的软件公司借调了你,你也应该做,而偏偏那个时候这个产品是需要相当的精力进行测试的,并且我主要还是测试人事/薪资,另外客户要求数据库采用Oracle的架构,并且他还提出了很多客制化的东西,包括数据的加密、双语支持、生僻字的管理,现在真是想不太清还有哪些了。那段时间真的是很忙,很累,并且客户不断给我们扔炸弹,整整的2个月是没有周末的,并且每天晚上都是10:00后才回去,如果第二天需要给客户更新程序,那基本上都是后半夜才能回去。所以那段时间我沾到床板上就会睡着了,以前我是很敏感灯光的,上床后也还是很兴奋的睡不着,——辛苦可想而知。
这样的忙,自然疏于管理方面的事情,所以以前的交流会都不存在了,我想那段时间我对于组员的工作情况真的是不甚了解,也是很对不起他们。
“屋漏偏逢连阴雨”,这句话真的是没错。这边部门支持的一个项目的使用用户,在使用/忍受了一段时间后,终于一连串爆发似的给我们提出了20多个Bug/CR。没问题的时候,大家好好过,有问题就是要追究责任了。谁的责任?开发的,还是测试的?质量是怎么负责的,一个定式,测试组要为质量负责,谁在为测试组负责?——我老人家了。当然我们那里不存在什么真正的处罚,除非你违反了行政纪律,要做的事情就是开会,告诉你你要负责,然后就是给用户修理问题,赔礼道歉,相关人员开始认识到沟通的重要性,和内部的用户积极的联络感情。当时开那个会之前我对于用户的爆发原因一点都不知道。之后,有个Party,通常是火锅+KTV,也要请内部用户一起来,我就是讨厌这种活动,所以我觉得我是不合群的。
我疲惫的躺在床上,我想我是不能坚持了,我现在都不能为我自己负责,就不用谈为其他人,为项目组负责了。所以我开始挣扎,最重要的是辞去管理工作。
2002元旦的时候我就提出这样的想法,项目组的Leader不同意,但是他想出了另外一个方法,在这个方法的处理上我又犯了一个错误。他想的是由他人暂时代理我的工作,两个人选,一个是由一个年纪大一点的胆识工作能力不强的同事来做代理,另外一个就是才来半年的,但是做的工作还不错。我的想法就是年长的没有工作能力大家不会信服,而年轻的才来半年,让他去管理来了3年的人,也未必正常。所以我的建议是从开发组来一个有资历的人做这样的事情,被否决,所以这件事情没有通过。也就暂时搁置了,只是这段时间就没有太复杂的问题出现了,不过我的心里是明显觉得不合适这样做了,我该怎么办?萌生了理智的想法,但是我想做到4月份,这个支援项目是在这个时候结束的,我想之前提出离职,他们这边还是难以维济的。[之所以说是错误,是因为我觉得代理是很正确的事情,至少给了他人一个机会,而自己也不会更沦落。特别是后来当他转到其他岗位的时候,我和这个年轻人,提到这件事,提到我的担心,并且问了他的想法,他回答我,也许他是可以做这样的事情的。我走眼了,我真的没有看出他可以,事实也证明他是可以的,那年夏天他离职去上海的一家公司就是一些涉及管理方面的技术工作。我错了,可是来不及回头了。]
在这段时间里,我能做的就是为那些希望进行开发的测试人员寻找机会,送他们出去。这样下来我的测试组就更加孱弱了,我对于这样做是很矛盾的。不想自己培养的人出去,但是做了一段时间,他们还是希望有其他的机会,否则一旦失去了工作的热情,如果再继续,不会有那么好的效率了。
他们出去,就会有一批人进来,但是我必须承认我对他们的照顾大不如前了,鼓励的话比较多,交流的机会就更少了。我想我对于他们后来的这几个实在没有什么投入,我对不起他们。
Leader的Leader,就是部门的Leader,[之前说的Leader是我们项目组的,但我们项目组也是20个人吧,相当于某些部门的人数,而整个部门就是80人],找大家谈话,主要是对部门的改革,因为我们的部门从我毕业加入一直到我离职,本质上的部门风尚是没有太大变化的。但是针对改革和风尚的改变,是一个亘古的话题。我之于改革无话可说,我当时的脑子只有一个想法,退出,再也不能做这个管理了,并且当时还有3个月的时间还是在借调中。
测试做了一年,我的想法又发生了改变,“质量不是测出来”,所以我又倾向于做开发了,我觉得在开发方面更需要把关,否则测试的工作始终是被动的,低效的。这是我提出的不做的第二个理由,我想不是借口。工作做的不好,我想大家对于我这样说,是没有什么异议的,我甚至没有听到挽留和鼓励的话,也罢,总是坐这样的一个决定是个解脱。我终于解脱了。这段一年的测试管理工作。
而与我有鲜明的对比的是,我前面有提到的那个能坚持的同事,却开始积极的争取加入测试团队。他的到来带给整个项目组翻天覆地的变化。测试组也由原来的附属,而主动跑到台前,有点主导开发的意味了,我想在当时的那个环境中,这样做是很正确的事情。