Reading duration: 5 min

When preparing to modernize a legacy system, it’s tempting to underestimate the effort required in the discovery stage. And that has a huge impact on the entire upgrading process. According to McKinsey such large projects run 45% over budget and 7% over timeframes and deliver 56% less value than expected. While a considerable percentage of modernization projects fail because of insufficient or incorrect actions in that initial phase. DigitalMara, which is active in helping clients modernize their legacy software, has gathered some helpful material on the importance of the discovery stage, which we’re sharing here. 

“Legacy” systems are those developed some time ago, which now look like complex and tight, monolithic applications. They are typically characterized by poor performance, high maintenance costs, lack of flexibility and scalability, and security issues. And, with programming languages such as COBOL, it’s extremely difficult to find a specialist who can support the system and fix issues. This is especially true for domains such as banking, insurance, logistics, healthcare, retail, telecommunications and government.  

It’s not possible to modernize this kind of software without properly evaluating the system. Owners of legacy systems often don’t know what’s going on inside their applications. Proper documentation and manuals are missing. Unexpected things can come up during the analysis. And the bigger and older the system is, more time and effort is required. Thus, the discovery stage can take from a few weeks to several months.  

Questions to ask before planning software modernization:  

  1. What are the current pain points and challenges with the existing software?  
  1. What are the goals and desired outcomes of modernization? How will success be measured?  
  1. What are the potential risks and challenges?  
  1. What resources and timeframes are available? (Including budget constraints and other limitations.)  
  1. Are there any specific requirements for modernized software?  

Gartner recommends evaluating a legacy system according to six factors, in two main categories: IT and business. IT includes cost, complexity and risk. Business includes business fit, business value and agility. An optimal strategy should consider all of these. 

Why is the discovery stage important? 

 The discovery stage is the place it all begins. It’s crucial to collect information as precisely as possible, to identify system strengths and weaknesses and thus build the future modernization strategy. Discovery can take more time than the development itself, since a large amount of data is being studied and processed. A team of engineers, business analysts, and consultants is responsible for carrying this out. 

In general, the system is evaluated from several perspectives, including stability, reliability, compatibility, maintainability and outdated functionality. The following questions need to be asked: Are there regular downtimes? Are there lines of unused or dead code? How are data flows organized? Can the system be integrated with other software and third-party services? Who can support the system, and is this cost-effective? How are tasks performed?   

In practice, this involves analyzing the following system parameters and components

  • Any available documentation, such as technical specifications, design documents, user manuals, and others related to system architecture.  
  • Codebase, including programming languages, frameworks, and libraries, to understand code complexity and dependencies used in the application.   
  • Databases, aka data models and structure, how data is stored and handled in the application.  
  • UI and user workflows, to detect usability issues or outdated design patterns.  
  • Core functionality and business processes of the application, to determine critical features that need to be kept and improved.  
  • Performance metrics, to identify main bottlenecks, scalability limitations, and others.   
  • Current security measures, the main points exposed to cyber threats, and necessary compliance with regulatory requirements.  

Discovery is substantially a manual process, thoroughly analyzing each component, step by step. However, some tasks can be automated with code analysis tools that can scan the codebase and identify bugs and errors; automated testing tools to identify system functional and non-functional issues; and process mining tools to analyze system logs and event data. 

The valuable outcome of the discovery stage is a set of documents with detailed descriptions of the state of your legacy system. This encompasses app inventory, system architecture and data flows diagrams, security and risk assessment reports, and technical documentation. Updated documentation provides a clear understanding of how everything works now, where the weakest points are, and what areas require adjustments and improvements.  

Based on this, it’s much easier to determine a proper estimate for the budget, timeframes, scope of work and approach, technology stack and skills needed in the modernization project. This also reduces the likelihood of unexpected problems and bugs appearing in the development stage, which consequently reduces the possibility of unexpected expenses.  

Summary  

Modernization may seem a burdensome and confusing process. You need a reliable partner who knows how to deal with legacy systems. DigitalMara’s experts are capable of conducting in-depth analysis and assessment of your application, including architecture, the functional landscape, processes and tech stack. We can then help you choose a modernization strategy and create a roadmap that suits your budget and needs.