Agile Estimating Planning With Scrum, Kharkov

Preview:

Citation preview

Agile Estimating and Planning with SCRUM

A short version of a two-day class.

Details are available at www.scrumguides.com

© SCRUMguideswww.scrumguides.com

Alexey Krivitsky, Tim Yevgrashyn

Kharkov, 1 Feb 2008

Agile Estimating and Planning ©SCRUMguides2

Our Agenda

Introduction

10-minutes intro to SCRUM

Plans vs. Planning

Levels of Planning

User Stories as Agile Requirements

Release Planning in SCRUM

Sprint Planning in SCRUM

Agile Estimating and Planning ©SCRUMguides3

Who We Are

Ukrainian Agile communitywww.agileukraine.org

SCRUM trainings and coachingwww.scrumguides.com

SCRUM Certifications (CSM)www.scrum.com.ua

Agile Estimating and Planning ©SCRUMguides4

SCRUMWhat’s in it for ya?

Who of you has been doing SCRUM?

Who of you is going to use SCRUM?

Who of you is never going to use it? ;)

Agile Estimating and Planning ©SCRUMguides5

What is this Training About?

Theory of project planning.Different levels of project planning.Agile techniques for size and estimations.Agile techniques for duration estimations.

this all is presented under SCRUM jam

Agile Estimating and Planning ©SCRUMguides6

Our Ground Rules: Can we all agree on this please?

No usage of laptops (pocket PCs, smart-phones)yes we know how hard it is … ☺

Cell phones on silent modeif you need to talk, please leave the class for a whileBe active, participateuse our knowledge and your time to maximize your returnsDon’t interrupt each other, one dialog per timeraise your hand if you wish to talk, the moderator will queue you upLearn by asking questionswe promise to address all your questions

Thank You!

Agile Estimating and Planning ©SCRUMguides7

Levels of Learning

Level 1: Shu – learn the rules“Do this, don’t do that”

Level 2: Ha – abide the rules“You know how to do it one way, but there might be other ways. Learn when to follow each”

Level 3: Ri – dissolve the rules“I’m not sure how you call the way we work, we just get stuff done!”

This class is designed at Shu level with some Ha elements.You can reach the next levels by practicing.

Agile Estimating and Planning ©SCRUMguides8

Our Agenda

Introduction

10-minutes intro to SCRUM 20 minutes :)

Plans vs. Planning

Levels of Planning

User Stories as Agile Requirements

Release Planning in SCRUM

Sprint Planning in SCRUM

Agile Estimating and Planning ©SCRUMguides9

SCRUM in 100 words

SCRUM is a set of rules which are based on the Agile principles which are designed to assist the customers and the team to build constructive relationship.

Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time (Mike Cohn).

Every two weeks to a month anyone can see real working software and decide to release it as is or continue to enhance it for another sprint (from SCRUM Framework).

SCRUM is about common sense (Ken Schwaber).

Agile Estimating and Planning ©SCRUMguides10

Jeff Sutherland– Initial scrums at Easel Corp in 1993– IDX and 500+ people doing Scrum

Ken Schwaber– ADM– Scrum presented at OOPSLA 96 with

Sutherland– Author of three books on Scrum

Mike Beedle– Scrum patterns in PLOPD4

Ken Schwaber and Mike Cohn– Co-founded Scrum Alliance in 2002,

initially within the Agile Alliance

Origins of SCRUM

Agile Estimating and Planning ©SCRUMguides11

Characteristics of SCRUM

One of the “agile processes”.Self-organizing teams.Delivers business functionality each 30 days (two-weeks).Requirements are captured and prioritized throughout the project lifecycle.No specific engineering practices prescribed.Proven to be scalable for distributed teams, long projects.Simple but hard.

Agile Estimating and Planning ©SCRUMguides12

The Framework

Agile Estimating and Planning ©SCRUMguides13

SCRUM Terminology

ScrumMaster (SM) = Process Owner, Agile Manager

