现代软件工程 10 绩效管理

[现代软件工程 讲义 ]

我们前文讲了怎样衡量软件工程师的能力,  工程师如何成长, 如何证明自己的成长, 等等. 这些都是在一个独立的, 不受外界干扰的空间中做出来的判断。 我们假设一个有能力的工程师, 到了另一个团队, 仍然是一个有能力的工程师。

如何衡量个人在团队中的绩效?

如果一个工程师能够成长,他/她就应该在团队中发挥较大的作用。但是一个团队中的每一个人都有各自的努力和作用, 如何衡量个人在团队中的绩效呢?  我们看看别的行业的例子:

• 一群人把一堆砖头从A地搬到B地。

• 一个剧组排演话剧     (有导演, 有主角, 有配角, 有舞美设计, 有灯光师, 角色能随意替换么?)

• 一群画家集体创作 “百里长江图”     (你画一个局部, 我画一个局部, 如何构成一部好作品?)

• 一群医生/护士轮流值夜班     (有人值班一个晚上抢救了几个病人, 失败了几次;也有人值班时没人来求医, 谁好?)

• 一群老师教课     (有人讲得难, 有人讲得容易, 有不同的课程, 谁最有效率?)

• 一群编辑在出版社里出书     (有人碰到好题目, 有人碰到不靠谱的作者, 有人的书叫好,有人的书叫座, 有人的书冷门但是有热情,  谁是好编辑?)

• 一群学生做软件工程项目

 

这篇博客讲的是从管理者的角度出发如何管理一群人的绩效。  一群人在一起做事, 事成之后, 就有排座次, 论功劳的问题 - 在有些团队里, 事成之前就为功劳的事吵翻了 Smile 

软件团队如何做人员的绩效管理? 这个问题较难回答, 因为所有人的工作被集成在一个软件产品中, 互相依赖, 产品功能被用户赞扬或批评, 都不能简单地完全对应于某一个人的工作。 有些功能看起来好, 有人会说 - 因为这个很容易…  有些功能用户不喜欢, 当事人会说 -

“换别人来做, 可能还不如我呢.” 或者,

“这是底层的问题”, 或者

“PM 根本就没设计好” 或者

“测试人员没有好好测!” 当然, 还有 –

“用户太蠢了"。。。  

 

在软件工程这门课中, 几个学生组成一个小组, 干活多的人和干活少的人都得到一样的 “团队成绩”, 这似乎不利于调动积极性。 为了解决这个问题, 我给每个团队一些浮动的分数 - 相当于基本工资之外的奖金, 大家决定怎么分这个“团队贡献”的奖金。

 

有人会说, 根据工作量来算就好了!这会出问题 - 以前我写过:

今天一个做技术推广的朋友说他的老板非常重视“量的管理”,“质” 则次之。

这使我想起偶尔看到一本书中的一段回忆文字,虽然不是 IT 行业,但是有异曲同工之妙:

“。。。他是多年在联合国工作的资深外交人员,对议事规则相当熟悉,不断要求上台发言。... 他在代表团内始终是副代表代理常任代表,而他的待遇则依照在联合国内发言时间的多寡做决定。 …他每天游走于联合国大厦各会议室间,进门后即登记发言,随即静听先登记各代表发言内容,他不需准备,轮到他时即席演说,最少三十分钟,随即到次一会议室照样发言,…第二天将有关速记纪录中他的发言辑录起来,月底向祖国报销,根据发言数量由政府核发薪资
十月二十五日下午,大会中他将这项技术发挥尽致,多次依照议事规则相关条文要求发言,每次发言必长,引起与会代表极度反感。”

另外在软件行业, 如何衡量工作量这本身就是一个大问题.

  1. 根据每人代码量, 每天统计进度? 有大牛报告 - 今天我重构了原来的代码, 删掉了原来的2000 行多余的程序, 那我今天的贡献是 负的两千?!
  2. 注释, 空行算么? 如果算的话, 移山公司的果冻同学就高兴了, 他每天快乐地写注释, 边写边说 - 今年旅游的机票钱有了!
  3. 根据目标码大小? 那我们不能用库函数了?

