Developer --} Tester --} QA? Senior Tester ? Lead ? Manager?

[转载]软件测试之初涉管理

上一篇 / 下一篇  2010-10-26 00:40:53 / 个人分类:转载之精品文章

  如果你是个表现优秀有潜力的Tester,或者是你们组的Base team,部门打算提升你做Lead,你该做哪些准备呢?

  如果你已经做了一段时间的leader ,发现每天的工作不只是固定地接受任务了,责任渐渐变多了,加班已经变成家常便饭,有时候一天下来,感觉没做出什么成就,这时的你,该怎么办呢?

  为什么你管理的项目,感觉任务不是很多,但却特别累,你思考过这个问题吗?

  注:IC=Individual Contributor

  Why should we change our mindset?

  A tale about Lazy crow

  一只乌鸦坐在树上,整天无所事事。一只小兔子看见乌鸦,就问:“我能像你一样,整天坐在那里什么事也不干吗?”乌鸦答道:“当然啦,为什么不呢?”

  于是,兔子便坐在树下,开始休息。突然,一只狐狸出现了。狐狸跳向兔子并把它吃了。

  不知道大家从这个故事中能得到什么样的启发?

  一千个人眼中会有一千种答案,切合今天的主题可以这么理解:

  这个故事中,乌鸦是管理者,兔子是执行者。兔子希望做领导者,但是只是单纯的模仿表面的休息,没有站在树上,结果就被吃掉了。

  从我们实际情况出发,你从一个IC,一个Tester转变成一个feature owner,改变的不仅仅是工作内容,工作职责,意识和心态也需要改变,这往往是最重要的。

  所以从IC到Feature Owner/Lead,意识必须要转变,意识不转变,会造成自己仍然去做IC的工作,自己虽然已经做Feature Owner/Lead,但还是以IC的角度和意识去思考问题,做事情。轻者造成自己工作不顺利,很难胜任Feature Owner/Lead的职位,重者造成项目失败。所以角色,意识必须要转变,这是首要的。

  新lead面临的挑战:

  1、领导意识淡薄

  没有督促员工干活的习惯,分配完了就完了。

  2、沟通不够

  测试工程师,从领导那里接收到任务,完成后把结果反馈上去,就算完成了。

  作为测试组长,你需要:

    a、与员工保持日常沟通

    b、与MS Lead沟通

    c、与DM沟通

    d、与其他team沟通

  3、视野狭窄

  以纯技术角度来看问题

  eg1: bug在软件产品当前版本没有被修复,postpone

  eg2::公司制度一些规定,向组员传达时。

  4、Lead Responsibility 不明确

  每天仍忙于参与产品的测试;没有做lead应该做的职责,如:Progress control; Risk control; Quality control …

  What should you change in a project v-team view?

  一个典型的v-team  (微软软件外包典型的组织结构)

 V-team指的是virtual team,抽象过的组织结构。具体如下表:

