这周晚了——我以为我已经发布了……
长期读者(感谢大家!)知道,我通常在这里写一些关于领导力的主题,偶尔也会涉及软件开发和徒步旅行的故事。你们也知道,我有时会写关于为什么我认为大多数软件团队不需要专职测试人员的内容。
但是——我意识到,我从来没有真正写过关于如何进行这种过渡的内容。我们都听说过那些取消测试人员职位的公司,他们没有任何计划来确保过渡的顺利进行,最终完全失败了。这并不一定意味着他们的团队确实不需要测试人员,他们很可能只是没有意识到他们实际上需要多少测试。
第一步——不要这样做
大约10年前,我做过一个演讲,名为“没有测试人员的测试”。在那个演讲中,我提到了这篇关于雅虎的文章。
……这让我想起了Brent Jensen的名言:“不要猛地撕开创可贴,因为有时它是止血带。”
很多公司看到没有测试人员的团队能够提升周期时间和质量,结果盲目(且愚蠢)地去取消测试人员职位,没有任何计划。这些公司中的大多数要么失败,要么匆忙重新雇佣测试人员。
或许更大的问题是,其他软件团队看到了这些失败,便盲目(且愚蠢)地推断出没有专职测试人员的测试是愚蠢的事。
他们错了。
一些背景
在过去的十年里,我参与了解散了多个测试团队。事实上,我对提高速度和质量,同时去除测试人员的能力充满信心,认为这可能会成为我退休后的专业工作(值得注意的是,当我“解散”测试团队时,我从未让任何人被解雇或裁员——我只是为他们找到新的角色,让他们在新的领域充分发挥技能)。
从(内部)循环开始
现在我把这些写下来,我有了一个假设。如果公司想通过去除专职测试人员来提高速度和反馈循环,他们有很好的机会成功。那些首先看到取消职位就会失败的公司,很可能会失败。
从反馈循环开始。如果一个开发团队将一个功能交给测试团队——然后测试团队编写自动化并进行探索性测试,然后再将结果返回给开发团队,这样等待反馈的时间就很长。
是的,随着测试团队框架的改进以及沟通的提高,反馈时间可以变得更快,但反馈循环才是速度最关键的地方。上周,有人在LinkedIn上就“速度”的问题发表了激烈的言论。虽然他们的观点在技术上是正确的——如果目标是速度,但目标不是速度——而是反馈。
交接通常是瓶颈。减少交接,或至少减少交接之间的摩擦。研究表明,开发团队拥有的自动化测试与质量有很高的关联(而当另一个团队编写自动化测试时,这种关联并不存在)。即使一个独立的团队现在在编写自动化测试方面做得更好,开发人员也应该负责自动化测试。为了让他们做到这一点,要与他们配对工作,辅导他们,审查他们的测试代码,帮助他们学习。在我看来,既不愿意学习,也不愿意传递专业知识,是走向失业的捷径。
在我的经验中,那些专注于自动化的测试人员往往能很好地过渡到开发角色——特别是在平台/基础设施方面。就个人而言,我写了许多诊断和调试工具,以帮助加速和简化软件开发中最枯燥的任务。
加速实现可交付的质量
依赖(外部)循环
内部循环是开发团队内部能做的工作。它帮助代码的正确性和功能性。但正如Eric Ries所说,你的工程努力只有当它进入用户手中时才会产生价值——他说得对。来自客户/外部循环的快速反馈至关重要且有价值。
再次重申,LinkedIn上那些测试专家往往不理解客户反馈(通过指标)和“让客户测试你破损的软件”之间的区别。至少,在你的网站或应用程序中添加足够的指标,以便了解客户正在使用哪些功能,以及他们遇到了哪些错误。追踪他们花多长时间使用某个功能,或者在使用某个功能后,他们离开网站或关闭应用程序的速度。我记得曾经通过数据了解到,在办公软件中最常用的功能是粘贴。粘贴之后最常用的功能是撤销粘贴。我记得在很久以前(几十年前),作为一个测试人员,我曾经指出某个功能可能不像产品团队想的那样对用户有用,但因为没有数据支持,这个功能还是发布了,而客户并不觉得它有用。等到我们收到了反馈时,我已经在另一个团队了,“我早就告诉你了”也没有什么意义。
反转?
反馈不需要仅仅从客户流向开发团队。事实上,让客户知道他们的反馈带来了改善或新功能是有巨大好处的。许多(大多数)公司都没有充分利用这一点,但关闭反馈循环会建立更强的客户忠诚度,并鼓励更多的互动。即使是像产品更新说明或感谢邮件这样简单的事情,也可以极大地改善客户对自己在开发周期中角色的感觉。
当客户看到他们报告的错误——或者尤其是他们看到但没有报告的问题——已经在最新版本中修复时,他们更有可能在未来提供反馈。
但还有更多……
质量不仅仅是测试——即使是由开发人员作为专家进行的测试。如果你需要提醒(而且不幸的是,有些人确实需要),目标是质量,而不是测试。
所以,如果你想更深入地思考如何创造一个质量文化,让开发人员进行优秀的测试,并且质量才是目标,你可以从我写的《质量文化过渡指南》开始。如果这引起了你的兴趣,Janet Gregory和Selena Delesie基于这个指南扩展了内容,并写了一本出色的书,叫做《评估敏捷质量实践与QPAM》。