Chapter 6. How to Approach the Transformation
What is the right course of action when approaching a legacy system? That is the topic of this chapter.
From a broad perspective, there are basically two options: either replace the legacy system completely or retain it by “merely” reshaping/refactoring it. Also, for replacement there are two variants: big bang replacement and step-by-step replacement.
On a more detailed level, different approaches can be used for different subsystems of a system.
We’ll stay at the broad level for the moment; the options are the following:
- Replacement
-
- Big bang
-
The new system is built from scratch on a greenfield site while the legacy system continues to operate. At some point in time, the switch is flipped from the legacy system to the new system.
- Step-by-step
-
The new system is developed piece by piece and each piece is put into production when possible. At the same time, the corresponding functionality in the legacy system is shut down.
- Reshaping
-
The big ball of mud is reformed with refactorings and remains in operation all the time.
Considering the advantages and disadvantages of the different types of transformation, you and other stakeholders will be in a good position to make the best decisions for your unique situation. To be sure, none of these options is easy or even simple to accomplish. There is, however, a greater or lesser degree of complexity from one to another.
Replacement—Big Bang
This first variant of replacement is shown in ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access