COURSE 5430 | 2-day SESSION
Enterprise Legacy Modernization
Course Outline
Section I: Introduction
- Four functionality categories
- Obsolete
- Preserve
- Enhance
- Wholly new
- Critical business issues (pick any two)
- Minimize cost
- Minimize risk
- Maximize quality/agility
- Organizational resources & constraints
- Financial resources
- Technical resources
- Availability of subject matter experts
- Time horizons
- Organizational risk tolerance
- Cost of downtime
- Cost of an error
- How much will you pay to minimize errors?
- Organizational goals
- Business vision
- Business enablement/agility
- Cost reduction
- Time frame, etc.
- Five approaches
- Package
- Rewrite/re-design
- Re-architecting, (business rules from analyst vs from code)
- Renovation of existing code base
- Do nothing
- Analysis
- Business case
- Payback period for internal funding
- Payback period for external funding
Group exercise: using one of your systems as an example,
estimate the percentage of code in each functionality areA.
Decide the priorities of your critical business issues. Then
determine the resources that can be devoted, specify your project
goals, and evaluate your risk tolerancE. Compare your resources,
goals and risk tolerance against your critical business issue
priorities, and consider any trade-offs. Perform a basic business
case analysis. This system will be used in other exercises.
Section II: Relative costs
- Determine basic metrics
- Programs
- Transaction screens
- Database tables
- Complexity: complex, average, or simple
- Costs of testing
- Validation testing
- Regression testing
- Test code coverage analysis
- Creating test data
- Accuracy requirement
- Costs of buying a package and modifying it
- Purchase price + annual maintenance
- Gap analysis
- Customization
- Costs of redesigning and rewriting systems
- Requirements gathering
- Business rule extraction and reconciliation
- Coding
- Costs of semi-automated re-architecting of systems
- Business rule extraction
- Generation of new system
- Gap analysis
- Customization
- Costs of automated renovation
- Cost of automated program translation
- Gap analysis
- Customization
- Costs of doing nothing
- Re-evaluate the business case analysis
- Costs of hybrid strategies
Group exercise: estimate the costs of applying each strategy to
your system, and re-evaluate your conclusions from the first
exercise.
Section III: Risk analysis
- Complexity
- Formal complexity McCabe Cyclomatic Complexity
- Excess complexity due to implementation
- Event driven paths vs. data driven paths
- Risk matrix
- List each possible event that could impact the project
- Indicate probability of occurrence
- Indicate impact of occurrence
- Perfect testing is unaffordable: bugs will always be with us
- Data to drive logic through all McCabe basis paths
- Simulation of all events that could occur
- Boundary conditions for all computations and comparisons
- Risks by strategy: the more you change, the more you break
- Buying a package & customizing
- Re-design/rewrite Jones & Reid statistics
- Re-architecting
- Renovation
- Do nothing
- Hybrids
- Getting the specifications 100% complete & correct
- Project management risks
Group exercise: evaluate the risks of applying each strategy to
your system, and re-evaluate your conclusions from the first
two exercises
Section IV: . Technical factors & related business issues
- Platform
- Mainframe
- Unix/Linux
- Wintel
- Language
- Procedural (3GL)
- Object-oriented
- 4GL
- BRMS
- Database
- Renormalization benefits
- Renormalization risks
- Relational vs. object database
- Performance
- User interface & services oriented architecture (SOA)
Group exercise: evaluate the importance of
these technical factors to your project
Section V: Learning from failures
- Package failure
- Rewrite failure (performance)
- Fox-Meyer
- Insurance company
- Rewrite failure (functionality)
- CAMS
- Maine Medicaid payment system
- Limitations of semi-automated re-architecting inferential processing
- Limitations of automated renovation
- Quality compromise
- Procedural
- Limitations of project management methodologies
- waterfall projects
- Agile projects
Group exercise: select your preferred modernization strategy,
and identify the 3 most likely areas of project failure
Section VI: Methodology
- Integrate goals, resources, and risk tolerance
- Conduct cost/risk/benefit analysis by each strategy for each system
- Balance your costs, risks and benefits
- Derive best strategy or strategy alternatives
Group exercise: reconsider your preferred modernization strategy
from the last exercise; present your analysis balancing costs,
risks and benefits within your group, defending your preferred
modernization strategy; and present the 3 most likely areas of
failure with your mitigation strategy
Section VII: Summary and recommendations
- Your mileage will vary
- Outsourcing: boutiques vs. major consultancies
- No perfect answer: all approaches have pros and cons
- Minimum risk (& usually cost) recommendation: lots of little steps
Group presentations: each group will select one member
to present and defend their preferred modernization
strategy to the whole class and instructor