180 likes | 209 Views
This guide delves into the process of transforming legacy systems into sustainable forms, offering Evolution Planning steps, strategies (Continued Maintenance, Reengineering, Replacing), financial assessments, cost analysis, and reasons for project failures. Learn how to plan, justify, and implement system evolution effectively.
E N D
Software Evolution Planning CIS 376 Bruce R. Maxim UM-Dearborn
System Evolution • System Evolution • process of transforming a troublesome system (often a legacy system) into a form which can continue in long term use • Evolution Planning • tries to justify an approach to transforming a system (i.e. forward or reverse engineering) so that a realistic project plan can be formulated • Evolution Planning Report • provides information to help managers plan system transformation and evolution
Evolution Planning Activities • Justification • identifies candidate systems or components for evolution • determines feasibility and costs of evolution • formulates the best alternative • Implementation • plan project, develop, and test • Customer Delivery and Acceptance • Deployment • distribution and use in the field
Evolution Planning Steps • Define constraints on evolution project • Define business goals and processes • Obtain understanding of legacy system • Identify target systems • Formulate possible evolution strategies • Assess target systems and strategy alternatives • Chose the best alternative • Plan evolution project
Evolution Strategies • Continued maintenance • if reengineering or replacement cannot reduce maintenance or cannot be justified on the basis of costs and benefits • Reengineering • when new development is too expensive, COTS is unavailable, and current system is not maintainable • Replacing • COTS systems exist and the other two options are not feasible
Continued Maintenance • Involves • understanding system design, implementation, documentation, and environment • Advantages • safe • Disadvantages • can be cumbersome in rapidly changing business environment • requires legacy environment skills
Replacement - part 1 • Involves • introduction of new system to take over processing of the old system using data written by the old system • Advantages • removal of old code • total adjustment to new technology - no compatibility concerns • may remove out of date working practices associated with old system
Replacement - part 2 • Disadvantages • expensive and drastic • rapid introduction of new system is risky • people often reluctant to change • large risk (if it fails project fails)
Reengineering • Involves • transformation of an existing system to realize quality improvements in operation, system capability, functionality, performance, or maintainability • Several approaches discussed in next chapter • revamp (replace user interface) • restructure (change internal structure, without changing the external interfaces) • rearchitect (transformation of system by changing it to a different architecture - e.g. mainframe to distributed)
Financial Assessment of Target System • Technical assessment information is collected for both the legacy and target systems • Estimation of cost and predicted schedule is undertaken • Risk assessment and mitigation is also undertaken • A management decision must be made whether to proceed or not
Estimation Assumptions • Need to establish the general rules under which an estimate is prepared • Describe how technical issues relate to the estimating process and explain how each is treated • Address uncertainty by allowing an assumption to be made about an input parameter when it is unknown • Estimation and risk assessment are performed iteratively with respect to uncertainty
Develop Cost Estimate • Consolidate your cost element estimates by converting cost to Present Value • estimate the system life • estimate the amount of investment for each year in system life • discount these amount using financial discounting rates and procedures so that they a represented using Net Present Value (NPV) • Total Present Value for the system will be the sum of the NPV amounts
Cost Risk Analysis • Performed to choose the optimum evolution strategy from several candidates • Accomplished by adjusting a cost element by the inherent risk associated with it • determine the major risk areas • compute an expected risk value using its distribution function • recalculate cost using the expected value
Cost Benefits Analysis • Used to compare relative future costs and benefits for competing evolution strategies • Analysis is based on Present Values computed for each strategy • Total Cost = Investment + O&S for Strategy • Total Benefit = O&S for Status Quo - O&S for Strategy (O&S is operation and support cost) • Net Saving or Loss = Total Benefit - Investment • Benefit Investment Ratio = (Total Benefit) / Investment
Reasons for Project Failure • Lack of resources • Failure to coordinate resources or activities • Poor communication between stakeholders • Poor estimates of cost or schedule • Inadequate planning • Lack of control over processes or products • Poor risk management procedures • Poor contract or procurement procedures
Evolution Considerations- part 1 • Information dissemination • progress and new working procedures • Management coordination • Training • technicians and users • Purchase and installation of hardware & software • done in parallel with operation of legacy system • Arrange for consultants • hardware, software, evolution procedures • Data transfer coordination • for testing and deployment with live data
Evolution Considerations- part 2 • Deployment approach • phased or big bang • Temporary removal of legacy system technicians from operations and maintenance • legacy system assessment • training • new development activities • creation of user training center • Temporary removal of legacy system users from normal business activities • legacy system assessment • user training
Planning Process • Define and document target system and all project deliverables • Define and document all tasks necessary to produce deliverable and assure product quality • Identify and document task dependencies • Schedule is planned by linking planned resources with available resources (taking risk into account) • Several iterations of the the plan are usually required to take each stakeholders needs into account