Product Owner (PO) = Customer Rep.

Sprint = Iteration

Product Backlog (PB) = Priotitized Inventory of Requirements

Sprint Backlog (SP) = Task List

Agile Estimating and Planning ©SCRUMguides14

Principles of SCRUM

Common senseStrict prioritizationSelf-organizing teamFace-to-face communicationFrequent & regular delivery of whole systemShort feedback loopTransparencyTime-boxingContinuous improvementSimple toolsPlans are needed, but they are always wrongCommon sense :)

From Henrik Kniberg’s “What is Scrum”http://crisp.se/

Agile Estimating and Planning ©SCRUMguides15

Our Agenda

Introduction

10-minutes intro to SCRUM

Plans vs. Planning 10 minutes

Levels of Planning

User Stories as Agile Requirements

Release Planning in SCRUM

Sprint Planning in SCRUM

Agile Estimating and Planning ©SCRUMguides16

Referenced Materials

Mike Cohn’s Agile Estimating and PlanningUser Stories Applied

Henrik Kniberg’s Scrum and XP from the Trenches

Agile Estimating and Planning ©SCRUMguides17

Why We Need Plans?

To predict the future

To memorize our expectation

To be able to compare our predictions we made with the reality we are facing

To guide us to the desired situation/state

Agile Estimating and Planning ©SCRUMguides18

Usual Misunderstanding of Plans

A dialog you may have heard:

- Remember we agreed upon the plan and the dates? How can you dare telling me now we can’t make it?!

- …

- Have you seen this happening in your projects?- Why this have happened?- What can be the ways to avoid such situations?

Agile Estimating and Planning ©SCRUMguides20

Plans vs. Planning

If we value the knowledge…If we agree that the future will likely be different comparing to our predictions…If we keep generating the new knowledge that changes our understanding of the future AND the future itself…How can we at all believe to static plans? Isn’t it limiting us?Why don’t we just keep planning until we reach the desired state or place or situation?

Agile Estimating and Planning ©SCRUMguides21

Famous Saying

“Plans are useless. Planning is vital.”Eisenhower

Agile Estimating and Planning ©SCRUMguides22

Agile Planning‘Ready… Fire… Aim… Aim… Aim… Aim…’

From Henrik Kniberg

Agile Estimating and Planning ©SCRUMguides23

Agile Planning

Planning (note the ‘-ing’) is happening through the life of an agile project. There is no such a point in the project where theplans got frozen and never updated anymore.

Nobody on the agile project can come to you and say: “Hey, but we agreed you will be delivering 30 story points per sprint. How can you be saying now you did only 20 because you could not predict the flows in the technology? It is your job! KABOOM!”

But don’t think of agile projects as blind activities without any plans (some people do). We have plans, we just update them as we learn new stuff. But why not? :)

Agile Estimating and Planning ©SCRUMguides24

Our Agenda

Introduction

10-minutes intro to SCRUM

Plans vs. Planning

Levels of Planning 10 minutes

User Stories as Agile Requirements

Release Planning in SCRUM

Sprint Planning in SCRUM

Agile Estimating and Planning ©SCRUMguides26

The Three Levels of Planning

There are levels above release planning, happening within:

• strategic product line management

• enterprise portfolio management

We don’t touch these levels as we want to look at the levels happening in projects.

Each lower level supports the one above it.

Agile Estimating and Planning ©SCRUMguides27

From Mike Cohn’s “Planning Agile Projects”

Agile Estimating and Planning ©SCRUMguides28

From Mike Cohn’s “Planning Agile Projects”

Agile Estimating and Planning ©SCRUMguides29

Planning is Negotiation which ends when the plan is executed

Agile Estimating and Planning ©SCRUMguides30

The Goals of Release Planning

A time question: How many iterations approximately will we need to deliver this roughscope having the resources we might have?

Scope question: How much of this rough product backlog can we do within this range of sprints and having the resources we might have?

Resources question: What resources do we need to accomplish this rough scope within this range of sprints?

