Presentation is loading. Please wait.

Presentation is loading. Please wait.

Using IBM Rational Unified Process for software maintenance

Similar presentations


Presentation on theme: "Using IBM Rational Unified Process for software maintenance"— Presentation transcript:

1 Using IBM Rational Unified Process for software maintenance
Mats Wessberg Consolidate AB

2 Objective To show how the IBM Rational Unified Process can be adapted to fascilitate maintainance of a continuously evolving software system.

3 Background Software maintenance costs from 40 to 80 percent of overall software lifecycle costs [Journal of software maintenance, June 1992] The tradtional view on maintenance is that it’s unplannable and out of control The potential for improvements in this area is great Cost can be reduced

4 Agenda The software lifecycle Adapting RUP for maintenance
Setting up a maintenance organization Implementation roadmap Summary

5 Agenda The software lifecycle Adapting RUP for maintenance
Development projects Types of maintenance Maintenance models Adapting RUP for maintenance Setting up a maintenance organization Implementation roadmap Summary

6 The lifecycle of a software system
Pre- study Development project Transfer control Maintenance Phase- out

7 Software complexity over time
Actual progression Complexity Modifications Wanted progression Time Source: IEEE Computer Society Press, 1996

8 Development project recommendations
Use a RUP driven approach Explore the product vision Create a maintenance friendly architecture

9 What if you have an existing system?
Develop a completely new maintenance friendly system Development cost 2nd system 10 years Accumulated lifecycle cost 3 years Breathe life into the existing system by e.g. establishing a RUP baseline 6 years Continue maintenance on the non-maintenance friendly existing system Development cost of the system

10 Types of maintenance Corrective Adaptive Complex Perfective
Enhancements

11 Conducting traditional unplanned work
Maintenance models Conducting traditional unplanned work Conducting traditional unplanned work Introducing maintenance projects Introducing maintenance projects

12 Conducting traditional unplanned work
Maintenance models Conducting traditional unplanned work Conducting traditional unplanned work Introducing maintenance projects Introducing maintenance projects

13 Pros and cons with traditional unplanned work
Suitable for corrective, adaptive and preventive maintenance Light organization Unstructured, not goal-orientated Depending on individuals No holistic view Tends to add complexity and regression

14 Improving traditional unplanned maintenance work
The principles of RUP can still be used The best practices Risk driven approach Activities and guidelines Consider the work as transition iterations Update existing or add new RUP artifacts

15 Conducting traditional unplanned work
Maintenance models Conducting traditional unplanned work Introducing maintenance projects Conducting traditional unplanned work Introducing maintenance projects

16 Pros and cons with maintenance projects
Suitable for enhancements and other major maintenance tasks Structured, goal-oriented Requires a more complex organizational framework No holistic view

17 Introducing maintenance projects Conducting traditional unplanned work
Maintenance models Introducing maintenance projects Conducting traditional unplanned work Best Choice Conducting traditional unplanned work Introducing maintenance projects

18 Agenda The software lifecycle Adapting RUP for maintenance
Defining maintenance projects RUP’s change process Using the change process for maintenance projects Setting up a maintenance organization Implementation roadmap Summary

19 What is a maintenance project?
A maintenance project is a planned undertaking that uses RUP to accomodate major and/or complex modifications to an existing software system.

20 Maintenance projects RUP is a process framework which can be tailored to fit all kinds of software development – including maintenance Enhancements and other complex modifications require the formalism of a process and structure of a project We should be able to adapt RUP for such changes as well!

21 Schedule and assign work
RUP’s change process Submit Change Request Review Change Request Schedule and assign work Make changes Verify changes Approve and close case

22 The change process in development projects
User release 1.0 Internal release Internal release Development project

23 Mapping the change process to maintenance projects
Make critical changes Make other changes Elaboration Construction Review Change Request Schedule and assign work Approve and close case Make changes Verify changes Inception Transition

24 Mapping the change process to maintenance projects
Make critical changes Make other changes Elaboration Construction Review Change Request Schedule and assign work Approve and close case Make changes Verify changes Inception Transition

25 Inception phase Inception Requirements Design Implementation
Set up and plan project, identify scope and risks Build an architectural prototype Initiate a new maintenance project Business Case Requirements Design Implementation Risk List Project Plan Inception

26 Mapping the change process to maintenance projects
Elaboration Construction Make critical changes Make other changes Make changes Review Change Request Schedule and assign work Approve and close case Verify changes Inception Transition

27 Elaboration and Construction phases
Modify the architecture and build for some change request Rework Build for some more of a change request Rework Build for some more of a change request Elaboration Construction

28 Mapping the change process to maintenance projects
Make critical changes Make other changes Elaboration Construction Verify changes Approve and close case Review Change Request Schedule and assign work Make changes Inception Transition

29 Transition phase Transition Requirements Design Implementation
Minor updates and corrections due to user tests Release to customer Finalize and end the maintenance project Requirements Design Implementation User release Final build Transition

30 Characteristics of a maintenance project
Change drives maintenance projects Inception and elaboration phases are typically shorter The project is typically shorter Architectural change is more complex Planning may be more difficult Depending on previous work

31 Agenda The software lifecycle Adapting RUP for maintenance
Setting up a maintenance organization Integral parts and its purposes The work process Using RUP’s change process for maintenance control Implementation roadmap Summary

32 Integral parts of a maintenance organization
Product Owner Maintenance Steering Group Maintenance Manager Maintenance CCB Maintenance Team Maintenance Organization

33 Operating the maintenance organization
Maintenance Steering Group Change Requests Maintenance CCB Maintenance Manager Maintenance Manager Project Manager Project Manager Unplanned work Unplanned Work Project Team Project Team Maintenance Project Maintenance Project Maintenance Team

34 Categorizing and prioritizing change requests
Enhancements CR Maintenance projects Complex CR CR CR CR CR CR CR CR CR CR CR CR CR CR CR CR CR CR Corrective Adaptive Perfective Unplanned work

35 Using RUP’s change management process
Standard RUP Project Team Member Project CCB Project Manager Project Manager Developers Testers Submit Change Request Review Change Request Schedule and assign work Make changes Verify changes Approve and close case Maintenance Team Maintenance Project Team Maintenance CCB Maintenance Manager Maintenance Manager Stakeholder Testers Maintenance RUP

36 Characteristics of a maintenance organization
Responsible for operations during the maintenance assignment Uses a set of clearly defined roles and responsibilities Oversees longterm goals and vision for the product

37 Agenda The software lifecycle Adapting RUP for maintenance
Setting up a maintenance organization Implementation roadmap Summary

38 Implementation roadmap
Define the maintenance process Setup the maintenance organization Determine tool support Prepare to modify Evaluate the effort Launch operation

39 Agenda The software lifecycle Adapting RUP for maintenance
Setting up a maintenance organization Implementation roadmap Summary

40 Summary The best opportunity to affect maintenance is the development project If you have an existing system, consider your options Differentiate between unplanned maintenance and maintenance projects Maintenance projects are similar to development projects Setup your organization in the right order The CMM maturity level for software maintenance has a direct impact on the development quality and schedule accuracy [Software Engineering Institute, Carnegie-Mellon Univeristy; 2003]

41 Questions

42 Thank You


Download ppt "Using IBM Rational Unified Process for software maintenance"

Similar presentations


Ads by Google