When complexity rises nonlinearly with size, then keep size small.
Every new member of a team adds overhead, as we keep everyone up-to-date on what’s happening. That penalty is larger for larger teams, meaning that the cost of adding a member goes up nonlinearly.
What to do? Keep teams small.
Every new feature in software adds complexity, as each one can interact with all the others. Each feature adds code which might need to change. It adds test cases which might break.
What to do? Keep services or modules small.
This is not the only coping mechanism for dealing with complexity, but it is the most straightforward.