02 | 效能度量:效果不好甚至有副作用,怎么回事?
02 | 效能度量:效果不好甚至有副作用,怎么回事?
讲述:葛俊
时长14:27大小13.23M
研发效能度量的定义和作用
效能度量的错误案例
案例 1:全公司范围内推行一套效能度量指标
案例 2:一个中型公司推行质量方面的指标
案例 3:某创业公司聚焦度量开发、测试、上线准确度等指标
效能度量被大量误用,问题究竟出在哪儿?
总结
思考题
赞 5
提建议
精选留言(27)
- 陈大宏2019-08-27代码行数和 bug 数量这两个无聊的指标。居然都在公司的绩效考核中出现了。无语。
作者回复: 根本原因是:不知道怎么样度量开发人员的绩效。就是用了这两个指标作为Proxy。
共 7 条评论13 - 囧囧冰淇淋2019-08-261.研发效能的定义和作用 研发效能的度量,从应用程序开发的生命中期中获取数据,并使用这些数据来衡量软件开发人员的工作效率。 主要为实现三点: 1.跟踪团队的表现、提高团队的绩效。 2.提高项目计划的准确度。 3.了解流程是否高效,寻找需要改进的关键领域。 达到度量目的:简化流程、发现瓶颈、帮助团队改善产品生命周期、更高效地产出质量更好的产品。 理解:关注团队的表现,团队的成长;关注项目的准确性,不要经常走弯路;关注流程的高效,实现迅速,也方便新人快速加入。 工作都是人去做的,首先关注人、团队,而不是数字。关注人,给予团队支持和信心,即使走错路了,大家会一起想办法一起努力。关注数字,人和团队就可能发生数字造假或者数字失效,比如案例1和3。 个人碰见的数字造假: 客服团队造假。某天,老板想优化下客户服务,从客服下手,根据行业标准定出了一个指标,询单转化率、回复率、回复时长、未回复数,这些指标再分解成工资。老板十分鸡贼,算了下认为这可以提高客服工资,店铺转化也可以提升,双赢。然而客服团队一算,只有达到一个高标准,才会比以前工资高,只有平均就比以前差几百。客服们很抱怨,但当面也说不赢老板,于是发明了过墙梯:对于回复率呢,以前一句话说完,拆成2-3句。回复时长使用表情大法,先来一个表情缩短时间。最后客户服务没有优化,转化率也没提升,客服团队怨声载道,当时能力有限,感觉也对不起他们。展开
作者回复: 你认真学习,不断追求进步的样子真是棒!! 你讲的客服例子很有意思。我记得以前好像是亚马逊还是哪个公司的客服也出现过类似的事情。
共 4 条评论11 - 西西弗与卡夫卡2019-08-26写的很好,有点等不急,好想催更
作者回复: 多谢支持!后面有问题建议欢迎啊 😀
5 - stefli2019-08-27我们目前是基于scrum的软件数据来粗略跟踪一些执行过程数据。包括:每个迭代的周期数据,估算与实际登记数据,线下和线上Bug数据,Bug分类数据,团队成员任务及估算、实际工时等。从这里也能看出一些信息: 1. 估算与实际操作之间耗时是否匹配,准确度是多少,基本在70-80之间,除了造假数据。造假的化可以拿每日登记情况进行粗略判断 2. 每个职级团队成员的大致行为,比如单位用时产生的Bug数量,每个迭代的平均任务数,Bug等,包括大致每个任务的平均估算时间。有的大概在3-6小时一个任务,拆分越小越容易把控进度。有的团队平均是8小时一个,时间会比较“充裕“ 3. 随着质量团队和研发团队质量意识的提高,月度Bug或线上Bug有减少,质量在提升。临界点尚未得到,到时再观察任务数、估算等数据 总的来说,数据可以来自多方面,至于如何去用,还需要更多的研究和分析展开
作者回复: 我的经验是这些数据可以用作参考,帮助团队改进,但是不要跟绩效直接挂钩。 “随着质量团队和研发团队质量意识的提高,月度Bug或线上Bug有减少,质量在提升。”这个就是度量可以用来参考,它显示出来一个趋势。👍👍 (不过要注意单个指标有的时候可能不全面。比如bug减少,会不是因为功能减少等其他原因?当然这只是随便的一个例子。)
4 - 菜头2019-12-27能效=有效工作/单位时间+偏差 有效工作可以是用户故事点衡量的任务(需求,架构,开发,测试等) 单位时间单位为人日(根据能力,有些人可以是5小时,有些人可以是10小时) 偏差可以是 用户价值,生产品质等 完美。哈哈
作者回复: 👍👍👍
3 - 🌀Pick Monster ...2019-08-27我们公司现在受制于客户,每月要求1000行代码量达标,我作为基层管理,主要代码都有团队成员编写,而我除了客户对接,需求分析和算法设计之外则主要编写关键点和优化点代码,每个月代码量都无法达标,给领导各种解释啊。而且公司严管外网访问,我作为团队首领也是没有外网权限,只能有手机查看需要的资料。这样的开发环境很难高效开发。
作者回复: > 每个月代码量都无法达标,给领导各种解释啊 领导能理解吗?1000行代码量是客户要求的吗?如果你能说服你领导你的工作提供了足够的价值,问题只是客户那边不理解的话,那就比较好办。说服客户,或者可以把一行分成两行写。如果你不能说服你的领导,就比较麻烦了。 > 只能有手机查看需要的资料。这样的开发环境很难高效开发。 这个的确是麻烦。可以花点时间研究一下手机上学习的工具。同步手机和电脑的工具应该是比较有用。比如:Pocket(https://getpocket.com)用来记住感兴趣的URL,Evernote,Mac Note,OneNote,等等用来记笔记,讯飞输入法可以记录有声笔记,等等。
共 4 条评论3 - 荒野之望2019-09-24度量如果是基于成功OKR的,会发生什么?
作者回复: OKR的使用。也有一个重要的原则是不要把它的度量和绩效强挂钩。 我的理解,OKR更是一个目标对齐的工具。
共 2 条评论2 - Anders2019-09-02请教老师:实际工作中有的「需求」简单改几字就可以交付花个几分钟,有的「需求」要修改很多地方,耗时可能上月,这时如何评价效能?假如有的尽是前一类需求,有的团队都是后一种,组织层面如何公平的来度量不同团队的效能?
作者回复: 这种情况,如果指望客观的数据是行不通的。我的经验是只能考管理者主观的判断。组织层面必须要能够给做脏活累活的团队足够的认可。
2 - 仙女的猪2019-08-27指定流程、标准、考核指标以及选择适合的工具,搭配好了可以爆发出巨大的效能 只可惜很多时候,是自上而下的管理,不懂基层真正需要什么,而做了错误的决策,导致一系列问题
作者回复: 这种情况,如果管理者心态开放,能接受改变和改进,还有一些办法,比如在底层做出一些东西,让管理者看到能解决关注的问题,会有一些正面的效果。如果管理者自认为自己懂,那就比较难了。
2 - 有学识的兔子2019-09-03常见研发效能度量失败的案例应该归属量化的绩效考核,为了追求较好的绩效指标,采取以绩效指标为目的的工作方式,导致忽视了本职工作,也间接伤害了那些以团队利益为出发工作的员工。 对于度量,没有经验,但个人觉得团队度量会比个人度量更好一些,促进团队的成长,也促进了个人发展,同时增加一些个人奖项,激励某方面能力突出的员工。
作者回复: > ...但个人觉得团队度量会比个人度量更好一些,促进团队的成长 说的非常对!
1 - 大河2019-09-03尝试在前端团队中推行Code Review,每个项目分配一名同事和一名主管负责审核,主管还是比较负责,能够提出一些问题,另一名同事则比较敷衍,整体的Review效果并不理想,但如果强制要求每次Review必须提出问题,又有点过于死板,不知道有没有比较好的方式方法,可以借鉴
作者回复: 后面会有两篇文章专门讨论代码审查。敬请期待 :) 针对你的描述,我觉得比较有效的代码审查不应该是集中式的,而应该是p2p的。也就是说,开发人员之间互相审查,而不是有专门的人来审查。
1 - 张普2019-08-29接手前人的代码,不断补坑,bug修复的多,没有新需求
作者回复: 我的一个好朋友,在Google工作10年,技术过硬。关于维护别人的代码,他推荐这本书: 英文版: Working Effectively with Legacy Code https://book.douban.com/subject/1428943// 中文版: 修改代码的艺术 https://book.douban.com/subject/2248759/
1 - 寒光2019-08-26大概的准确胜过精确的错误,放任不管,让团队自由发挥,如果是BAT这种大厂的自有研发人员,OKR当然没问题,反之,就肯定行不通。期待接下来的课程。
作者回复: 肯定不能放任不管。如果工作跟团队方向不对,产出达不到预期,Facebook这些公司砍人是很果断的。专栏最后一个模块,我会介绍一些绩效考评相关的内容。
1 - ヾ(◍°∇°◍)ノ゙2019-08-26问题复杂之后方法需要使用完全不一样的工具了,比如今天的深度学习使用了完全不同于传统算法的办法,虽然说可解释差,但是还是有一些好和坏的准则的。就像现在提倡okr而不是kpi,鼓励共同成长,相互尊重,分享收益等都是很积极的应对措施,还有更用心的过程控制不可缺少
作者回复: 👍👍
1 - 葫芦娃2023-02-06 来自上海效能度量:在研发过程中,通过数据来反映开发人员效率,而非主观意愿。 作用: 1.提高团队表现,提高团队效率 2.提高项目计划的准确度 3.了解流程是否高效,寻找需要改进的领域 为什么难以度量? 根本原因:软件开发本就是一个高创造性的知识性活动,伴随着复杂性和不确定性 具体原因: 1.度量和绩效挂钩,很容易变成“做数字”游戏 2.如果只做局部度量,强逼局部来解决全局的问题,会给局部带来反作用 3.度量数据只能度量开发效率和质量,但不能解决用户问题,不能产生用户价值 4.度量数据难以考虑全面,并且有效数据获取难度特别大。展开
- 葫芦娃2023-02-06 来自上海代码行数是最没有用的度量指标,甚至是反向度量指标 当一个复杂系统,因为设计方案不合理,随着一个次次迭代,系统最终变成一个到一个高耦合、低内聚的状态,这时候会发现,更改一个地方就影响巨大,要写大量的代码填各种不可预料的漏洞。 所以,我通常认为代码行数在某些情况下是技术方案不完善引起的。展开
- Geek_PM2022-11-19 来自河南我们公司的效能组居然在收集代码行数,代码提交频次,这些就很容易造成造数据问题,本身团队都在努力提高代码质量,但是现在下面开发都不知道怎么搞了,本身软件开发一个功能,有写几行代码搞定的,也有需要写上百行代码的,这能说代码行数多就算高水平开发?
- 阿甘2022-04-01What you measure is what you get.
- Geek_d2f1502020-07-31我们现在就有修复bug进行奖励的措施。严重bug修复奖励100米,超时未修复要通报,现在每个迭代bug回顾会议都加入了领奖环节,写出严重bug变成一件挺开心的事情。
作者回复: 艺术源于生活而高于生活
- 桥墨2019-10-27那到底该如何考核程序员,效能组成员呢
作者回复: 在Facebook度量开发人员东公司的贡献度(impact)。具体度量主要是采用360度绩效考评系统。我在最后一模块“管理和文化”中会介绍。