The NoEstimates book
The #NoEstimates hashtag on twitter has caused a whirlwind of discussion about the role of estimates in software development. There’s so much controversy that I decided to write a book about it. The book is now available for purchase as a digital package, including 9 video interviews, and 2 extra mini e-books exclusively written to be companions to the NoEstimates Book. You can find all the content in the NoEstimates Book page.
I’ve written many posts on the topic of #NoEstimates over the years (started practicing in 2005), but there are many others who have also written on the subject. Here’s a collection of their posts. Read to the end for a list of posts on this blog.
NoEstimates posts by the most active authors on the topic
Posts by Woody Zuill (@WoodyZuill on twitter)
- How to estimate a game of chess: In this post Woody goes into the details of what you would need to consider if you were estimating a game of chess. I think this is a good metaphor for many of the challenges in software estimation, specifically, the more you go into the future the wider the universe of possible paths. How do you estimate a (nearly)-infinite set of possibilities? Check out the post.
- Do estimates do what we want them to do?: Why don’t we challenge estimates in the agile community, when we constantly challenge so many other old practices? What is inherently valuable in the estimation process and the outcome of the process? This article describes one of the philosophies of #NoEstimates: challenge everything, try out new approaches and learn.
- Can we code without estimates?: In what will probably become a classic of the #NoEstimates debate, Woody describes his own journey from buying his first computer, to teaching himself to program, to develop programs for his own business – all without estimating! Is that possible? Wrong question. The right question is: is that valuable? And the answer is: software can be valuable depending on what it does, not how well you estimate its development.
Posts by Steve Fenton (@steve_fenton on twitter)
- Beyond Estimates – A phrase Steve uses struck me: “The important thing here is that we have shown the business how to obtain their own numbers.” That’s right, he and his team don’t estimate, they have educated their stakeholders to get the information they need! A great idea if you ask me. As Steve also points out in the article, this approach means that business people can directly change the scope and see the results in the projections they create!
- Definition of Estimates – I have myself written about “what is an estimate?“. In this article, Steve explores the definition of an estimate and tries to highlight that, actually, we should be focused on having informative conversations about how to improve software development. Not bickering about semantics. I agree!
- NoEstimates Anger – Steve describes what happened on twitter after he posted a seemingly reasonable and logical statement summarizing his conclusion after a meetup with his local community. I especially loved this phrase: “I have found that as trust increases, many of the negative reasons for estimates disappear and many of the positive reasons for estimates are solved in other ways”. I agree. So, why are people angry about NoEstimates?
Posts by Henri Karhatsu (@karhatsu on twitter)
- The Need to Estimate – Henri talks about the “real” needs behind the request for estimates that most teams get. Prioritization can be one, but do stakeholders really need estimates to be able to prioritize work for one (or multiple) team(s)? Henri adds that “if you don’t estimate the value, estimating the cost is quite debatable”. He then describes a much simpler, yet powerful way to give input for prioritization decisions.
- How confident are you with your estimates? – If you think you are good at estimates, then you must take the test! Check Henri’s blog post and take the test. Henri takes the opportunity to talk about confidence levels and the impact of that on the “range” of estimates you give for each of the questions. The conclusion I take from his article is that the higher the confidence level you seek, the more useless the estimates (in ranges) become. Read it through and let us know in the comments what you think.
- From hour estimates gradually to #NoEstimates – This was Henri’s first post, and also his first post about #NoEstimates. In my opinion this is one of the best story-telling posts about #NoEstimates that you can read in blogs today. Definitely a must read if you are getting started with #NoEstimates.
Posts and articles by Ron Jeffries (@RonJeffries on twitter)
- A Metric Leading to Agility – As Ron Jeffries introduces the concept of Running Tested Features (RTF) he describes what metric could help projects become agile. Can metrics really lead to Agility? Read the article to find out.
- Estimation (The Best We Can Do) – Ron Jeffries explains in very few words the reason why I believe #NoEstimates is a better approach in running software projects: “In essence, teams focused on estimation are generally working the short end of the lever of cost vs. value. Better teams focus more on value and less on cost”. It is really that simple. Software is a powerful business results multiplier, focusing on costs only will not help you get the most out of the effort you put into developing the software you hope will drive your business forward.
- Estimation is Evil, Overcoming the Estimation Obsession – In this article, Ron describes one idea that I’ve not seen elsewhere. That focus on estimating and sticking to those estimates are symptoms of an “undistinguished” team, in other words: “Teams that are getting good but not great results”. In a long article that is filled with pearls of wisdom, Ron adds that “Having Demanded the Impossible, Management Asks for Better Estimates”. This is one of the core dysfunctions in many organizations today. Agile or not. And my answer is: we need to be able to better predict outcomes without estimation!
- Making the Date – A brilliant quote from this article: “Making the date is a management responsibility, not a development responsibility.” Ron goes on to explain why he makes that claim. And in one quote from Chet Hendrickson he explains it beautifully: “It’s not that we don’t have enough time. We have too much to do.” Yes, it is not that we have too little time, it is that we are unable to manage the scope to meet the schedule/deadline that we want to meet! Brilliantly put if you ask me!
Posts by Neil Killick (@neil_killick on twitter)
- My Slicing Heuristic Concept Explained – I call slicing stories into small incremental pieces of value (user story slicing) “the lost art of agile”. And Neil explains a perfect slicing heuristic in this blog post. If you haven’t read it, you are not as good an agile practitioner as you can be. Go read it now!
- What if I can’t work with #NoEstimates? – Neil describes some of the “barriers to entry” to working with #NoEstimates and makes the point that we can take baby steps towards #NoEstimates. I agree, the important thing is to focus on action. In my book about NoEstimates I also explain how you can take any project to #NoEstimates, even without asking for permission (or breaking any rules).
- Doing Scrum Without Estimates – In this post Neil describes steps you can follow to start working without estimates. Neil concludes that estimation is not needed when the team is constantly delivering value to the market and/or end-users. I agree.
NoEstimates posts in this blog
- What is velocity in agile software development? – A key concept to understand before reading any further is the concept of velocity and throughput in agile software development. Before you go any further read this short post on the topic
- What is an estimate? and why does the definition of an estimate matter? – Another key concept that informs why the NoEstimates movement is a needed change in the software industry. In this post I explore what estimates can derail a software project. This is the concept that explains why the NoEstimates movement is so important, and introduces some of the problems that NoEstimates tries to solve.
- 5 decisions making strategies that require no estimates – A very common question I get when talking about NoEstimates is: how can we make a decision when we don’t have an estimate of the duration or cost of our projects? There are many ways, and in this post I explore 5 different decision strategies that can help make decisions at the project or portfolio level, without requiring any estimates to be made.
- Story points considered harmful – This post was based on a talk held at OOP2012 to a stunned audience. It was one of the first public talks about NoEstimates and it went on to become one of the most popular talks I’ve held as well as the most popular blog post for the year of 2014 in this blog. This is essential reading if you want to understand why estimates are, at best, useless when you want to predict the release date of a project.