从个人发展的角度看,为什么不建议你考虑QA岗位?
Posted 张传波
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从个人发展的角度看,为什么不建议你考虑QA岗位?相关的知识,希望对你有一定的参考价值。
今天Q群有朋友发出QA的招聘信息。
Fireball(Fireball就是我噢)居然说:至于QA职位,强烈建议大家不要考虑,这是个坑坑坑坑坑啊!
这个FB超级不会做人啊,难道他和QA有仇?
其实Fireball在群中一直都不建议大家考虑任职QA岗位的,没有歧视QA的意思,仅仅希望大家职业发展路线更好一些而已。下面系统说说这个话题:
为什么会有“QA”这个岗位?
我是从上世纪开始就编写代码的,之前从来没有听说过QA这位岗位。有一些公司的测试岗位可能也会叫QA,但这个QA并不是我们这里要说的QA。
2003年的时候公司打算引入CMM,注意不是CMMI,少了一个I字。CMM中提到了项目管理和跟踪的三种主要手段:
1)项目计划和跟踪
2)软件配置管理(SCM)
3)软件质量保证(SQA)
公司高层可以通过这三方面把控项目的情况,第1点通过项目经理了反馈,第2点通过配置管理员反馈,第3点通过QA来反馈。第2、3点都是独立于项目外的,这样公司高层就可以比较准确全面地把控项目了,避免了项目经理“虚报”的情况。
这是第一次听说QA,估计QA这个岗位在IT界就是这样引入的。CMM中的QA主要意思是:
1)保证过程的执行,保证过程符合要求,保证各种输出物符合相应的要求(如:模板要求)。
2)QA的岗位需要保证独立性,具体要求有:QA岗位或部门需要与被QA的部门平衡设置;不能QA自己的工作;不能QA上级的工作等。
当时我们也不是很懂CMM,只是觉得很有道理,特别是公司领导觉得很有道理,于是我们就新设了QA岗位并且安排了招聘。相信很多公司也采取了类似我们的做法,于是大家开始登上了QA这条“沉重”的船。
后来CMM升级为CMMI,QA也进一步升级,不再要求必须是单独的独立岗位,可以兼职,比方说你的工作我来QA,我的工作你来QA是允许的,但仍然要满足两个条件:
1)不能自己QA自己的工作;
2)不能QA自己上级的工作。
先简单说到这,主要说明QA是怎样来的,至于为什么说大家开始登上QA这条沉重的船呢?后面详解。
QA这个岗位在实践中遇到的困惑和问题
QA这个岗位背后的原理,最开始真的是觉得挺好的,但实践中出现了很多困惑和问题,主要问题有:
1)研发过程和文档模板等一开始并不成熟甚至是错误的,QA坚决执行这套东西有道理吗?
正方观点:不成熟的过程坚决执行,也好过没有过程执行,可以先僵化再优化。这个观点很多老板是认同的,他们很想将公司管理从“人治”升级为“法治“,不想依赖于个别员工,更加不想被一些牛B的员工所威胁。
反方观点:这是一坨狗屎,但因为过程需要,你也必须吃下去,这是毫无道理的!软件研发是充满智慧和创造力的工作,无法好像流水线那样生产的,也没有必要去往这个方向去追求,这违背了本行的客观规律。
2)任职QA岗位的朋友,一线研发工作和项目管理经验几乎为零或等于零,能胜任QA工作吗?
正方观点:监督流程执行和是否符合文档模板要求等工作不需要具备太多的一线研发工作和项目管理经验,有时候不懂甚至更好保证客观性和公正性。
反方观点:这不是扯淡吗?这不是外行指挥内行吗?某些QA还抬出一些让人厌烦的大道理来“镇压”被QA者,被逼走的好员工不少呢!
这些问题以前一直都在困扰我,正方和反方的观点都有道理,而我是过来人,我首先是被QA过,后来变成我QA别人。我被QA时被“整”得“死去活来”,差点辞职走人。当我QA别人时,我不会让我的同事承受我之前的痛苦,我当时是以研发中心经理的身份做QA工作的,和很多公司独立的QA的做法不一样。
个人发展为什么不建议你考虑QA岗位?
我们被CMM和CMMI的那套QA理论搞晕了或者说绑架了,其实问题可以很简单,我们回到问题的本源:
1)一个人是否要对自己的工作质量负责?
2)管理层,包括项目经理、部门经理、研发中心老大、副总、XXO等岗位,他们的主要工作职责之一应该是过程制定、执行和优化?而不应该将这职责扯皮到另外一个部门或岗位?
现在来回答为什么不建议你考虑QA这个岗位,主要原因有4点:
原因1:绝大部分的公司对QA岗位的定位都是有问题的。
这些公司认为流程可以先僵化再优化,QA岗位不需要具备太多一线研发工作经验。这些公司号称很重视QA,实质上给的支持很少,你看看QA的薪金就知道了。
原因2:QA岗位对公司来说其实没啥核心价值,或者说没有达到不可替换的地位。
很简单的问题就可以测试出来:如果你们公司经营不善要裁员,你觉得老板会不会首先裁QA?如果老板看你不顺眼炒掉你这个QA,对公司有啥影响?你能很快找到一份满意的QA工作吗?
原因3:大部分QA都是没啥一线研发工作经验和管理经验,更可悲的是很多人不意识到这个问题,你在这样的环境下工作进步空间就会很少。
原因4:QA可能是最被歧视的岗位。
举两个血淋淋的例子:
1)当时我们正在进行CMMI5级过程改进工作,我觉得需要投入资深的项目经理来做QA的岗位,我找了一两位PM来谈,他们都坚决不同意转岗,就算我承诺CMMI5级完成后马上将你变回项目经理。
2)我想找测试人员兼职部分QA工作(参考CMMI的QA要求,满足条件的情况下QA是可兼职的),但测试人员坚决不答应。
当时搞到我一点办法都没有,在我们公司我的态度大家都知道的,我对所有同事都一视同仁的,并且我反复强调优秀的QA其实是相当牛B的。在我们公司这样的一个比较好的企业文化下,项目经理和测试人员们都不愿意带上QA的帽子,生怕被“玷污”了。可想而知在其他企业或环境下会怎样?
所以如果选择QA这个岗位,可能会给你的职业生涯带来困难重重,让你多走很多弯路甚至走不出来。其实你可以选择担任其他的岗位,例如:项目经理、产品经理、研发老大、测试老大等等,选择了这些岗位你将会更好行使QA的职责,不是非要做QA的职位才能行使QA的职责的。
我做过很多QA的事情,但不是以QA的岗位做的,而是项目经理、研发中心经理、副总、SEPG Leader等。当然要做到这些岗位还需要有大量的一线研发工作和管理工作经验作为支撑。
不是靠学了CMMI或者PMP等宝典,你就可以晋升为“高大上”的管理层的。可能很多想入职QA岗位的朋友,都可能会觉得这是一条晋升管理层的快速通道。不是滴,这很可能是一条不归路,做了几年后你就高不成低不就,迫于生活压力你将无法重启。
如果我已经做QA很长时间了,我该怎样办?
QA有一个优势,就是他可以接触公司很多项目,只要你愿意和努力,你可以学习公司很多的业务知识和技术知识。你要去发现和学习能增加你核心价值的东西,不要拘泥于QA这个岗位。你有核心价值了,继续做QA或是转其他岗位自然就不是问题了。
IT公司是否需要设置专职的QA岗位?
这个问题的回答是:不需要!
如果你们公司没有CMMI拿证或续牌的的需要,不要管这个岗位,该怎样做就怎样做,几条基本原则:
1)每个人每个岗位都需要自己把控好自己的工作质量;
2)越是高层越要关注流程制定、执行和改进;
3)过程改进基本原则:全员参与、循序渐进、简单有效,不要引入所谓高大上的流程,一定不能先僵化再优化。
如果你们公司有CMMI拿证或续牌需要,你同样要参照上述的几条基本原则,另外再考虑下面的建议:
1)让本公司资深的研发大牛做总QA,下面设分QA(可兼职);
2)一定不能请这样的人做QA:小白菜;理论家;
3)外聘的QA必须有研发经验,能结合企业实际情况。
不知不觉写下了这么多内容了,仅供参考,后果自负
以上是关于从个人发展的角度看,为什么不建议你考虑QA岗位?的主要内容,如果未能解决你的问题,请参考以下文章