1 / 18

Software Evolution Planning

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

Télécharger la présentation

Software Evolution Planning

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.


Presentation Transcript

  1. Software Evolution Planning CIS 376 Bruce R. Maxim UM-Dearborn

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

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

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

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

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

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

  8. 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)

  9. 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)

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

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

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

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

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

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

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

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

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

More Related