PPM22 IBM Software Group © 2005 IBM Corporation Using IBM Rational Unified Process for software...

Post on 11-Jan-2016

214 views 0 download

transcript

PPM22

IBM Software Group

© 2005 IBM Corporation

Using IBM Rational Unified Process for software maintenanceMats WessbergConsolidate ABmats.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.

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