To do Scrum well, does everyone on the software development team have to 100% busy for every sprint? Think about it. A ‘yes’ answer might mean everyone on the team has to have assigned tasks that keep them fully occupied for the duration of each sprint. That’s a lot harder to do than it looks.
I think the Scrum concept of fixed-length sprints scares many a manager. The thought of constantly planning, allocating and verifying in order to keep everyone busy can be daunting — but is it necessary?
Firstly, we have the related concept of self-organizing teams. Part of being self-organizing is empowering the team to manage their workload — as a team. If one member is overloaded, another member who is more lightly loaded should be able to jump in and help out.
Self-organizing is self-balancing.
Also consider that every project has an unofficial stockpile of things that should be done as time allows. They are not critical items. They don’t have an impact on the project’s goals. But, it would be better to get them done than not. What are they?
- Code reviews
- Refactoring
- Infrastructure items like software upgrades, server maintenance, file system cleaning, etc.
- Education and training
- Servicing technical debt
- Deep dives into the environment to better understand it
- Documentation
You get the idea. There is always plenty of work to do that may not be critical in the short-term but will be invaluable in the long-term.
So don’t agonize over precisely aligning everyone’s workload with the sprint timeline. Rely on the Scrum team to self-balance. When imbalances appear that don’t lend themselves to re-balancing, take something from the stockpile and get it done.