Worthless story card estimates

Preview:

Citation preview

@MikeKvintus

Worthless Story Card Estimates

Mike Kvintus

@MikeKvintus@MikeKvintus

Iteration Manager at LeanDog

http://www.leandog.com/holiday/

Bio

@MikeKvintus@MikeKvintus

I have nearly 20 years of experience using agile methods to develop software in numerous industries

Bio

@MikeKvintus@MikeKvintus

Bio

I’m passionate about finding better ways to develop/deliver software and remove waste from software delivery processes

@MikeKvintus@MikeKvintus

Bio

I’m also an active member of the software development community

@MikeKvintus@MikeKvintus

@MikeKvintus@MikeKvintus

How About

I’ve been collecting data on various ways of tracking the progress of projects and running experiments with estimation

@MikeKvintus@MikeKvintus

Why I’m Here

I heard about and researched #NoEstimates and was intrigued

But I had a few questions

❏Is story card estimation really waste?

❏Can projects really work by counting cards instead of using points?

❏I can see how #NoEstimates works for special cases but could it work for our projects?

❏Are story card estimates really worthless?

@MikeKvintus@MikeKvintus

Agenda

❏Agile Estimation Overview

❏Pitfalls of Estimation

❏Review The Collected Data

❏Observations From The Data

❏Other Considerations

❏Where To Go Next

@MikeKvintus@MikeKvintus

We need estimates to provide predictability to our teams, customers, and other stakeholders!

@MikeKvintus@MikeKvintus

Overview of #NoEstimates

❏Some of the most vocal proponents are Neil Killick, Woody Zuill, Vasco Duarte, and others

❏#NoEstimates - http://neilkillick.com/category/noestimates/

❏noestimates.org

❏Started as a movement to address the pitfalls and fallacies of estimation

❏The Common Ground of #Estimates and #NoEstimates

❏Two common practices: counting story cards and working on the most valuable things

@MikeKvintus@MikeKvintus

Overview of Agile Estimation

1. Identify story cards2. Break work down into bite size stories3. 3 amigos/fab five discussion of the stories

a. Planning poker, etc to estimate work

@MikeKvintus

Seems Simple

@MikeKvintus@MikeKvintus

@MikeKvintus@MikeKvintus

Estimation Is Good Right?

❏Planning fallacy - optimism bias

❏Halo effect

❏Overconfidence

❏We don’t account for the unknown

❏And many more

@MikeKvintus@MikeKvintus

Even If You Could Estimate Perfectly..

There are still many things that will affect a plan:

You don’t know everything!

People are not machines!

@MikeKvintus

But There Are Good Ways to Estimate

@MikeKvintus@MikeKvintus

People Have Solved Estimation Problems

Lots of books and software to fix this problem, we just need to use them

@MikeKvintus@MikeKvintus

People Have Solved Estimation Problems

Track projects and use history to predict future projects

@MikeKvintus@MikeKvintus

But

Building software is not like building bridges

People inherently are not good at estimation

Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law

@MikeKvintus@MikeKvintus

And Studies Still Show

We don’t know

❏How to Accurately Estimate the Effort of Mega - large, Complicated Software Projects

❏How to Measure Software Size and Complexity for Accurate Estimation

❏How to Measure and Predict Productivity

@MikeKvintus

OK, What Else Could Go Wrong?

@MikeKvintus@MikeKvintus

Estimation Abuse

Work expands to fill the time allocated

@MikeKvintus@MikeKvintus

Estimation Abuse

Estimates are padded in an attempt to CYA

@MikeKvintus@MikeKvintus

Estimation Abuse

You finished story X faster than your estimate

@MikeKvintus@MikeKvintus

Estimation Abuse

It took you much longer to complete a story

@MikeKvintus@MikeKvintus

Graphs/Data

❏ LeanDog Studio collects and tracks data on all the projects we execute

❏ We use information radiators to make the data visible to all

❏ Our projects are quite varied in industry domain, tech stack, company type (large corporations to small startups), and size while also having different team members

❏ I wondered if the points on story cards really mattered or could we just count the number of cards

@MikeKvintus@MikeKvintus

LeanDog Studio Project Radiator

@MikeKvintus@MikeKvintus

