Call Us - 973-218-0133
Free Consultations (Pick Our Brains)

 


 
 
xactis_sunset_horizontal (36K)


Xactis Imperative™ Tools and Services

Introduction by
Alan S. Kaplan
President / CTO, Xactis Corporation


  • Let our experienced team use highly-automated tools to provide systems, applications and data analysis, and provide best-practices support
    when modernizing, migrating, rewriting, and testing your information processing and transactional software systems.

  • Can you imagine being on-time and under-budget? Although we cannot promise this in a world of uncertainty, we will definitely increase the odds
    in your favor.


  • Back in the day, some used to say: "The job you save may be your own."

  • We prefer to think that that: The rising prestige and career-levels you will attain, will be due in part, to your wise decision to act with the support
    of an experienced team with highly-automated tools.

  • So welcome to the Xactis Imperative™ site. Please use the below dissertation preview to gain insight into most all legacy modernization initiatives, and their associated issues, which we would like to help you expose and remediate.


Practical Legacy Modernization Project Methodology

Overview

Once you have established your business goals for modernizing your legacy applications, there are 4 practical technical strategies to reach those goals:

  • Replace with a commercial off the shelf (COTS) package

  • Replace with a redesigned and rewritten application

  • Apply tools to extract your business rules, and re-architect the rules into a modern implementation framework

  • Apply tools to modernize your existing code base (renovation)

Choosing the best strategy (or combination of strategies) is non-trivial, and involves understanding the business case, schedule goals, resources available, residual value in the legacy assets, technical details of the application implementations and deployments, and appetite for assuming IT risk.  Then, if either outsourcing some or all of the project, or if a COTS package is under consideration, we add vendor risk to the list.


 

We argue that choosing the best strategy for your legacy modernization initiative is primarily a business question, not a technical question, except insofar as technology directly impacts the business. Just like any other investment decision, legacy modernization issues can be categorized under assets, liabilities, cost, risk and business value.

Furthermore, there is no single path from where you are to where you want to go, if indeed you have identified your destination platform.  Instead, there are often multiple alternative paths, and no single alternative may constitute the obvious choice.  Each path will have advantages and disadvantages, and each must be weighed appropriately in the context of your unique organization. There is no one-size-fits-all answer.

The most typical destination platforms are:

  • Java in a J2EE environment, frequently with Websphere as an application server
  • C# in a .NET environment

Both will usually include a relational database management system (RDBMS) as the primary data store, but in some cases an object database may make more sense.

However, these are hardly the only destinations. Open source alternatives to proprietary environments are becoming robust enough to constitute significant competition for proprietary vendors, though the majority of sites stick with proprietary products for mission critical applications. Rules engines, or business rule management systems (BRMS) as they prefer to be known, are gaining traction in application architectures. Business Process Management (BPM) platforms can have an adjunct or a primary role as well.

Large mainframe sites are often times not ready to abandon the security of the mainframe for newer architectures, and are running mixed CICS/COBOL and Java/Websphere environments, either on z/OS with zAAP processors for Java or on z/Linux using inexpensive IFL engines. The substantial economic advantages of using these specialized processors, with CPU & software costs a tiny fraction of general purpose CPU & software costs, is not always fully understood by staff who focus on technical issues.

Our legacy modernization consulting services are designed to help you frame your decision on future architectures, and provide you with clear, business based parameters for deciding on the best path to transition from where you are now to your chosen destination.  Many times, vendor products and vendor services can ease that transition, but in other cases a site is perfectly capable of doing the job internally.

This essay on methodology focuses on how we derive the decision parameters for the transition. There is usually not a big decision regarding in-house versus outside vendor services. Most (but hardly all) sites that are not under a deadline would prefer to do the job themselves, perhaps with some judicious assistance or tooling where appropriate. Others would prefer to outsource the learning curve and the project risk.

