#NoEstimates (Allen Holub)
Video Statistics and Information
Channel: Allen Holub
Views: 113,050
Rating: 4.9302325 out of 5
Keywords: #NoEstimates, Allen Holub, Agile Software Development (Industry), lean manufacturing, Keynote (Software), Software (Industry)
Id: QVBlnCTu9Ms
Channel Id: undefined
Length: 37min 45sec (2265 seconds)
Published: Sun Jul 05 2015
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.
I recently coached a team to try not estimating for 6 months. They liked it so much they're still doing it 2 years later.
We tracked cycle time and then used Monte Carlo simulation to forecast the number of stories we would likely complete, with say a 70% level of confidence, in a given amount of time. We presented this to the product owner and said "here's your budget. Do whatever you want with it".
The product owner then selected his top priority stories and off we went. He swapped out stories as emergencies and new priorities arose.
Our forecasts turned out to be considerably more accurate than our up front estimates.
My advice it to ignore the #NoEstimates bullshit. I wholeheartedly believe that you can work effectively without estimates. I just don't believe in the #NoEstimates movement. I find them to be unnecessarily controversial in their pronouncements and they tend to over-complicate things. If you're already estimating with enough accuracy that everyone is happy then for god's sake keep doing it. If you're having trouble, then consider switching to cycle time and Monte Carlo estimates.
I've been on both sides of the manager / developer fence and I'm a certified scrum master fwiw. What you need is not to get rid of (time) estimates or planning, but to have common ground and understanding about what an estimate actually is. It's not a promise, a contract or anytning else like that - It's just a (hopefully informed) guess. The developer has the responsibility to keep the manager up to date about the stuff they are working on, and to inform them about any significant hurdles or surprises that come along the way, and the manager needs to listen and plan things according to that. And, things can and do need to be able to change along the way and there needs to be slack time in any estimate to cover for the minor unforeseen things (that do not require a sprint restart or a redesign or whatever).
In any professional development environment, on some layer of abstraction, there is both a budget and a business need. These things do need to be projected, tracked and be accounted for. Software engineering is not a special snowflake in this regard.
How does this work in other industries?
Surely software development isn't the only case where a need for planning collides with unforeseeable work.
Also, the approach he postulates at around the 16 minute mark doesn't work for all IT projects. If you want to replace that old COBOL system of yours, you really can't deduce much from a month or two of development progress. And perhaps it's a situation where you need feature parity with the old system before you can start using it. That's where the 80/20 rule will come in and kick you in the groin while it shatters the projection from the early months.
I'm not convinced that failing to keep up with the projections is better than failing to keep up with estimates. Bad managers will react to both in the same bad way.
My scrum master cares more about the communication than the number of hours left on any given task. She cares that I am updating that number on a daily basis, and that I am communicating any impediments to my success during standup. She cares that there is an ongoing dialogue, and that I am using the tracking tools that our company pays for to the best of my ability. If a task needs more hours, she wants me to add them in Jira. If a task suddenly becomes unblocked and all of the sudden I just have tests left to write, thatβs not a problem. Adjust the hours. Did we put too many stories into this sprint? Thatβs ok, letβs talk about why that keeps happening. Do we constantly get saddled with tasks that are unrefined and lack sufficient technical guidance from the architects? Sheβll go and bitch at them for us.
She is a good scrum master.
#NoHashtags
I wonder how the fuck it became socially acceptable for bosses to ask for estimates when underlings aren't allowed to ask their bosses, "How long do you think it'll be until I'm making your salary?" Reciprocity, yo.
I do think its funny that even though we are supposed to use story points, in my manager's head he still sort of maps it to TIME. and points things accordingly , lol
To me it's really simple. An estimate is just that. The tough part is getting mgmt, planners, customers to truly realize and accept this.
And then to get the developers and testers to truly understand and believe that everyone else has reached that understanding. Otherwise they will still refuse or pad estimates.
Also, never estimate optimal weeks, or efficient work hours. Estimate normal weeks with normal disturbances... That's the only thing we really have and know.
Finally, be roughly right instead of precisely wrong. Two years ahead you don't need dates or times. You need a half year, possibly a quarter to aim for. Narrow it down as you get closer and have more work done - giving you a better understanding of the rest of the way.