图1

  What should we change in project view?

  Contact with Client, you are not only yourself but a company business card

  过去,Tester每天的工作只需要执行完Test Lead分配的任务,跑Case报Bug,提交结果给Test lead就可以了。现在角色改变了,作为Lead,需要直接跟客户沟通,此时你代表的是BYS的形象。客户眼中的BYS,就是成百上千的奋战在一线的日夜直接与客户沟通的我们所展示出来的形象。

  -不管是测试报告,邮件还是电话会议都要专业。

  -整体把握项目,制定计划要合理。

  -在邮件签名,title,MSN签名,某些文档里加上BYS的Logo,时刻宣传公司形象。

  -当然你所负责的项目的提供的专业服务,交付质量是最过硬的形象。

  Co-worker, we are providing service, we are equal.

  在整个V-team中,直接的上下级关系(report to关系)并不多,大家都是项目组的成员,负责不同的工作内容,是合作关系,大家都是平等的。我们虽然是乙方,但并不代表我们低人一等,我们是提供专业服务的,与客户沟通时应该是不卑不亢的。

  一种极端的例子是: 有些新的Test lead,觉得客户是微软的,讲英文的,马上就觉得自己矮了一截,在与客户沟通的过程中表现出明显的自卑,有问题不敢提不敢问,客户说什么就是什么。在客户提出不合理要求时也一味答应,加大了工作量,给自己造成过大压力。

  -另一种极端的例子是:有些Test lead合作的客户可能工作比较繁忙或者比较懒…,回复的几封邮件都是不知道或着干脆没有回复,就觉得客户是个傻子,邮件里会表现出来不屑。这种几封邮件就推断客户不行,从而语气不屑的态度,将会阻碍与客户的下一步沟通,对项目产生负面影响。

  -不可能所有的客户都是理想的客户,对于难缠的客户,要有善于发现别人优点的眼睛。工作中双方地位平等,应不卑不亢。

  Operator-->Owner/Driver

  你从一个执行者,转变成一个管理者,其实说Owner/Driver更恰当,你不再是被动的执行任务,而需要主动的Drive这个test pass的顺利进行。

  -以前test lead刚当上test lead一段时间之后觉得压力特别大,总是加班,很累,宁愿当普通Tester都不愿意做lead。原来,她每天要与客户沟通交流,管理项目,分配任务。但是对于分配下去的任务又不放心,在收到Test结果后,自己又都去测一遍……

  -即使你现在已经做了一段时间Lead,看起来没什么问题了,但这里也有几个层次。软件外包的基本形式就是客户发包,我们接包,分解,完成任务,交付结果。一开始客户不放心,只会交给一些低端的简单的执行任务。

  一个层次是,客户发任务,我们被动的执行,只要不漏bug,不出问题基本上就可以了。这个Lead做了几年,几个release下来,却还只是leader。

 一个层次是,把自己当做这个产品的owner,我们主动的学习了解整个流程,积极的参与计划讨论,改进流程,到了什么时间该做什么事情不是等着客户发邮件通知,而是我们主动去问主动去做并让客户了解情况,这样就是你在Drive这个项目,当你取得了客户的信任,客户会放心将更多更重要更复杂的事情给你做,你有更多的发言权,做好了不仅对个人成长发展有帮助,也能帮助发展业务。

  当然,虽然我们要更加主动积极,但是我们毕竟是乙方,要学会保护自己,我们可以参与讨论,可以提建议,但是不要轻易做决定,决定往往意味着要承担后果。

  Manage a project in the whole product life cycle(plan, assignment, monitor, review, …)

  过去你只需要执行你的Lead分配给你的任务,现在你需要管理这个项目从整个产品生命周期考虑,计划,分配,执行,监督,审查

  Just report issue à investigate issue, report issue with solutions

  这里一个最典型的例子就是 当遇到问题的时候你如何处理?

  有些人可能就是报一个bug,向客户报告问题

  有些人可能要先调查一下

  有些人可能先要判断一下。。。

  调查问题,分析问题,查找问题出现的原因,最后给出相应的解决方案。对于这样的处理,能让客户知道你是在思考的,是努力解决问题的,而不是简单的将问题报告成Bug抛给客户,让客户处理。给客户方便,为客户着想,相信客户会更加的信任我们的团队,也很愿意将更多的项目交给我们。

  Where you are in the team, co-operation

  回到刚才的图(图1),你处于这个项目的什么位置,你扮演了什么的角色,你如何跟不同角色的人 打交道,你如何充分调动利用好resource以最小的代价高效的完成任务?

  以前有这样的情况,我们的Lead做了这项目1,2年了,不知道整个项目是什么结构,只知道美国有个Lead,每天给我发任务…,遇到block的问题,如果美国这个Lead block了,自己就无计可施了。

  Client expects continuous improvement, show your outcome appropriately

  这几年软件外包发展迅速,竞争也非常激烈,客户对我们的要求也越来越高。客户会期待我们有持续的进步,我们不仅仅需要做好项目,还需要积极思考如何改进流程,提高效率,而且还要学会适度的展示工作成果。

  举例:

  一个team经过不懈的努力,把自己产品的test case的automated率提高到了90%,这个数字应该是公认比较高的了,他们team也认为这个值很高了,没必要继续提高了。但是几个release下来,客户提出很大的质疑,为什么automation率一直没提高。

  ---客户期望的是你的工作一直的改进,而不是一直保持不变。

  首先判断哪些能说哪些不能说 ,如果要说的话,还要把握好度。

  举例:

  小组1—通过开发自动化测试工具,大大提高了测试效率,缩短了测试周期。将    此回报给客户,客户反而提出要测试团队裁人的要求。

  小组2—通过开发和使用自动化工具,完善测试流程,小组进一步提高了测试效率,缩短了周期,提高了测试质量。在竞争者以低价向客户竞争取该项目,该Team展示他们工作的改进和高效的自动化工具,客户将项目交给了该小组。

  Automation提高效率, manual提高质量,保住项目。

  以上我只列出一些我认为最重要的,想要做好项目,提升管理能力,需要注意的远远不止这些……

  What should you change in your company org view?

  欧美软件外包公司的基本组织结构

