Transition Strategies for Legacy Assets

Several fundamental techniques are now emerging as the basis of a value recovery program in a hybrid environment. As the following sections illustrate, most of these tactics rely on breaking large applications into smaller components and then reengineering or reconditioning them.

■ Reverse Engineering — Automated tools help raise a system to a higher level of abstraction by, for example, deriving a system specification or requirements model from existing code and data. This technique may create a new baseline for incorporating enhancements and enabling future code regeneration. It also facilitates traditional maintenance by enhancing developers' understanding of the system.

■ Package (i.e., Components) — Standard COTS (commercial off-the-shelf) packages such as word processors, spreadsheets, work-flow engines, and graphics libraries can provide critical components for hybrid solutions.

■ Components — Partitioning legacy systems or legacy programs into smaller components lets IS staff phase out or replace a system one piece at a time. Some code analysis tools help with this task, but the conceptual commitment to modularity and reuse is more important than particular tools.

■ Rationalization and Restructuring — Cleaning up existing code by eliminating redundancy, instituting standards, improving structure, and updating documentation simplifies maintenance and enhancement. This is frequently the first step in a legacy strategy.

■ Conversion and Rehosting — Rehosting involves moving legacy applications — untouched — onto client/server platforms. This approach not only promises potentially lower costs but also enables multiple application components to be more seamlessly integrated into a solution for the business user.

■ Architectural Layers — Layering separates the various components of an application, such as presentation/user interface, application logic, data access level, and communications.

■ Wrappering — Creating a software wrapper to encapsulate and modularize legacy components enables them to coexist and communicate with object-oriented components. A function server lets the legacy code send and receive object-oriented messages. In this way, wrappering positions legacy code to provide continuing value and to be reused in future systems.

■ Forward Regeneration — Automated tools help developers regenerate code based on modified higher-level abstractions rather than modifying the code directly. This technique may be used after reverse engineering, or if the original system was developed through code generation.

■ Surround — Creating additional functionality and data components around the legacy system, but without modifying the system itself, allows legacy components to be phased out as the surrounding components supplant the legacy functions.

■ Data Warehouse — Whereas surround strategies put new functionality in front of legacy systems and integrate at the desktop level, warehouses integrate the data behind legacy applications.

■ Maintenance and Enhancement — As the section on transforming the IS organization will illustrate, leading practitioners are rethinking the traditional approach to managing the evolution of legacy assets even in the areas of maintenance and enhancement.

■ New Development — Best-practice models and capability maturity assessment help chart a course to better results and productivity in new applications development.

■ Package Replacement — Software packages often replace a legacy system, especially if it is used for nondifferentiating basic support applications. COTS application packages may also be used in a surround approach.

■ Outsourcing: Long-Term or Transitional — Because it can be cost-effective under the right circumstances to identify a clearly definable task and outsource it, IS managers should consider outsourcers in the enhancement, redevelopment, or replacement phases of a legacy strategy.

These transition techniques are certainly not stand-alone mechanisms. Not only is there overlap among the various techniques, but they also interact with each other to produce more finely tuned results. IS managers should carefully assess the techniques in a given situation as part of the overall project plan.

Project Management Made Easy

Project Management Made Easy

What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.

Get My Free Ebook

Post a comment