| 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
|