有人建议按照角色来定位, 例如有猪, 鸡和鹦鹉等, 问题是大多数鹦鹉都说自己是鸡, 剩下的觉得自己是猪, 而且分量很重!  

有人建议根据工作时间来衡量,  这规定一宣布, 大家都开始比谁走得晚,  另外,  我周末的时候一直在想工作上的事, 这算工作时间么? 

在统计技术支持人员的绩效时, 有些公司主要考虑他们接到用户电话后处理问题的时间长短。这时有聪明的员工往往拿起电话后, 说: "你好!” 然后马上挂断电话。 顾客们虽然摸不着头脑, 但是技术人员的 "与顾客通话时间" 则大大降低。 这样的 “好” 绩效, 最后对公司有利么? 

看来似乎所有的衡量方法都有致命的空子可以钻。 在 <人件> 这本书中, “衡量劳动生产率” 和 “UFO” 是放在同一个小标题下的. 然而, “任何一种衡量方法都比完全不量要好” - 书中说。

这次《现代软件工程》上课的几个团队都有自己的点子:

第一组(seven):  我们可以按照以上的9级来分,但是对于我们而言,大家在很大程度上都是同一级的劳动者....所以我们可以更加细分同一级的排名,比如将整个任务分为等量的小任务,每个人负责其中的一个,而最终大家的排名可以通过完成这样任务的个数来决定。关于如何评价是否完成“任务”,可以通过功能性、是否准时来评价;而且当整个工程完结的时候,我们可以做一个review,包括功能、性能和代码的评价,然后大家之间讨论互评。

 

第二组(霸王):  

对于浮动分数,可以通过每个职位对于团队的贡献来添加。队友之间根据各自的贡献给出排序,最后汇总得分。

第三组 (铷铯):

一群学生做软工项目 (PM, Dev, Test),   PM:0.3(n*30)分,   DEV: 0.5(n*30)分   test:0.2(n*30)分

 

第四组 (take it & go):

在团队合作中每个成员的贡献度不仅仅取决于他的工作量,而且还取决于这份工作对团队的意义有多大。我认为贡献度的计算应遵循如下公式:

贡献度 = 工作量 × 工作的影响力 × 工作的不可替代性

这个等式给我们的评测提供了一个方向。与直接估计贡献度相比,分别估计三个分量显得更可操作,准确性也更高。

          //评点: 如果大家都想做 “不可替代的工作”, 怎么办?

第五组(banana):

关于管理体系,可以天花乱坠的说很多,但实际和理论会差的很远,我们并不能完全按照一个专业团队去执行。
大四是一个美好休闲的时光,很难要求大家训练有素地执行进度,我们只能尽可能友情提示大家一起干一些事,但我觉得做完整个工程应该没有问题。

我个人觉得第五组的同学最适合去垄断性国企。 Smile

 