How rough can this be? What level of accuracy do we need?What things do we need to know to make each of these predictions?

Agile Estimating and Planning ©SCRUMguides31

The Wrong Questions…sometimes not questions at all

Can we deliver this list by 15.May next year?

Users will come in 5 months for a demo. We need to deliver this 300 pages of requirements [full stop here]

Here’s your team, using this brand new [insert any techno mambo-jambo here] technology you need to deliver this stuff in 3 months. And don’t make me sad because I trust you [exclamation mark]

Agile Estimating and Planning ©SCRUMguides32

The Goals of Iteration Planning

Duration is fixed.

Resources are fixed. Why is it fixed?

Scope is open for discussions:how many backlog items (stories) can we do during the sprint?

What level of accuracy do we need here?What we need to know to make the prediction?

Agile Estimating and Planning ©SCRUMguides33

The Goals of Daily Planning

Let’s discuss:

Why we need this planning?

How formal should this level of planning be?

Should you do it more often?

Why is this usually out of scope in project running by a predictive process (e.g. waterfall)?

Agile Estimating and Planning ©SCRUMguides34

Exercise: A bad SCRUM meeting

Agile Estimating and Planning ©SCRUMguides35

So now you’ve learned that

There are different levels of planning.Planning at each level has its own goal.Each level has its own doers and stakeholders.Granularity and precision of plans differ at the levels.Formality of planning also vary.

Agile Estimating and Planning ©SCRUMguides36

Granularity of Planning Details

From Henrik Kniberg’s “Scrum Introduction”

Agile Estimating and Planning ©SCRUMguides37

Our Agenda

Introduction

10-minutes intro to SCRUM

Plans vs. Planning

Levels of Planning

User Stories as Agile Requirements 15 minutes

Release Planning in SCRUM

Sprint Planning in SCRUM

Agile Estimating and Planning ©SCRUMguides38

Terrifying Numbers

7 out of 10 IT projects “fail” in some respect. (OASIG study, 1995)

31.1% of projects will be canceled before they ever get completed (Standish Group’s Chaos Report, 1995)

52.7% of projects will cost over 189% of their original estimates

Projects completed by the largest American companies have only approximately 42% of the originally-proposed features

Agile Estimating and Planning ©SCRUMguides39

Why User Stories?

Our plans are based on users’ needs of systems that we are building.

We know the needs are likely to be changing as we will be proceeding.

It will add risks to our projects. The later the change occur the higher the risks will be (more to rework).

That’s why we want the changes to occur as early as possible, and as much as needed!

Agile Estimating and Planning ©SCRUMguides40

Think of Requirements

What are software requirements?

Some hints:Stable vs. changing?Known vs. emerging?Based on knowledge vs. theories. What is knowledge?…

Agile Estimating and Planning ©SCRUMguides41

Why User StoriesA Special Tool

To satisfy the changing nature of the users’ needs and our needs to still being able to plan and track our projects we need a special tool.

Agile Estimating and Planning ©SCRUMguides43

User Stories and Scrum

User stories naturally feet as items on a Scrum Product Backlog:

User Story Details

As a normal user I can securely enter the siteUse https for login page User enters email and password

As a normal user I can enter new meetingsMeeting data is: summary, details, datetime, place

As a normal user I can browse through my meetings Sort by datetimeAs an admin I can manage the user list in order to delete duplicate accounts

As an admin I can mail selected users

Simple text mailing is enough.Support the templates: #email, #name, #date

Agile Estimating and Planning ©SCRUMguides44

What Makes Good User Stories?

Huh?

Agile Estimating and Planning ©SCRUMguides45

User Stories should be:Independentwe should be able to prioritize different stories differently

Negotiablethink of stories as reminders for discussions to take place, never as contracts

Valuablethey should express value for end-users

Estimatablesince plans are based on stories we need to be able to estimate them

Sized appropriatelybecause complex stories are hard to estimate, compound stories are hard to prioritize

