ppm22 ibm software group © 2005 ibm corporation using ibm rational unified process for software...

42
PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB [email protected]

Upload: aleesha-gregory

Post on 11-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

PPM22

IBM Software Group

© 2005 IBM Corporation

Using IBM Rational Unified Process for software maintenanceMats WessbergConsolidate [email protected]

Page 2: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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.

Page 3: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 4: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 5: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 6: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

IBM Rational Software Development Conference 2005

PPM22Better Software. Better Business.

The lifecycle of a software system

Developmentproject

Maintenance

Pre-study

Transfercontrol

Phase-out

Page 7: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 8: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

IBM Rational Software Development Conference 2005

PPM22Better Software. Better Business.

Development project recommendations

Use a RUP drivenapproach

Explore theproduct vision

Create a maintenancefriendly architecture

Page 9: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 10: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

IBM Rational Software Development Conference 2005

PPM22Better Software. Better Business.

Types of maintenance

Corrective Adaptive

Perfective Enhancements

Complex

Page 11: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

IBM Rational Software Development Conference 2005

PPM22Better Software. Better Business.

Maintenance models

Conducting traditionalunplanned

work

Introducingmaintenance

projects

Introducingmaintenance

projects

Conducting traditionalunplanned

work

Page 12: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

IBM Rational Software Development Conference 2005

PPM22Better Software. Better Business.

Maintenance models

Conducting traditionalunplanned

work

Introducingmaintenance

projects

Introducingmaintenance

projects

Conducting traditionalunplanned

work

Page 13: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 14: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 15: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

IBM Rational Software Development Conference 2005

PPM22Better Software. Better Business.

Maintenance models

Conducting traditionalunplanned

work

Introducingmaintenance

projects

Introducingmaintenance

projects

Conducting traditionalunplanned

work

Page 16: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 17: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

IBM Rational Software Development Conference 2005

PPM22Better Software. Better Business.

Maintenance models

Conducting traditionalunplanned

work

Introducingmaintenance

projects

Introducingmaintenance

projects

Conducting traditionalunplanned

work

Best Choice

Page 18: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 19: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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.

Page 20: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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!

Page 21: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 22: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

IBM Rational Software Development Conference 2005

PPM22Better Software. Better Business.

The change process in development projects

Development project

Internalrelease

Userrelease

1.0Internalrelease

Page 23: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 24: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 25: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 26: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 27: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 28: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 29: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 30: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 31: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 32: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 33: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 34: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 35: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 36: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 37: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 38: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

IBM Rational Software Development Conference 2005

PPM22Better Software. Better Business.

Implementation roadmap

Define themaintenance

process

Determinetool

support

Setup themaintenanceorganization

Launchoperation

Evaluatethe effort

Prepareto modify

Page 39: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

Page 40: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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]

Page 41: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

IBM Rational Software Development Conference 2005

PPM22Better Software. Better Business.

Questions

Page 42: PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

IBM Rational Software Development Conference 2005

PPM22Better Software. Better Business.

Thank You