当然, 在这片神奇的土地上, 还有这样的事情: (从 http://weibo.com/trawor截屏而来)

image

 

我以前听说过第一个网站, 但是没用过。 我想象有两个团队:

第一个团队说: 我们花了几个月的时间, 几易其稿, 搜集大量用户反馈, 做成这样。。。

第二个团队说: 我们一个星期就搞定了, 主要用了 IE “view source” 这一功能。

 

如何衡量两个团队成员的劳动生产率呢?  或者这已经超越了劳动生产率的范畴, 到了知识产权, 职业道德的领域?

 一帮学生临时组成一个团队, 用什么方法评比并没有重大的影响, 大不了在期末成绩上少一两分。 但是软件公司的团队就不同了, 不合理的绩效考核不但影响各人的收入, 而且会影响人员的士气, 流动, 后续的合作和产品质量,不能不慎重。   

 

比资历?

软件行业的竞争有”赢者通吃”的规律, 一个快要被市场淘汰的产品不能说: 我们是最先进入这一市场的, 我理应继续占有足够份额!  软件团队人员也不能说, 我来的早, 所以我的报酬就应该多!

 

大锅饭? 所有人都评 “优”, 大家平分钱, 好么?  优秀的人会离开, 最后会剩下平庸的人在过平均主义 - 也许整个团队都被淘汰了。 同一团队的成员报酬能差别多大?  我们看看职业篮球的一个例子:

1997-98 赛季, 迈克尔·乔丹挣了八千万美元。 和他同一个队的队友 Joe Kleine 当年挣了27万美元。 两者相差将近300倍! 如果两人挣钱平均分, 谁会离开? 球队因此变强还是变弱?

 

比效率? 

我们也知道软件开发人员的效率有很大的差别, 一流的程序员的效率是普通程序员的10倍; 有些效率的差别还有正负之分。  一个心不在焉的程序员可以一天写 2000 行代码, 然后别的开发/测试人员要花很多时间来修复其中的缺陷, 这些同事本来的任务就被耽误了; 同时, 一个非常用心的程序员发现可以重用以前的稳定模块, 他花很多时间重构和测试, 最后只修改了500行代码, 代码的缺陷特别少, 这样无形中节约了别的同事的大量时间。

背靠背评比? 根据所有其他人的评价来决定自己的绩效? 这样会发生小团体抱团, 以及劣币驱逐良币的现象。 做游戏的工程师一定听说过 "Valve" 这个公司,他们的员工手册很有意思,大家不妨看看。根据手册的描述, 他们的员工100% 的时间都可以自由支配, 做什么项目,在哪里工作, 等, 都可以由员工来决定。 但是在绩效评估上, 他们用了队友评估这一机制,得出下列四个值:

  技术等级/技术能力;  劳动生产力/结果;  对团队的贡献 (做一些工具让大家的工作更容易,帮助招人); 对产品的贡献 (除了本职工作外, 还有什么可以帮助产品的: 找bug, 预测用户的反馈,推广... )

比不犯错误?  软件项目的进展不是一帆风顺的, 总有问题发生, 出现了问题, 就一定会记在相关人员的帐上,以便总结提高。  但是一定会作为绩效评估的依据? 那倒不一定。

  • 如果成员的行为只影响自己, 或者是探索式的行动,则不是坏事。 例如有些成员自行探索最新的技术, 但是最后决定不采用此技术。 
  • 如果团队成员的行为影响整个团队 (例如 build break 导致daily build 失败), 则要注意。  在一个里程碑中可以统计谁导致这样的错误最多。 对这样的人可以采取 <移山之道> 中提到的 build master 方法处理。

如何区别对待?

团队中总有几个人的资历, 成绩, 口碑差不多, 这时要怎么分出一二三呢?  微软公司流传着“lifeboat drill” [救生艇练习] 的办法 - 如果大家在海上遇险, 一帮人挤在救生艇上, 眼看就要沉没, 必须扔一个人下海其他人才能得救, 你选谁呢?  或者是你要开始一个新的项目, 只能带走一个人, 你会带谁呢?  这当然拷问大家的直觉, 但直觉往往是对的。 

在玩过这些游戏之后,  一个一维数组就产生了, 这时候就可以区别对待, 分三段, 来一个好/中/差。  或者想GE 等公司那样,  给最好的 20% 某些待遇; 中间的 70% 某个待遇; 最后的 10% 某个明显不同的待遇。

 

当然这种一维数组总是有一些问题, 因为人的能力, 具体工作项目完成情况, 在一定时间内的贡献是相互影响但是又是相互独立的.  如果二十人的团队, 大家的确做得差不多, 什么人去当那两个 10%呢?  这是折磨很多经理的难题。在统计意义上, 一个几百人的大公司总有一小部分人不适合职位要求, 让排名最后的 10% 惊醒一下很好。 但是公司里往往层层把10% 的指标下放, 最后到了基层团队.  尽管两个团队的贡献和管理水平有很大差别, 这两个团队的经理都必须得选出10% 的成员来作为 [最差的成员]。  差的团队, 这些人不缺; 好的团队, 它的经理陷入了一个困境 - 他/她必须把表现挺不错的团队成员归到 10% 里。    

 

为了更客观地反映员工绩效的不同的因素,  有些公司实施过二维的评价体系:

 

完成任务维度: 主要由团队成员和直接经理商量年度目标, 直接经理有较多的自由度决定 好/中/差.  例如大部分成员都可以得到 “好”这一评价。

团队贡献维度: 还是严格根据人员百分比, 评出团队中最好的20%, 中间的70%, 和最需要改进的 10%.

 

image

 

在理想条件下, 把任务做得很好, 当然贡献会在最上面的 20%;  做的最差的, 贡献应该是最低的 10%.  但是在实践中要复杂得多,  有些人因为任务相对简单, 完成的很好, 但是对整个集体的贡献一般, 这种人可以得到 [好, 70%] 的位置。 有些人敢于做很难的事情, 结果未必令人满意, 但是对团队很重要,  [中, 20%] 应该是一个合适的评价。

 

还用篮球做一个例子, 假设NBA的球星 科比·布莱恩特 到中国某俱乐部打球, 他由于种种原因, 没有打出自己顶峰时的水平, 低于自己和俱乐部的期望, 但是和俱乐部所有球员相比还是高人一筹, 他应该得 [差, 20%] 的评价.  与此同时, 一个刚入队的球员, 大部分时间打替补, 时有超水平表现, 他的评价应该是 [好, 10%]. 与此同时, 在科比到来之前能拿 [好, 20%] 的球员, 则有些要拿 [好, 70%],  因为科比占用了一个 20% 的位置, 但是自己的球队因此变强, 成绩变好, 总的奖金数大大增加, 也许自己到手的报酬比以前还要高。

 

当领导给员工评价时,  员工的绩效可以从两个维度去评价, 就更好办一些了. 当然, 相应的流程和文字工作要做得更多 - 如果员工是公司最宝贵的财产, 多花一些流程和文字又算得了什么呢?  

 

[2012年11月更新] 看到某著名互联网公司的一个二维评价体系,  纵坐标是 业绩, 横坐标是 价值观:

 野狗   明星-藏獒
  牧羊犬  
  狗   哈巴狗

网络的解释如下, 话糙理不糙:

    刚入门的员工, 业绩和价值观都在培养阶段,  那就就是一条狗, 就像大街上乱跑的中华田园犬。 如果干了很久还没有业绩和价值观, 那就要赶人。 

    如果价值观不断提高, 但业绩平平, 则是听话的小白兔, 或者哈巴狗。 可以给机会, 但是机会不多了。 

    如果业绩很好, 但价值观不太对路 (不太听话?), 则是一条野狗。 要坚决清除, 不然功高震主...

    如果业绩和价值观都取得双丰收, 那就是 明星 员工了, 可以用藏獒来命名!  

    其他的同事则属于勤勤恳恳的 牧羊犬

各个公司在实践中会有很多不同的做法, 那么你们团队是怎么衡量绩效, 决定工资, 奖金的?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500466.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电子计算机和多媒体教材分析,电子计算机多媒体教学设计模板

电子计算机多媒体教学设计模板教学目的&#xff1a;1、知识与技能(1)会写5个生字&#xff0c;理解词语意思。(2)理解课文内容&#xff0c;了解什么是计算机&#xff0c;什么是多媒体设备。(3)了解.电脑与多媒体之间的关系并能口述。2、过程与方法(1)通过查找资料感悟计算机飞速…

软件工程 - 团队博客第二阶段成绩

正如我在学期开始的时候跟大家介绍的那样, 如果所有团队都做同样的事情, 那么分数就采用 1/n 的体系。 第一名得满分, 第二名得 1/2 的分数, 第三名得 1/3 的分数… 大家都在一个地方写博客, 项目都是同样有趣, 所以我们采用 1/n 体系, 满分 20 分. 第一组&#xff1a; Seven …

计算机java培训总结,java培训总结范文

java培训总结范文在现在这个科技飞速发展的时代&#xff0c;计算机已经悄然走进我们的生活&#xff0c;并且占据了不可动摇与替代的地位&#xff0c;无论是在工作还是生活&#xff0c;学习还是娱乐中&#xff0c;当我们意识到的时候&#xff0c;却突然发现我们已经离不开这个叫…

中大型计算机代表型号,目前个人计算机主要机型.doc

目前个人计算机的主要机型HYPERLINK "/wiki/PC" \t "_blank" PC (Personal Computer) HYPERLINK "/wiki/%E4%B8%AA%E4%BA%BA%E8%AE%A1%E7%AE%97%E6%9C%BA" \t "_blank" 个人计算机&#xff1a;一种设计用于一次由一个人使用的计算机&a…

戴尔r720服务器增加内存,dell r720服务器加了一根内存后,开机显示configuring memory,卡在这里进不了系统,请问这是什么情况?...

新添加硬盘&#xff0c;需要进BIOS进行检测之后保存新的硬件配置再进入。BIOS检测方法&#xff1a;1、开机按F2进行BIOS设置 。2、进入BIOS&#xff0c;将启动模式选择成UEFI。3、开机按F11进行UEFI启动。4、进入Boot Manager&#xff0c;选择UEFI Boot Menu。5、选光驱(插入系…

现代软件工程讲义 0 课程概述

这门课的教学方案在这里. 根据学生和学校的具体情况, 可以进行调整。 师生关系 首先要明确的是, 在这门课中的师生关系是什么样的. 大学目前的师生关系是怎样, 什么样才是理想的师生关系? 我们先看一些例子: Retailer / customer (餐馆/食客)? 一些学生说, 我既然交了…

shiro ajax权限拦截器,Shiro Ajax请求权限不满足,拦截后解决方案

Java模拟Http请求Java模拟Http请求使用的是org.apache.httpcomponents中的httpclient&#xff0c;因为post请求涉及到传输文件&#xff0c;所以需要使用httpmime这个包...centos7 上安装mysql5.7后登录报错ERROR 1045 (28000): Access denied for user rootlocalhost安装完mysq…

软件工程 Beta 阶段 团队贡献分数

为了衡量一个团队中不同人的贡献, 我们在软件工程课中设计了 “团队贡献分”。 下面是Beta 阶段的得分。 Now for beta stage, here are the rules, pretty much the same, but with some technical changes: a) Each team member brings in 10 points. b) a team member ca…

