写点什么

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

  • 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:285055

评论

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

defi流动性挖矿系统开发案例分析,defi流动性挖矿现成源码

系统开发咨询1357O98O718

拍乐云受邀QCon大会 | 详解音视频技术架构实践,首发美术教学音视频方案

拍乐云Pano

拍乐云推出业内首个「线上美术教学音视频方案」,打造极致互动体验

拍乐云Pano

defi流动性系统开发案例详情丨defi流动性源码功能

系统开发咨询1357O98O718

系统性思维 系统之美1

张老蔫

28天写作

蓝海战略 - 如何设计与众不同的价值曲线

石云升

战略思考 职场经验 6月日更

联邦计算在百度观星盘的实践

百度Geek说

从零开始学习3D可视化之控制对象(2)

ThingJS数字孪生引擎

可视化 数据化 3D 3D可视化

龙蜥专场精彩回放来了!10位技术大咖、242位开发者相聚

阿里云基础软件团队

分享:在阿里做Java开发的这五年,收获与感悟

Java架构师迁哥

持续测试 | 测试流程提效:在 CODING 中实践迭代内的持续测试

CODING DevOps

DevOps 测试计划 持续测试 迭代式测试

如何设置HashMap初始化大小

Hex

后端 hashmap

python使用命令行传入参数

卤蛋翔

6月日更

百度搜索与推荐引擎的云原生改造

百度开发者中心

云原生

defi流动性挖矿系统开发(案例版)丨defi流动性挖矿源码现成版

系统开发咨询1357O98O718

百度开发者中心全新升级 | 文末六一送福利

百度开发者中心

百度 福利

OpenYurt v0.4.0 新特性发布:高效地管理边缘存储资源

阿里巴巴云原生

云原生

阿里P8熬了一个月肝出这份32W字Java面试手册,在Github标星68K+

Java 程序员 面试

2021金三银四面试经历:腾讯三面落马+拒网易、CVTE后,字节四面成功拿下offer

Java 程序员 架构 面试

23种设计模式,正确的解读方式原来是这样

Java架构师迁哥

研发自动化,你准备好了么?

PingCode研发中心

研发管理 研发效能 研发工具 研发团队

官宣!禅道与极狐(GitLab)达成深度合作,携手推进开源开放DevOps生态发展

禅道项目管理

项目管理 DevOps gitlab

大数据好书推荐

五分钟学大数据

你想进大厂吗?阿里Java面试“内幕”分享

Java架构师迁哥

反洗钱监管再度升级,看这家金融集团如何应对

索信达控股

大数据 银行 金融监管 风险管理 数据管理

新大陆!阿里P9整理出:Java架构师“成长笔记”共计23版块

Java架构师迁哥

OGA 联盟正式成立!禅道作为理事单位助力共建开源生态!

禅道项目管理

项目管理 DevOps gitlab

《原则》(三)

Changing Lin

系统性思维 系统之美2

张老蔫

28天写作

Flink 在有赞的实践和应用

Apache Flink

flink

【干货篇】bilibili:基于 Flink 的机器学习工作流平台在 b 站的应用

Apache Flink

flink

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