如何评价团队的质量能力?

质量是团队整体的能力

为什么讨论这个话题

在质量与测试领域,有一个既老生常谈、又常谈常新的问题,“如何评估测试人员的绩效”,我每年都有机会见到它几次。与之相关的,还有以下问题可以一并思考:

  1. 如何评估测试效果?
  2. 如何评估质量能力?
  3. 如何评估测试人员的能力水平?
  4. 测试人员如何发展?
  5. 如何建设和发展质量团队?
  6. 研发效能大热了,测试能够做点什么?

这些问题频繁地出现在各种场合,被质量从业者、或与之密切合作的其他角色所关注着,我们会在不同时间、不同地点看到为解答这类问题衍生的如下误区:

  • 以工作量来评价:提交缺陷的数量、完成测试的需求卡片数量、编写/执行的测试用例数量……
  • 以工作效率来评价:一定周期内的缺陷数、编写/执行用例数、编写自动化测试用例数、复测并关闭缺陷数……
  • 以测试覆盖率来评价:自动化测试覆盖率、手动测试的业务覆盖量/率……
  • 以其他任务量来评价:对外支持、联调测试或开会的时长/次数

之所以说这些评价方式是误区,是因为有可能我们最终获得了想要的KPI,但并未看到测试效率因此变好,软件质量因此提升,团队协作因此获益。相反地,我们可能看到了由于不合理的评价方式,质量更加糟糕,团队更加割裂,工作体验进一步恶化。

团队争吵
仇人见面分外眼红……

于是,我想尝试给这类话题总结一个解读方式,由于这是基于个人实践经验和侧面观察的解读,有可能存在一定偏差,请大家按需酌情参考。

团队质量能力清单

在这之前我们聊过,质量体现的是团队整体的能力,而非单一角色的能力。只有每个角色都贡献专长,并且存在合理的质量管控机制,将各角色的能力有机地结合起来,团队才会对外体现出优秀的质量能力。这个观点在之前已经多次讨论过,我们姑且把团队的质量能力作为共识,来继续下面的讨论。

以往聊得较多的是质量理念,当它落到团队中时,所谓的质量能力到底会有哪些表现呢?根据我的观察,粗略整理了一份《团队质量能力清单》,具备高质量能力的团队大概率会有以下表现:

1. 质量全局观

  • 以全局的视角看待质量,相比局部质量,更重视全局质量
  • 以发展的眼光思考质量,相比阶段性的质量,更追求长期的高质量

2. 质量规划能力

  • 能设计与软件特性、团队情况适配的质量策略,达成团队共识
  • 能根据软件架构、测试需求、环境资源等因素设计有效的测试架构
  • 能对质量任务进行统筹规划,制定和调整测试计划
  • 对质量的思考应尽早介入产品设计和研发过程

3. 质量风险干预能力

  • 能尽早预判和识别质量风险
  • 利用合理的风险管理框架来进行质量风险管理
  • 具备有效应对常见质量风险的能力

4. 质量干系人管理能力

  • 能识别和管理质量相关干系人
  • 能和干系人对质量预期、质量标准和质量需求进行充分的沟通和澄清
  • 能将质量状态及时同步给干系人,并管理干系人预期

5. 良好的测试水平和测试效率

  • 能根据测试需求和人员能力选择高效的测试方法和工具
  • 能设计出有效发现缺陷的测试用例集合,并合理管理测试用例
  • 能按需按时完成测试任务,保证版本质量
  • 能提供保障质量所需的测试支持

6. 质量研发能力和基础设施支撑

  • 具备常见测试工具的使用能力
  • 具备测试所需的测试代码编写能力
  • 具备保证质量所需的工具、脚本、平台的研发能力
  • 具备保证质量所需的基础设施和其他资产

7. 质量观察和度量能力

  • 全员具备质量观察意识,具备讨论质量所需的专业基础
  • 具备保证质量所需的度量框架,度量方法和指标选取得当
  • 具备度量数据采集和汇总能力
  • 具备根据需求调整度量框架的能力

8. 质量分析与改进能力

  • 具备质量分析能力,能针对质量数据进行整合、分析
  • 能从质量数据中获得有效洞察和改进点
  • 具备质量改进的能力和资源支持
  • 具备质量改进效果的评估和调整能力

9. 质量适应性

  • 当质量需求、标准或干系人预期变化时,能适时调整质量策略
  • 当质量波动较大时,能分析原因,并调整团队情况以应对变化
  • 当遇到外部突发影响因素,如政策法规、信息安全等相关的质量诉求,能迅速协调资源以应对变化

10. 质量内建和团队赋能

  • 关心软件质量领域的重大事件,保持行业敏感度
  • 能及时与团队同步质量状态及变化趋势、内外部期待、行业变化等信息
  • 能从质量数据中挖掘出对业务价值、产品策略、研发效能、团队管理等有价值的洞察,并与团队分享
  • 持续不断的提供质量所需的各种能力,包括但不限于:测试数据/脚本和工具等测试资产、质量理念和实践的宣讲、质量价值的回顾与反思

这些能力彼此之间可能存在依赖关系;对于不同团队来讲,这些能力的重要性不同;由于上下文和资源的差异,各个团队所能触达的能力上限也不同。因此,我们暂不约束这些能力的实现等级。

这份《团队质量能力清单》,可作为团队的自检列表:当质量堪忧时,它有助于帮助团队快速定位隐性问题;当我们自认为质量较好时,它有助于自评质量能力,识别改进点;当希望构建质量影响力时,它可以提供可能的思路和方向。

打造质量能力的意义

在阐述完对团队质量能力的理解后,我尝试将打造团队质量能力的意义与所需的主要能力映射起来,我发现这个映射关系很可能是不唯一的,以下是我尽可能少的连线示例,换句话说,这可能是为了实现左侧意义的最小能力集合:

打造团队质量能力
打造团队质量能力

由于前四个意义已经被广泛讨论,这里就不再赘述了,我重点想讨论“优化团队体验”这一项。尽管在大多数场景下,这可能不是我们尝试评价团队质量能力或测试人员绩效的初衷,它作为最后考量的因素,往往会被忽略。但当我尝试解构一些冲突时,会发现这世上只有人是最值得关注的,除人以外的其他概念如公司、团队、组织结构、方法论等等都只是概念而已,它们的存在理应促进人们彼此之间的联系,优化沟通场景;而另一些概念如产品需求、应用软件、甚至AI,其本质都是为人提供服务的。所以,在这里重点强调一下“优化团队体验”,如果团队中的个人不能在工作中感受到有意义和被关怀,那么我们简直可以断言,这个团队不会具备良好的质量能力。

小结 - 做质量的本质

在上次直播《质量改进怎么改怎么进》中我提到,做质量的本质是对外提供一种服务,这个服务可以被这样描述:让团队始终具备交付高质量软件所需的质量能力。为了保证干系人和客户满意,我们需要持续对齐预期,高效实施测试,以适应性来应对风险和变化,持续度量、分析和改进质量,始终强调业务价值,并坚持质量内建,力求让团队能以成本低、收益高、体验佳的方式来交付高质量的软件。


思考:

  1. 我当前的产品处在什么阶段?当下最重要的质量目标是什么?
  2. 在清单中提到的各项能力中,哪几项可以是目前的工作重点?
  3. 为了追求长远的高质量状态(至少不衰退),我们应该做什么?
团队质量能力
All rights reserved
Except where otherwise noted, content on this page is copyrighted.