苹果断开电脑连接服务器无响应,mac电脑iTerm2链接linux服务器断线解决方案

问题用windows链接linux服务器&#xff0c;方式很多&#xff0c;我最经常用的是xshell。但是xshell没有mac版&#xff0c;那用mac电脑&#xff0c;比较好的命令行软件是什么呢&#xff1f;我用的是iTerm2 &#xff0c;这个功能确实蛮强大&#xff0c;很多人都在用。但是&#x…

现代软件工程讲义 1 软件工程概论

几乎所有程序员都知道“数据结构&#xff0b;算法 程序 ” 这句名言。但是在实际的学习和工作中&#xff0c;也有不少人产生了疑问。例如&#xff1a; 1. 我写了二叉树的周游算法实现&#xff0c;在这里&#xff0c;二叉树是数据结构&#xff0c;周游的实现细节是算法。…

qq修改群名服务器失败,如何解决qq群名片改不了的问题

我们在进入一个qq群的时候&#xff0c;一般都会修改自己的群名片&#xff0c;但是有时我们会发现改不了的问题&#xff0c;这时我们应该怎么办呢?下面就让学习啦小编告诉你如何解决qq群名片改不了的问题的方法&#xff0c;希望对大家有所帮助。解决qq群名片改不了的方法电脑登…

