《敏捷软件开发》中提到:“Scrum 可以帮助团队更好地应对变化和不确定性,以及更快地响应客户需求。通过持续的反馈和改进,Scrum 可以提高团队的适应性和灵活性。”
然而,有些团队在使用 Scrum 后,却出现了工作任务越来越多、加班越来越严重、迭代总是完不成的情况。明明Scrum能提高团队的效率,那为什么会出现这些问题呢?
1、团队缺乏对Scrum的理解和支持
团队成员对Scrum的基本概念、角色、仪式和工具等缺乏了解,在Scrum实践过程中无法正确的应用,导致在实践变得非常混乱。
设想一下,明明很多任务已经安排好了,想要使用Scrum就必须将这些任务重新拆解成一个个迭代。如果团队成员没办法理解这样做的用意,一旦出现问题,团队成员会出现明显的抵触情绪,Scrum就会难以推行。这也会形成一个恶性闭环。
2、团队缺乏有效的沟通和协作
Scrum强调团队合作、迭代开发和持续反馈,团队之间缺乏有效沟通很可能出现以下情况:
开发人员没有及时告知测试人员他们所做的更改,测试人员就无法及时测试这些更改,导致项目进度延误;
设计人员没有与开发人员充分沟通,开发人员没有正确理解设计人员的意图,导致设计上的错误。
每日站会、迭代计划会议的初衷是为了让团队成员之间更加了解项目与彼此,一定程度上避免因为信息差、理解失误等造成项目推迟。
3、团队缺乏对工作量和进度的掌控
一种情况是团队成员高估了自己能力,导致出现单个任务时间估算错误或整个迭代周期估算错误。另一种情况是成员低估了需求工作量,明明需要两个个迭代完成的任务仅仅只安排在一个迭代中。
无论是哪一种情况,想要任务在规定时间内成功交付就需要团队成员加班加点。因此,团队缺乏对工作量和进度的掌控也是导致Scrum使用疲惫的原因之一。
在Scrum实行过程中,难免会有团队出现上述情况。当然,这一切并不是Scrum本身的锅。那如果团队出现这些问题,我们该采用如何解决呢?
1、加强对Scrum的理解和支持。
团队成员需要了解Scrum框架的详细介绍,包括角色、仪式、工具等,积极地参与Scrum流程中。只有真实感受到Scrum带来的好处,团队成员才会从心底接纳它。
同样地,团队负责人要提供必要的支持和帮助,来确保团队能够充分发挥Scrum框架的优势,提高项目的效率和质量。
2、建立有效的沟通和协作机制。
团队成员应积极参与每日站会、迭代计划会议、团队回顾会等,及时分享自己的进展、问题和需求,以确保团队成员之间有充分的沟通和协作。
举个例子,梳理会是PO向团队成员说明未来迭代要做哪些需求的活动,开完梳理会再开计划会议,团队成员会对需求有更好的理解。梳理会虽然不是Scrum标准活动,但实际生产中,很多Scrum团队都会在迭代中插入梳理会,帮助团队对需求达成共识,确保下一个Sprint顺利进行。
这里还要注意一件事情:避免团队内部无意义的内卷。每日站会会汇报做了什么、要做什么、需要什么帮助,这难免会出现成员之间相互对比,很容易造成无意义的内卷。
3、采用适当的工具和技术来掌控工作量和进度。
如果团队成员对需求理解到位,可每个迭代还是被一大堆工作压着,那就有可能是计划会议上任务领多了,这就需要对团队速率以及每个需求的工作量有一个很好的估量。
使用项目管理软件是很必要的!如看板、燃尽图等可视化工具能帮助团队成员更好地掌控工作量和进度。这有助于团队成员了解他们的工作进展和需求,并及时调整计划和工作量。
除此以外,建立良好的团队文化、培养团队成员的技能和能力、关注团队成员的健康和幸福感等都可以帮助团队走出Scrum疲惫的困境。
写在最后
敏捷十二原则提到过:“敏捷过程倡导可持续开发,责任人、开发人员和用户要能够共同维持其步调稳定延续。”
我们不难看出,Scrum 提倡精益思想,其初衷是提高团队效率,开发迎合市场的产品。一旦团队出现各种情况,Scrum Master 就应该进行反思,及时引导团队做出调整,从而促进团队持续高效地发展下去。