Skip to main content

Breaking up a monolith without stopping the business

A rewrite from scratch almost always costs more than expected. Here is the order we use instead.

Two engineers mark the next module boundary on a system diagram on a whiteboard, the operations floor still working behind the glass

The request we receive most often sounds the same: the system is old, please rewrite it. What is rarely mentioned is that the old system is running the entire business, and a rewrite demands that both run side by side for months.

The order we use starts from boundaries, not from code. Which part can stand on its own without touching the same database? Usually the answer is one or two modules — reporting, notifications, or a third-party integration — and those are enough to prove the split can be done without stopping anything.

What we do not do is move everything at once and announce a launch date. That date always slips, and the people who carry the cost are the team running two systems at the same time with no way back.