Iteration Planning.pdf

RUP Iteration Planning
By Masoud Moshref Javadi
Nov 2008
Outline
Introduction
When, How, What, Who, Which Tool
Iteration Strategies
Phases Iteration Planning
Resources
RUP Iteration Planning
2
Object Oriented Software Design
Introduction (1)
vTwo 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)
v“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?
vBuilt in the preceding iteration (second half)
vMaintained in the current iteration
vTwo “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?
vThe project plan
vThe current status of the project
vPrevious iteration plan assessment
vSoftware architecture
§ List of scenarios/usecases
§ List of major classes and packages
vList of changes/fixes for preceding artifacts
RUP Iteration Planning
6
Object Oriented Software Design
How?
vUnderstand the Objectives of the Phase
vDetermine the Deliverable(s)
vFind the related activities using the associated
workflow template
vAssociate Resources with Activities
vDefine Monitoring and Control Processes
vAssess Iteration
RUP Iteration Planning
7
Object Oriented Software Design
What’s its constituents?
vPlan
§ Activities
§ Schedule
§ Deliverables
vResources
§ Staffing Resources
§ Financial Resources
§ Equipment & Facilities
vUse Cases
vEvaluation Criteria
RUP Iteration Planning
8
Object Oriented Software Design
Who?
vProject Manager
vSoftware Architect
vManagement Reviewer
RUP Iteration Planning
9
Object Oriented Software Design
Which tool can I use?
vMicrosoft Project
vMicrosoft Project + RUP Planning Guide
template
vEPF
vAnd many other Project Management Software
RUP Iteration Planning
10
Object Oriented Software Design
Iteration Strategies (1)
vWide 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
11
Object Oriented Software Design
Iteration Strategies (2)
vDeep and Narrow
§ When is appropriate?
• Early result à Overcome dominant risk, garner
support, or prove viability
• Continually evolving requirements
• Mandatory deadline à early start on development
• A high degree of reuse
§ 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
12
Object Oriented Software Design
Iteration Strategies (3)
vHybrid 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
13
Object Oriented Software Design
Inception Phase Iteration Planning
vObjective Drivers
§ Vision
§ Business case & critical requirements
§ Project management (feasibility & setting up
the team)
§ Development environment
RUP Iteration Planning
14
Object Oriented Software Design
Elaboration Phase Iteration Planning
v 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.
• keep in mind that some of the risks may be of a more human
nature: managing change, fostering a team culture, training
team members, and introducing new tools and techniques.
§ 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
15
Object Oriented Software Design
Construction Phase Iteration Planning
vObjectives 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
16
Object Oriented Software Design
Transition Phase Iteration Planning
vThe main goal is to finish this generation of the
product
vBugs/Fixes/Improvements
RUP Iteration Planning
17
Object Oriented Software Design
Summery
v 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
18
Object Oriented Software Design
Resources
v Philippe Kruchten, “Rational Unified Process,
The: An Introduction, Third Edition”, chapter 7,
16, Addison Wesley, 2003,
v 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
v Rational Software Corporation, “Rational Unified
Process Help, Activity: Develop Iteration Plan &
Guidelines: Iteration Plan & Artifact: Iteration
Plan “, 2003
RUP Iteration Planning
19
Object Oriented Software Design