Download presentation
Presentation is loading. Please wait.
Published byAleesha Gregory Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.