图2


  We are part of your company, not MS

  要分清项目之内和项目之外的事情,不同的情况应该找谁

  -案例一:某员工入职后就Onsite了,一直在微软上班。某天,该员工机器坏了,他拨通了微软manager的电话来解决…

  -请假

  Assist your Manager

  辅佐上级(DM),准确的传达公司精神,指示

  -一个敏感的例子,有人离职了,信息传递偏离事实,造成员工对公司的误解。

  执行力

  谁都会听领导的话,但执行力怎么样,每个人都有差异的。举个例子:执行一条公司的规定:每个人都要挂胸卡,你会发现不同的团队执行的效果是不一样的。有的人会想办法,如先发邮件通知,第二天上班的时候再提醒,等等。你会发现,有的小组100%都挂了胸卡,有的则不是。对于执行不到位的团队,你要去问他为什么这么样,可能会得到这样的回复:”我说了啊,他们不听。“这样的执行力肯定不行。

  Manage your team member

  培养,辅导,激励,管理下属

  问题:为什么要积极培养下属?

  如果你需要调动,如果没有人可以接替Lead的工作,那么Lead就必须首先完成工作交接,从而不能顺利的离开当前的岗位。下属的提高,也有利于提高项目的交付质量,减轻Lead的工作量。

  Leverage internal resources

  学会调用公司内部资源

  -不会写test plan,旁边的人写了两年了

  -问测试经验说不会

  -遇到问题不会解决,旁边就坐着专家

  -只要公司有人会的,就可以和客户说会

  举例:微软Itest调动了,Lead发邮件慰问,Itest回信:你就像会魔法一样,能把所有难题都解决了。实际上,该Lead的coding和testing技术水平都不是很出色,她之所以能解决“所有问题”,关键在于她能充分利用团队的智慧以及公司丰富的资源来处理客户的问题,赢得客户的赞赏。

  Team Building

  Test Lead responsibilities?

  项目工作:

  计划以及变更管理的安排

  在每个项目(每个release)开始前,就资源/技术等可能的风险等作评估, 就风险计划和DM以及微软lead做有效沟通。

  对于需要写test plan的项目组,test lead和客户沟通完成plan。

  在每个项目开始之前,完成项目准备工作(包括人员,机器,系统 等的准备)。

  组内流程/标准建立

  包括各种Template, standard指导大家如何规范化的开展工作,以及进度/质量控制流程来保证项目按时完成 。

  建立有效的组织结构和流程。

  自动化组:Automation process and templates setting up BU对于写coding的项目组,test lead负责安排和客户沟通,建立该组的coding specification, code review流程。

  其他测试流程和模板的建立。

  每个项目组有一份自己的bug template指导新人怎么写bug;对于新人要给予充分的指导,安排有经验的老tester指导检查新人的任务,包括每个bug,写的自动测试脚本等。Test lead负责培训组内人员写测试用例,并安排抽查,纠正写得不好的case。

  安排review所有tester的daily report,确保所有的tester每天按时按质完成了自己的任务;保证项目组每天的工作按时高质交付。

  知识管理和培训

  及时组织项目组培训与经验总结,尤其是在项目间歇期的时候; 根据需要向部门提出培训需求。

  组织tester及时总结项目有关的或其他技术方面的经验,尤其是可以share给全部门的。

  日常其他工作,处理问题,变更管理

  协调解决项目中遇到的问题,提交自己无法解决的工作问题给所属DM,提出问题的时候最好能够提出自己的建议和解决办法。

  帮助tester提高项目问题沟通能力。

  定期组织一次team会议,总结问题和经验形成文档,安排下一个阶段的工作。

  向微软提交项目进度Daily report及Weekly report。如果DM要求的话,提交Monthly Report给所属DM。

  对于客户临时增加的新任务,test lead负责与客户做好沟通,在组内协调资源保证按期高质量完成。如果需要帮助,及时报告给DM。

  人员管理:

  发现人才,培养人才。

  培养下属。发现/培养/推荐有潜力成为技术高手或者管理人才的人员。

  根据组内具体情况为tester组织/申请合适的培训,提供TESTER完成工作和进一步发展所需要的帮助。

  经常与组员沟通,了解组内TESTER的工作能力及特长,对目前工作的满意度,稳定性,个人发展的期望(技术路线,管理路线,其它路线),希望得到的培训等,并就此及时帮助解决或向上一级反映。

  创建良好的team工作氛围,了解并帮助解决TESTER的生活情况和生活中遇到的困难。

  负责对TESTER进行考评,就考评发现的问题及时与有关tester做沟通。

  协助新tester在试用期的成长,填写试用期考核表和转正审批表。

  其它

  协助部门内部其他辅助小组,部门,公司的一些工作。

  与客户建立良好的关系。

  树立市场意识,及时将扩大市场的相关信息反馈给部门;为部门/公司的进一步发展努力。

原文见:http://www.51testing.com/?uid-113180-action-viewspace-itemid-222063

只是格式不太好,这里只是转载方便查看罢了。


TAG:

 

评分:0

我来说两句

Open Toolbar