LeanDog Studio Project Radiator

@MikeKvintus@MikeKvintus

Graphs/Data

❏I compared points vs cards from 2 perspectives❏ Backlog - The amount of work identified to be done

❏ Burnup - The amount of work done

❏I also compared tracking the count of only feature cards vs tracking the count of feature, bug, and chore cards

❏Comparison of 9 different projects that varied in

❏ Team members/sizes

❏ Project sizes, types and duration

❏ Industry domain and tech stacks

@MikeKvintus

(Backlog)

@MikeKvintus@MikeKvintus

Graphs/Data

@MikeKvintus@MikeKvintus

@MikeKvintus@MikeKvintus

@MikeKvintus@MikeKvintus

@MikeKvintus@MikeKvintus

@MikeKvintus@MikeKvintus

@MikeKvintus@MikeKvintus

@MikeKvintus@MikeKvintus

@MikeKvintus@MikeKvintus

@MikeKvintus

(Completed Work)

@MikeKvintus@MikeKvintus

@MikeKvintus@MikeKvintus

@MikeKvintus@MikeKvintus

@MikeKvintus@MikeKvintus

@MikeKvintus@MikeKvintus

@MikeKvintus@MikeKvintus

@MikeKvintus@MikeKvintus

@MikeKvintus@MikeKvintus

@MikeKvintus@MikeKvintus

@MikeKvintus@MikeKvintus

Observations From The Data

❏Counting cards can be a viable replacement for using story points for well defined work in our environment

❏This works both to track progress and backlog size

@MikeKvintus@MikeKvintus

But I realized..

Even though the projects were widely varied, there were some consistencies:

❏The teams were made of highly talented/experienced people

❏Projects follow common practices, including breaking story cards down into relatively small sizes

Thus YMMV

@MikeKvintus@MikeKvintus

So Are Story Card Estimates Worthless?

❏Gaining a common understanding of the work through discussion is the true value of story card estimation sessions, not the points that are assigned to a story

❏Assigning points doesn’t take any substantial additional time, so “waste” is minimal

❏But for our projects, the story card estimates are worthless!

@MikeKvintus@MikeKvintus

What Else Do We Need To Consider

❏ Forecasting into the future❏ Can use card sizes❏ Use backlog growth to estimate future work

❏ Bugs/chores

@MikeKvintus@MikeKvintus

Is Stopping All Estimation the Right Answer?

❏ Doesn’t give you any insight into the future beyond work you’ve broken down into story smallish cards

❏ #NoEstimates acknowledges this

@MikeKvintus@MikeKvintus

Estimates Give The Illusion Of Predictability

❏We know estimates are flawed

❏How about we look for other ways to satisfy the predictability needs of teams, customers, and other stakeholders

@MikeKvintus@MikeKvintus

We need estimates to provide predictability to our teams, customers, and other stakeholders!

@MikeKvintus@MikeKvintus

❏ Team instability❏ Big bang releases❏ Bad coding practices❏ Too much WIP❏ Lack of collaboration❏ Lack of transparency and visibility❏ And many more..

What Affects Predictability

@MikeKvintus@MikeKvintus

How About Focusing On Improving Predictability

❏ Team stability❏ Frequent releases❏ Focus on good coding practices (TDD, Pair

Programming, ATDD)❏ Limit WIP❏ Improve collaboration❏ Improve transparency and visibility

@MikeKvintus@MikeKvintus

❏ Not all organizations are comfortable not having “estimates” despite the known fallacies

❏ Requires you to sell predictability without estimates

❏ You may have to❏ Give in and use estimates

❏ Walk away

❏ There are times when estimates are appropriate❏ It's reasonable to question why

❏ Be clear they are estimates and not commitments

@MikeKvintus@MikeKvintus

❏ Look at data about your projects❏ Experiment❏ Find out what works for your team

Where To Go Next

@MikeKvintus@MikeKvintus

Project Data SiteI plan to setup a website where people can upload their project data and see graphs of their projects like the ones I presented

The dataset will be open to all

When site is ready, I’ll tweet the location:

Follow @MikeKvintus or send an email to mikekvintus@gmail.com with the subject of “Project Data”

Slides are available at http://www.slideshare.net/MikeKvintus

Recommended