测试人员和开发人员的比例应该多少才合适?
拿两个业内最典型的公司也是大家最喜欢讨论的公司来举例:微软和谷歌。
先说微软,老牌软件公司,有钱,资源充足,测试开发比基本稳定在1:1。当然,这说的是一般情况,或者说是平均情况。
再说谷歌,新兴软件公司,有钱,资源充足,测试开发比基本稳定在1:10。当然,这说的是一般情况,或者说是平均情况。
为啥两家都有大把钞票的企业此比例会迥然不同?原因当然很多,但重点是在测试理念的不同。微软推行的测试理念偏传统,而谷歌推行的测试理念是大量的测试工作交由开发人员自行完成,测试人员主要提供完善的测试工具。这和笔者常挂在嘴边的智能化测试类似。笔者一向以为,未来的测试发展方向必然是少部分的专职测试人员维护智能化的测试平台,然后现在我们所做的大量测试工作可以由任何人通过智能平台完成,可以是机器自动完成,也可以是人通过机器很傻瓜化的完成。
说到这里必须得打住了,因为这不是本文讨论的重点。本文的重点是这样的比例是如何产生的。
大家可以仔细分析下,微软和谷歌是先按照这样的比例招人呢,还是按需求招人慢慢形成了这样的比例?答案毫无疑问。那为什么现在有那么多公司都是先拍脑袋设置一个比例然后按比例招人呢?脑残吗?不知道正确答案是什么,尝试着猜测下。因为这样做预算简单,招人简单,统计简单,汇报简单。就象定KPI一样,如果要公平公正合理合法,那统计会非常复杂,老板们哪有这么多时间搞这个?所以,一刀切,粗暴点没事,反正强奸的是员工,注明下,底层员工。
其实但凡有点头脑的都可以想想,这个比例的作用是什么?它是如何推导出来的?比方说笔者所在的团队,测试开发比为1:3,笔者绞尽脑汁也弄不清楚这比例是怎么来的,最后据说是行业惯例,有这样的惯例吗?如果有那笔者真是孤陋寡闻了,这十来年白混了。
笔者窃以为,测试开发比最大的作用在于评估组织性能,也就是说预测组织的产能大概会有多少,但这数字肯定也是不靠谱的。就象我们做项目评估工作量一样,有许多方法可以辅助我们,但仅凭某一个比例进行测试与开发工作量的转化,简直是扯淡。
说了这么多总结下。笔者建议,在工作中不要关注测试开发比,有需要就多招点人,没需要就少招点;有需要就往项目里多派点人,没需要就少派点。千万不要为了偷懒,为了报表上的数字好看,为了掩饰自己的无能而做些莫名其妙的事情。
中国人有一个习惯,不懂技术会勇敢的承认,但没人会承认自己不懂管理。