这是敏捷开发绩效管理的第三篇。(之一,之二,之三,之四,之五,之六,之七)

如果有10个程序员,笔者相信至少有9个是勤奋的。但是如果有一个10人的程序员团队,其中1个人不是勤奋的,而且仍然拿到与其他人完全相同的报酬——大家猜这个团队会以90%的生产率运行,还是更低的生产率?不管大家信不信,我是相信后者的。

这个是敏捷开发中对个体管理的出发点,并非我们看到有人在白拿老板的钱而要劫贫济富,而是要打造一个共进退的团队

本文的部分内容在之前的若干博文中提到过,因符合本系列的内容,在此处从另外一个角度加以说明。


领导压力

领导压力指那种直接由领导监督产生的压力,在“每个毛孔都流着血和肮脏的东西”的时代或企业非常普遍。特征表现为:领导深度过问过程而不只是结果,领导现场监督(在计算机时代,则有人发明了一种软件可让领导直接监控员工屏幕)等等。

领导压力的问题在于:领导很难无处不在无时不在;领导很可能是外行;领导就算不是外行,对单个任务而言,了解程度也一般低于任务承担者。

领导压力一般是面向个体的,因为团队不会帮助领导管理个体,相反其整体上处于帮助个体而疏远领导的状态。

如果你所在的企业越来越关注大家的考勤,已经在办公室安装了摄像头,正在调研一款屏幕监控软件……那么,代打卡现象一定很普遍,坐在电脑前什么也不做的人一定很多,定期切换屏幕的习惯正在大家中间养成……

办公室是一个团队合力解决问题的场所,而不是内部博弈的场所,因此领导压力是一个不明智的选择。

同行压力

同行压力是一种由员工管理员工的方法,因而解决了时间、空间、知识差异的问题。

不过这种管理不是通过授权某人管理另外某人,而是通过为团队指明一个共同利益,从而使其在获取共同利益的时候互相管理。

典型的同行管理行为发生在敏捷开发中的“(每月)计划会议”和“(每日)站立会议”。在计划会议中,团队在确认谁负责哪个任务之前,先共同估算每个任务的预计工时,之后才自由领取或指派负责人;而在站立会议中,任务的负责人则报告进展情况,如果和计划有大的偏差,需要说明遇到的困难,以便大家进行帮助。

其中所使用的共同估计共同跟踪是实施成功的关键活动。

同行压力的外在条件

不过有时一些应用敏捷开发很久的开发团队并没有真实感觉到“同行压力”的作用,原因是同行压力的实现需要一些先决条件来支持。

1. 跨职能团队

如果分工过于细化,技术壁垒太高,很难展开共同估计。有些团队本身是跨职能团队(如10个都是开发人员),但却往往因为过度进行模块分工而导致工作无法胡同。跨职能团队底线是:任何任务至少有两个人可以完成。

使用小组而非个人作为接收任务的最小单元是建立跨职能团队的一种方法。

采用师徒制度,采用松结对编程方法,是明确小组责权的一种好的方法。

2. 先估计后分配

原因显而易见:若任务已经分配,多数“无关人员”的兴趣和注意力将大大降低。

3. 匿名估计

即使是一个跨职能团队,如果第一个人首先说出估计结果时,其他人可能因为各种心理问题而导致无法客观地表达自己的意见,尤其当第一个人是最强或最弱一员的时候。

宽带Delphi和估算扑克是两种常见的匿名估算方法,其中后者因为简单快捷在敏捷开发中广为使用。

4. 挑战和优化估计

为了防止计划会变成一个无聊的监督行为,在匿名估计中数值相差较大的组员要进行“挑战(Challege)”,寻求最优化的估计。之所以称之为挑战,是因为团队不能简单地进行求均值、投票,而是大家分别说出理由(一般估计最低的先说),尝试确认是否有可重用的组件、额外的测试要求等诸多可能影响估计结果的因素,重新投票直至结果接近。优化估计的过程借助团队的知识和智慧澄清了很多个体似是而非的猜测,结果不但为大家所接受,也更客观。

