Small Software Development Teams
Besides a lower capacity there other downsides to small (e.g. three) engineering teams.
- Coverage, e.g., Depending on the work they are doing and applications they support there is a risk of not having enough folks to provide support during a crisis while continuing iteration development, then add someone being out sick, and someone on vacation and velocity and morale tank. You can mitigate by staggering vacations but not much you can do about people being sick or bugs
- People moving on. The proverbial getting hit by a bus situation where someone in the team leaves, and now you are down to only two people
- Onboarding efficiencies. Supporting the onboarding of a new engineer is much easier and takes less time when you an optimal sized team
- Engineering progression. It is likely that there will be more instances in a larger team for folks to develop their leadership skills than in a smaller team. The larger the team, the more capacity, i.e., more variation of work, which in turn exposes engineers to more types of problems to solve
- Scale. If we are staffing our teams with the three roles: Development, Product Owner, and Scrum Master having a group of only three means that the Product Owner role and Scrum Master role will have additional time. Not a downside, just an adjustment for the smaller group