`
sunxboy
  • 浏览: 2829003 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

开发任务分配的双向选择(转)

阅读更多

问题

InfoQ 的这份报告 中,两个失败案例都明显在 'daily' scrum 和任务分配 上犯了常见的错误。

一种情况是,管理 者“热心”过度,天天盯着任务分配,结果让软件开发工作变得索然无味,甚至令人恶心。

每个员工都要在早上固定时间开Daily Scrum,然后把当天的任务告诉给他,让他来决定工作是不是饱满。这个把弹性工作制直接给破坏了,引起很多人反感;另一点就是很多人认为这样的Daily Report太频繁太低效,而且还有压榨员工的嫌疑。

第二种情况是,管理者热度不够,恣意放羊,结果让项目开发偏离正轨,一撒不可收拾。

在 第一次使用ScrumWorks的时候,好歹Product Owner还能来设置优先级,我们估算时间,最后决定哪些故事放到下一个Sprint里面。到后来就只要是人,就能往Scrumworks上扔任务,也不 知道哪些重要哪些不重要,我们自己开发人员看着办,最后剩下几百个小时完不成再扔到下一个Sprint里面去。

以上两种情况,恰好形成两个极端,名义上号称敏捷,实则背离了敏捷的基本原则。由外行“专家”来领导敏捷实施,必然是这种结果。

当今的西式敏捷方法非常强调员工的自愿工作,主动性不受干扰,同时提倡团队文化和集体主义精神(whole-team)。那么,咱本土的中式敏捷 又是如何做的呢?以下仅举一例。

具体做法

作为管理者和架构师,我把周任务根据难易程度,分别打上不同的分值(比方 1-10 分),把任务表贴在开发现场 open space 的白板上,在开周例会的时候,由团队成员自主选择。

这些每周的开发任务是由大家 brainstorming 共同讨论出来的,当然主要部分由架构师建议,最后由管理者综合大家的意见定夺。

为了防止出现任务分配上的不均、不合理情况,在员工自主选择的基础上,我们还设定了一些指定任务,由管理者根据员工的实际情况和项目需要分配给员工。

因而这实际上是一种员工任务分配的“双向选择”。

考核

员工每月完成任务的数量和质量情况,是绩效 考核的基础和主要指标。

有了员工任务的自主选择,月末考核就方便多了,有了更公平、公开和客观的依据。我们把员工每月完成的有效任务分值累加起来,就是他完成的月总工作量。这一结果是完全公开、透明的,谁完成的任务数多,质量好,谁的总分就高。

为了在任务考核中反映质量要素,计算有效任务分值,我们加上了质量因子。设原任务分值为 5 分,如果完成得好,达到了质量要求,那么质量因子为 1,有效任务分还是 5 分;如果完成效果不好,质量因子只有 0.7,那么有效任务就只有 3.5 分。

管 理者还可以根据需要,添加其他的权重因子和灵活措施。比方,为了鼓励员工之间的紧密合作,互帮互助,我们还约定,任务分值可以赠送,别人帮助你完成工作, 你可以把相应的分值送给他,记在他名下。另外,根据团队文化建设的需要,我们还设立了一些额外的奖励分。在实践中,赠送分、奖励分应用得也较为普遍。

当然,最重要的一点,这整套任务分配和考核办法是由管理者提议,所有团队成员大家共同协商讨论,认为公平、合理之后,一致通过和支持的,这样就有了良好的群众基础,并且在实施中得到了不断改进和完善。

效果

您可能很关心我们实施的效果怎么样,回答是:出奇的好!

有了这样一种机制,必然会在员工中间形成一种攀比,比谁完成的任务分值高,而这种攀比恰恰符合团队的整体利益,也是管理者所乐见的。

与其他采取传统措施的团队相比,张恂团队的同事们参加计划会议的热情非常高,每次都是抢着要任务,而且往往勇于挑战分值较高的任务,每个人都生怕自己的任务不饱和,影响了个人月底考核的总成绩(间接地影响 bonus)。

关键一点,我们把原本看似枯燥乏味的软件开发工作,变成了一种近似体育竞赛的团体合作游戏,结果导致每个人在工作时都热情饱满,兴致勃勃,这也算是实施此方法后的一种意外收获。

显然,这与过去由经理们主观生硬地(尤其是根据 WBS)设计任务,向员工指派任务,而月末考核客观依据又不足的局面大不相同,可以说是一种彻底的转变。

我想这种措施的成功,由项目管理 者绞尽脑汁生硬地把任务指派给员工,到员工积极地想任务、要任务、抢任务(这一现象真的就发生在张恂的团队中),其实也是一种逆向思维驱使下,管理方法创新的成功。

分享到:
评论

相关推荐

    毕设之在线办公小程序--(源码+部署说明+SpringBoot+微信小程序+vue).zip

    任务管理:支持创建任务、分配任务、任务进度跟踪等功能,帮助团队成员高效协作和完成任务。 即时通讯:提供实时的消息传递功能,用户可以发送文字、图片和文件等,方便团队成员之间的沟通和交流。 数据统计:对用户...

    基于JavaWeb的毕业设计管理系统【项目源码+数据库脚本】(毕设)

    选题阶段,院系管理员可以进行的操作有:审核老师上传的课题,设置学生选题的开始时间和结束时间,查看选题情况,解决教师与学生之间双向选择的冲突,使之平衡。 过程阶段,院系管理员可以进行的操作有:查阅...

    2005-2009软件设计师历年真题

     • 选择开发方法、准备开发环境、制订开发计划  1.3 设计系统功能  • 选择系统结构,设计各子系统的功能和接口,设计安全性策略、需求和实现方法,制订详细的工作流和数据流  1.4 设计数据模型  • 设计ER...

    Windows内核安全与驱动开发光盘源码

    3.3.2 在双向链表中使用自旋锁 45 3.3.3 使用队列自旋锁提高性能 46 第4章 文件、注册表、线程 47 4.1 文件操作 47 4.1.1 使用OBJECT_ATTRIBUTES 47 4.1.2 打开和关闭文件 48 4.1.3 文件读/写操作 51 4.2 ...

    javaOA办公系统模块设计方案.pdf

    1.代码⽣成器: [正反双向](单表、主表、明细表、树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不⽤写,⽣成完整的⼀个模块,带页⾯、建表sql脚本、处理类、service等完整模块 2.多数据源:(⽀持...

    面向大规模网络应用的移动主体系统安全机制 (2007年)

    该方案采用基于混合加密的双向认证技术解决移动主体系统的局部安全问题,通过各级移动主体安全管理平台完成密钥的分配与管理,并对移动主体的迁移进行合理的任务分配与调度,通过任务传递模式解决移动主体的跨网段...

    Windows内核安全驱动开发(随书光盘)

    3.3.2 在双向链表中使用自旋锁 45 3.3.3 使用队列自旋锁提高性能 46 第4章 文件、注册表、线程 47 4.1 文件操作 47 4.1.1 使用OBJECT_ATTRIBUTES 47 4.1.2 打开和关闭文件 48 4.1.3 文件读/写操作 51 4.2 ...

    毕业论文网上选题管理系统V1.0

    学生选题后在该功能模块可以查阅已选学生名单及学生信息,并进行该课题学生的确认,实现互动双向选择; 添加课题:课题信息上报给系或者学院管理员,以便教学管理人员进行审核; 课题浏览:查看已确定学生的课题...

    嵌入式Linux C编程入门(第2版) PPT

    10.1.1 进程描述符及任务结构 289 10.1.2 进程的调度 291 10.1.3 linux中的线程 293 10.1.4 linux中进程间通信 293 10.2 arm linux进程控制相关api 294 10.3 arm linux进程间通信api 301 10.3.1 ...

    单片机原理及应用课程标准.docx

    学习目标: (1) 了解MCS-51单片机的内部结构、主要功能部件和CPU微处理器的组成、任务分配。 注意:单片机上电后程序指针被赋予的初值。 (2) 了解MCS-51单片机的程序存储器结构,掌握内部数据存储器的空间分配和SFR...

    《计算机图形图像处理-CorelDRAW-X6》课程标准大纲.doc

    选择和组织课程内容,突出任务与知识的联系,让学生在计算机应用基本技能实践活动 的基础上掌握相关知识和技能,增强课程内容与职业岗位能力要求的相关性,提高学生 的就业能力。 四、实施建议 (一)教材编写或...

    深入分析Linux内核源码.chm

    1.2 Linux的开发模式和运作机制 1.3走进Linux内核 1.4 分析Linux内核的意义 1.5 Linux内核结构 1.6 Linux内核源代码 1.7 Linux内核源代码分析工具 第二章 Linux运行的硬件基础 2.1 i386的寄存器 2.2 内存地址 2.3 段...

    asp.net知识库

    利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的内容是否合法 asp.net报表解决方法 SQLDMO类的使用 SQL过程自动C#封装,支持从表到基本存储过程生成 使用SQLDMO控制 SQL Server 使用SQL...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar

    1.13 Turbo C 2.0 集成开发环境的使用 1.13.1 Turbo C 2.0 简介和启动 1.13.2 Turbo C 2.0 集成开发环境 1.13.3 File菜单 1.13.4 Edit 菜单 1.13.5 Run 菜单 1.13.6 Compile 菜单 11.13.7 Project 菜单 1.13.8 ...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar )

    1.13 Turbo C 2.0 集成开发环境的使用 1.13.1 Turbo C 2.0 简介和启动 1.13.2 Turbo C 2.0 集成开发环境 1.13.3 File菜单 1.13.4 Edit 菜单 1.13.5 Run 菜单 1.13.6 Compile 菜单 11.13.7 Project 菜单 1.13.8 ...

    深入分析Linux内核源码

    2.3.5 选择符与描述符表寄存器 2.3.6 描述符投影寄存器 2.3.7 Linux中的段 2.4 分页机制 2.4.1 分页机构 2.4.2页面高速缓存 2.5 Linux中的分页机制 2.5.1 与页相关的数据结构及宏的定义 2.5.2 对页目录及...

    Linux2.6内核标准教程(共计8-- 第1个)

    《Linux2.6内核标准教程》适合Linux内核爱好者、Linux驱动开发人员、Linux系统工程师参考使用,也可以作为计算机及相关专业学生深入学 习操作系统的参考书。 引用: 目录 第1章 Linux内核学习基础 1 1.1 为什么...

    Linux2.6内核标准教程(共计8--第6个)

    《Linux2.6内核标准教程》适合Linux内核爱好者、Linux驱动开发人员、Linux系统工程师参考使用,也可以作为计算机及相关专业学生深入学 习操作系统的参考书。 引用: 目录 第1章 Linux内核学习基础 1 1.1 为什么...

    Linux2.6内核标准教程(共计8--第3个)

    《Linux2.6内核标准教程》适合Linux内核爱好者、Linux驱动开发人员、Linux系统工程师参考使用,也可以作为计算机及相关专业学生深入学 习操作系统的参考书。 引用: 目录 第1章 Linux内核学习基础 1 1.1 为什么...

Global site tag (gtag.js) - Google Analytics