5. 共同跟踪

共同估计是共同跟踪的前提。只有这样,在跟踪时(比如每日立会上)大家才会关心别人任务的实际情况,在遇到困难时(往往是发生了超出当年计划意料之外的事情),人们会更理解任务为何发生延期,且更容易激发热情去帮助任务负责人。

在一个采用师徒制度和松结对编程的团队,共同跟踪活动不限于每日立会,而是会渗透到日常开发活动中。

6. 团队绩效

即认为若某个工作没有完成,责任属于整个团队而不是具体负责人。这样既可以防止有任务没人接,也可以防止有些人把着任务不放。

在较大的团队里边由于有从众心理,往往很难让一个人在心理上承认自己应为另外9个人中的一个没有完成任务而负有责任。但当把他们切分成小组时,情况会有所改观。尤其是师徒制度下师傅的团队责任感会很强。

7. 可完成的任务

若任务总是无始无终(比如“开发可重用库”)或很难有标准判断是否完成(比如“需求分析”),则很难估算和跟踪,也无法形成同行压力。

8. 开放空间

既包括物理上的开放空间即人们可以观察到每个人在做什么,也包括逻辑上的开放空间即人们可以观察到别人任务的进度。

匿名性被心理学分析为引发违规的重要诱因,比如群体事件中的蒙面者更加胆大妄为。跨职能团队、共同估算、开放空间等均起到破除个体匿名性的作用。

在开放空间和个人空间之间有由来已久的纷争,仁者见仁智者见智。不过笔者放弃了所有拥有独立办公室的机会,坚持坐在团队的中间乃至正中央。因为工作并非永远令人兴奋、感觉顺畅,我非常担心自己会放弃自律而有所松懈。那时候产生的所有负面效果的第一个受害者是我,而不是公司或其他人。

上述内容在很大程度上已经替代个体考核管理了团队中的个体,帮助他们提升绩效,但如何最终考核他们的绩效(正如前言,工资和奖金毕竟是发放到个人账户上的),日后会有博文再议。


若团队的个体绩效已经与团队的整体绩效对齐,那么他们一起去做什么呢?那就是我们的下一个话题:为团队设定外部目标。

点击下载免费的敏捷开发教材:《火星人敏捷开发手册》

转载于:https://www.cnblogs.com/JPAORM/archive/2011/08/21/2510456.html

