SQA是Software Quality Assurance的缩写,意为:软件质量保证。通过了CMMI认证的组织往往会设置有专职的SQA人员。有时,他们也有另外一个名称:PPQA Process and Product Quality Assurance。过程与产品质量保证。
这个角色是通过对组织中的各个开发团队的开发过程进行跟踪,统计和总结,来提出全盘改进企业开发能力成熟度的。但是实际上他们并没有起到这个作用。他们的作用恰好相反,是用来拉低企业开发和管理水平的。这就是搅混水的SQA/PPQA的题目由来。
我跟踪过一些组织的SQA的工作方式,事实说明他们是拉低企业的开发和管理水平的。那么为什么会产生这种现象呢?又如何才能够解决呢?为了简单起见,下文我们都统称过程改进人员。
首先,过程改进人员是由什么样的人组成的?
往周围问问,什么样的人做过程改进人员,他们做过程改进人员的动机是什么?
常见的答案是(按照回答出现概率排序)
1. 过程改进工作不如开发工作那么苦;
2. 过程改进工作不像开发工作那样需要不停学习专业知识;
3. 过程改进工作是提出别人问题的,不会被指责;
4. 当初也想学编程,但是太难了。
看看,这就是现状,一群不懂,不会,不愿做开发的人在做过程改进工作。
很多企业中,过程改进人员的地位比开发人员高(尽管裁员的时候首先裁他们),他们可以指出开发人员的问题,并且要求其改正。多么可怕啊,外行领导内行。
其次,过程改进人员是如何工作的?
常见的做法是:
1. CMMI这样要求的
2. 公司这样要求的
3. 老板这样要求的
4. 我也得做点事情好交差
5. 我不了解项目的具体情况
6. 我只检查事情做没做,不检查做的好不好,对不对。
这个比上一个更可怕,你指望这种工作态度能干出什么业绩来?
再次,过程改进人员都在干什么?
1. 你忘记填一个表了
2. 你这个表缺少签名
3. 我们更新模板了
4. 过两天我要审核你们项目的过程
5. 你得做这个了,不然这次外审就通不过了
6. 大家都这么做,你也不能例外
很大程度上,这就是一个例行公事的岗位。不需要对项目成败负责,也不必为项目做出任何贡献,你指望这种岗位能够为组织做什么贡献?
还有,他们如何为组织的过程改进做贡献?
1. 你这个数据和平均数据差异太大,当做异常项处理了。(对个别团队的大幅改进熟视无睹)
2. 我们的生产效率提升了。(把别人的贡献当成自己的)
3. 你们项目的质量偏低。(向领导打小报告)
4. 每次跟过程有关的会议我都要参加。(平时不深入调查,乱发言)
总之,过程改进人员基本上的工作就是搅混水和拖后腿。他们并不为组织做任何有益贡献,相反他们阻碍了组织的改进,并且向正在顺利进展的项目提出额外的要求,打乱开发的节奏。