Agile Planning

Post on 29-Oct-2014

2 views 1 download

Tags:

description

This is a presentation I gave at the Central Indiana MPUG September 2012 meeting. Abstract: There are many commonly held myths about agile. Two of these myths are that agile projects don’t do any planning and that you can’t do agile on a fixed date project. In this presentation we will disprove these two myths by exploring just how agile planning is accomplished and how you can not only use agile on fixed date projects but also improve your accuracy and consistency in hitting those dates with agile.

transcript

Agile Planning

September Central Indiana MPUG

Matt Block

Quick Introduction

Developer by trade – CS Major from Purdue (Go Boilers!) – Developer at large manufacturing company

Development Manager – Small software company – Introduced Agile

Product Manager/Product Owner – Sounded good at the time

Development Manager – Large Software company – Leading Agile Transformation

AgileIndy – Founding Member/Organizer

Copyright © 2012 Development Block, LLC

2

Agenda

Agile Planning – Common Myths

– Agile means no plans

– You can’t do fixed date projects in agile

Agile Release Planning – An Overview

3 Copyright © 2012 Development Block, LLC

AGILE MEANS NO PLANS

4 Copyright © 2012 Development Block, LLC

The Agile Manifesto

5 Copyright © 2012 Development Block, LLC

Individuals and Interactions

Working Software

Customer Collaboration

Responding to Change

Processes and Tools

Comprehensive Documentation

Contract Negotiation

Following a Plan

over

over

over

over

Agile Teams Plan Constantly

“Plans are nothing; planning is everything.”

– Dwight D. Eisenhower

“I plan to re-plan”

– Popular agile t-shirt

6 Copyright © 2012 Development Block, LLC

Levels of Planning in Agile

Strategy

Portfolio

Product

Release

Iteration

Daily

7 Copyright © 2012 Development Block, LLC

• 1-2 times per year • Product evolution over time

• 3-4 times per year • Feature/Date tradeoffs

• Every 2-4 weeks • What will fit in this iteration?

• Every day • How to complete comittement

Planning in Scrum

8 Copyright © 2012 Development Block, LLC

We Can’t Know Everything Up Front

9 Copyright © 2012 Development Block, LLC

Agile is Iterative

10 Copyright © 2012 Development Block, LLC

Accuracy vs. Precision

Plans must be accurate, gain precision over time – We’ll be done in Q3.

– We’ll be done in September.

– We’ll be done on September 10.

Precision is expensive, and more likely to be wrong.

While both accuracy and precision are desirable, accuracy is much more valuable.

11 Copyright © 2012 Development Block, LLC

YOU CAN’T DO FIXED DATE PROJECTS IN AGILE

12 Copyright © 2012 Development Block, LLC

The Agile Manifesto

13 Copyright © 2012 Development Block, LLC

Individuals and Interactions

Working Software

Customer Collaboration

Responding to Change

Processes and Tools

Comprehensive Documentation

Contract Negotiation

Following a Plan

over

over

over

over

Planning in Scrum

14 Copyright © 2012 Development Block, LLC

Fixed Date!

Fixed Dates in Scrum

15 Copyright © 2012 Development Block, LLC

Fixed Date

What About Utilization?

“Attempts to force non-deterministic systems to operate at greater than 80% efficiency will cause short bursts of stabilization followed by extreme periods of destructive and unpredictable variations from that goal.”

- W. Edwards Deming

16 Copyright © 2012 Development Block, LLC

The Iron Triangle

Quality is part of scope

– It is built in from the beginning, not “tested in” at the end.

Value is part of scope

– Higher value items are delivered sooner

“Depth” is part of scope

– Do you need a Porsche or will a Kia do?

17

Copyright © 2012 Development Block, LLC

Scope

Cost Schedule

The Release Burndown

18 Copyright © 2012 Development Block, LLC

0

100

200

300

400

500

600

Release Burndown Release Date

RELEASE PLANNING IN AGILE

19 Copyright © 2012 Development Block, LLC

Levels of Planning in Agile

Strategy

Portfolio

Product

Release

Iteration

Daily

20 Copyright © 2012 Development Block, LLC

• 1-2 times per year • Product evolution over time

• 3-4 times per year • Feature/Date tradeoffs

• Every 2-4 weeks • What will fit in this iteration?

• Every day • How to complete comittement

What is It?

Usually trying to answer questions like…

– How much can be done by a given date?

– When can this set of features be shipped?

– How many teams do we need working on this project?

21 Copyright © 2012 Development Block, LLC

What is Needed?

Prioritized, estimated backlog

– High level estimates from the team that will likely do the work.

– Prioritized by business value.

Velocity

– Average amount of work a given team can complete in a given sprint.

– Usually use the previous 8 – 12 sprints.

22 Copyright © 2012 Development Block, LLC

Velocity?

Agile teams usually use relative estimates, not precise estimates

– This feature is about the same as that one.

– Often expressed as Story Points using a modified Fibonacci sequence (1, 2, 3, 5, 8, 13, 20, 40, … )

A team’s Velocity is the sum of the story points for all of the user stories/features that are completed in a sprint

23 Copyright © 2012 Development Block, LLC

Getting Confidence Intervals

We can obtain the 90% confidence intervals using a team’s historical velocity values from recent sprints.

24 Copyright © 2012 Development Block, LLC

24

26

28

28

30

30

31

32

35

Sort the velocities from the previous 9 sprints.

Throw out the highest and lowest. The remaining highest and lowest

is your 90% confidence range. www.mountaingoatsoftware.com

has good tools to help with this

Using Confidence Intervals

Apply the confidence intervals to your backlog to get a better idea of how much work will be done by a given date.

25 Copyright © 2012 Development Block, LLC

We will almost certainly get here (8x26)

At our median velocity, we’ll get here (8x30)

The most we could realistically expect is here (8x32)

Using Confidence Intervals

Apply the confidence intervals to your backlog to determine when a given set of features will be done.

– We will almost definitely be done in 20 sprints (500 / 26)

– At our median velocity, we will be done in 17 sprints (500 / 30)

– The best we could realistically expect is to be done in 16 sprints (200 / 32)

26 Copyright © 2012 Development Block, LLC

Burndown with Confidence!

27 Copyright © 2012 Development Block, LLC

0

100

200

300

400

500

600

Release Burndown Release Date

Credits and References

Mike Cohn

– http://www.mountaingoatsoftware.com

– Blog, Books, Articles, Presentations

– Agile Estimating and Planning, Succeeding with Agile

– Portions of this presentation were taken from his redistributable Introduction to Scrum presentation

28 Copyright © 2012 Development Block, LLC

Contact Information

Matt Block

– Email: matt@developmentblock.com

– Blog: http://www.developmentblock.com

AgileIndy

– Meetup: http://www.meetup.com/agileindy/

– Meet 2nd Wednesday @ 5:30

29 Copyright © 2012 Development Block, LLC