When we discuss costs of each alternative transition strategy, we utilize the preferred approach, whether it be in-house, outsourced, or mixed. On request, we can cost both approaches to the same transition strategy, given fully burdened cost information and productivity information on in-house resources. Although the methodology discussion following assumes that all alternatives will be evaluated, if any path can be eliminated a priori (e.g., there are no candidate COTS packages), then that step in the methodology is bypassed.

Summary - How to Get to Success

Reviewing an organization’s legacy assets is more like software archeology than modern software design and implementation, because we look for ways to extract residual value from those assets whenever practical.

We have set out a 10 step methodology to get from legacy assets to a successful modernized application result:

1)     In step 1,

a)      We analyze the Infrastructure of the application without any regard to functionality

b)      We analyze the program logic that supports the business functionality, and assign the associated program source into one of three buckets:
(1) Obsolete, (2) To Be
Preserved and (3) To Be Enhanced.

c)      We estimate the amount of new code that will be required for Wholly New functionality, and express this as a percentage of the sum of the other three buckets.

d)      We ask, of the code that is categorized as Preserved and as Enhanced, "how well does the program logic support the current business process?"

e)      If not 100%, we ask, "to what extent has the underlying business process changed since the system was designed and implemented", and "how much of that change is being supported by the system?"

2)     In step 2,

a)      We ask how to optimize among minimum risk, minimum cost, and maximum business value (quality+agility)?

b)      We ask, "how much will you pay to minimize risk on this project?"

3)     In step 3,

a)      We ask, "what payback period is required to fund the project internally and externally?"

b)      We ask, "what is the downside for the business if we fail?"

4)     In step 4, if the current application runs on a mainframe, we ask: "if you were implementing a replacement application today and had your choice of any platform, would you or would you not choose a mainframe?"

5)     In step 5, we ask if there are any deadlines that must be met, and what is the Plan B if dates are missed?

6)     In step 6, we derive straw man budgets for re-architecting & renovation projects, and perform a sanity check against available financial and personnel resources.

7)     In step 7, we derive a rough order of magnitude estimate of costs, risks and benefits for a straw man re-design and rewrite project.

8)     In step 8, we derive a rough order of magnitude estimate of costs, risks and benefits for a straw man COTS implementation and modification project.

9)     In step 9,

a)      We ask if regression testing or SME testing could have an impact on the project design?

b)      We ask if change management is enforced and what is the integrity of the source code library?

c)      We ask if data cleansing will significantly impact the costing of the alternative strategies and if so to what extent?

d)      We ask if merging variant systems is a requirement, and if so what is the degree of functional overlap between the variants?

e)      We discuss potential areas  where vendor risk could be a problem, and how to mitigate that risk as services are proposed.

10)     In step 10, we derive viable hybrid project designs, if any, and provide a rough order of magnitude estimate of any attractive results.

Using a real example, this methodology yielded the following results:

Straw Man Project Strategy

Cost Estimate

Time Estimate

Risk Estimate

Provision

Business Value

Re-design/rewrite (.NET/Oracle)

$8.5 million

3 years

high

$12-15 million

High

COTS package modified

$11 million

3 years

high

$12-15 million

High

Re-architecting (.NET/Oracle)

$4 million

2 years

low

$5 million*

High

Renovation (COBOL/Oracle)

$2 million

2 years

very low

$3 million*

Moderate

Hybrid (.NET/rules engine/Oracle)

$4.5 million

2.5 years

low

$5.5 million*

High

* The provision for the re-architecting and renovation straw man projects was for potential expansion of specifications in the Enhanced and Wholly New areas. We felt that no provision was necessary for the Preserved code, nor for the stated specifications for Enhanced and Wholly New.

We assert that, if there is any significant residual value in the legacy application, it may make sense to utilize technologies and methodologies for extracting that value.  Doing so saves both money and time, and reduces risk.

© 2010 by D. Estes - Xactis Fellow & Expert Resource