In June we went on a trip to Newfoundland. From our home it’s about a 24 hour drive to the ferry then several hours to our first stop on the other side. The morning of our departure I realized I had not ensured we had enough money in our bank account to cover the trip. Rather than just guessing I thought I better do an accurate estimate.
I took out our meal planner and we calculated what groceries we would need to buy at each location. My wife then ran over to Sobey’s to obtain current pricing, (we added contingency to account for the risk of higher food costs). Then using google maps I accurately calculated the distances we were driving. Based on past experience I calculated the amount of gas we would use. I was able to find the price of gas online for each of the stops we planned. Finally I looked up the campground prices we would be using. Phew! After 3 hours we had an accurate cost estimate, moved the money and left on vacation.
Does this story seem too ridiculous to be true? Then why do software teams go to this type of effort to create ‘accurate’ estimates? For me the real problem is during this time of creating estimates we’re not moving. In the story about … during the hours of creating an estimate we were not doing something valuable (driving towards our goal). For software teams I see too many cases where no-one is creating code, while we spend days or weeks creating and debating an estimate.
As much as I’d love the thought of eliminating the need to estimate it’s not practical. Companies need price tags to make business decisions. To provide a price tag someone needs to create an estimate of what it will cost to deliver. The problems start when we start to believe we can be highly accurate. To create ‘highly accurate’ estimates many teams will start to break the activities out into a highly detailed list. I really hope nothing changes for them later in the project!
So back to our Newfoundland trip. In fact I did a fuel estimate. In my head I divided the expected driving time by 6 hours. Six hours is roughly how far we can drive on a tank towing our trailer. Given I know what a tank of gas costs me it was an easy calculation. Total time to estimate … about 2 minutes. It was an appropriate level of accuracy for what I needed to know.
At work when I’m being asked to provide estimates I take the time to verify what it is I’m being asked to deliver. You may want to start this practice as I often find a gap between what is being asked for, and what the team is assuming is required. You can then spend all the time you don’t spend estimating doing something valuable!