敏捷开发绩效管理之三:个体动力之源——同行压力(松结对编程,师徒制度,跨职能团队,绩效考核)...相关推荐

  1. 敏捷开发“松结对编程”实践之六:大型团队篇|后记(大型研发团队,学习型团队,139团队,师徒制度,人员招聘,职业生涯规划)...

    本文是"松结对编程"系列的第六篇.(之一,之二,之三,之四,之五,之六,之七,之八) 松结对编程是小型团队的实践,大约运行在1个师傅+1-3个徒弟的尺度上,当面临更大尺度的时候,就 ...

  2. 敏捷开发生态系统系列之三:计划跟踪II(需求优先级排序-迭代期内无变更-团队承诺)...

    这是敏捷生态系统系列的第三篇(之一,之二,之三,之四,之五). 产品负责人PO与团队的互动一直是一个难题.典型的问题在于:敏捷开发倡导"迭代期内无变更"以换取"团队承诺& ...

  3. 敏捷开发“松结对编程”实践之五:代码检查篇(大型研发团队,学习型团队,139团队,师徒制度,代码审查)...

    本文是"松结对编程"系列的第五篇.(之一,之二,之三,之四,之五,之六,之七,之八) 松结对和紧结对不一样,两个人不是总坐在一起随时发现问题解决问题,而是很短时间地坐在一起.其中在 ...

  4. 如何提高跨职能团队的绩效和成果

    在50年代,当计算机仍被视为复杂的计算器时,西北互助人寿保险公司就计算机对未来业务的影响进行了研究.有趣的是,该公司的首席执行官为这项研究设立了一个不同寻常的团队--由来自多个部门的员工组成,每个人都 ...

  5. 敏捷开发产品管理系列之三:产品用户群规划

    本文是敏捷开发产品管理系列的第三篇.(序言及设立迭代目标,产品版本规划,产品用户群规划,新产品研发,预估会议,Product Servant,Product Owner团队,产品线管理) 上周在培训做 ...

  6. 敏捷开发“松结对编程”实践之三:共同估算篇(大型研发团队,学习型团队,139团队,师徒制度,敏捷设计,估算扑克,扑克牌估算)...

    本文是"松结对编程"系列的第三篇.(之一,之二,之三,之四,之五,之六,之七,之八) 估算是经久不衰的管理话题,大致分为两种流派. 第一种是领导指派,领导说这是10天的活,就必须当 ...

  7. 敏捷开发“松结对编程”实践之三:共同估算篇(大型研发团队,学习型团队,139团队,师徒制度,敏捷设计,估算扑克,扑克牌估算) .

    转载自: http://blog.csdn.net/cheny_com/article/details/6587277 本文是"松结对编程"系列的第三篇.(之一,之二,之三,之四, ...

  8. 敏捷开发“松结对编程”实践之三:共同估算篇(大型研发团队,学习型团队,139团队,师徒制度,敏捷设计,估算扑克,扑克牌估算)

    本文是"松结对编程"系列的第三篇.(之一,之二,之三,之四,之五,之六,之七,之八,此系列之九及之后文章请见栏目总目录.) 估算是经久不衰的管理话题,大致分为两种流派. 第一种是领 ...

  9. 敏捷开发产品管理系列之四:新产品研发

    本文是敏捷开发产品管理系列的第一篇.(序言及设立迭代目标,产品版本规划,产品用户群规划,新产品研发,预估会议,Product Servant,Product Owner团队,产品线管理) 这里所指的新 ...

最新文章

  1. mfc倾斜文本输入_文本检测知识梳理(持续更新)
  2. 优信拍集团php面试题_【优信拍PHP高级开发工程师面试】面试官是我遇到过的面试水平最低的。-看准网...
  3. 初一辍学学php能行吗_《夺冠》破7亿,辍学的农村姑娘成排球女王,朱婷:百炼才能成钢...
  4. 解决asterisk sip呼叫 488 no acceptable here
  5. win10文件显示后缀名_Win10一开机,内存占用竟高达60%?你可以尝试这样做
  6. UIWindowLevel详解
  7. Modelsim的安装教程
  8. bertram_Bertram
  9. c语言fprintf段错误,fprintf由于突然地址更改导致段错误
  10. 网站 下载 整个_如何下载整个网站?
  11. 全国计算机三级网络技术感悟,这几天准备计算机三级考试的感悟
  12. VUE自定义指令directive和inserted
  13. Android 获取电池容量 mAh
  14. iframe简单使用
  15. 整合微软的ad域,采用ldap的api来实现用户登录验证
  16. jsp 页面传值 到后台 中文乱码解决方法
  17. 传奇自定义技能栏技术分享-GEE
  18. oj1075分析和代码
  19. 安装linux留多少内存,如何在 Linux 系统中判断安装、使用了多少内存
  20. 渣渣渣变渣渣系列(5)

热门文章

  1. python2与python3在windows下共存
  2. python(7)– 类的反射
  3. 小程序入门学习06--data、url传参、调用豆瓣api
  4. Linux系统管理系列(1)——文件管理权限详解 chgrp chown chmod rwx等等
  5. python安装pip之后 pip命令报错解决方法
  6. Linux运维故障排查——SSH连接Fedora不成功的原因
  7. 期货市场技术分析06_长期图表和商品指数
  8. 读书笔记_打开量化投资的黑箱06
  9. mysql 模式名表名不支持_MySQL sql_mode 说明(及处理一起sql_mode引发的问题)
  10. HashMap——ConcurrentHashMap