180 likes | 205 Views
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
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