质量领先的软件组织结构

2023-11-20   出处: Lisa Crispin  作/译者:Lisa Crispin/暖阳

Arrow with leader enabling people supporting the arrow

在软件组织中做到质量领先—什么是最佳方式呢?二十多年来,软件组织一直在思考:当我们转型为敏捷或Devops文化时,我们应该如何分配测试人员/质量工程师的工作?显然,最佳实践是将他们融入到团队中。他们应该同其他开发团队成员一样,向同一个经理汇报么?还是说向单独的测试/质量经理汇报呢?最佳方式是什么呢?

作为一名敏捷团队的测试人员,我曾在各种组织结构中工作过,从小型初创公司到拥有40多名工程师的团队。每种结构都有其优缺点。我将详细介绍这些优缺点,然后列出我认为会对大多数组织都有效的方法。

测试人员同其他开发团队成员向同一经理汇报

我工作过的小型初创公司只有一到两个开发团队。这些人员是真正的跨职能人员,包括开发人员、测试人员、数据库专家、系统管理员、设计师、架构师,以及执行其中两项或多项工作的个人。敏捷的宣言是“做最简单可行的事”。这意味着每个人都向同一个经理汇报。这对我来说效果非常好。我的团队有优秀的经理,他们了解整个团队的质量方法。他们像团队中的其他人一样,重视测试人员。通常,我们团队中的测试人员多于开发人员,因为我们的应用程序带有很多风险,并且是测试密集型的。

我们是真正的敏捷团队。一起设定目标,并合作实现这些目标。虽然我们经常会与经理进行一对一的沟通,但我们不用接受传统的个人绩效评估。我们的自主组织团队得到了业务的支持,并且取得了巨大的成功。

尽管如此—根据我的经验,大多数高管甚至IT经理并不能真正的了解质量。他们不理解,让团队成员花费时间和资源学习如何将质量构建到产品中,是一件有巨大价值的事情。我经常看到新型敏捷团队中的程序员,持续地将他们的代码抛给同一开发团队中的测试人员。唉!

测试人员融入团队,并向质量/测试经理报告

这是另一种组织结构,在合适的人员条件下,可以发挥很好的作用(也许不管是什么结构,这一切都归结于有合适的人员…)。我做过几份这样的工作,会融入到一个或有时两个跨职能交付的团队中,但我向一个“质量工程总监”或类似头衔的人汇报。再次,我比较幸运,所有的经理,无法是他们的直接下属是测试人员、编码人员还是其他人,都接受了整个团队的质量方法。他们和其他人一样重视测试人员。

这种结构的一个优点是质量/测试主管与开发主管具有相同的“级别”。有时,开发经理可能会做出一个不利于质量的决策。质量主管可以介入并影响这些决策,支持质量和测试人员。例如,如果要做回归测试,质量总监会让整个团队共同分担这个任务的艰辛。

另一个好处是,拥有一个“质量团队”,尽管我们都融入到了交付团队中,但我们可以协调整个工程组织的质量计划。当我们只有十多个质量工程师,而有40个交付团队时—显然,我们不可能在每个团队中都分配测试人员。我们给每个交付团队提供一些模型和技术,以帮助他们保障质量。我们组织了一系列探索性测试会议,以帮助所有团队的程序员获得这些技能。这并不容易,但很有效。

我也曾呆过这样的组织架构,测试人员在跨职能团队中,与其他人一样汇报给相同的开发经理。突然,一位新的CTO上任并做出了改变。我们被突然告知,聘请了一个新的“QA经理”,我们现在将向这个人汇报。我们仍然融入团队,但我们的绩效评估(呃)将由这位新经理完成。新经理并不了解敏捷开发。他没有兴趣参加我们的一系列编程会议,来了解整个团队是如何构建质量。他对在我们整个工程组织中,如何开展一些共同的质量措施也不感兴趣。直到新的CTO上任解雇了他,他真的什么也没做!

我推荐的组织结构

根据我自己的经验和在工作过的组织中所看到的,我认为我知道在大多情况下,如何做会更好。我自己没有在这种组织中工作过,但我知道有人有过。在跨职能团队中融入测试人员/质量工程师,并且—有一个或多个总监级别(或者大型组织的经理级别)的“质量实践领导”。

测试人员/质量工程师和跨职能交付团队的其他成员一样,汇报给同一个经理。并且,质量实践负责人会提供一些额外的支持。考虑一个刚刚转型为敏捷或Devops文化的组织。质量实践负责人可以为团队组织适当的培训,以学习如何实施整个团队的质量方法。如果测试人员/测试工程师在其交付团队中遇到任何困难,质量实践负责人可以与开发主管和经理合作,帮助团队一起走上正轨。他们可以构建一个面向组织的质量实践社区—开放给每个人,而不区分他们的专长或角色。

这种方法的好处是,测试和质量专家是同等重要的交付团队成员,整个交付团队协作构建质量。测试和质量专家帮助他们的交付团队成员学习测试技能。当他们无法从交付团队的人员那获得帮助时,仍可以找人求助。

在组织中,拥有一个与最高开发主管相同级别的质量实践者,可以提高质量和测试的可见性。该负责人可以与其他角色的领导合作,使团队能够不断改进他们的质量实践。他们可以制定一些措施如质量规范评估,来帮助团队改进。对我而言,这是两全其美的事情—成为一名全心投入的交付团队成员,并且得到处于领导地位的测试和质量专家的支持。

我希望我已经以一种利于理解的方式讲明白了这些。您认为在现代软件组织中,做到质量领先的有效方式是什么呢?期望听到您的经验分享。


声明:本文为本站编辑转载,文章版权归原作者所有。文章内容为作者个人观点,本站只提供转载参考(依行业惯例严格标明出处和作译者),目的在于传递更多专业信息,普惠测试相关从业者,开源分享,推动行业交流和进步。 如涉及作品内容、版权和其它问题,请原作者及时与本站联系(QQ:1017718740),我们将第一时间进行处理。本站拥有对此声明的最终解释权!欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,与我们的编辑和其他窝友交流。
150° /1500 人阅读/0 条评论 发表评论

登录 后发表评论