The reasons things don't scale
Three reasons that software development teams don't scale well.Continuing on the theme of diseconomies of scale, here are some reasons that things (particularly software development teams) don’t scale well:
- Communication overhead. The more people (or microservices, or nodes) in your system, the more communication overhead there is. There comes a time when the added per-unit communication overhead is greater than the potential benefit that unit can provide.
- Warm up time. It often takes months for a new team member to become a net-positive contributor. Even in the best of cases, it’s probably days. For nodes in a computing system, it’s often minutes or at least seconds.
- Indivisibility of work. Not all features can be shared across multiple devs. Not all compute tasks can be distributed across nodes. Famous example: 9 women can’t have a baby in 1 month.
For a much deeper look into these topics, if you haven’t already read it, The Mythical Man-Month should be reqiured reading for any serious software professional.