软件工程 项目管理的目标和细节

项目管理的最高目标并不是要保证让 “ideal” 和 “actual” 的线吻合, 因为项目中出现意外和需求的变化是很正常的事。 项目管理的目标是处理这些意外和变化, 让软件能如期发布, 尽量满足客户的要求。 例如: http://www.cnblogs.com/takeitandgo/archive/2011/05/26/2059363…

现代软件工程 - 期末评比及作业要求

经过一个学期的努力, 大家的软件工程项目就要发布了! 按照原来的安排, 我们 6月17 (周五) 号下午3&#xff1a;00-6&#xff1a;00在FIT楼1区222展示最终的beta版本和团队报告。 作业: 其中, 3pm - 4pm 核实各个团队的所有工作是否做完。 包括: 团队贡献分 [交给TA]用户使用…

现代软件工程 学生自我评价表

每年上完 <现代软件工程课>, 我都要收集同学们对自己上课前/后的评价。这样可以看到同学们到底在什么地方得到提高, 提高了多少. 这样可以分析课程设计各个环节的效果, 以便跟踪和改进。 下面是我使用的自我评价表: 匿名调查&#xff0c;整个学期, 你在这门课平均每周花…

作业: IT 行业博客网站分析和创新

暑期课程-职业规划与领导力发展 讲座: IT 行业的创新 作业: IT 行业博客网站分析和创新。 国内比较著名的IT 行业网站都有博客功能, 例如: 1. http://blog.csdn.net/ 2. http://www.cnblogs.com 3. http://www.iteye.com/blogs 4. <学生自己找…

