自工作以来,我接触了大大小小的外派项目。对于外派,很多同事都是牢骚满腹,但凡事总有两面,我回顾几个项目的经历,整理出个人感想,希望能给大家启发。
自身的角色定位
面对这样的问题,我常想起一个故事:三个人砌墙,第一个说我不过是在堆砖头,第二个说我在砌一堵墙,第三个说我在建造一座美丽的宫殿。只有第三个人的态度,才称得上是在创造物质财富。第二个不过是例行公事,第一个简直就是在服苦役。
当然,或许会有一些异样的声音,“公司又没我的份,凭什么要求我以公司为家?“对于这样的观点,我认为,第一,在我们这个阶段最值得珍惜的是时间,既然选择了这个企业,就应该发挥自己的责任感和工作主动性,赢得更多的认同,否则最先耽误的是自己;再者,你或许没有寄期望于目前的工作,但是其他的同事呢,他们可能把自己的职业生涯和生活质量都寄望于目前的工作中,我们的消极怠工会给他人造成伤害。
说起道理,每个人都很清楚,要做最好的自己。但是大多数事情,事情本身并不难,难的是要做得足够好,要做得比别人还要好。外派项目,一开始接触的可能是低层次的工作,面对陌生的环境和完全不同的工作习惯,可能会有沮丧的情绪。但是如果我们在快速融入的同时,能做到:
- 在项目会议上多提一些有价值的建议
- 能在提出问题的同时,向客户提供多个解决方案
- 能找到另一种途径让工作变得高效
那么我们就更容易赢得客户的肯定,我们的锻造空间也就更大。而要做到这些,需要我们和客户站在同一阵营,既然是同一个Team,就要努力做到Team中的Key Person。我相信,只有怀抱着这样的想法,才能离“最好的自己“更近一步。
可能遇到的问题及处理方式
“外派”给我们最直接的感受,就是造成了交通和就餐上的不便。当然,交通和就餐问题,是因人而异的。如果项目周期长,不如干脆住得离客户近一些。而就项目而言,无论是外派还是在公司,多多少少都会碰到加班、流程不规范的情况。
对于加班问题,原因可归结为以下几类:
1) 工作时间效率不高,加班成了“Team文化”
这种情况并不少见。可能是客户现场的测试环境不稳定,可能是沟通成本太高,也可能是Team需要磨合种种。这类加班并不是当天所能预期的,可能是快到下班时间,PM突然说,要不今晚留下来把XXX搞定吧。总之,这种情况并不是非加班不可,有时也不是我们加几天班就能解决得了的。
2) 安排的工作计划不合理
有些同事在与客户的沟通过程中,会无意识地为自己加重了工作量。
比如,客户问,这个模块什么时候能搞定?同事答:2-3个小时吧。
于是客户说,那你今天搞定3个类似的模块吧。
事实上,这位同事此时已经意识到时间不够用,但是他没有说话,因为他觉得或许多加1个小时的班,就可以把这3个模块搞定。当然,或许这位同事觉得多加1个小时的班没什么大不了,但是连续一周如此呢?一个月如此呢?
3) 发布/验收日期在即,不得不加班
这是项目常见的情况。但我们更要弄清楚,这个阶段的加班是为了什么。如果用几天的加班,换来验收的顺利进行,那么这种加班应该是可以接受的。
细想上述种种,一些加班情况是完全可以通过沟通来避免的,我们需要让客户意识到,加班增加了项目成本,并不是随口一句‘加班’就了事。当然,加班问题很难彻底消除,也不能一味地抵触和推诿,我们可以做的是,了解为什么要加班,是否一定要通过加班解决,还有没有其他途径。如果非加班不可,在加班时间和方式上也可以进一步沟通, 最后在Daily Report中写明。只有做好工作记录,才能更好地保障我们的权益。
至于项目不规范,从来都不缺少这种问题的发现者,而是缺少问题的解决者。当我们习惯了在公司用模板设计用例,写Bug时,我们真的了解这些模板背后的思想吗?真的清楚为什么测试用例要有这些要素吗?当然,这是细节问题,还没涉及到整体流程,但是如果我们在抱怨问题之余,对项目管理有了更进一步的体悟,并尝试从细节去逐渐改进,这将是多么有意义的一件事情。
所需的技能
作为测试人员外派,有几种技能是我感触最深的。
- 观察&沟通
到了客户现场,不是所有的事情都有人一一讲述,很多时候需要观察他人是如何处理类似的问题;我们需要知道,如果有了问题,可以找谁沟通,在什么时间沟通,以什么方式沟通。沟通不畅而影响工作效率,这是应该极力避免的。
- 数据库
在我看来,只有在UI测试和UAT测试阶段可以不查看数据库,在其他阶段,数据库应该是测试人员的常用程序。我们不能相信页面弹出的“成功”提示,正如“我们应该相信开发人员的人品,而不要相信他们的作品”。
- 版本控制工具
SVN、TFS、CVS之类的版本控制工具,至少应该掌握一种。
- Office(Word,Excel……)
编写报告和文档,是职场基本功。如果我们在外派之前就注意加强Office功底,有助于体现我们的专业。
- 项目相关的技术
如果是个Web项目,我们应该掌握基本的HTML知识,懂得Web Server上的部署工作,学会用Fire Bug之类的工具查看GET POST请求的细节;
如果项目上用到了Windows Service,那么Service的安装,卸载自然是必修课;
如果项目用到了分布式事务,那么它的配置及基本原理,也需要学习……
总之,这些技能的掌握,都能让我们的服务锦上添花。
收获
既然外派是外包业务的一种工作模式,那么也可以把“外派”作为锻炼自身基本功的重要环节。
1) 拓宽眼界
不一样的工作模式,打破我们平时拘泥的小圈子,让我们的项目阅历更加丰富
2) 技能上的提升
外派项目更能发现我们自身技能的不足。我们会思考,为什么当前做的工作都是很琐碎的,是不是我们的技能不够,不足以胜任更重要的工作?又或者,是我们没有主动让客户意识到,我们可以提供更多更有价值的服务?我们甚至可以反思之前的工作方式,找到提升和改进自己的方法。