Testablewe need to know when each story is done

INVEST in Good User Stories

Agile Estimating and Planning ©SCRUMguides46

A Good User Story Should …

Leave room for further discussions to provide flexibility.

Avoid specific UI aspects because they limit thinking and creativity.

Be stated from a single user’s point of view and using single voice to avoid any confusions.

Bring clear value to end-users, so that it can be prioritized (PO is a business person). Stories should be written by people who are as close to end-users as possible.

Contain hints on how it can be accepted to assert if it is done or not.

Agile Estimating and Planning ©SCRUMguides47

Think of the Following User StoriesWhat’s Wrong with Them?

1. As a user I can search for books providing title, author, ISBN, year of publishing, or a publisher. The search results are displayed 10 per a page. If no books are found the user is taken to the main book catalog.

2. As a user I can type a city for search in an AJAX text-box 20 symbols wide that is placed on top right of the “Search by Location” page with a search button placed on the right of the text-box.

3. Users can delete their profiles.

4. The system should be designed with Spring MVC.

5. As a manager I can see team member list with block/activate functionality whereas as a team member I can see the list in a read-only mode only.

6. As a user I can get the book search results very fast.

Agile Estimating and Planning ©SCRUMguides48

Stories, Themes, Epics

From Mike Cohn’s “Planning Agile Projects”

Agile Estimating and Planning ©SCRUMguides49

WorkshopUser Stories vs. ...

Software Requirement Specifications

Use-case Models

Task Lists

Agile Estimating and Planning ©SCRUMguides50

Our Agenda

Introduction

10-minutes intro to SCRUM

Plans vs. Planning

Levels of Planning

User Stories as Agile Requirements

Release Planning in SCRUM 30 minutes

Sprint Planning in SCRUM

Agile Estimating and Planning ©SCRUMguides51

Release Planning

How many iterations?

How much scope?

At what costs?

Agile Estimating and Planning ©SCRUMguides52

Planning is Negotiations

Agile Estimating and Planning ©SCRUMguides53

Team Should Support Business

The teams should support the decision makers by all possible means to enable them to make the needed decisions.

Agile Estimating and Planning ©SCRUMguides54

How Long Will It Take … ?

To read a book?

To drive to another city?

Agile Estimating and Planning ©SCRUMguides55

From Mike Cohn’s “Agile Estimating and Planning”

Agile Estimating and Planning ©SCRUMguides56

From Mike Cohn’s “Agile Estimating and Planning”

Agile Estimating and Planning ©SCRUMguides57

Estimating in Story Points

Means the relative size of the story:– Login screen is 2– Search feature is 8

Unit-less points.

Integrated level of understanding, complexity, risks, feelings…

Precision is enough for release planning.

Easy to estimate, harder to explain.

Don’t inflate

Agile Estimating and Planning ©SCRUMguides59

Estimating in Ideal Time

Think of Ideal Time as when– You have no interruptions– You have all you need– You feel good

Think of how many productive hours a day you usually have.

Hard to agree, easy to argue:– I can do it in 10 hours, you can do it in 5. So who is right?– Today I think it is 10h, next month (when I know more) I think it is 2

Easier to explain, harder to estimate.

Time estimates might inflate.

Agile Estimating and Planning ©SCRUMguides60

From Mike Cohn’s “Agile Estimating and Planning”

Agile Estimating and Planning ©SCRUMguides61

Issues with Estimations

From Henrik Kniberg and Mike Cohn

Agile Estimating and Planning ©SCRUMguides62

Issues with Estimations 2

From Henrik Kniberg and Mike Cohn

Agile Estimating and Planning ©SCRUMguides63

Issues with Estimations 3

From Henrik Kniberg and Mike Cohn

Agile Estimating and Planning ©SCRUMguides64

Issues with Estimations 4

From Henrik Kniberg and Mike Cohn

Agile Estimating and Planning ©SCRUMguides65

Planning PokerThe Steps

