Top Banner
Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase
28

The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Apr 19, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Agile Project Management

Jim Highsmith

Chapter 7

The Speculate Phase

Page 2: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

“Plans are guides, not straightjackets”

Good context…

“Agile teams plan, but they recognize that reality always intrudes.

Plans have to adapt because the customers’ understanding of their requirements changes, because estimates of variety or other reasons.

Plans are both conjectures about the future – our best guess at what will occur given the information we have – and guides to the future – determining what we want to occur and making it happen.

Development generates new information that in turn creates the need to replan.”

Page 3: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Speculating on Product and Project

The “product” of this phase is a release plan based on

capabilities or stories to be delivered rather than

activities.

Two critical components of an iterative planning and

development process:

Short iterative timeboxes and features

Short iterations act to accelerate projects

Short timeframes requires the team to figure out faster ways of

accomplishing all aspects of development… QA activities are

completed every iteration (not at the “end”)

Page 4: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Feature Driven Development (FDD)

First goal: “make the process visible, and understandable, to the customer team.”

… instead of making the technical work understanding to the engineering team.

Customers understand products, components of products, and features of those components.

Features are the interface between development engineers and product teams

Index cards:

Break features down into chunks that can be implemented.

On the front: requirements information for planning purposes

On the back: technical task information enabling the development team to estimate effort and manage its work

Page 5: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Agile project speculation helps the team:

• Determine how the product & its features will evolve in the current release

• Balance anticipation with adaptation as the project unfolds

• Focus on the highest-value features early in the project

• Think about the business goals, project objectives, & customer expectations

• Provide necessary cost and schedule information to management

• Establish priorities for tradeoff decisions

• Coordinate interrelated activities and features across teams

• Consider alternatives and adaptive actions

• Provide a baseline for analyzing events that occur during the project

Through their actions, performance measurements, and vision, agile leaders

constantly need to encourage teams to learn and adapt as projects evolve.

Page 6: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Product Backlog

Its objective: to expand the product vision, through

evolutionary requirements definition process, into a

product feature list… of backlog.

The backlog list is maintained by the product manager

and is the major input for release, wave* and iteration

planning.

* wave (or milestones) plans span several iterations

Page 7: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Feature details… evolve over the development phases

Envision phase

The team creates a preliminary feature or product breakdown

structure, identifying features

Speculate phase

The team expands the list, and for each feature creates one or

more “story” cards that contain basic descriptive and

estimating information.

Explore phase

In the specific iteration in which a story is planned for

implementation, the requirements are determined in detail, and

the story is built and tested

Page 8: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

From the list of stories…

The Product team and engineering team need to discuss

prioritization and scheduling issues during the

assignment of stories to iterations within the release

plan.

Note. characteristic of agile projects is the volatility of

stories in the backlog.

Planning for each iteration… the stories to be included in that

iteration can change from the original release plan.

Page 9: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

What is a feature, a Story

“A piece of a product that delivers some useful and

valuable functionality to a customer.”

Difference between a story and a feature

A story is a small piece that delivers useful functionality, but may not

deliver a complete function

Stories evolve over time… they don't represent a set of “fixed” req’ts

Example

Feature: As a credit analyst I need the ability to check a customer's credit

rating.

As a credit analyst, I need the ability to:

• Check the prior payment history with this customer

• Check this customer’s credit bureau status

• Calculate our internal credit rating based on history and credit

report.

Page 10: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Figure 7-2 The Focus of Stories

Release Planning

Allocate work to iterations in a release plan

Use stories to involve the product team in the process

Detailed Iteration Planning

Stories are broken down into technical tasks… to be used by the development team

Small stories… sufficient to implement only what is needed for the story

Not having demonstrable customer-understood stories causes project to get off track quickly…

… furthermore, by combining tasks from several stories during an iteration, most perceived inefficiencies can be eliminated

Page 11: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

“Some stories will invariably take longer, or appear to take

longer, than one iteration to complete.

Usually when teams are pressed to decompose a “big” story into

bite-sized stories, they figure out a way.

