Mike Kvintus discusses the pitfalls of estimation in agile software development and experiments with eliminating estimates. He analyzed data from 9 projects and found that simply counting story cards provided the same insights as estimating points. However, he acknowledges the approach may not work in all contexts. Ultimately, he argues teams should focus on improving predictability through other means like frequent releases and collaboration, rather than relying on flawed estimates. He plans to create a website to share project data with others exploring this issue.
8. @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?
11. @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
12. @MikeKvintus@MikeKvintus
Overview of Agile Estimation
1. Identify story cards
2. Break work down into bite size stories
3. 3 amigos/fab five discussion of the stories
a. Planning poker, etc to estimate work
16. @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!
20. @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
21. @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
27. @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
30. @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
51. @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
52. @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
53. @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!
54. @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
55. @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
56. @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
59. @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
60. @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
62. @MikeKvintus@MikeKvintus
Project Data Site
I 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
Editor's Notes
http://www.leandog.com/holiday/
http://www.leandog.com/holiday/
http://www.leandog.com/holiday/
That doesn’t give you any reason to be here. Really?? I know a lot of people that could claim a lot of experience, etc but wouldn’t have anything interesting to say.
There were lots of examples of very experienced teams breaking cards into very consistent sizes and substituting cards for points, but could this really work for other teams.
I thought about this a lot, and when I started working at LeanDog and realized they had data for many projects, I started to explore comparing counting cards to using story points.
Makes sense, right? We must estimate our work to know how long it will take build it. Seems reasonable, let’s go with that for now.
Started purely to eliminate estimates but the discussion has transitioned to a more pragmatic approach to balancing the needs of stakeholders and project management. I encourage people to read about noestimates and also read the comments.
Does this sound familiar? How does it work? Many projects in the LeanDog Studio execute this way: break stories down into small cards, discuss each card as a team, cast estimate sizes, discuss and then assign a point size to the card
What could go wrong?
Cone of uncertainty. (Note this image shows a mostly waterfall approach but the concept still applies to agile) Estimation accuracy improves as you get closer to developing code.
We underestimate the work
Halo effect - Something went well or stood out so you assume everything else will be just like it
Being over confident leads us to think we know everything even when we don’t and to believe we can do things that we can’t
You discover things you didn’t know or think about
The productivity of people is not always constant
Everyone writes perfect bug-free code
Surely there are
Anyone hear these?
Anyone hear these?
Most bridge designs are well known as are the variables that affect the time to build each bridge. You are not building software that has already been built; if you are then you should .
Work expands - developers abusing estimates. Sound familiar? How many people have experienced these?
Work expands - developers abusing estimates. Sound familiar? How many people have experienced these?
You must be sandbagging! We can move the whole project up!
Freak out time - Is the whole project blown? Your estimates suck! Can we trust the estimates?
In LeanDog Studio we use Pivotal Tracker and Google Docs. Pairs of developers change from project to project.
In LeanDog Studio we use Pivotal Tracker and Google Docs. Pairs of developers change from project to project.
Notice the slope of the all cards is more similar to the points slope while feature cards is a different slope
All 3 have very similar shapes and slopes, just different magnitudes
Notice the slope of the feature cards is more similar to the points slope while all cards is a different slope
Notice the slope of the feature cards is more similar to the points slope while all cards is a slightly different slope
Notice the slope of the all cards is more similar to the points slope while feature cards is a different slope
Notice the slope of the feature cards is more similar to the points slope while all cards is a different slope
Notice the slope of the feature cards is more similar to the points slope while all cards is a different slope
Notice the slope of the all cards is more similar to the points slope while feature cards is a different slope
Notice the slope of the feature cards is more similar to the points slope while all cards is a different slope
3 graphs are similar
All 3 graphs have similar shapes
All 3 shapes are similar
Notice the slope of the feature cards is more similar to the points slope while all cards is slightly different
All3 have similar shapes
Notice the slope of the all cards is more similar to the points slope while feature cards is a slightly different slope
Notice the slope of the feature cards is more similar to the points slope while all cards is a different slope
Notice the slope of the all cards is more similar to the points slope while feature cards only is a different slope
These are my observations
Since the time it takes to assign points is minimal and the discussion is valuable, I don’t view estimation as “waste” but as misleading
Assign sizes to epic cards that are in the future, replace these cards with
Using backlog growth rate to forecast future backlog growth is rather interesting. Works best if story card breakdown is done consistently and at regular intervals.
Bugs and chores are work that takes time away from features. Opinions vary on counting vs not counting them.
Since estimates are flawed, the “predictability” of anything based on them is just an illusion.
A chain is only as strong as the weakest link
Do we really NEED estimates or are there other ways to provide predictability?