260 likes | 615 Views
?Legacy Crisis". Up to 90% of the total cost of software is in maintaining software and managing its evolutionAs of 2000, it was estimated that there are 250 billion lines of source code being maintained. And that number doubles every seven years.. Software Maintenance. Adaptive ? updating softwar
E N D
1. “Evaluation of SoftwareModernization Estimation MethodsUsing NIMSAD Meta Framework”Jussi Koskinen, Heikki Lintinen,Henna Sivula,Tero TilusUniversity of Jyväskylä, Finland presented by:
Steve O’Hara
April 3, 2008
2. “Legacy Crisis” Up to 90% of the total cost of software is in maintaining software and managing its evolution
As of 2000, it was estimated that there are 250 billion lines of source code being maintained. And that number doubles every seven years.
3. Software Maintenance Adaptive – updating software to meet new technical requirements
Perfective – meet changing user needs
Preventive – improvements for the benefit of future maintainability
Ripple effect -- typical degradation in software quality often favors rewrite or reengineering.
4. Software Modernization Sometimes rewriting is the wrong choice
ROI Analysis often very difficult
Sometimes modernization is forced
changes in regulations or legislation
outdated platforms or operating systems
Difficult to estimate system complexity
source lines of code
function counts
token counts
statement counts
5. NIMSAD Framework “Normative Information Model-based Systems Analysis and Design”
Methodology Context
context, culture, politics, risk
Methodology User
motives and values, needed skills
Methodology
problem definition, design and implementation
Evaluation
6. Modernization Analyses WMU <- Strategies and Benefits
SABA
Renaissance
VDM
SRRT
RPP
RPFA <- Risk Management:
RMM
COCOMO II <- Costs
FPA
Softcalc
EMEE
7. Selections Renaissance (Warren & Ransom, 2002; Ransom et al., 1998) is a method for iteratively evaluating legacy systems, from technical, business, and organizational perspectives.
http://www.comp.lancs.ac.uk/computing/research/cseg/projects/renaissance/RenaissanceWeb/index.html
RMM (Risk-Managed Modernization, Seacord et al., 2003) is a new, general software modernization management approach taking risks (and both technological and business objectives) explicitly into account.
http://www.informit.com/content/images/0321118847/samplechapter/seacordch03.pdf
COCOMO II (Constructive Cost Model II, Boehm et al., 2000), is an established and relatively widely used general method for software effort and cost estimation, including many extensions for different kind of software and evaluation situations.
http://sunset.usc.edu/research/COCOMOII/
8. Methodology Context - Use situation Renaissance: A method to support system evolution by
Recovering a stable basis using reengineering
Continuously improving the system by a stream of incremental changes
Integrates successfully with different project management processes
RMM: Clearly focuses on legacy system modernizations
Shows how to implement a successful modernization strategy
Describes a risk-managed, incremental approach, encompasses changes in
software technologies
engineering processes
business practices
COCOMO II: Software cost estimation
Addresses modern software processes and construction techniques
Estimates for required effort (man months) and required time (schedule)
Determination of costs is then straightforward
9. Methodology Context - Start for methodology use Renaissance: Use this when a legacy system:
Continuing to maintain the system is expensive
May be ineffective in accommodating necessary changes
RMM: Helps choose:
Completely replace older systems, or
Incrementally incorporate new technologies into them
COCOMO II: Competitive advantage depends on:
Strong capabilities to accurately estimate software costs
Setting project budgets and schedules
Negotiation of tradeoffs
Planning of maintenance or upgrade of legacy products
Where to implement process improvement
10. Methodology - Diagnosis of Situation Renaissance: The initial state is an aged legacy system, which then needs to be reengineered or replaced. The legacy system is assessed through the following parameters:
Business value assessment
External environment assessment
Organizational infrastructure
Application assessment
Test bed
RMM: Assessment of the following issues at each step of modernization:
What can go wrong.
What risks are important.
Representation of strategies to deal with those risks
11. Modernization Approaches Integration – data oriented
Wrapping – create new facade
Migration – new environment
Conversion – translation tools
Data Conversion – gateways / bridges
User Interface Renovation – screen scraping
12. Supporting Approaches Reengineering
Refactoring and Restructuring
Reverse Engineering (static or dynamic)
Impact Analysis
Program Slicing
Program Visualization
Designing for Maintainability (long term)
13. Conclusions
14. RENAISSANCE -- EVOLUTION PLANNING = KEY TO SUCCESS
15. RMM - Risk-Managed Modernization
16. COCOMO II – Costar Demo
17. Costar Demo - SLOC
18. Costar - Precedentedness
19. Costar - Flexibility
20. Costar - Risk Resolution
21. CMM – Team Cohesion
22. Costar -- CMM
23. Costar Cost Driver (1 of 16)
24. Costar – Detail Report
25. Costar – Schedule Report
26. Trinity Millennium Group, Inc.www.tringroup.com