22
Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

Embed Size (px)

Citation preview

Page 1: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

Iterative ProjectManagement

Chapter 7.1 – Evolution and Phase Planning

Modified considerably by your Instructor

Page 2: Iterative Project Management 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

Page 3: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

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?

Page 4: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

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.

Page 5: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

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:

Page 6: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

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.

Page 7: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

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.

Page 8: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

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.

Page 9: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

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

Page 10: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

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.

Page 11: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

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.

Page 12: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

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.

Page 13: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

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.

Page 14: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

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

Page 15: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

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.)

Page 16: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

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.

Page 17: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

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.

Page 18: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

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.

Page 19: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

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.

Page 20: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

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:

Page 21: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

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

Page 22: Iterative Project Management Chapter 7.1 – Evolution and Phase Planning Modified considerably by your Instructor

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.”