Inability to break things down in this manner is usually an issue

of lack of experience rather than a un decomposable story.”

“Dark holes”

The danger of building technical features before customer

ones

The longer the technical team “stays dark” – building techie

stuff – the further off track the project can get before receiving

feedback from the customer team.

Page 12: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Story Cards

Agreements between customers and team members to discuss detail requirements during an iteration.

“Discussion is critical to understanding, which in turn is critical to estimating.”

Story Card Information (Figure 7-5)

• Story identifier and name

• Story description: sentence or two describing the feature in customer terms

• Story type (C=customer domain, T=technology domain)

• Estimated work effort… needed to deliver the story, including time for req’ts gathering, design, coding, testing & documentation

• Estimated value point (coming in Ch. 8)

• Req’ts uncertainty (erratic, fluctuating, routine, stable): an exploration factor

• Story dependencies: Dependencies that could influence implementation sequencing

• Acceptance tests: criteria the customer team will use to accept or reject the story

Page 13: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Stories… uncertainty and risk factors…

… influence scheduling and the team’s approach to

implementing.

High risk (erratic and fluctuating) stories: scheduled in

early iterations

… to get a handle on whether is can be implemented as

well as whether it will take more time and/or money

… there will be technology areas or features that run the

gamut from low to high risk.

… intent is to improve development effectiveness and

productivity.

Page 14: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Creating a Backlog

“A list of capabilities, features, and stories that the product team has identified.”

In a well-functioning agile team, collaboration among customers, product specialists, and developers supersedes documentation in importance and improves the entire req’ts understanding process.

Approaches to business/product analysis & story definition…(e.g. use cases)

Whatever… three things are essential:

1. Identifying roles or personas that exist in the customer’s environment

2. Identifying functions performed by these personas

3. Breaking that functionality down into implementable chunks – stories.

Page 15: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

“… paving cow paths”

… means automating business processes as is, without

thinking too much about whether or not the business

processes are effective or efficient.

A “dangerous” assumption in many agile methods…

Customers have done their homework…

1. They understand tier business processes

2. They have done the necessary business process analysis

and rationalization

3. They understand how automation might change

processes themselves.

Agile teams… ignoring and becoming developer-centric

Miss the opportunity to increase delivery of extra customer

value.

Page 16: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Release Planning

“… the roadmap of how the team intends to achieve the

product vision within the project objectives and constraints

identified in the Project Data Sheet (PDS).”

Most traditional project management plans utilize a list of

tasks to construct work breakdown structures (WBSs) to

organize the work.

Work… concentrate first on deliverables, work- or task-driven

plans… which often degenerate into detailed, prescriptive plans.

The more quickly the link can be made between customers

and features they requested and get feedback… the more

likely the product development effort will be successful.

Page 17: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Release Planning (continued)

Its primary task: assigning stories to iterations, based on value

and risk.

Release planning should be a collaborative team effort – product

team, development team and executives.

The team needs executive input at the beginning of the Release

Planning… and towards the end.

Page 18: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Gold Plating… Standish Group presentation of two case studies…

Federally mandated state child welfare projects …

Florida: begun in 1990, delivery expected 1998, cost of $32

million with staff of 100

“last review”… cost estimated at $170 million, delivery 2005

Minnesota: begun in 1999, delivered in 2000, cost of $1.1

million with staff of 8

Two other studies …

Dupont: estimated that only 25% of the features implemented

were actually needed.

Other: 45% of the features were never used and only 20%

were used often or otherwise.

Simplicity – the art of maximizing the amount of work

not done – is essential (Agile Manifesto)

Page 19: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Agile… focus and balance

“… focusing on the project’s key vision and goals and

forcing hard tradeoff decisions that bring balance to the

product.

… short iterations in agile development, combined with

end-or-iteration customer review, make the entire team

– developers, customers, management – face reality.

Agile practices incorporate change into the development

process. while at the same time reducing project size by

constant and intense concentration on essentials.”

Page 20: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Iteration 0 … helps balance anticipation with adaptation.

