编者按:当软件开发团队到达了精通的级别,要想找到提高的方法会非常困难。从质量保证经理的角度看,本文提供实用的建议,几乎在开发生命周期的每个区域工作的团队都可能将建议应用到他们的工作中。

一段时间以前,我和一个朋友,一家小型软件公司中的重要人物,讨论有关软件测试的内容。他热心于其质量保证(quality assurance,QA)团队所做的工作,然而尽管他们做了工作,包括创建大量的自动化测试,但他仍旧担心要对公司的产品进行充分测试所花费的时间。“ 我们需要让 QA 团队更加高效,”他说。“他们做的很好,但我需要让他们达到更高一层。”

他对提高 QA 团队的效率所表现的悲伤令我想起了...高尔夫。(等我一会。)高尔夫是很难学的运动。但真正困难的是,您做得越好,越难以提高。在 100 米到 90 米间很难得分。在 80 米内得分较难,而在 70 米内得分甚至更难。一旦您到达了那个水平,要进行很多工作来维持。我可以从自己的经历说起。在结婚 + 抵押贷款 +生小孩之前,我在又长又有困难的高尔夫球道上遇到 6 或 7 个障碍。现在我在较短而不那么困难的球道上遇到 9 到 10 个障碍。为什么?一个原因是我一年中打高尔夫的次数与过去一周的一样。我希望不久将解决此情况 ?? 我只是为孩子(三岁和五岁)买了他们自己的球棒。

这对软件测试也一样。QA 团队通过将包含测试计划、缺陷原因分析,和自动化测试的正式、可重复的过程,替代特殊的测试方法,以变得更加有效且高效。这些操作并不简单,但现今它们对软件 QA 团队来说是相当标准的。但当您做完了所有那些操作,您还能如何继续提高到“下一个层次”?

那天我没有回答他。但从那以后开始考虑,我认为答案依赖于本文中所描述的操作。

了解您的目标:您所说的“高效”是什么意思?

每当我开始一项工作时,第一步是确保我在讨论提高 QA 团队的效率的时候了解终的目标。我们必须清楚地定义我们所说的“效率”。标准的(出自于dictionary.com)高效定义是:

ef?fi?cient, adj.

直接产生效果:生效的原因。参见“高效”的同义词。

a. 用少的浪费、开销或不必要的工作来有效地生产。

b. 展示高比率的输出到输入。