This section of the article discusses a case study on the
incremental code-migration strategy of large monolithic base used in supply
system. The code migration strategy considers a set of factors that includes
scaffolding code, balancing iterations, and grouping related functionality.
Incremental migration only works when it is progressive.
Care must be taken to ensure that progress is measured by means of some key
indicators. These include tests, percentage of code migration, signoffs and
such other indicators. Correspondingly the backlog of the code in the legacy
system that must be migrated must also decrease.
Since modernized components are being deployed prior to the
completion of the entire system, it is necessary to combine elements from the
legacy system with the modernized components to maintain the existing
functionality during the development period. Adapters and other wrapping techniques
may be needed to provide a communication mechanism between the legacy system
and the modernized systems, when dependencies exist.
There is no downtime during the incremental modernization
approach and this kind of modernization effort tries to always keep the system
fully operational while reducing the amount of rework and technical risk during
the modernization. One way to overcome challenges in this regard is to plan the
efforts involved in the modernization. A modernization plan must also include
the order in which the functionality is going to be modernized.
Another way to overcome challenges is to build and use
adapters, bridges and other scaffolding code which represents an added expense,
as this code must be designed, developed, tested and maintained during the
development period but it eventually reduces the overall development and
deployment costs.
Supporting an aggressive and yet predictable schedule also
helps in this regard. The componentization strategy should seek to minimize the
time required to develop and deploy the modernized system.
This does not necessarily have a tradeoff with quality as
both the interim and final stages must be tested and the gates for release and
progression towards revisions only helps with the overall predictability and
timeline of the new system.
Risk occurs in different forms and some risk is acceptable
if it is managed and mitigated properly. Due to the overall size and investment
required to complete a system migration, it is important that the overall risk
be kept low. The expectations around the system including its performance helps
to mitigate these risks.
No comments:
Post a Comment