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.
If you enjoyed this message, subscribe to The Daily Commit to get future messages to your inbox.
Top comments (0)