质量与进度只有矛盾这一属性吗?我的看法是“Not only”, 质量与进度也有统一的时候。先说说为什么大家会感受:要么选择质量,放弃进度;要么选择进度,放弃质量;那是我们基于这样一个假设的前提:从事质量活动的技术水平没有改变的情况下,在资源没有改变的情况下,肯定只有降低质量要求才能满足进度要求。

  可是,我们换一种角度思考:如果我们改进了质量活动的技术水平,让其更有效率,更科学,更有生产率,那么我们是可以在不影响进度的情况下,达到更高的质量目标。甚至,还有可能在提高质量目标的情况下,缩短项目的进度。

  上面的道理,或许有的朋友明白了,或许有的朋友觉得是空白理论。那我再举2个例子,说明质量工作的生产率提高了,对进度的影响不但不会反面,反而会是积极的。

  案例1、我们在一个项目中使用了valgrind进行自动的内存错误检测,2天时间发现了40多个内存处理错误的缺陷。而按以往的测试方法,很可能有近一半的内存错误都发现不了。而要发现另20多个内存处理错误,按以往的生产率可能需要近1个月。我们仅仅是因为采用了更科学的测试技术,结果获得了质量和进度的双赢。

  案例2、投入2人日进行设计需求的评审,发现了40个需求描述潜在的缺陷。这些缺陷一定会导致后续开发引入40个以上的bug。而我们通过静态测试,发现缺陷,开发修改缺陷只需要几人日的工作量达到了缺陷消除的效果。要是采用传统的测试方法,要发现这些缺陷引入的bug可能需要数十人日甚至上百人日的工作量,甚至还可能不能全部发现这些bug。

  以上2个案例,是成功的案例??如何质量和进度都双赢,通过改进质量活动的生产率,既提高质量,又能缩短研发进度。

  此篇博文的目标和价值,是希望告诉大家,我们不是要了质量,要牺牲进度。我们质量工作者,需要自己开动脑筋持续寻找科学的质量工作方法,才能无愧自己的工作职责和价值。同时要告诉老板,在测试技术方面的投入不只是人力,更要有科学。

  在测试领域既提高质量,又帮助进度缩短的技术和方法还有很多,希望大家开拓视野,多从互联网上探索,寻找吧。