Each estimator is given a deck of cards (1,2,3,5,8…)A Product Owner reads a storyEstimators are for clarifications until everyone is ready to estimateEach estimator selects a card without showing it to the othersBy command cards are got turned overPeople with different estimates have discussions (limit with a timer)The round repeats until estimates converge

Agile Estimating and Planning ©SCRUMguides66

Planning Poker It Helps to Avoid the Pitfalls

Uses the right units

Avoids anchoring

Implies negotiating

Everyone is listened

It’s quick and fun! :)

Agile Estimating and Planning ©SCRUMguides67

From Mike Cohn’s “Agile Estimating and Planning”

Agile Estimating and Planning ©SCRUMguides68

Velocity

A speed at which the team is able to convert product backlog items into working product.

Agile Estimating and Planning ©SCRUMguides69

From Mike Cohn’s “Agile Estimating and Planning”

Agile Estimating and Planning ©SCRUMguides70

From Mike Cohn’s “Agile Estimating and Planning”

Agile Estimating and Planning ©SCRUMguides71

From Mike Cohn’s “Agile Estimating and Planning”

Agile Estimating and Planning ©SCRUMguides72

Calibrating Velocity

From Henrik Kniberg

Agile Estimating and Planning ©SCRUMguides73

Visualizing Release Planning

Release Burndown

320275

220

9040

0050

100150200250

300350

1 2 3 4 5 6

Sprints

Bac

klog

Siz

e

Agile Estimating and Planning ©SCRUMguides74

Our Agenda

Introduction

10-minutes intro to SCRUM

Plans vs. Planning

Levels of Planning

User Stories as Agile Requirements

Release Planning in SCRUM

Sprint Planning in SCRUM 20 minutes

Agile Estimating and Planning ©SCRUMguides75

Iteration Planning

From Mike Cohn’s “Agile Estimating and Planning”

Agile Estimating and Planning ©SCRUMguides76

Iteration Planning

Contains of two parts:

1. Select the top PB items for the sprintPO’s involvement is mandatory

2. Team builds the task list with original estimates in hours and assignments

Agile Estimating and Planning ©SCRUMguides77

Iteration PlanningInputs

Initial sprint goal(can be changed during the planning)

Team’s velocity(averaged or estimated)

Team members’ availability over the next sprint(think of holidays, planned day-offs, vacations, conferences and trainings, changes in the team)

PB with estimates (at least for the top items for the next 2-3 sprints)

Outcomes from the last sprint review and retrospective

Agile Estimating and Planning ©SCRUMguides78

Iteration PlanningOutputs

Updated sprint goal the Team (all members) is committed to.A set of top PB items (with agreed accepting criterions) the Team believes they can convert into working product during the sprint.Agreed upon a date and time of the review meeting.Sprint Backlog (SB) with initial assignments and rough estimates in hours done by the team.Agreement with the stakeholders on the level of visibility the team will be providing (makes sense for distributed development).

Agile Estimating and Planning ©SCRUMguides79

Iteration PlanningStrategy Based on Commitments

1. The Team and the PO go from the top of the PB discussing each item.

2. Upon the discussion the Team may ask any question that might affects estimate and acceptance of the item until everyone agrees on the strategy of the implementation and ready to estimate it.

3. When everyone agrees with the estimate and the acceptance criterion, a team member self-commits to become responsible for the item. Absent people cannot become responsible for any items.

4. The name of the responsible person is recorded in the PB and the next item is pulled out for discussion.

5. This process continues until no-one can self-commit for the next item.

Agile Estimating and Planning ©SCRUMguides80

Talk SCRUM

We need 3 potential POsWe need 3 potential SMsWe need 3 potential team members

Agile Estimating and Planning ©SCRUMguides81

Our AgendaIntroduction

10-minutes intro to SCRUM

Plans vs. Planning

Levels of Planning

User Stories as Agile Requirements

Release Planning in SCRUM

Sprint Planning in SCRUM

Questions

Recommended