So it seems that in order to enjoy some peace and quiet in 2016 and beyond, I have to give up #NoEstimates. Frankly, I find the whole situation silly, but I no longer get enough value from the hashtag and surrounding discussions to justify the psychic cost. And so it goes.
The problem, as I see it: too many people passing themselves off as “critics” who engage in far too much lazy thinking, resulting in me wasting energy saying the same things over and over again.
Let Me Clarify Things For You
No, I don’t mean “absolutely no estimates”. I understand that that’s what the words mean, and that that causes confusion. At the time, I got enough out of the hashtag to make it worth the initial confusion. Remember “Extreme Programming”? “No documentation”? “No code without a failing test”? Same thing.
No, I’m not “against estimates”. I just don’t have the energy for such lazy, judgmental thinking. You can do better than that.
No, I’m not telling you to stop doing something if you find value in it. If you use task-level estimates and that leads to good conversations and productive work, then keep doing what you’re doing. If the day comes that it stops working, or you find yourself in a dysfunctional environment, then you might become interested in alternatives, such as treating estimates as budgets, delivering valuable increments of the product, and other techniques that I teach as part of Value-Driven Product Development.
No, I don’t care that the XP books recommend estimating small pieces of work. I found Planning Extreme Programming informative, engaging, and it had a significant influence on me. I do not, however, use every single piece of advice in that book any more. I’m trying to “be agile about my agility” by tailoring it to my context. (Remember how much people used to complain about us being too dogmatic about Agile?)
Yes, the thing you’re describing that you see me doing can be labeled “an estimate” or “effectively an estimate” or “a de facto estimate”. That is irrelevant to my purpose, and you could get past this if you wanted to. When I counsel teams to “drop estimates”, I specifically mean “of any work shorter than about 3 months”, and specifically in situations where those in the position to manage the project aren’t actually managing the project, but rather using estimates as a stick to beat the programmers with. Even in more functional situations, I prefer to focus on quickly delivering value over figuring out the expected cost of the solution.
Yes, even when I treat estimates like budgets, you can call that an “estimate”. Shall I put the gold star on your forehead? I’m not talking about that when I counsel against mindlessly estimating work. You could get past this if you wanted to.
Yes, there are companies—for example, ones that provide outsourcing services from Eastern Europe to company headquarters in the UK—that monitor their programmers’ time at a resolution of 6 minutes and that pay their programmers based on the accuracy of their estimates on individual tasks. No, I’m not joking. Yes, I’m glad that you don’t work there or have never experienced it. You ought to consider yourself lucky. (Sad, but true.)
Yes, the estimates are not at fault for the typical dysfunction related to (not) managing projects. I don’t care. In these situations, the estimates trigger the dysfunction, and so while we fix the dysfunction, I find it useful to get the trigger out of the way. If I saw these people deriving some real benefit from the estimates to compensate for tolerating the dysfunction, then I wouldn’t want to get estimates out of the way, but unfortunately, that’s not what I see happening. Some people need to throw some kinds of food out of their house when they decide to change the way they eat. They “shouldn’t” need it, but they do. Perhaps one day, they won’t. (I can eat bread now and that doesn’t trigger wanting to eat an entire loaf of bread, but I still doubt I can stop at one slice of pizza.)
Finally: no, I’m not ignoring you because I can’t handle criticism; I’m ignoring you because you can’t be bothered to have an adult conversation on the topic and you either can’t tell the difference between these two stances or can’t be bothered to do so. Swedish has the perfect expression for how I feel about this: jag orkar inte mer.
Even after clarifying all this, I feel that it’s time to bid farewell to #NoEstimates because I have reached the point where the hashtag takes more away from me than it gives me. It owes me nothing; it is what it is.
In spite of this, I think it wise to try to build software by focusing on generating value, rather than controling cost. If you’d like to read about how to get there, then—ironically—please read a few articles in my series on #NoEstimates.
If you’d like to discuss how to increase your organization’s effectiveness through focusing on generating value over controling cost, then let’s talk. All “criticism” will either be ignored or roundly ridiculed, but all inquiry is welcome and appreciated. I welcome the chance to help you escape the silliness you might be experiencing related to task-level estimates.