创新, FMA amp; SMA 世界第一台VCD机的故事

FMA & SMA http://en.wikipedia.org/wiki/First-mover_advantage Second-mover advantage -------------------- 世界第一台VCD机 提到VCD机&#xff0c;必然要说到它的创始人姜万勐。世界上第一台VCD机产自中国&#xff0c;时间是1993年9月&#xff0c;由姜万勐研制。…

IT 行业的创新 - 创新的迷思 (1-4)

[这是和北大同学交流的讲稿, 暑期课程-职业规划与领导力发展 课程的一部分] Myths of innovation 创新, 创新型人才, 创新型企业, 创新型国家, 这些都是最近时髦的词汇, 我在微软亚洲研究院创新工程组工作, 看过创新的猪跑, 也吃过创新的猪肉, 在这里和同学们分享一下我的…

IT 行业的创新 - 创新的迷思 (5-6)

[这是和北大同学交流的讲稿, 暑期课程-职业规划与领导力发展 课程的一部分] Myths of innovation 创新, 创新型人才, 创新型企业, 创新型国家, 这些都是最近时髦的词汇, 我在微软亚洲研究院创新工程组工作, 看过创新的猪跑, 也吃过创新的猪肉, 在这里和同学们分享一下我的体会…

IT 行业的创新 - 创新的迷思 (7-8)

[这是和北大同学交流的讲稿, 暑期课程-职业规划与领导力发展 课程的一部分] Myths of innovation 创新, 创新型人才, 创新型企业, 创新型国家, 这些都是最近时髦的词汇, 我在微软亚洲研究院创新工程组工作, 看过创新的猪跑, 也吃过创新的猪肉, 在这里和同学们分享一下我的体会…

北大暑期课作业 - 对cnblog 和其他技术博客的分析,比较和展望

作业题目: 作业- IT 行业博客网站分析和创新同学们交上来的作业: 6个组作业的地址公布如下&#xff1a; 刘爽组这次把三个博客&#xff08;CSDN&#xff0c;博客园&#xff0c;ITEYE&#xff09;三个博客统一用同样的博客名称&#xff1a;amazingidiot 博客链接&#xff1a;htt…