东亚银行、岚图汽车带你解锁 AIGC 时代的数字化人才培养各赛道新模式! 了解详情
写点什么

敏捷团队中测试工程师的绩效管理

  • 2011-06-02
  • 本文字数:3268 字

    阅读完需:约 11 分钟

在正文开始之前,首先感谢张凯峰编辑不厌其烦的提醒,没有他坚持不懈的提醒,就没有本文的面世:)

在本专栏的前几篇文章中,我们提到了敏捷测试的概念、组织,以及敏捷测试中的自动化测试组织方式。在这篇文章中,我试图来讨论一个更加困难的话题——敏捷测试中工程师的绩效管理。众所周知,绩效管理从来都不是一个容易的工作。甚至,我认识一位测试经理,他视绩效打分和沟通为畏途,每到季度结束需要为员工做绩效的时候就格外紧张。

为什么绩效工作不容易?从我自身的感受以及听到的抱怨中,主要有两个方面的原因。首先是评价标准的确定。对测试工程师团队来说,通常测试工程师都会分散在不同的项目中,追求建立一个“公平的”标准非常困难;其次是在对绩效工作的理解上,绩效工作包括目标设定、绩效评价、绩效跟踪、绩效沟通几个主要部分,但不少测试管理者仅仅把重点放在绩效评价上,忽略了目标和基于目标的沟通,导致绩效工作变成了一个单纯的打分,这样自然引入了许多的问题。

首先来看看测试工程师的绩效管理。设定绩效目标是绩效管理的第一个环节。我以为,对绩效目标正确的理解是建立合理的绩效评价原则和体系的前提。例如,“发现的缺陷数”和“编写的用例数”大概是最多的测试组织对测试工程师绩效评价的标准,那么这个标准是否合理?实际上,在实践中,“发现的缺陷数”并非一个好的衡量成员工作的指标:首先,不同的项目中,缺陷数量本来就不同,发现缺陷的难易度也不同;其次,并非每个缺陷都有相同的价值,发现缺陷的数量多不见得意味着发现的缺陷的质量高。既然这样,为什么“缺陷数”仍然成为了大多数组织的绩效衡量标准?我想,主要的原因,恐怕在于这个数据具有典型的“量化”特性,在一定程度上反映了测试工作的状况,且具有表面的“公平”的特性。

1. 设定绩效目标

在讨论这种方式是否合理之前,我们先讨论绩效目标本身。为什么要为测试工程师设定绩效目标?答案可以是“为了发奖金”,但在我看来,奖金的发放只是对绩效完成好的员工的奖励,而绩效目标本身是对团队成员的一种指引。简单的说,设定绩效目标是为了让员工明白“组织期望你做什么”,通过这种设定来达成组织的目标和期望。所以,设定一个绩效目标的目的不是为了“绝对的公平”,而是为了让所有的团队成员都明白“怎么做才是组织期望的”。设定“发现的缺陷数”作为主要的绩效指标只能导致一个后果:所有的团队成员都把自己的价值定位在“发现更多的缺陷上”。表面上看,这样并没有问题:测试团队的工作不就是发现缺陷吗?这里有一个有趣的虚拟场景(这个场景是我最喜欢的,用来挑战这种衡量标准的场景):

测试团队成员 A 加入了 P 项目,在开始的一个月中,平均每个版本他能发现 50 个缺陷;半年后,A 可以在每个版本中发现 100 个缺陷。你认为他应该得到很高的评价吗?

从“发现缺陷的数量”上看,显然,成员 A 做得非常出色。但是,如果从项目的角度来看呢?这个项目的质量显然越来越糟糕了。这样岂不是非常危险的信号:“测试团队所期望的目标和组织的期望是背道而驰的”?太糟糕了。

为组织中的测试成员设定什么样的绩效目标才合理?简单的说,取决于组织的目标是什么。在敏捷环境下,我们期望整个测试组织能够持续的提升生产率,能够持续的提高产品质量,因此,在设定绩效目标的时候,需要把员工的绩效目标与组织的这些目标牢牢的绑定在一起。此外,目标本身需要是可度量和衡量的,因此,从生产率和提高产品质量等角度入手,可以考虑以下这些绩效目标:

  1. 提高生产率
  • 更短的产品的发布周期
  • 更短的测试周期
  • 更少的产品测试迭代次数
  1. 提高产品质量
  • 更少的线上缺陷
  • (同样测试覆盖率下)更少的系统测试中缺陷数量
  • 促进更好的代码质量
  1. 促进可测试性
  • 单元测试覆盖率
  • 接口和系统的自动化测试覆盖率
  • 促进更好的可测试性

