It’s one of the most common complaints I hear from development teams: “Urgh! We have far too many meetings.” It’s not often true but that is their perception because the meetings felt boring and wasteful.
Meetings don’t have to be like that. I’ve just started reading a book called Meeting Design: For Managers, Makers and Everyone by Kevin M Hoffman (Two Waves Books, 2018) which I’m hoping will help me plan more productive, more meaningful gatherings in the future.
In this post, I offer a few simple rules to help meeting feel more manageable.
Instead of focusing on making ‘better’ estimates, focus on:
exposing work to users/customers sooner
testing assumptions earlier
less fragile code
Your estimates will improve.
Why do we focus so much on estimates?
We focus so much on estimates because we want certainty, because we want to feel like we are in control and are directing progress.
Development teams want to know how much work they think can be done during a sprint. Management wants to know when new features will be finished, when deadlines will be met. Customers want to know when they can get this new functionality.
And so we develop systems that give us a sense of security even though they may be false.
But human beings are terrible at estimating. Just read this article on Wikipedia about the planning falacy to see just how much.
Psychologists Daniel Kahneman and Amos Tversky explained the planning fallacy by suggesting that planners focus on the most optimistic scenario for any task, rather than using their full experience of how much time similar tasks would take.
Curiously, when asked to estimate how long something will take, people will generally underestimate how long they would take and overestimate how long they think others would take to do the same task. In other words, people will consider the best case scenario for themselves and the worst case for others.
While the Scrum Guide encourages teams to create a Definition of Done so that everyone understands what ‘done’ means, it says nothing about creating a Definition of Ready so that everyone understands what pre-conditions must be met before a user story may be allowed onto a sprint.