Project Management in the Rational Unified Process



Similar documents
Supporting Workflow Overview. CSC532 Fall06

Managing Small Software Projects - An Integrated Guide Based on PMBOK, RUP, and CMMI

Introduction to Software Engineering. 9. Project Management

<name of project> Software Project Management Plan

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Planning a Project with the Rational Unified Process Author: David West

<Company Name> <Project Name> Software Development Plan. Version <1.0>

Software Development Methodologies

1. Background and business case

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >

Web Application Development Process

MNLARS Project Audit Checklist

RUP for Software Development Projects

Strategy for Application Modernization A Summa White Paper

Description of Program Management Processes (Initiating, Planning) 2011 PROGstudy.com. All rights reserved

Software Process and Project Plan

Digital Asset Manager, Digital Curator. Cultural Informatics, Cultural/ Art ICT Manager

Objectives. Project Management Overview. Successful Project Fundamentals. Additional Training Resources

CS 6361, SPRING 2010 Advanced Requirements Engineering Web Based Meeting Scheduler- Project Plan

Iterative Project Management 1

Software Project Management using an Iterative Lifecycle Model

Project Management Planning

OPERATIONAL PROJECT MANAGEMENT (USING MS PROJECT)

Introduction to Software Engineering

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng

2.1 Initiation Phase Overview

Managing Successful Software Development Projects Mike Thibado 12/28/05

Appendix 2-A. Application and System Development Requirements

ITIL. Lifecycle. ITIL Intermediate: Continual Service Improvement. Service Strategy. Service Design. Service Transition

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Classical Software Life Cycle Models

Chap 1. Introduction to Software Architecture

PORTFOLIO, PROGRAMME & PROJECT MANAGEMENT MATURITY MODEL (P3M3)

Minnesota Health Insurance Exchange (MNHIX)

Program Lifecycle Methodology Version 1.7

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

Project Management Step Wise. Sunday, 4 November 12

Implementation of ANSI/AAMI/IEC Medical Device Software Lifecycle Processes.

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

PRINCE2:2009 Glossary of Terms (English)

Project Management. What is Project Management?

Project Execution, Monitoring and Control (IS PM 8. Lecture; 2012 Spring)

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

IT Project Management

ATTACHMENTS: 1. CUSTOMER EXPERIENCE PROGRAM CHART

Leveraging RUP, OpenUP, and the PMBOK. Arthur English, GreenLine Systems

How To Understand The Software Process

NFSA Project Management Guidelines

Establishing your Automation Development Lifecycle

Developing SOA solutions using IBM SOA Foundation

Project Management Office (PMO)

EMC PERSPECTIVE. Adopting an Agile Approach to OSS/BSS Development

Positive Train Control (PTC) Program Management Plan

How To Write An Slcm Project Plan

A Case study based Software Engineering Education using Open Source Tools

The Data Integration Strategy

Surveying and evaluating tools for managing processes for software intensive systems

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch

REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS

Project Scorecard Template

Plan-Driven Methodologies

Unit 1 Learning Objectives

How To Adopt Rup In Your Project

ORACLE PROJECT MANAGEMENT

Driving Your Business Forward with Application Life-cycle Management (ALM)

TDWI strives to provide course books that are content-rich and that serve as useful reference documents after a class has ended.

Project Management Process

3C05: Unified Software Development Process

Example IEEE software project management plan (SPMP)

Self Assessment Risk Management Toolkit Summary

The most suitable system methodology for the proposed system is drawn out.

Project Management. Software Projects vs. Engineering Projects

1.20 Appendix A Generic Risk Management Process and Tasks

The Unified Software Development Process

Appendix V Risk Management Plan Template

Work Breakdown Structure (WBS)

Lecture Notes #27: Software Risk Management

10 Critical Steps to Create a Project Plan

ITRM Guideline CPM Date: January 23, 2006 SECTION 4 - PROJECT EXECUTION AND CONTROL PHASE

