Upload
randell-russell
View
220
Download
0
Tags:
Embed Size (px)
Citation preview
Iterative ProjectManagement
Chapter 7.1 – Evolution and Phase Planning
Modified considerably by your Instructor
2Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
Objectives
• Understand how to plan the phases of an iterative project• Understand how to review the progress made during a
phase• Understand how many iterations a project should have• Understand what should be delivered by each phase
3Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
Introduction to Evolution / Phase Planning• Interesting quote: “If a man will begin with certainties, he shall end in
doubts, but if he will be content to begin with doubts, he shall end in certainties.” Sir Francis Bacon.
• OK, so we’re into project planning and we are looking into evolution planning in particular.
• But there are many decisions to be made to develop the plan.– What should go into which phase?– How will you know when a phase is done?– How many iterations should there be in each phase?– What does each iteration need to achieve for subsequent iterations to
safely proceed?– Which requirements and which risks should each iteration address?– How can you organize all this to deliver maximum business value
with the time ;/ resources allocated to the evolution?
4Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
More intro…
• To answer these, we need to develop a plan for the evolution.– Needs to overview the iterations, their goals, major requirements and
risks, and a strategy for how / when we can make critical decisions.– Thus many questions must now be addressed as part of the
development (evolution) plan.
– First of all, the evolution plan must describe• Phase activities and Phase milestones• Number of iterations per phase and iteration milestones• Must also develop estimates of time / resources needed across the
evolution’s life cycle.
5Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
Review: Phases and Their Purpose – all about RISK!
Phase Focus
Inception Confirm the scope and objectives of the project and bring the business risks under control
Elaboration Stabilise the product plans and bring the architectural and technical risks under control
Construction Build the product and bring the logistical, project execution risks under control
Transition Deliver the product and bring the roll-out risks under control
The phases define a risk-driven lifecycle
We know that phases provide an objective measure of the ‘state’ of the project based on riskTo review:
6Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
Breadth and Depth Across the Phases – a Word of Caution
• Very easy to emphasize breadth at expense of depth and vice versa.• Need a balanced approach where breadth is used to drive the
major decisions and depth used to actively attack specific risks.
• Breadth by itself – used to drive major decisions– To understand the problem and define the architecture – Here, entire problem domain is analyzed– All use cases identified– Architecture totally built – ensuring no use-cases break it.– Elaboration produces complete paper specification; – No implementation until Construction– Resembles waterfall.
• Depth by itself – used to jump on and mitigate specific risks.– To develop executable releases and really drive out the risks.– Here, take a narrow slice of problem domain; select a few use-cases– Individually analyzed, designed, and implemented in isolation– But leads to a brittle solution where change is not isolated.
7Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
The Phase Approach Varies By Phase, as ‘required.’
Phase Breadth Depth
InceptionWide and shallow to gain an understanding of the scope
Narrow and deep, if an architectural proof-of-concept is built
ElaborationMostly wide and shallow to make sure the architecture covers the breadth
Selectively narrow and deep to attack risk areas with depth
ConstructionNarrow and deep to develop and deliver functionality
Transition Filling in the missing pieces
based on feedback and bugs
Balance is required, in the early phases, to create a firm foundation for the rapid development of the solution
Many unsuccessful projects stress one over the other. Successful projects balance the need for breadth and depth across the lifecycle.
8Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
The Type of Release Produced Varies By Phase
• Iterations result in development of an executable release.• We know this, but the type of release varies by phase.
• Inception and Elaboration releases are prototypes. – Maybe throwaways to illustrate something or– May be something to form basis of actual deliverable release later– Not suitable for general release.
• Construction releases may become deliverable releases.– They have qualities required of a deliverable product.– Been tested, documented, no stubs, should do something useful.– If necessary, could be deployed.
9Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
The Type of Release Effort Expended By Phase
Phase Unit of DeliveryType of Release
Effort Directly Contributing to the Release
InceptionGeneric Proof of Concept
Proof of Concept / Prototypes
< 20%
ElaborationScenario / Abstract Flow of Events
Architecture Release > 50%
ConstructionFlow of Events / Use Case
Deliverable System > 80%
TransitionEmergency Fixes
Usable System c. 40%
Note: The final column sums up the amount of effort that is directly contributing to the release produced by the iteration. These figures are indicative only.The rest of the effort is spent on: Management, Groundwork, Environment, Training, Secondary Tasks, New risk investigations, impact analysis, User Support, Meetings
10Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
Phases: Effort and Schedule
• Risks mitigated varies by phase.• Thus effort required will vary across the phases.
• Project extending capabilities of an existing solution– Much less business risk (than one building a new product.)– Inception phase of projects like these will differ significantly.
• project developing a new and unprecedented technology– a lot of technical risk (than one using an existing architecture).– Elaboration phases of projects such as these will vary quite a bit.
12Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
Typical and More Difficult UP Projects
Time
5%
Resources
Inception– 10%
Elaboration– 30%
Construction– 50%
Transition– 10%
Effort 20%
Effort 65%
10%
Time
Resources
Inception– 20%
Elaboration– 33%
Construction– 40%
Transition – 7%
Effort 24%
Effort 60%
8%
Effort 8%
Number of iterations for illustration only; Resource levels across phases – typical.Height of bar represents the proportion of project resources; length: proportion of time.
Source: Unified Software Development Process pages 335, 336
In this figure, more time is spent in inception due to more business matters needing scrutiny and control. A little less time expended in later iterations.
13Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
Projects With A Fixed Team Size
Time
10 %
Resources
Inception – 10%
Elaboration– 20%
Construction– 60%
Transition – 10%
Effort 20% Effort 60% 10%
With a fixed size team effort and duration converge
With this, can see that the Inception and Elaboration Phases we are typically overstaffed (people idle while vision, technical architecture, etc. are identified) OR (if not overstaffed) Construction phase is extended delaying delivery.
Project will more likely be successful when we can add the right people at the right time.Too many people at wrong time causes overhead and confusion before project can really
use these people; adds also to cost; they want to do something, but have no direction.
14Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
Iteration Duration and Frequency
• Start an iteration: have a rough set of goals.• Within iteration: do the scenario realization• End of iteration: assess results; deliver executable. Because this is the typical pattern, it is good to agree
on a common iteration schedule.
• So, How Quickly Can a Project Iterate? Consider:• Need a day or two for iteration startup (planning)• Need a day or two for closedown (post mortem reviews).• Iteration duration lasts between two and six weeks. But,
of course, there are exceptions – and there are many.
15Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
How Quickly Can You Iterate?
• Iteration Length - Typically 2-6 weeks– Low 1 week
– Most common 4 weeks (30 calendar days)
– High 10 weeks
• Size varies by:– Team size
– Objective
– Amount of overhead
– Team distribution and availability
– Project formality
– External dependencies
– Project environment
• Let’s look at these a little more closely
16Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
Project Iteration – Factors – Great Slide!• Team Size:
– Larger teams have more overhead longer iterations.• Generally: 2 to 15 people: 2 to 4-week iterations• 15-30 people – 4 to 6-week iterations• 30-50 people – 6 to 8 week iterations.
• Iteration’s Objectives – sometimes these simply require more time.• Amount of Overhead –
• The more meetings and admin overhead required by the owning organization, the longer the iterations will be.
• Team Distribution – • The more distributed the team, the longer to agree on decisions and hence the
longer the iteration; More communications will be needed too.• Resource Availability –
• The amount of dedicated time definitely impacts iteration length. Dedicated workers lessen the length and conversely.
• Project Formality – • Some projects have stringent reviews / project documentation.
– This requires more time to deliver, coordinate, buy-in, etc. these items.
• External Dependencies – • Dependent on external suppliers and resources? Add time.• Iterations are difficult to plan and control.• Regulatory agencies, partners can influence duration
• Project Environment – • Agile and dynamic environments require a special environment.• Facilities must be in place for development and communications.
– Meeting rooms, quiet areas, etc.)
17Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
Notes on Duration of Project Iterations:
• No ‘one size fits all’ here…• Iteration size needs to vary depending on project risk, how
much work is to be done, and available resources and really, a host of other factors.
• Generally good to start with a length of four to six weeks and adjust rather quickly based on initial experiences.
• A four-week iteration (measured in working days) might well span six weeks.– So be careful and recognize holidays, vacations, etc.
18Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
How Many Iterations in an Evolution?
Total Inception Elaboration Construction Transition
Small 3 1 1 1
Typical 6 1 2 2 1
Large 10 2 2 4 2
A project may have many more iterations (20 to 40 havebeen reported) but would go through many cycles.
Interesting…but there is wide variability in these: ahead.
19Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
Again: note the well regarded people have different takes:
• Walker Royce – 4 to 9 iterations. – Typical 6: 1, 2, 2, 1; Small 4: 1,1, 2, 1. Large 9: 2, 2, 4, 1
• Krutchen suggests 3 to 10 iterations• RUP suggests 3 to10 iterations, typically 6 to 8• Larman: 3 to 45. Two year project 20 iterations.• Bittner and Spence offer that 10 iterations is considered
quite large for a single evolution. – Ten iterations implies either there is a long time before the end of
Construction when the evolution is initially deployed or there are a lot of iterations in the Transition phase, each deploying a minor upgrade to the system and a long time to wait before any major changes can be made.
– Bittner and Spence also suggest ten iterations should take no longer than nine months to ensure business value is delivered within a typical business budgeting cycle.
– This position implies difficulty if evolution is more than 10 iterations.
20Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
A Strange Coincidence: The Square Root Rule
Project DurationIterations
Length Number
Two years 100 weeks 10 weeks 10
One year 49 weeks 7 weeks 7
Nine months 36 weeks 6 weeks 6
Six months 25 weeks 5 weeks 5
Four months 16 weeks 4 weeks 4
Two months 9 weeks 3 weeks 3
One month 4 weeks 2 weeks 2
Source: What if we used common sense?, J Marasco, Rational Edge, Jan 02
As with the other figures presented, these are intended for background information and guidance only. Key consideration in determining length of release cycle, size and number of iterations withinthis cycle should always be the specific needs, risks and constraints of individual project.
The probable underlying cause of the above correlation is that longer projects tend to be larger projects with relatively large teams, and it is harder to iterate quickly with a large project team.
21Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
Forces That Extend Phases
Phase Force
InceptionHighly volatile scope
Unknown business environment
Stakeholder disagreement
Elaboration
Unproven architecture
Unstable requirements
Unstable development environment
Challenging non-functional requirements
Construction
No deployment window
Large amounts of functionality to produce and test
Poor architecture
Inability to scale up the development team
TransitionPoor quality
Hardware / system distribution and replacement
Level and length of support required
We know that phases do not have a fixed duration; they take as long as needed to mitigate risks they are responsible for. So, consider some factors that may extend risk:
22Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
Staying on Schedule
• But most projects have some sort of fixed deadlines– Based on market needs, regulatory needs, management
directives, and other overall desired outcomes.
• So, what to do?• Two Choices:
– Reduce Scope or – Add Resources.
• Fred Brooks (we have discussed) said adding resources to a late project will make it later.
• But we have found that
(Fixed Scope) + (Fixed Duration) = Failure
So decisions must be made reconciling the features delivered against the risks incurred to complete on time
23Iterative Project Management / 04 - Phase Planning and Assessment© 2005 Ivar Jacobson International
The Good News and Reality Check:• Yes, there is good news:• Reality is that not all requirements have equal import.• Can usually identify a set of requirements than can be scrubbed or
moved to a later evolution assuming there is an atmosphere of cooperation and aligned goals between the business and the development team.
• Authors point out that more than one project has failed for forcing an ‘all or nothing attitude’ regarding project scope.
• The reality is simple. • When unknown risks raise their ugly heads, if we do not reduce scope
or extend the schedule, failure is imminent. • Project manager must intestinal fortitude to state the truth if necessary.
– By not doing so, the results are significantly worsened!
• If I may quote: “Ignoring project risk is like ignoring a potentially terminal disease that can be treated if caught early but that becomes increasingly lethal the longer the symptoms are ignored.”