栏目介绍
本栏目为 EXIN Agile Club 的子栏目。栏目目的是翻译 Mike Cohn 的高质量博客,让大师的智慧可以影响更多的人。翻译已经得到 Mike Cohn 的授权。
如果您有相关意见、建议,可以在评论区给我们留言,我们将会认真对待每一条留言消息。
译者有话说
任务到底要不要直接分配,这是个问题。分配吧,好像违反了“按需领取”的原则;不分配吧,好像我们又感觉对完成工作缺乏底气。真是一个让人左右为难的事情。如果你也有这种困扰,就来看看本文作者是如何分析、应对这个问题的吧。
00
前言
记得小时候,妈妈曾教我系鞋带,虽然现在已记不清具体的步骤,却依然记得那种方法叫做“兔耳朵”系法。
从那以后,我又学到了许多种不同的系鞋带方法,而其中大多数系法更适合一些特殊情况,诸如宽脚、窄脚、高足弓等等,这些特殊情况下感觉比兔耳朵系法要更实用。
正如学会首次系鞋带至今我又学到很多其他方法一样,自从带领第一个敏捷团队工作后,我又学到了很多其他的知识。
01
曾经的冲刺计划会
在我早期参与的敏捷项目中,团队成员会在冲刺计划会上进行任务分配。会后每个任务都分配给了一名团队成员。我们的冲刺待办事项(Sprint Backlog),以及那时被称为冲刺计划(Sprint Plan)的东东,看起来是这个样子的:
这种做法有一些显著的优势:
每个任务由谁负责都非常清楚。
团队成员对自己承担的任务更有责任感。
帮助团队了解是否存在过度承诺。
但这种方法最大的缺点是,团队成员在对工作知之甚少的情况下,就决定谁将从事哪项工作。很多我早期辅导的团队都使用为期四周的冲刺,这意味着某些可能在20天后才进行的任务,需要他们在计划会上就得决定由谁承担。显然,在接下来的这20天里,很多事都可能会发生变化。
02
不要在冲刺计划期间分配任务
放弃这种在冲刺计划期间分配任务的做法,已经有一段日子了,在2004年出版的《用户故事实战》一书中我就呼吁过这一点。
因为,正如系鞋带一样,我知道还有更好的方法。与其让团队成员在冲刺计划会中提前认领每项任务,不如让团队成员在冲刺过程中自己选择下一项任务。
这样,工作任务通常会在每日站会上被认领,当团队成员说他们已经完成了一项任务时,他们会直接选择下一项任务。
实践证明该方法真的很有效。在决定下一项的工作时,团队会去通盘考虑冲刺状态。比如:
某个产品待办事项的进度是否发生了延迟?
冲刺目标的达成过程是否还存在风险?
是否有哪种工作(比如测试)进度落后了?
存在的问题
这种实时的工作分配方式对我们颇有助益,它让团队能够更好地根据冲刺过程中的变化而及时对工作进行适当的调整。
然而依然有个问题不得不去思考:在冲刺计划会期间,如何知道团队中是否有人承担了过多的工作?
像之前那样,所有任务在冲刺计划会期间都分配到个人的话,这很容易评估。因为每个团队成员都可以查看分配给他的任务集,并可以判断工作负荷是否合适。
但是,如果在冲刺计划会期间没有事先对所有的任务进行明确的分配的话,就无法进行该项的评估了。
找寻工作路径
如果不对每项已经确定任务都进行明确的人员指派的话,团队将很难判断冲刺中的工作负荷是否安排的妥当。
为了更好地评估冲刺中的工作负荷,我要求团队要学会“找寻工作路径(Find a Path Throught the Work)”。可以将其想象为团队成员各自指向他们在冲刺期间会处理的任务集。例如,张三指向了预期将要完成的四项任务,李四指向另外四项任务,而王五则指向与其他人都不相同的另外三项任务。(注意,并非一定要指完所有的任务,如果没有指完,则证明计划了过多的工作——译者注)
如果每个任务都有人说“我来做”,并且没有团队成员感到工作负担过重,则所选的工作被完成的可能性就会极大。
当团队成员“找寻工作路径”时,该路径只是众多可能完成工作的路径之一,同时团队成员也不必完全按照他们所指向的任务来做。相反,我们只需要在工作中至少找到一种可能的路径,让每个人都觉得冲刺是经过精心计划的就行。
为了彰显这种工作分配的临时性,一些团队将其隐喻为“铅笔签约(signing up in pencil)”。当团队成员指着一组任务并说“我打算做这些”时,他们就在进行一项铅笔签约。在会议结束时,铅笔签约的信息又被擦除了,也就是说每项任务都没有正式分配给任何人。
工作担当者不明确时如何估算
团队面临的另一个问题是,如果没有将任务分配给特定的人员,如何估算一项任务的耗时呢?根据承担任务的团队成员的不同,我们是该将其估算为 5 小时,抑或是 10 小时呢?
在这里,铅笔签约依然有效。任务的估算就是,准备承担该工作的人对自己所需时间的估算。
因此,你的估算是基于你承担该任务时的估算结果,而我的估算是基于我要承担该任务时的估算结果。
然后,在冲刺过程中,当有人开始一项任务时,他们可能会在领取该任务时更改估算。如果我觉得比之前计划做这项工作的人做得会慢一些,我可能会在领取该任务时,立即将其估算时间从5小时更改为8小时。
这种方法之所以有效,是因为它通常只代表团队成员之间的时间互换——如果你领取了我计划的任务并改变了我的估算,反之我也会领取你计划的任务并改变你的估算。
即使新的估计值相较过去会更高,它其实已经代表了目前已知的最佳工作方式。换言之,团队成员会在不断寻求最优方式中,来完成迭代中所有应该完成的工作。
03
有趣且令人憧憬的未来
我是延迟决策的忠实拥趸,也就是直到工作快要开始的时侯,才决定由谁从事该项工作。我不喜欢在冲刺计划会上分配所有任务。我辅导的团队成员,通常会在冲刺计划会结束时,各自先领取第一个任务。这种做法会让每个人在会后都能确切地知道要做什么。
虽然我不喜欢在冲刺计划会上分配所有任务,但我认为,可以从“冲刺计划会上分配完所有任务”中受益的团队,也存在这么两种:
新组建的敏捷团队
难以承担个人责任的团队
个人责任与团队责任
如前所述,当团队成员领取任务时,他们会对那些写有自己名字的任务更具有个人责任感;也就是在某个特定任务旁边看到我的名字,会让我更有可能完成该任务。
但这却是以牺牲团队责任感为代价的。我会对写有自己名字的任务更有责任感,但对写有你名字的任务就不那么感兴趣了。
一个团队,只有在具有强烈的团队责任感时,才能处于最佳状态(每个人都对所有工作负责)。但是,在建立起个人责任感之前,事实上却很难建立团队责任感。
因此,如果当前团队中的个人责任感较低,你可能还要延续一段时间的“冲刺计划会上分配完所有任务”做法。一旦个人责任感增强了,就可以考虑在冲刺计划会上停止分配每个任务,而是聚焦于团队责任感,即关注于让团队一同完成所有该完成的任务。
刚接触敏捷的团队
刚接触敏捷的团队可能会在一段时间内,从“冲刺计划会上就分配完所有任务”这种做法中受益。当敏捷的紧密协作对于团队来说是新鲜事物时,如果不事先在团队成员之间分配所有工作,很难想象一个团队将会如何协作完成一组工作。
04
由繁入简,循序渐进
幸运的是,对于任何希望“在冲刺计划会上放弃分配所有任务”的团队来说,有一种简单的方法可以帮助其实现。我们可以在冲刺计划会上,通过逐步减少分配给团队成员任务数量的方式来实现这一目标。
如果你的团队在这次计划会上已经分配了所有工作,那么下次计划会试着改为只分配50%的任务——团队成员将带着5项而不是10项任务离开。剩下的一半尚未分配给团队成员的工作,将随着冲刺的进行而被领取。
我可以拍着胸脯说,这样迈出的一小步,对团队而言虽谈不上什么好坏,但这却是朝着“最小化任务分配”迈出的一大步。因此,在接下来的几个冲刺中,继续保持让团队仅仅分配一半工作任务的做法吧。
践行这种做法持续到团队完全适应,然后再继续调整比例——原来是分配50%的任务,这次取而代之只分配25%。如此反复几次,直到每个人都变的适应。
接下来,更大胆一些,在计划会上,仅分配约10%的任务,然后坚持该做法不动摇。最终,大多数团队都会只让每个团队成员领取一到两项任务,在计划会后就可以立即着手工作。
你的想法
正如我长大后不再为系鞋带的事烦恼一样,随着经验的积累,我们能够发现更好的工作方式。随着团队经验的累积,我所辅导的团队也不会在冲刺计划期间就对任务进行分配了。
你的团队是怎么做的呢?他们在什么时候决定谁来处理冲刺待办列表中的任务呢?欢迎在评论中分享你的故事。
本文来自:敏捷传习录
作者:陈连生