We know it's useful to split up complex systems.
We've seen the benefits of modular deployment of microservices.
Dealing with only one piece of code at a time eases our cognitive load.
But how do we know where to draw the service boundaries?
In complex business domains, it's often difficult to know where to start.
When we get our boundaries wrong, the clocks starts ticking.
Before long, we hear ourselves say "it would be easier to re-write it".