敏捷开发团队(Scrum团队)在每天开每日站会的时候会领取当天的任务,这个实践在敏捷开发中叫做sign-up-for-tasks即领任务。这个实践源自极限编程,在1998年,极限编程最早期的介绍中提到了,“指派任务”和“领任务”是传统方式和极限方式的一个显著区别。
领任务是指,团队成员在任务卡上写上自己的名字,或者贴上自己的照片,表明这个任务,由这个成员来负责。 领任务的活动通常在开展每日站会的时候进行。领任务的方式体现了团队自组织的工作方式,传统模式下的经理指派任务是命令和控制的工作方式。
领任务的实践看似简单,但是在实践中往往很难做好,通常存在如下几个方面的误区:
误区一:我们的团队不是很主动,如果不给他们分派任务,他们就无法开展工作。
敏捷团队的工作方式和传统的经理领导的团队的工作方式的一个最主要的差别在于决策机制。经理领导的团队,由经理来决定谁做什么,团队成员听经理的安排就可以了。敏捷团队,由团队来决策谁做什么,是团队商量着办。
有人可能认为,经理决策不是很好吗,又快又好,因为经理知道谁的能力怎么样。
但是,这种决策机制带来的问题是:
第一,对经理依赖比较大,经理的能力决定项目的成败;
第二,团队比较被动,参与感比较差;
第三,责任在经理肩上,团队只负责完成被安排的任务。
领任务,背后的核心逻辑是团队负责和团队决策。所以,如果要让团队能够很好的开展领任务的工作方式,第一件要做的事情是让团队学会协作和集体决策。
团队的Scrum Master可以引导团队制定他们的工作协议(自组织团队的工作约定,这个在后续的实践文章中介绍),包括如何决定团队每天的目标,如何决定每个人如何对每天的团队目标进行贡献,以及如何分工合作等约定。在每天开站会的时候,大家按照约定来商量着办。
误区二:如果大家都领简单的任务怎么办?
如上面误区一中介绍的那样,团队领任务,核心逻辑是团队决策,而不是个体自我决策,不是我想领什么任务都可以。团队决策的时候,需要基于迭代的目标来分析每天的目标,基于团队每天的目标来决定团队成员每个人的目标。
误区三:如果能力比较差的人,领取了比较难的任务,他完不成怎么办?
自组织团队的团队决策机制,让每个团队成员有了更多的参与机会。然而,自组织团队的目标是迭代成功、项目成功。
自组织鼓励团队的参与,和挑战更高的目标,让团队成员能够不断成长。所以,能力差的人,领取到比较难的任务,这种情况是可能发生的。但是,自组织团队要根据任务的进展情况,及时的发现可能产生的风险和障碍,必要的时候让其他队员进行协助,以确保迭代的目标不受影响。
本文作者:廖靖斌 Eric Liao, Scrum中文网资深敏捷教练、顾问和培训师,CSP