2. 绩效跟踪和打分

设定绩效目标之后,依据绩效目标跟踪测试工程师在整个绩效周期中的工作,保证 TA 的方向的正确性,这是一般意义上的绩效跟踪工作。通常情况下,绩效目标的完成情况可以通过定期的一对一会议或是通过工作日志、周报等来获取信息。一旦发现员工在完成绩效目标方面存在困难,或是目前的方向有偏差,管理者就需要及时指出并和员工讨论如何改善之。在某些情况下,管理者甚至需要为员工设定明确的以周为单位的分解后的绩效目标。

在绩效周期结束的时候,为员工在一个绩效周期内的打分主要依据绩效目标的完成情况来决定。除了绩效目标的完成情况外,员工在反馈、沟通、响应变化等方面的表现也是对员工进行评价的因素。因此,除了对照绩效目标的完成情况外,从测试工程师所在项目或产品的干系人(Stakeholders)得到该工程师的反馈也是很重要的。这方面的内容可以参照 360 度考核的具体方式,可以采用正式和非正式的方式从干系人除获得对员工的反馈。

3. 绩效面谈

设定目标与打分完成后,你是否可以松一口气,告诉自己“嗯,这个季度的绩效考核终于完成了“?不然,最残酷的考验还没有到来呢。愿意回忆一下你最近一次的绩效面谈是怎么开展的吗?

“现在我们开始绩效面谈。你这次的评价是 B,因为……。有什么问题吗?没有问题的话,那就下一个”。

大约这是你所能想到的最顺利的面谈了吧,如果遇到不那么配合的员工,对话通常会演变成这样:

“现在我们开始绩效面谈。你这次的评价是 B,因为……。有什么问题吗?没有问题的话……”。

“有问题。我觉得我这个季度工作表现还不错,为什么只是这么低的评价?”

“呃,是这样的。这个季度的绩效目标中,你完成了第一项和第三项,但是第二项完全没有完成……”

“第二项没有完成不是我的问题啊,是 XX 没有及时提供文档给我,这个情况你是知道的。”

“呃,对。我知道,但是……”

“既然不是我的问题,为什么你要把这个责任算在我的头上?我觉得这个不公平。”

“你看,我们的绩效原则就是这么定的,这个也不是我定的……”

“你的意思是,我们就是这样的,即使不合理也要按照这种方式来做,是吗?”

“……”

节节败退。一旦你搬出“这个原则不是我定的”这个理由时,你就已经一败涂地了。至此,员工已经 100% 确认了你对他的评价是不公平的。你的绩效工作在 TA 身上彻底失败。那怎么才能避免这种情况呢?招一堆小绵羊似的员工,或是干脆不要做绩效,都能让你不会陷入这种境地。但是,对一个的负责任的管理者来说,这两种都不是好选择。

冲突,在绩效上与员工的冲突并不罕见。我猜想,即使是最好的管理者,也一定遇到过这种类似的被员工挑战的情况。退回到“公平”的底线,和员工讨论绩效原则是否“公平”并不是一个好的策略(记得我在前面提到过,绩效不是为了“公平”的目的而设定的吗?)。

绩效面谈是一个极好的认可你的团队成员的工作、和他共同探讨如何改进自己工作的机会。绩效面谈的重点不是和你的团队成员纠缠在每一个 0.1 分的得失上,也不是要让他认为你是绝对公平的上帝,重点是和他共同探讨如何改进自己的工作。所以,一旦对话开始纠缠在公平、0.1 分的具体分差上,立刻当机立断,引导话题到改进工作和展望下一个绩效周期吧。

要能够正确的评价敏捷环境下的测试工程师,除了设定合理的评估体系外,评估者本身是否具有足够的技能来对工程师进行评价也是一个重要问题。Michael Lopp 在《软件人才管理的艺术》这本书中建议,技术管理者应该“不要停止写代码”,这样才能保持敏锐的技术触觉,以及更好的弄清楚“如何帮助和支持工程师”。在敏捷的环境下,这一点尤其关键。如果一个测试团队的管理者不能深入了解每个项目的状况,改进,问题,那就不可能真正合理的评价在该项目中工作的测试工程师。管理者不仅需要了解测试工程师在每个项目中的任务,还必须能够深刻理解工程师在项目中采取的促进质量提高的方法,并能在方向和具体方法上对其进行指引。不管怎么说,你的团队成员是你最大的财富,尽一切努力让他们有目标,有方向,有成就感吧。

