We found a New Bouded context !
Oh no just a microservice of the same bc!
Oh no man it is a separate bc!
When designing distributed system we often rework to better define boundaries , adapt models and take away useless integration usecases.
This keeps your changes quick and ‘simple’ while working with a very complexe domain and system globally.
It is an important step to continue a smooth continuous delivery journey, to keep or improve the pace.
A good heuristic to measure success of this operation is to evaluate the quantity of code you remove thanks to the rework.
Another one is to trust that you can rewrite any of your microservices within few days, 2 weeks starts to be too much…
If you found yourself adding code at this step, or afraid of the god module you just created, then you can be sure that you failed simplifying the system and most probably boundaries are not clear enough yet.
You may revert and choose a better moment for this 😅
"Perfection is achieved, not when there is nothing more to add, BUT when there is nothing left to take away."
[Antoine de Saint-Exupery]
#microservices
#DDD
#refactoring
#softwarecraftsmanship