As Scrum Masters, its pretty common for us to work with teams that overcommit every sprint. They show all the classic signs of overcommitment:
- The team members often feel pressured to get "their" work done
- They rush things through PR and QA in the last few days of the sprint
- Stories roll over at the end of every sprint, often because the dev team members rushed them into PR/QA
It can be exhausting trying to convince the team to take on less work, especially if the team hates burndown charts. By the way, the burndown chart is the quickest way to show them how much they are overcommitting, so don't be afraid of it even if the team does not have a lot of love for it.
Helping a team that consistently overcommits involves addressing both the underlying causes of overcommitment and providing practical strategies to set more realistic goals. Lets look at a few steps we can take:
Understand the Root Causes
Analyze Historical Data:
Review past sprints to understand patterns of overcommitment. The burndown chart is especially helpful here, but the burnup chart can be helpful as well. Identify the gaps between planned and completed work.
Gather Team Feedback:
During your retrospectives, discuss why the team feels the need to overcommit. Encourage open discussion about pressures, assumptions, and challenges. This is often difficult because developers usually want to protect their jobs so they just keep quiet. However, if you have established trust with your team, they will usually be glad to share things in the retrospective because they know you will handle them in a professional manner with their best interests in mind.
Identify External Pressures and Put On Your Coaching Hat:
Determine if stakeholders or management are pressuring the team to take on more work than they can handle. Ask them if they are getting pressured from senior leadership or management to get more work done.
If you find this is the case, put on your coaching hat and go speak to stakeholders and explain to them that they are causing the team undue stress. This can be difficult and sometimes daunting, but if your organization is truly going to be agile, leadership must sometimes be coached that people matter, and they will get better productivity from happy developers than pressured, overtired ones.
Manage stakeholder expectations by communicating realistic timelines and potential risks. Educate them on the importance of sustainable pace and realistic commitments. Again, happy developers accomplish much more than unhappy ones.
Improve Your Teams' Planning and Estimation
Look at Historical Velocity:
Base sprint planning on the team's historical velocity in order set realistic goals. Adjust expectations according to the team's average completed story points. Do not be afraid to plan a couple of sprints where the team delivers less points than the historic average. This will create some immediate victories and will allow you and the team to grow together and develop more trust.
Break Down User Stories:
Encourage the team to ensure user stories are broken down into smaller, manageable tasks. Smaller tasks are much easier to estimate and complete within a sprint. Use estimation techniques like Planning Poker, T-shirt sizing, or the Fibonacci sequence to achieve more accurate estimates.
There is a psychologically positive effect when the team can move more, smaller-pointed stories into the Done column.
Enhance Communication and Transparency
Use daily stand-ups to discuss progress and identify any risks of not meeting sprint commitments. Discuss and address blockers/impediments and adjust plans as necessary. Do not be afraid to hold mid-sprint reviews to assess progress and make necessary adjustments. Yes, this might create an extra meeting or two, but being able to course-correct quickly is the spirit of agile and should always be welcomed by the team and stakeholders.
Conclusion
Addressing overcommitment requires a combination of better planning, improved communication, stakeholder management, and fostering a supportive team culture. By understanding the root causes and implementing these strategies, you can help the team set realistic goals, improve their performance, and maintain a sustainable pace. Regularly review and adjust your approach based on feedback and progress to ensure continuous improvement.