Using IBM Rational Unified Process for software maintenance

Slides:



Advertisements
Similar presentations
September 2008Mike Woodard Rational Unified Process Key Concepts Mike Woodard.
Advertisements

1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Arlow and Neustadt ch.21 What is the unified process? People are more important than any process. Good people with a good process will outperform good.
RUP/UP Software Development Method Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 4: Phase Management - Elaboration.
GAI Proprietary Information
Software Life Cycles ECE 417/617: Elements of Software Engineering
PRJ270: Essentials of Rational Unified Process
Stepan Potiyenko ISS Sr.SW Developer.
Rational Unified Process
SE 470 Software Development Processes James Nowotarski 21 April 2003.
Chapter 6 Systems Development.
Adjusting EPLC to your Project Colleen Robinson & Teresa Kinley Friday, February 6, 2009.
SwE 313 Introduction to Rational Unified Process (RUP)
Iterative development and The Unified process
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Page 1 R Risk-Driven and Iterative Development. Page 2 R Copyright © 1997 by Rational Software Corporation What the Iterative Life Cycle Is Not It is.
The web application development process Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 1.
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 3: Phase Management - Inception.
What is Business Analysis Planning & Monitoring?
Principles of Object Technology Module 1: Principles of Modeling.
UML - Development Process 1 Software Development Process Using UML (2)
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
RUP Fundamentals - Instructor Notes
Software Engineering Chapter 12 The Generic Iteration Workflow Fall 2000.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
Systems Analysis and Design in a Changing World, Fourth Edition
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
Rational Unified Process (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
The Rational Unified Process 1 EECS810: Software Engineering.
Quick Recap Monitoring and Controlling. Lesson 11: Monitoring and Controlling Project Work Topic 11A: Identify the Monitor and Control Project Work Process.
Project Initiation at The Regence Group 12/19/2015John Garrigues1.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system.
Rational Unified Process (RUP)
Requirements Management Overview NIGMS Software Development.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Software Testing Process
Intelligence and Information Systems 1 3/17/2004 © 2004 Raytheon Company USC/CSE Executive Workshop on Agile Experiences March 17, 2004 A Raytheon Agile.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Software Development Framework
Iterative development and The Unified process
TK2023 Object-Oriented Software Engineering
Software Project Configuration Management
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Software Configuration Management
The Web Application Development Process Models
TechStambha PMP Certification Training
1.Introduction to Rational Unified Process (RUP)
Unified Process Source & Courtesy: Jing Zou.
Introduction to Software Engineering
Rational Unified Process (RUP)
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Software engineering -1
Presentation transcript:

Using IBM Rational Unified Process for software maintenance Mats Wessberg Consolidate AB mats.wessberg@consolidate.se

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

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

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

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

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

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

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

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

Types of maintenance Corrective Adaptive Complex Perfective Enhancements

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

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

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

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

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

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

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

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

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.

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!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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]

Questions

Thank You