Zero implies nothing useful implies that nothing useful

to the customer gets delivered initially.

What gets done in Iteration 0 (prior to launching into

iterative story development)?

Product being integrated with another app may require data

architecture work to define the interfaces

Electronic instrument work might require a preliminary

component architecture

Team using unfamiliar architecture may need training time

… some projects require more “initialization” work that

others.

Page 21: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Iterations 1 – N

Need to create a plan, assigning stories to iterations for the duration of the project…

completion dates, staffing, costs … other planning information

Activities in laying out this plan:

• Determine how identified risks will influence iteration planning

• Identify schedule target (the product manager’s “desired” schedule, without respect to achievability

• Develop a them for each iteration

• Assign story cards to each iteration, balancing value, risks, resources, and dependencies as needed

• Summarize the release plan in some combination of story card layout (Figures 7-6 though 7-8, page 148-9)

• Adjust the completed plan as necessary, using the tradeoff matrix as a guide.

Page 22: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Customer value and risk… drivers

The risk list should be reviewed.

Assessment should be made to assess the impact and how mitigation

might effect the release plan

High value stories might need to be deferred in favor of high risk

stories…

Marketing, management, or a customer might “select” the delivery

date… these expectations are “real”

In many cases a target date becomes a constraint on the project.

At the outset “there are many unknowns”… requiring development and

customer teams and executives to work together to resolve the unknowns…

For example, everyone should be looking at features to reduce in scope (or

cut)

The process of negotiating between target and planned dates works only when all

parties are working collaboratively to achieve a common goal. It does not work in a

situation in which parties are being arbitrary and capricious.

Page 23: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Each iteration should have a “theme”

Essential to ensuring that the team balances breadth and

depth of features.

Helps to focus the team in ways that a list of individual stories

may not.

e.g. “Demonstrate the basic instrument data acquisition capability” and

“Prove that our high-risk valve design is viable”

Techniques to ensure a reliable plan

For each iteration, add time for changes identified during the

previous iteration review… story card titled “Rework and

Contingency”

Set aside one or more iterations at the end of the project…

especially for projects with a high exploration factor

Page 24: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Release Planning is not prescriptive!

Prior to the start of the 1st iteration… and given the

development of the initial prioritized “Backlog” list and

the “expected” delivery date…

Iteration length is specified, expected work per iteration is

specified

… iteration “themes” are specified and the appropriate stories

associated with the each theme are assigned to iterations based

on “value” and “risk”.

The sum of the work associated with each story assigned to an

iteration should be less than or equal to the expected work per

iteration.

Page 25: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

First Feasible Deployment

“The first iteration in which the product could

potentially be deployed.”

Customers would understand that the product has only

certain features, but they are willing to work with that

limited functionality.

NOTE. The result at the end of each iteration is “done-done,”

deployable pieces of product… they may or may not be

actually deployed.

Iteration results for Web-based systems might be deployed.

Page 26: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Estimating … is a guess!

The “subtleties:

• Estimating the unknown

• Estimating by stories rather than tasks

• Estimating progressively

• Estimating can be a huge time waster

• Estimating versus sizing

• Using “story points” versus staff hours

Story point (relative size) estimating is preferred… but

staff hours are also used

Page 27: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Team member estimates should be used for iteration plans

• Important for team development and cohesion… team

member should be responsible and accountable for

iteration plans!

• As the project progresses, team members should get

better at estimating for the next iteration…

“learning from doing… ”

Chapter 8

Page 28: The Speculate Phaseathena.ecs.csus.edu/~buckley/CSc233/APM_Ch7.pdf · Agile Project Management Jim Highsmith Chapter 7 The Speculate Phase “Plans are guides, ... process. while

Final thoughts…

Three key activities needed before “story development”

1. Articulating a product vision

2. Defining the project’s objectives and constraints

3. Creating an iterative, story-based release plan

The “release plan” is constructed from the feature/story “Backlog”…

… that evolves during the Envision and subsequent Speculate phases.

“When you get the backlog and release plan done, the rest is relatively easy!”