no estimates - hai dang

51

Upload: scrum-breakfast-vietnam

Post on 15-Feb-2017

465 views

Category:

Software


0 download

TRANSCRIPT

#NOESTIMATESHIFT YOUR FOCUS ON VALUE

New idea means crazy idea

THOMAS EDISON

Crazy ideas in Software Development

KENT BECK – EXTREME PROGRAMING (1999)

SCRUM– KEN SCHWABER(1990s)

TAIICHI OHNO

TOYOTA PRODUCTION SYSTEM (1988)

Maximize customer value while minimize waste

LEAN PRINCIPLE

EDWARDS W. DEMING

Plan-Do-Check-Act (PDCA) cycle

W. Edwards Deming

or Deming Cycle

Plan

DoCheck

Act

© http://en.wikipedia.org/wiki/File:W._Edwards_Deming.gif

Plan-Do-Check-Act (PDCA) cycle

W. Edwards Deming

or Deming Cycle

Plan

DoCheck

Act

© http://en.wikipedia.org/wiki/File:W._Edwards_Deming.gif

#NoEstimates

Another “crazy” idea …

There are more and more #NoEstimates supporters

THE #NOESTIMATES CREW

Neil KillickWoody ZuillVasco Duarte

Why do we need estimation?

Estimation

Estimation

Construction estimation

Software is NOT a CONSTRUCTION

Software is

LEARNING

Estimation

• Team do the estimation job

• Relative estimation with Planning Poker

• Calculating and tracking Team Velocity

With Agile Software Development, a new approach of estimation

is also stated

Agile Estimation

PLANNING POKER

• Share understanding of the requirement

• Enable conversation and transparency

• Ability to forecast product release base on team velocity

• Use metric to measure continuous delivery.

Some benefits of Agile Estimation

AGILE ESTIMATION

Estimating Time rather than Complexity

AGILE ESTIMATION PROBLEMS

3 days1 day

2 days

AGILE ESTIMATION PROBLEMS

Always Assume The Worst!

AGILE ESTIMATION PROBLEMS

AGILE ESTIMATION PROBLEMS

As a user I should be able to login

As a user I should be able to login

• User model• Controllers and views• Forgot password• Email notification• Login with Facebook,

Google …• Registration

AGILE ESTIMATION PROBLEMS

I’ve never done that

before

I have no idea

Just because

you’ve never

done something

doesn’t mean

it’s complex

AGILE ESTIMATION PROBLEMS

Gaming Velocities

• Individuals and interactions over processes & tools

• Working software over comprehensive documentation

• Customer collaboration over contract negotiation

• Responding to change over following a plan

We are uncovering better ways of developing SW by doing it and

helping others do it. Though this work we have come to value

Agile Manifesto, 2001

That is, while there is value in the items on the right, we value

the item on the left more

http://agilemanifesto.org/

Agile Product Ownership

Expectation Management

1. Select the most important piece of work you need to do

2. Slice work into small pieces of work

3. Develop each piece of work

4. Iterate and refactor

This is how #NoEstimates described from supporters

#NoEstimates How-to

PRIORITISATION

“Sh*t, this feature might not get done if I leave it at

number 10 in the backlog, so I’d better move it up”

the PO should use this information to

inform *prioritization* decisions, NOT

go/no-go decisions

“JUST IN TIME” SLICING CONCEPT

DEFINITION OF READY

DEFINITION OF READY

Vision is a key

Vision is a key

SHIFT FOCUS AWAY FROM ESTIMATION

Can we finish this amount of

work on this Sprint?

What can we do next?

• Do not fix time based on an estimate of cost

• Know your costs by having a fixed team and determine a

“final” delivery day

• Delivery early and often

• Quality is subjective

• Welcome changes

“Deliver what customer want, not what they ask for”

Contract Negotiation

We cannot palm people off,

what we can do is offer

alternative

How to answer your boss?

Okay, just tell me. How long?

How Much?

I don’t estimate! Talk

to the hand, sir!

• Measure actual lead times for each piece of work

• Measure throughput (counting the number of cards in “Done”

column at the end of every week

• Use a fixed WIP (Work in Progress)

• Use Little’s Law to calculate average lead time.

The alternative method for estimation

The method

• Number of cards done in 1 week = 20, therefore:

throughput = 4 cards/day

• Team size = 5, WIP = 4

• Lead time = (4+1)/4 = 1.25 days (this is for the top card)

• Lead time = (4+4)/4 = 2 days (this is for the card 4th)

Use Little’s Law to calculate average lead time for a card at

position n in the queue

(WIP + n) / throughput

Little’s Law

MEASURE THROUGHPUT

Agile Product Ownership

Expectation Management

• Prioritization over estimation

• Story slicing over planning poker

• Delivering over commitment

• Cycle/lead times over velocity

Some keys behind the idea of #NoEstimates

#NoEstimates “manifesto”

TRUST

TRUST

Mod Programing

Pair Programing

Self-organized

Velocity

#NoEstimates

Early and regular releases

Focus on quality

Transparency

NotOnly Estimate

#NoEstimates

#NoEstimates

• Don’t simply stop estimating

• Try and get better at slicing to simple pieces of work

• Measure your throughput

• Discover yourself if #NoEstimates is right for you and good fit

to your organization culture.

If you are considering working without estimates, here are first

steps

How to start?

Thank you!

Before you leave …

http://zingpoll.com/noestimate