RUP Iteration Planning

18
RUP Iteration Planning By Masoud Moshref Javadi Nov 2008

Transcript of RUP Iteration Planning

RUP Iteration Planning

By Masoud Moshref Javadi

Nov 2008

Outline

When, What, How, Who

Introduction

RUP Iteration Planning RUP Iteration Planning Object Oriented Software DesignObject Oriented Software Design

Resources

Phases Iteration Planning

Iteration Strategies

22

Introduction (1)

�Two Levels of Plan

� A coarse-grained plan: the phase plan• Dates of the major milestones

• Staffing profile

• Dates of the minor milestone• Dates of the minor milestone

� A series of fine-grained plans: the iteration plans

RUP Iteration Planning RUP Iteration Planning 33 Object Oriented Software DesignObject Oriented Software Design

Introduction (2)

�“A time-sequenced set of activities and tasks, with assigned resources, containing task dependencies, artifacts, and evaluation criteria for the iteration”

RUP Iteration Planning RUP Iteration Planning Object Oriented Software DesignObject Oriented Software Design44

When should I do that?

�Built in the preceding iteration (second half)

�Maintained in the current iteration

�Two “active” iteration plan at one time:

� The current iteration plan

� The next iteration plan

RUP Iteration Planning RUP Iteration Planning 55 Object Oriented Software DesignObject Oriented Software Design

What do I need?

�The project plan

�The current status of the project

�Previous iteration plan assessment

�Software architecture

� List of scenarios/usecases

� List of major classes and packages

�List of changes/fixes for preceding artifacts

RUP Iteration Planning RUP Iteration Planning 66 Object Oriented Software DesignObject Oriented Software Design

How?

�Understand the Objectives of the Phase

�Determine the Deliverable(s)

�Find the related activities

�Associate Resources with Activities

�Define Monitoring and Control Processes

�Assess Iteration

RUP Iteration Planning RUP Iteration Planning 77 Object Oriented Software DesignObject Oriented Software Design

What’s its constituents?

�Plan� Activities� Schedule� Deliverables

�Resources�Resources� Staffing Resources� Financial Resources� Equipment & Facilities

�Use Cases�Evaluation Criteria

RUP Iteration Planning RUP Iteration Planning 88 Object Oriented Software DesignObject Oriented Software Design

Who?

�Project Manager

�Software Architect

�Management Reviewer

RUP Iteration Planning RUP Iteration Planning 99 Object Oriented Software DesignObject Oriented Software Design

Iteration Strategies (1)

�Wide and Shallow

� When is appropriate?• Inexperienced team (problem domain / technology

area)

• Consequential / unprecedented architecture• Consequential / unprecedented architecture

� Potential pitfalls• Analysis paralysis

• Delayed result

• Not enough of the technical details to get a sense of the real technical risks

RUP Iteration Planning RUP Iteration Planning 1010 Object Oriented Software DesignObject Oriented Software Design

Iteration Strategies (2)

�Deep and Narrow

� When is appropriate?• Early result � Overcome dominant risk, garner

support, or prove viability

• Continually evolving requirements• Continually evolving requirements

� Potential pitfalls• Incompatible components / stovepipe

• Large part of the functionality must be sampled to achieve a balance architecture in a completely new problem domain / an unprecedented architecture

RUP Iteration Planning RUP Iteration Planning Object Oriented Software DesignObject Oriented Software Design1111

Iteration Strategies (3)

�Hybrid approach

� Narrow/Deep strategy used in Inception

� Wide/Shallow strategy used in Inception

� Wide/Shallow strategy used in Elaboration• With selective Narrow/Deep focus

� Narrow/Deep strategy used in Construction

RUP Iteration Planning RUP Iteration Planning Object Oriented Software DesignObject Oriented Software Design1212

Inception Phase Iteration Planning

�Objective Drivers

� Vision

� Business case & critical requirements

� Project management (feasibility & setting up the team)the team)

� Development environment

RUP Iteration Planning RUP Iteration Planning 1313 Object Oriented Software DesignObject Oriented Software Design

Elaboration Phase Iteration Planning

�Objectives Drivers� Risk

• For the most damaging risks, identify a scenario in one use case that would force the development team to "confront" the risk.

� Coverage� Coverage• Toward the end of the phase, include scenarios that

touch areas you know will require development (baseline an architecture)

� Criticality• make sure to include the most fundamental function

or services provided

RUP Iteration Planning RUP Iteration Planning 1414 Object Oriented Software DesignObject Oriented Software Design

Construction Phase Iteration Planning

�Objectives Drivers

� Risk• New and unsuspected risks are uncovered

• Complete some of the more critical ones early

� Completeness� Completeness• Toward the end of the construction phase, the main

goal will be to ensure coverage of full use cases.

RUP Iteration Planning RUP Iteration Planning 1515 Object Oriented Software DesignObject Oriented Software Design

Transition Phase Iteration Planning

�The main goal is to finish this generation of the product

�Bugs/Fixes/Improvements

RUP Iteration Planning RUP Iteration Planning 1616 Object Oriented Software DesignObject Oriented Software Design

Summery

�An iteration plan:� provides a detailed description of the upcoming

phase of work,

� defines the worker roles involved, necessary activities, and artifacts to be delivered in that activities, and artifacts to be delivered in that iteration,

� outlines a very clear set of measurement criteria by which progress can be assessed during the iteration and success can be measured at the end

� defines specific start/end dates and delivery dates

RUP Iteration Planning RUP Iteration Planning Object Oriented Software DesignObject Oriented Software Design1717

Resources

�Philippe Kruchten, “Rational Unified Process, The: An Introduction, Third Edition”, chapter 7, 16, Addison Wesley, 2003,

�David West , “Planning a Project with the IBM Rational Unified Process”, PT: Aug 2003, AT: Nov 2008, 2008, http://whitepapers.zdnet.com/abstract.aspx?docid=71897

�Rational Software Corporation, “Rational Unified Process Help, Activity: Develop Iteration Plan & Guidelines: Iteration Plan & Artifact: Iteration Plan “, 2003

RUP Iteration Planning RUP Iteration Planning 1818 Object Oriented Software DesignObject Oriented Software Design