关于作者

段念:Google 中国高级测试经理,毕业于华中科技大学,先后在通讯、嵌入式软件、互联网等多个行业的国内外知名公司中从事软件开发与测试工作。对软件测试中的技术和管理工作有独到见解,对软件测试团队管理、自动化测试、性能测试与开发测试有较多研究。

2011-06-02 23:284915

评论

发布
暂无评论
发现更多内容

阿里云可观测 2023 年 3 月产品动态

阿里巴巴云原生

阿里云 云原生 可观测

TypeScript常用代码块

青柚1943

LED显示屏近年来在中国的发展趋势

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家

用户需求挖掘与分析,某新零售快消品电商系统成功交付的秘诀

L3C老司机

产品 产品设计 需求分析 产品管理 用户画像

intellijidea卸载重装无法打开怎么办?IntelliJ IDEA彻底卸载教程

Rose

IntelliJ IDEA 2023下载 IntelliJ IDEA 2023破解 IntelliJ IDEA 2023最新 IntelliJ IDEA卸载

AI日课@20230407:别为下一代过虑;现在多多体验产品

无人之路

ChatGPT

封仲淹:OceanBase开源技术生态全景解析

OceanBase 数据库

数据库 oceanbase

DDD洋葱架构才是 yyds!阿里大牛手记(DDD)领域驱动设计应对之道

做梦都在改BUG

Java 领域驱动设计 DDD 架构师

“ONE”有引力,4月21日见!

博睿数据

智能运维 博睿数据 发布会 Bonree ONE

OpenTiny 的这些特色组件,很实用,但你应该没见过

Kagol

开源 前端 Vue3 组件库

架构实战营模块 5 作业

白杨

如何清理优化你的Mac?MacCleaner Pro系统综合清理释放磁盘空间!

Rose

磁盘清理 mac系统清理优化软件 MacCleaner Pro下载 如何清理苹果电脑

macOS 网站下载和离线浏览工具:SiteSucker Pro中文版

Rose

苹果软件资源站 SiteSucker Pro中文 整站下载工具 SiteSucker Pro Mac版

失真的概念和定义

timerring

信息论 信息论与编码

Goerli测试币领不到了?还有这三个解决方法

加密先生

eth Goerli

LG电视如何投屏?Mirror for LG TV智能投屏工具轻松解决

Rose

mac软件下载 LG电视 投屏软件 Mirror for LG TV

Vue3常用代码块

青柚1943

QEMU事件循环机制

Linux内核拾遗

Linux Kenel 虚拟化 事件和事件循环 qemu kvm

D-ONE计划解读|得帆云DeCode持续引领低代码产品演进!

得帆信息

新产品 低代码平台 aPaaS

Drone CI 部署

流火

前端面试实录HTTP篇

控心つcrazy

https HTTP 前端面试 前端已死

Django笔记三之使用model对数据库进行增删改查

Hunter熊

Python django model 增删改查

王者荣耀商城异地多活架构设计

白杨

PreSonus Studio One 6 Pro最新版v6.1.1中文下载 (音乐创作编辑软件)

Rose

Studio One6 Studio One 许可证 Studio One 破解 音乐制作软件

Mac 无线网络扫描工具:WiFi Explorer 3.4.2 (57)激活汉化版

真大的脸盆

无线管理 wifi工具

5分钟搞懂NESAS

俞凡

安全 网络 通信

IBM Semeru Runtime 17.0.6.0 在 Linux 下的安装

HoneyMoose

Github标星42K!不愧是腾讯云大神亲码的“redis深度笔记”

采菊东篱下

Java redis 面试

千亿流量并发治理!Alibaba实战Sentinel笔记,为微服务保驾护航

做梦都在改BUG

Java 微服务 sentinel 高并发 流量治理

了解5G安全标准,看这一篇就够了

俞凡

安全 网络 通信

Web & WebDav Server在Mac上创建Web服务器

Rose

Web 服务器 mac软件下载 Web & WebDav Server破解

敏捷团队中测试工程师的绩效管理_研发效能_段念_InfoQ精选文章