Capacity Planning for Teams with Specialists
Good day.
First, I want to give a background about our current Scrum team.
We're a cross-functional team, but not necessarily with cross-functional individuals. Our team is composed of 2 back-end developers, 3 front-end developers and 2 testers. We've just shifted from velocity-based planning to capacity planning.
So far:
1) During planning, after listing down tasks, certain horizontals, for example, the back-end developers will already be on their full capacity while the other horizontals are not yet full.
2) During the development, some stories with higher priority that has tasks for a specific horizontal (for example, a purely front-end story) are left unfinished at the end of the sprint while other stories with lower priorities were completed.
So questions below arieses:
1) Why the stories with higher priority were not finished while the other stories were finished at the end of the sprint.
2) What should the other team members do if their capacity is not yet full for the whole sprint?
How should we respond to these kind of questions?
Thanks.
Per the Scrum Guide:
- Development Teams are cross-functional, with all the skills as a team necessary to create a product Increment;
- Scrum recognizes no titles for Development Team members, regardless of the work being performed by the person;
- Scrum recognizes no sub-teams in the Development Team, regardless of domains that need to be addressed like testing, architecture, operations, or business analysis; and,
- Individual Development Team members may have specialized skills and areas of focus, but accountability belongs to the Development Team as a whole.
On the surface, it seems the Development Team is not accepting full responsibility for meeting their forecast, and individual Development Team members only want to work on items that they specialize in. Both of these observations are "bad smells" in Scrum.
What is preventing team members from contributing to items (in any way) to help finish them within the sprint time box?
We're a cross-functional team
Do the supposed team members actually believe that? If so, where is their evidence of teamwork? Why do individuals have a capacity and the team does not?
thank
+1 to Timothy and Ian.
1) Why the stories with higher priority were not finished while the other stories were finished at the end of the sprint.
Have you tried to ask the team this very same question?
2) What should the other team members do if their capacity is not yet full for the whole sprint?
Whilst the accountability belongs to the whole development team the answer to this question cannot be "Nothing" or "Wait until others complete previous,needed work". Being a member of the development team requires a different angle regarding agile mindset (this applies for the rest of the roles as well). Do the team members have the openness and the courage to take up work out of their specialized skills so that the sprint goal is eventually met? What are the barriers that impede them from being "T-shaped" over "I-shaped" people? Organizational? Personal?
Also, do they self-organize to plan the work required for an item and coordinate effectively so individual times are not wasted or at least, minimized?
How should we respond to these kind of questions?
I'd start by sharing your thoughts with the team. See what worries, insights or impediments hinder the team to the detriment of full coordination capacity, and whether you are the Scrum master or not, try to remove them.
1) Why the stories with higher priority were not finished while the other stories were finished at the end of the sprint.
capacity estimation differs from person to person, a senior can finish a task in 3 hours while a junior can in 9-10. in planning the development team itself must discuss how to reach the sprint goal as a team and not to focus on capacity as a primary object. Refinement session would be very useful if you are not doing any. Development team will have a clear idea by estimating the user stories before the planning.
What is preventing team members from contributing to items (in any way) to help finish them within the sprint time box?
Timothy, the team have observed that though they can deliver a product (team being cross-functional), no one in the team is really cross-functional. I have thought about suggesting pair-programming but individuals with lesser workload every sprint works on some other things like paying technical debts and automated improvements.
Do the supposed team members actually believe that? If so, where is their evidence of teamwork? Why do individuals have a capacity and the team does not?
First of all, I just wanna say that I'm super "starstrucked" right now. I can believe I am talking to the Ian Mitchell! Hahaha. Anyway, the individual capacity is summed up per skill (Back-end Dev, Front-end dev and Quality Engineering/Testing). Should these distinctions be non-existent on a Scrum Team?
Hi Juan Prieto. Currently, we're don't have a definite sprint goal every sprint. I've been trying to incorporate this in our sprints but it's just hard because our product owner's focus are very diverse every sprint because of business directions. Although we use capacity planning, we only check the capacity to make sure that no horizontal gets a workload more than their capacity. And they all coordinate with each other when deciding how to deliver a certain requirement.
Hi Mehmet Deniz Akgül. We only use capacity planning to make sure no one is having more load compared to their capacity but the team decides on how they will build the product.
Anyway, the individual capacity is summed up per skill (Back-end Dev, Front-end dev and Quality Engineering/Testing). Should these distinctions be non-existent on a Scrum Team?
It would be better to say that the team’s understanding and treatment of this matter perhaps ought to change.
Firstly, there should be a clear team capacity which team members utilize as efficiently as possible. That’s where having cross-skilled developers can prove to be invaluable. In theory each team member ought to be able to go to where the work is, whatever needs doing, instead of waiting for the work to match a skill silo and come to them. In practice, if a team member is skilled enough to help out in just one additional discipline it can help to smooth flow greatly.
Secondly, the present understanding of capacity aligned to “skill” ought to change to capacity per station where value is added. In simple terms you could think of the skill as becoming decoupled from the person. Hence for example a tester would not have a capacity, but testing might. In practice this is often done by establishing work-in-progress limits for each station (e.g. column) on a team board. Again, getting this right helps to smooth and maximize flow.
+1 Ian
The power of T-Shaped or Pi-Shaped individuals should not be underestimated. Switch the focus to getting work finished.