The #NoEstimates hashtag continues to get a lot of action on Twitter. It might be something Vegas will want to look into at some point (smile). I’ve decided to take a break from the Twitter action as I’ve often found the discourse between those who don’t share similar views (including myself) to often border on being petty at best and outright violent at its worst. However, whenever I have thoughts on the topic, I’ll try to share them here.
So let’s start off with the #NoEstimates hashtag. I’ve seen a lot of commentary that the hashtag implies either “never estimate” or “no estimation at all”. I understand how some can interpret it that way. The definition that Woody Zuill provided as his is:
#NoEstimates is a hashtag for the topic of exploring alternatives to estimates for making decisions in software development. That is, ways to make decisions with “No Estimates”.
For me, the type of estimate that this primarily covers is the type that the software development teams I’ve worked with are most often asked to provide i.e. developer estimates. These are generally of the “how long” or “duration” flavor. I know others experience different flavors but these are mine. So are there ways we can make certain decisions without having to answer a “how long” type question? I’ve already provided a story where a team was able to without estimates at a certain level but I hope to go into more detail over the next days/weeks. This is not to say that this question never needs to be answered. As a side note, there is also a lot of talk (from me as well) about how estimates are misused in many software development shops and while this is true, I don’t believe it should be the focal point of the #NoEstimates discussion except to say that if we don’t need estimates (in certain cases), we reduce/remove the opportunity for the misuse. A lot of work still needs to be done in using estimates correctly and I think our energies would also be well spent continuing to talk about that as well but I digress.
So while the original definition may be broad and general and while the hashtag should have possibly been something like #SometimesEstimateAreNotNeeded or #HowToMakeCertainDecisionsWithoutEstimates or #WorkingInSuchAMannerThatEstimationAtACertainDepthIsNoLongerNeeded, I think it would be helpful if we can get to the spirit of the topic and focus less on the letter of it. In the same manner that I’m not aware of anyone who believes NoSQL means “never use SQL” but is a contextual solution, I’m not aware of anyone who believes that developer estimates are always needed to make software decisions. I also believe this is still a good conversation to have as Ron Jeffries pointed out almost a year ago (even though I don’t know if he still feels that way now) in spite of unanswered questions. In my experience, understanding why a developer estimate was needed has provided some enlightening moments.
Here’s to hoping we can move beyond the hashtag and get to the topic. My fingers are crossed.