ppm22 ibm software group © 2005 ibm corporation using ibm rational unified process for software...
TRANSCRIPT
PPM22
IBM Software Group
© 2005 IBM Corporation
Using IBM Rational Unified Process for software maintenanceMats WessbergConsolidate [email protected]
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Objective
To show how the IBM Rational Unified Process can be adapted to fascilitate maintainance of a continuously evolving software system.
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
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
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Agenda
The software lifecycle
Adapting RUP for maintenance
Setting up a maintenance organization
Implementation roadmap
Summary
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Agenda
The software lifecycle Development projects
Types of maintenance
Maintenance models
Adapting RUP for maintenance
Setting up a maintenance organization
Implementation roadmap
Summary
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
The lifecycle of a software system
Developmentproject
Maintenance
Pre-study
Transfercontrol
Phase-out
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Software complexity over time
Complexity
Time
Source: IEEE Computer Society Press, 1996
Modifications
Actual progression
Wanted progression
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Development project recommendations
Use a RUP drivenapproach
Explore theproduct vision
Create a maintenancefriendly architecture
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Develop a completely new maintenance friendly system
Developmentcost 2ndsystem
10 years
What if you have an existing system?
Accumulatedlifecycle cost
Continue maintenance on the non-maintenance friendly existing system
Developmentcost of the
system
3 years
Breathe life into the existing system by e.g.establishing a RUP baseline
6 years
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Types of maintenance
Corrective Adaptive
Perfective Enhancements
Complex
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Maintenance models
Conducting traditionalunplanned
work
Introducingmaintenance
projects
Introducingmaintenance
projects
Conducting traditionalunplanned
work
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Maintenance models
Conducting traditionalunplanned
work
Introducingmaintenance
projects
Introducingmaintenance
projects
Conducting traditionalunplanned
work
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
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
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
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
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Maintenance models
Conducting traditionalunplanned
work
Introducingmaintenance
projects
Introducingmaintenance
projects
Conducting traditionalunplanned
work
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
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
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Maintenance models
Conducting traditionalunplanned
work
Introducingmaintenance
projects
Introducingmaintenance
projects
Conducting traditionalunplanned
work
Best Choice
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
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
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
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.
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
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!
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
RUP’s change process
Schedule and assign
work
Makechanges
Verifychanges
Approveand close
case
ReviewChange Request
Submit ChangeRequest
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
The change process in development projects
Development project
Internalrelease
Userrelease
1.0Internalrelease
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Mapping the change process to maintenance projects
Inception Transition
ReviewChange Request
Schedule and assign
work
Makechanges
Verifychanges
Approveand close
case
Elaboration Construction
Makecritical
changes
Makeother
changes
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Inception Transition
ReviewChange Request
Schedule and assign
work
Makechanges
Verifychanges
Approveand close
case
Elaboration Construction
Makecritical
changes
Makeother
changes
Mapping the change process to maintenance projects
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Inception phase
Inception
Build an architectural
prototype
Requirements
Design Implementation
Set up and plan project, identify scope and risks
Initiate a new maintenance
project
BusinessCase
RiskList
ProjectPlan
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Inception Transition
ReviewChange Request
Schedule and assign
work
Verifychanges
Approveand close
case
Makechanges
Elaboration Construction
Makecritical
changes
Makeother
changes
Mapping the change process to maintenance projects
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Elaboration and Construction phases
Elaboration Construction
Modify the architecture and build for some change request
Build for some more of a change
request
ReworkBuild for some
more of a change request
Rework
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Transition
Verifychanges
Approveand close
case
Inception
ReviewChange Request
Schedule and assign
work
Makechanges
Elaboration Construction
Makecritical
changes
Makeother
changes
Mapping the change process to maintenance projects
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Transition phase
Transition
Minor updates and corrections due to user tests
Requirements
Design Implementation
Release to customer
Finalize and end the maintenance
project
Finalbuild
Userreleas
e
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
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
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
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
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Integral parts of a maintenance organization
Maintenance Organization
Maintenance Manager
Maintenance CCB
Maintenance SteeringGroup
Maintenance Team
Product Owner
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Operating the maintenance organization
Maintenance Manager
Maintenance Team
Change Requests
Maintenance Manager
Maintenance CCB
Maintenance SteeringGroup
MaintenanceProject
Project Manager
Project Team
Unplanned work
UnplannedWork
MaintenanceProject
Project Manager
Project Team
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Categorizing and prioritizing change requests
Corrective
CR
CR
CR
CR
CR
CR
CR
Adaptive Perfective
CR
CR
CR
CR
CR
CR
CR
CR
CR
CR
CR
CR
CR
CR
CR
CR
Unplanned work
Enhancements
CR
CR
CR
CR
CR
Maintenance projects
Complex
CR
CR
CRCR
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Using RUP’s change management process
Stakeholder
ProjectTeam
Member
MaintenanceCCB
ProjectCCB
Standard RUP
Maintenance RUP
ProjectManager
Developers
MaintenanceManager
TestersProject
Manager
MaintenanceManager
MaintenanceTeam
MaintenanceProjectTeam
Testers
Schedule and assign
work
Makechanges
Verifychanges
Approveand close
case
ReviewChange Request
Submit ChangeRequest
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
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
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Agenda
The software lifecycle
Adapting RUP for maintenance
Setting up a maintenance organization
Implementation roadmap
Summary
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Implementation roadmap
Define themaintenance
process
Determinetool
support
Setup themaintenanceorganization
Launchoperation
Evaluatethe effort
Prepareto modify
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Agenda
The software lifecycle
Adapting RUP for maintenance
Setting up a maintenance organization
Implementation roadmap
Summary
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
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]
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Questions
IBM Rational Software Development Conference 2005
PPM22Better Software. Better Business.
Thank You