RISK MANAGEMENT OVERVIEW - APM Project Pathway (Draft) RISK MANAGEMENT JUST A PART OF PROJECT MANAGEMENT

PHASE 3: PLANNING PHASE

Agile Unified Process

Reaching CMM Levels 2 and 3 with the Rational Unified Process

Develop Project Charter. Develop Project Management Plan

Welcome to the Data Analytic Toolkit PowerPoint presentation an introduction to project management. In this presentation, we will take a brief look

e-tourism Marketing Specialist

An Introduction to the PRINCE2 project methodology by Ruth Court from FTC Kaplan

Basic Unified Process: A Process for Small and Agile Projects

PROJECT PLAN TEMPLATE

ESKISP Manage security testing

<Project Name> Quality Assurance Plan

Transcription:

CS2 Software Engineering note 3 Project Management in the Rational Unified Process In the last two Software Engineering lectures we have considered the outline description of the Rational Unified Process and in Lecture 2 we considered the Requirements workflow as an example of a typical workflow. In this and the next lecture we consider some of the the workflows of the RUP in a little more detail. This lecture considers the project management workflow. The Project Management Workflow The RUP is an essentially iterative process. The iterative approach has been chosen to limit exposure to project risk. This lecture introduces two key concepts in project management: Risk: this is used to assess the potential of a project to fail to deliver the required product. Metrics: these are the measurements we make of a development process in an attempt to assess and control risk through the planning process. The purpose of the Project Management workflow is threefold: 1. To provide a framework for managing project risk, through 2. The provision of practical guidance on how to plan, execute and monitor projects within, 3. A framework of planning structured around the coordination of the RUP workflows and phases oriented to generating a flexible plan exploiting the strengths of the iterative approach. Planning an iterative project Using an iterative approach in planning the development of software projects has many benefits mainly because it is easier to keep the project aligned to the requirements which are usually undergoing rapid evolution driven by a variety of factors, involving many different stakeholders. However, in some respects, taking an iterative approach raises additional questions: 1

How many iterations should be planned? How long should each iteration last? What are the aims, objectives and deliverables of each iteration? How should an iteration be monitored? The project plan encapsulates the process the project should follow. In particular it: Expresses: The decomposition of the overall task into sub-tasks. The allocation of tasks to people/teams The setting of timescales for the task Evolves through the lifetime of the project: To reflect changes in the desired outcome of the project. To take account of earlier deviations from the plan. In response to monitoring and measurement of the process and product. Two level plans: In many Project Planning environments because many similar projects have been undertaken previously it is possible to identify the deliverables that are required and the phasing of sub-tasks to achieve the goal of the project. Unfortunately this is rarely the case in software projects. The usual approach is to take a two level approach with a coarse-grained phase plan that looks at the project across the four main phases of the RUP and then consider detailed iteration plans for each iteration undertaken on the project. The phase plan is very rough and consists of the outline for the whole project. It should include at least: Dates of the major milestones, i.e. the move from one phase to another. Staffing estimates for each phase (this is usually based on historical evidence). An idea of the number of iterations included in each phase and rough dates for the end of each iteration. The number of iterations for each phase is reasonably closely related to the size of the system. Larger systems require more iterations. 2

