各位是否遇到过类似的情况:每次迭代结束后,团队都有未完成的任务,很少有完成迭代全部的工作,相反,总是将上期未完成的任务重新挪到本期计划会中,重新规划。敏捷的核心之一是“快速迭代,及时反馈”,为什么会发生这种情况呢?
这也是本篇文章想和大家聊的,为什么团队的每次迭代都有未完成的工作,以及我们可以如何改善?
团队承诺不足
在项目过程中,我们有时会遇到这样的场景:老板为了让团队更好地更快地完成项目,有时会采取一些方法,比如告诉团队: 如果不能完成所有工作,他会“采取纠正措施,必要时甚至会解雇”。
这种来自领导的高期望会带来什么结果呢?那就是这个团队不会在迭代过程中积极地完成大量工作。相反,他们会尽量选择足够多的工作,来避免因为“偷懒”而惹上麻烦,但也不会冒着无法完成全部工作的风险,而选择过多的工作。
团队的谨慎和保守,会让团队陷入“舒适区”,从而降低工作效率,影响整个项目的进度。
敏捷开发不仅注重结果,同时也注重过程。而过于严厉的领导可能也会让团队成员感到压力过大,进而过于关注工作完成情况,进一步限制了他们的主观能动性和自我驱动性。
团队过度承诺
团队对迭代/冲刺中可以完成的工作,设定高一点的目标,是正常的,因为这能激发团队积极性和动力,但如果团队习惯性地过度承诺,就会变成问题。
当团队过度承诺时,就会一直无法完成迭代中的事情:迭代时间到了,成员就把任务推进到下一个迭代,最终导致项目的延期。时间久了,团队还可能形成一种“总有机会弥补”的心态,导致对每一个迭代的责任心减弱,团队也无法明白敏捷的意义和作用是什么。慢慢地,迭代的开始或者结束就变成了一个随意且没有意义的日期。
所以团队负责人应该让团队明白迭代结束的意义:当迭代结束时,团队会体验到成就感,让团队感受到这种“小胜利的力量”,从而保持更好的节奏和状态迎接下一个迭代。
敏捷团队过度承诺的两个原因
领导层或团队外部的压力。团队过度承诺的最常见原因之一是来自领导层或团队外部的压力。压力也分好坏,新产品给公司带来的新机会,也能为客户和公司带来更多好处。为了更快的给公司、客户带来好处,他们会采用施加一些压力的方式,激励团队,以便能更快更好地完成任务。但有时,有些领导的压力并不合适,就像开头提到采用裁员的方式威胁成员的领导那样,不仅不会正向激励成员,反而带来更不好的效果。
团队过度承诺的第二大常见原因是自身的压力。比如对自我的高要求,满足自己的高期望,或者希望取悦外人,得到别人的认可。无论过度承诺的压力是来自外部还是团队内部,这对团队来说都不是一个健康的环境,对组织来说也不是一个好的情况。
组织需要可预测性
所有组织都需要一定程度的可预测性,但如果过于追求预期目标的完成,可能反而失去掌控,比如团队设定太高的冲刺目标,反而会因达不到目标而导致失去了工作计划的可控性,降低了可预测性。
因此,团队应该合理规划工作计划,既要设定目标,也要考虑实际操作性。当团队偶尔出现失误时,领导者和团队外的人需要表示理解,这样才能保持工作的可预测性。
三个改善方法
这里分享3个可以帮助改善经常无法实现冲刺目标的团队的方法。
1. 要有适当的目标
什么是适当的目标?根据经验,一个团队适当的目标是在大约80%的时间内完成他们计划完成的所有工作。这不是说在每个迭代完成计划工作的80%,而是指在10次迭代中的8次迭代是100%完成了所有计划。
不过对于那些迭代节奏容易被频繁打乱的团队来说,每次都成功完成所有工作是不可能的。尤其是那些需要快速响应问题的团队,就可能需要降低目标比例。
2. Sprint承诺是目标,而不是保证
首先,让团队每个人都明白,冲刺承诺是目标,而不是保证。
- 承诺是团队承诺尽最大努力实现目标。如果团队被迫做出保证,他们会少保证一点,以确保“保证”安全。
- 保证是有期限的,表示确定性和责任。有时客户确实需要在某个日期之前提供某些功能,这时团队就需要作出保证:一定会在某个日期前完成。
由于承诺和保证的细微差别,作为团队负责人,还需要说服领导,以此让他们在后续的迭代进度中,给予支持和理解。可以尝试将承诺/保证的差异放到领导者可以理解的例子中,帮助他们更好地理解二者的区别,更助于团队执行。例如,可以尝试让他们想象一下,如果询问销售团队他们会承诺销售额达到多少。然后想象一下询问销售团队是否会保证这个金额,或者是其他金额。
3. 找出过度承诺根本原因
除了上面提到的过度承诺的两个原因,还有其他原因。比如有时候无法达成目标,可能是团队对“完成”的预期过于乐观。那么在冲刺计划会议中可以尝试问这样的问题:
- 在迭代中,有哪些情况可能出错并导致无法实现目标?
- 为了实现这个目标,需要做哪些准备?
- ……
通过这样类似问题,来帮助团队了解他们计划会中任务的难易程度,以及为了达成任务而预设的所有假设。
最后,我想说的是,虽然衡量敏捷团队的一个常见标准是团队成员是否完成了迭代中的所有工作,但这并不意味着我们应该期望团队每次都能完成所有的任务。这不现实。即便是一个优秀的团队,可能也不会每次迭代都能实现目标。就像最厉害的篮球运动员也不是每次都能投进的。重要的是让团队明白并记住: 完成目标是承诺,而非保证。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。