iteration planning.pdf

RUP Iteration Planning
By Masoud Moshref Javadi
Nov 2008
Outline
Introduction
When, What, How, Who
Iteration Strategies
Phases Iteration Planning
Resources
RUP Iteration Planning
2
Object Oriented Software Design
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
A series of fine-grained plans: the iteration
plans
RUP Iteration Planning
3
Object 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
4
Object Oriented Software Design
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
5
Object 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
6
Object 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
7
Object Oriented Software Design
What’s its constituents?
Plan
Activities
Schedule
Deliverables
Resources
Staffing Resources
Financial Resources
Equipment & Facilities
Use Cases
Evaluation Criteria
RUP Iteration Planning
8
Object Oriented Software Design
Who?
Project Manager
Software Architect
Management Reviewer
RUP Iteration Planning
9
Object Oriented Software Design
Iteration Strategies (1)
Wide and Shallow
When is appropriate?
• Inexperienced team (problem domain / technology
area)
• 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
10
Object 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
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
11
Object Oriented Software Design
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
12
Object Oriented Software Design
Inception Phase Iteration Planning
Objective Drivers
Vision
Business case & critical requirements
Project management (feasibility & setting up
the team)
Development environment
RUP Iteration Planning
13
Object 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
• 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
14
Object 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
• Toward the end of the construction phase, the main
goal will be to ensure coverage of full use cases.
RUP Iteration Planning
15
Object Oriented Software Design
Transition Phase Iteration Planning
The main goal is to finish this generation of the
product
Bugs/Fixes/Improvements
RUP Iteration Planning
16
Object 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
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
17
Object Oriented Software Design
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,
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
18
Object Oriented Software Design