Upload
mike-kvintus
View
526
Download
2
Embed Size (px)
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 [email protected] with the subject of “Project Data”
Slides are available at http://www.slideshare.net/MikeKvintus