After a quick read of today's information technology press you'd think the world's information systems are based on nothing more than Java and Web Services.
But in reality the bread-and-butter applications of most large organizations still run in legacy environments. In fact, more than $1.5 trillion has been invested in Cobol applications, and more than 30 billion Cobol transactions occur daily -- that's more than the total number of Web page hits on any given day.
Gartner Group recently estimated that between 60% and 80% of an average company's IT budget is spent simply on maintaining existing mainframe systems and applications. Besides being expensive, it's time consuming.
As a business develops, it integrates accumulated experiences and strategies into its existing legacy applications. To simply abandon these applications is to lose a significant competitive advantage.
The most effective solution is to preserve and renovate the critical business processes by developing an incremental modernization road map. Such modernization efforts reduce operational and maintenance costs associated with the management of existing technology, as well they open up applications to more progressive capabilities such as integration and Web services.
What are the key steps for the development of a modernization road map?
The sheer importance of legacy applications to the success of your business requires that any modernization effort follow a well thought out plan. By planning your road map, you can greatly increase the likelihood of a successful project. And because your business depends on the stability and power of your legacy applications downtime cannot be tolerated.
As a result, your modernization road map must take on an incremental approach to avoid the risks of a "lift and shift" strategy.
The process consists of four distinct steps leading to a decision point. With the information collected with the road map process you can more accurately determine how to best modernize your applications.
The four steps are:
- Application Assessment: to analyze your existing applications, preferably in an automated fashion, to determine their complexity and structure. This assessment can help to set the groundwork for identifying and isolating your business rules.
- Business and Technical Understanding: to better understand the nature and intended usage of the applications from a user perspective.
- Target Definition: to define what structure the application portfolio should take following the modernization effort. An attentive eye should be directed toward resource constraint issues by tracking the effort required to complete each portion of your modernization project.
- Recommendations and Road Map: a synthesis of the insight gained during the earlier steps, combined with detailed metrics on the applications can provide a clearer picture of how to proceed with your effort.
1. Application Assessment
The inherent complexity of most legacy applications combined with the frequent lack of accurate documentation means that many businesses are not fully aware of their applications' structure. With an accurate and detailed assessment of your applications, your development group can more quickly understand where to direct resources and focus efforts.
This analysis should include information that is of interest to developers and management such as metrics on the complexity of programs, how often each program is modified, detailed documentation and more.
Armed with this information, you can identify on which applications your modernization efforts should be focused -- and also reduce the time needed to resolve future application issues.
Some organizations have opted to undertake large, manual projects to analyze their portfolio and produce a "snapshot" of their systems. This time-consuming method ignores an important reality about applications: they are frequently updated and improved. Each time a change to an application is made, its snapshot is no longer accurate.
What is required instead is the ability to refresh the analysis automatically as needed.
An automated solution should be able to provide the following:
- Source code parsing and compilation to determine the viability of the code in a modern architecture.
- A determination of an application's stability in order to evaluate its suitability for modernization.
- Identification of code redundancy so that code that is unused or unreferenced can be removed and will no longer drain resources.
- An analysis of the user interface to determine its complexity and usefulness in the modernized application.
- An investigation of the complexity, size and design of the applications' databases or data stores.
- A determination of the external interfaces of the system in order to understand data flows, and see if there are intersystem processing capabilities.
- Detailed documentation of the logic flows within the existing system to ensure that the modernized application retains the processes of the original system.
Further, the assessment should identify and isolate the business rules spread throughout your applications, allowing you to better manage these critical processes. Every company has thousands or even hundreds of thousands of business rules that are executed on a daily basis within their application portfolio.
These rules guide interest rate calculations, order new raw materials and notify supervisors about customer issues. Often these rules have been developed over the course of many years through ongoing interaction between business users and IT staff. Based on identified business requirements, these rules are programmed into mainframe systems and other applications.
However as time passes, the rules within the applications bear less and less resemblance to what business users intended. For example, one Global 1,000 organization recently analyzed its business rules in detail and discovered that a key financial reporting system was using out-of-date rules that caused revenue numbers to be off by 1%. For a company with billions of dollars of revenue, 1% has a substantial impact on the bottom line.
There are several methods that have been proposed for dealing with business rules, but most suffer from the inability to isolate all of the business rules in a timely manner. With potentially millions of lines of code hiding thousands of business rules, it would be a drain on already constrained development resources to undertake a manual approach.
Alternatively, to rely on only written documents and interviews with subject matter experts is to ignore the importance of how the rules are actually applied in the application code.
Look for methods that allow you to isolate the business rules within the code to ensure that critical processes are not lost. An effective method should include the following functions:
- Rapidly identify all the many rules that exist within your legacy applications.
- Understand the complex relations between these rules and the various processes throughout your systems.
- Componentize the rules to allow for smoother updates in the future and reduced maintenance cost.
- Analyze the scope of changes and be able to make modifications in real time.
2. Business and Technical Understanding
In order to gather additional information about the business processes and the system architecture, brief interviews with subject experts should be conducted. This step provides useful insight on its own, and it can flesh out the information collected during the application assessment. It also helps to determine the business and technical drivers that must be addressed throughout the modernization process. In this step the core issues of how the applications can improve the operation of the business are addressed.
Different information should be collected from each party:
Application Subject Matter Experts
These individuals are experts on the current applications, which means they have valuable insight into the existing processes. They will best understand what are the most valuable portions of the application that must be modernized, and where improvements must be made.
These individuals will be able to identify the constraints of the existing system, requirements for the modernized system (e.g. a Web interface) and organizational issues that need to be addressed such as release dates and resource limitations.
These individuals can provide additional information on where the greatest challenges for maintenance and enhancement existed. This helps to ensure that the modernization road map tackles the most pressing areas of the application.
These individuals identify the architectural requirements of the modernized system, and help to map the existing application to the new structure.
The results from the top-down analysis based on interviews with subject matter experts can then be combined with the bottom-up analysis that resulted from the application assessment.
The result is the documentation and illustration of the application that maps the logical, procedural aspects to the actual artifacts contained within the code. This mapping provides in-depth knowledge of the application while staging the business rules for inclusion in a modern system. The resulting model is documented as a "use case model" that is supported with a cross-reference of use case, programs, business rules and data stores.
This mapping of core application processing to a logical definition enables analysts to make decisions about the most appropriate modernization path and architecture for the new system.
3. Target Definition
Once a thorough understanding of your needs and goals has been synthesized from the detailed assessment of your applications, the target environment should be defined. The target will be the optimal structure of the applications after they have been modernized so that they are both more flexible and more cost-effective to manage.
By defining the target, an accurate assessment of the project scope can be made. This definition should take into account technical needs based on the direction your company, as well as technical requirements based on the demands your application will have once it is modernized.
The potential constraints are varied. For instance, certain resources that are needed for a proposed architecture may not be available in the near term, limiting which options are possible. A critical component of any modernization plan is an estimation of the amount of resources that will be needed to successfully execute the strategy.
By understanding how many people will be devoted to the project -- and how many can be refocused onto higher-value activities once the project is complete, a determination about the return on investment can been made quickly.
Such a determination requires an analysis of the metrics uncovered during the assessment phase. These complex metrics help your team to understand which programs require the most effort to move them to modern structures. Armed with this information and tools a development team will be prepared with adequate resources to complete the project in the most efficient manner.
4. Recommendations and road map
For every company there will be a range of options that allow you to incrementally approach your modernization. This stage combines the three previous steps into a set of recommendations that identify the benefits, costs and constraints related to each option. Once the process is complete you should expect several deliverables, which will help you to determine how to proceed.
Modernization Road Map Deliverables
The modernization road map combines the information and recommendations collected in these first steps. The road map describes the technical and procedural requirements that are needed to modernize the applications. On completion of the road map, you will receive:
Application Portfolio Assessment
The assessment should include detailed metrics and graphics that describe and depict the current code inventory, complexity and architecture.
Target Architecture Design
The design is based on the analysis of how your applications are currently structured and what your goals are for the system. Included in this deliverable are requirements that define how existing code can be integrated into the modernized architecture.
Recommended Modernization Paths
Based on the assessment, interviews and targeted architecture several possible plans will take shape.
To ensure that you have the information you need to organize your resources, the road map includes detailed estimates of the effort required for each step. Because of the incremental approach to modernization outlined in the road map, you have the flexibility to adapt your progress based on your resource levels.
For virtually all applications, it makes sense to automate any modernization project as much as possible. Doing so allows your resources to concentrate on more conceptual issues instead of the "grunt work." This deliverable should attempt to identify which applications would benefit from an automated process.
|Charles Dickerson is the director of marketing at Relativity Technologies Inc., which sells Modernization Workbench software designed to modernize applications.|
Utilizing a road map to modernize applications, companies can increase agility and response to prevailing business challenges. Successful modernization programs include:
- Detailed analysis and assessment of existing applications
- Insight into and isolation of complex business rules
- Target architecture aligned with the overall needs of each organization
- Accurate assessments of the amount of resources necessary to implement each of the plan's options
Following such a road map helps your team to more efficiently maintain and enhance your application portfolio -- and move on to more valuable and forward-looking activities. Further, the road map can guide you towards the renovation and re-architecting of legacy applications in order to improve efficiency and leverage emerging technologies.
With intense pressures to reduce costs and stay competitive, organizations must understand how best to approach application modernization. Following an incremental road map lets organizations accrue benefits without losing institutional expertise. It's a low-risk strategy with potentially tremendous cost and efficiency benefits.