The title of this post describes my simple philosophy toward software estimates. It isn’t wise to start blabbing about how long our projects will take when we don’t have anything real to compare them to. As I’ve mentioned before, we really don’t know enough at the beginning of a project to start estimating with any certainty. Instead, we should start by listening to our projects first. Listening is the fundamental idea behind the relative size estimate and one of the most important aspects of agile software development.
How do you listen to a project? Well, you start by doing the things I have explained this week: create good stories, give them relative size estimates in story points or t-shirt sizes. This gives you the “ears” you need to hear your project. Then you need to measure and record how many points you can do per story.
For instance if your first story is a size 8, and it takes 1 week to finish, you know that you can move at the rate of about 8 points a week. This isn’t much listening, but you know more than you did at first. Then do the next story. If the next story is size 2 and it also takes a week, average them and you come up with a new number per week: 5. Don't stop here, keep measuring and your numbers will take into account more that you have "heard."
This number is called your “Velocity.” Velocity is something you can really talk about. Use your velocity to tell others what your team has been capable of doing. This doesn’t mean that you will continue to do the same; it is just a more accurate picture from which to estimate the future. The more you listen, the more you have to talk about.
What is your team’s velocity?