The iteration plans usually include the current plan that is being used to manage the current iteration. This provides a framework against which progress can be measured. Each iteration includes: Requirements, analysis and design, implementation, deployment, test, and evaluation so milestones for each activity should be established and decomposition of larger tasks into sub-tasks should ensure the milestones are achievable. In addition, there should be at least a plan under development for the next iteration and possibly some scheduling of particular tasks into later iterations. In complex systems, the early iterations may exclude much of the functionality and the iteration plans may capture the road map of when particular features are scheduled to be introduced. The approach to generating the iteration plans is entirely conventional. We identify subtasks, their interdependence, and make effort estimates for each task. From this we establish start and end dates for each task that respects the resource requirements we have and the dependency between tasks. This plan is usually captured by a Gantt chart showing when each task starts and ends. Project Risk A risk comprises three elements: an undesirable event, an estimate of the severity of the consequences of the event, and a liklihood that the event will occur. The amount of risk a project is exposed to is a good measure of the viability of the project. If a project carries too much liklihood of high consequence events it should probably be cancelled because the chances of delivering an acceptable product are too low. Risk is often classified into Direct risk that the manager can control to some extent and Indirect risk that the manager cannot influence. In managing a project the aim is to control risk. Risk control involves three strategies: Risk avoidance involves reorganizing the project so you are not exposed to the risk. E.g. Change the supplier of some key component from a supplier who is promising a high quality product but has yet to deliver to a supplier who has a tried-and-tested product in the area. Risk transfer involves finding other stakeholders to share the risk with. E.g. if you are producing the product for a particular customer but hope to market it to other customers it might be possible to share get the custome to accept more of the development costs in return for a stake in future sales to other customers. Risk acceptance involves deciding to live with the risk and to take the occurrence of of the risk as a possible contingency to be taken account of in the planning process. Accepting a risk involves: Risk mitigation where we try to reduce the liklihood or the impact of a risk. E.g. if we decide to choose a particular supplier for a component 3

we can identify an alternative supplier with a similar product that could be used if the original supplier fails to deliver. Contingency planning construct what if plans on the basis of the risk occurring. Metrics A metric is some measurement we can make of a product or process in the overall development process. Usually metrics are split into two broad categories: Knowledge oriented metrics: these are oriented to tracking the process to evaluate, predict or monitor some part of the process. E.g. Goals of this kind of measurement include: Are we progressing according to plan? Is the workload to high for the team? How much reuse is the team achieving? Achievement oriented metrics: these are often oriented to measuring some product aspect, often related to some overall measure of quality of the product. E.g. goals of this kind of measurement include: Have we achieved the usability target? Metrics have a number of issues we need to consider. Without gathering some metrics we cannot expect adequately to control a process. However: It can be very expensive to gather metric data we should only gather the necessary data and no more. What we need to measure may change through the different process phases. We should be modest about what metrics we can measure E.g. measuring attributes like usability can only be very crude. Artifacts Generated by the Project Management workflow The Project management workflow aims to create a number of key artifacts for the management of the project. These are: The software development plan that comprises: Product acceptance plan Risk list and risk management plan Problem resolution plan Metric list and measurement plan Business case Detailed plan for each iteration 4

Assessment of each iteration Periodic status assessment Work schedule Project measurement database. Project Management Workflow In this final section we briefly outline the nine workflow items comprising this workflow. This is sufficient to understand the overall process but more detail is required if we are to apply this successfully. At project inception on the first iteration we require to carry out three workflow items: Conceive new project: This provides a preliminary business case and identifies some of the risks and begins assessment. Evaluate project scope and risk: This carries out more detailed development of the business case and the associated risks. Develop software development plan: This develops much of the detailed plan by developing the: measurement plan risk management plan product acceptance plan problem resolution plan project organisation and staffing monitoring and control processes plan phases and iterations During each iteration, we have three further workflow items: Monitor and Control Project: This work item continually checks the project is on plan by monitoring the process and checking the monitoring results against the plan. Deviations from plan may result in replanning. Plan for next iteration: This workitem develops the plan for the next iteration, taking into account progress on the current iteration and the overall plan. Manage iteration: This work items monitors progress and next iterations planning to inform decision making on whether to transfer to the next iteration or abandon the project because risks or cost estimates have become unacceptable. In addition there are further workflow items than manage phase transitions and bringing projects to an end. 5

Summary This note has provided a brief overview of the project management workflow of the RUP. In particular we have: Seen how planning uses two levels of plan Considered how the planning process is risk driven Measurement and metrics are used to assess progress and modify plans 6