Unless things go sour in a project, a team rarely gets downsized. On the contrary, new team members are often added in the hope that more will get done.
What if sometimes, the best action to increase productivity would be shrink a team? I can think of two situations where reduced staffing is a good option:
- The team realized that it grew too fast. Core team members do not have enough time to effectively coach the rookies.
- A new features requires an overral architecture change. You can already predict that merging will be hell if new features are added while others are implementing the new architecture.
It’s not always feasible to remove team members – and it’s always a though decision. If the team grew too fast, you might not have any other choice. If you want to do it because you need a big architecture change, it might be possible to shift some members to another module or to start something new that will have no impact on a problematic area. You might also try to make the change coincide with half the team going in vacation (I’m sure many of you felt more productive when most of your team was away).
Next time you’re stuck and have a hard time finding effective ways to make the whole team work together, consider a reduced staff for a few weeks. It might be just what you need.
See http://www.infoq.com/interviews/coplien-dci-architecture
“teams are effective, and to be effective they have to be small. 3 is better than 5″