Software modernization

Legacy modernization, also known as software modernization or platform modernization, refers to the conversion, rewriting or porting of a legacy system to modern computer programming languages, architectures (e.g. microservices), software libraries, protocols or hardware platforms. Legacy transformation aims to retain and extend the value of the legacy investment through migration to new platforms to benefit from the advantage of the new technologies.[1]

As a basis and first step of software modernization initiatives, the strategy, the risk management, the estimation of costs, and its implementation, lies the knowledge of the system being modernized. The knowledge of what all functionalities are made for, and the knowledge of how it has been developed.[2] As the subject-matter experts (SMEs) who worked at the inception and during all evolutions of the application are no-longer available or have a partial knowledge, and the lack of proper and up-to-date documentation, modernization initiatives start with assessing and discovering the application using Software intelligence.[3]

  1. ^ Gardner, D: "Not just a nip and tuck, application modernization extends the lifecycle of legacy code assets", ZDNet, October 24, 2006
  2. ^ Wolfart, Daniele; Assunção, Wesley; da Silva, Ivonei; Domingos, Diogo; Schmeing, Ederson; Villaca, Guilherme; Paza, Diogo (June 2021). "Modernizing Legacy Systems with Microservices: A Roadmap". Evaluation and Assessment in Software Engineering. pp. 149–159. doi:10.1145/3463274.3463334. ISBN 9781450390538. S2CID 235474042.
  3. ^ Bartoszuk, Cezary; Dąbrowski, Robert; Stencel, Krzysztof; Timoszuk, Grzegorz (June 2013). "On quick comprehension and assessment of software". Proceedings of the 14th International Conference on Computer Systems and Technologies. pp. 161–168. doi:10.1145/2516775.2516806. ISBN 9781450320214. S2CID 17034416.