Skip to main content

Why software development estimates are terrible

I really like this quote with Nobel Prize winning physicist Richard Feynman. He is describing a scientific mindset that applies to software development just as well as physics:

Stakeholders, business people, and other normal people mistake building software with things like manufacturing or building. When I had my roof replaced recently, the contractor measured the roof, determined the materials to be used, allowed a margin of error for possible dry rot, and came up with a bid that was within $300 of the estimate (he was under), and he finished when he said he would. Perfect. He was dealing with known quantities and he is a professional. Why the heck are software estimates and roadmaps so terrible when lots of other professions clearly have estimating worked out?

The difference with software is that we do not start with a known system. All modern systems of any complexity and age tend to be big, or even huge. Millions of lines of code might be involved. Depending on the size of the company, thousands of developers might be making changes to little pieces of it every hour of the day. Millions of customers use the systems that were created by thousands of people, many of whom are no longer with the company. I am not describing any one company - I am describing every large company that I have ever worked or interviewed with. If we want to compare roofs to code imagine that you have to make an estimate to re-roof a house, but you have never seen it before. And it is the size of the moon. And it is made of all different stuff that is of different ages and condition. And there are millions of people under the roof. And there are thousands of people building and tearing down different parts of the roof the whole time that you are supposed to be roofing it. And it is raining. And snowing. And Sunny. And Hailing. And there might be an earthquake tomorrow. And several parts of the roof are definitely on fire. Now, please give me an estimate that is precise - I need to know exactly what day you will finish and how much it will cost - and you need to tell me now. No right now. In this meeting. Go.

You may think that I am exaggerating, but that is what it is like every day. Why do we do it? Well, as Mr. Feynman says, we are not afraid of not knowing. We love a mystery and finding things out. It is the biggest puzzle ever, and just like playing horseshoes in a lightening storm with farm dogs running around you (I have done this, too), you just never know what crazy thing will happen. How will we make it work? How long will it take? Secretly, we have no idea, but we really want to find out. This sort of acceptance of uncertainty is maddening to business people who want to announce release dates. The best a good estimator can really do is just watch his or her team go through a few release cycles and pad all of their estimates. If they usually take twice as long as they estimate, then double them. What kind of process is that? Did Edison know how long it would take to invent the lightbulb? No. He famously went through dozens of prototypes, and he was just trying to put current through some wires. We are way, way past that, now. So if you are a normal person and you have the misfortune of having to ask software developers how long it will take to build your feature, just remember not to be afraid of not knowing.


Popular posts from this blog

How To Make School Lunches More Nutritious: Re-Define Words

If you are a parent of a child who attends public school in Washington, and if you have even a vague recollection of the food pyramid , you probably will have noticed that the lunches that are served in school cafeterias are frequently at odds with the rules of good nutrition. The school is not wrong, however. They have just re-defined words and you are not keeping up. Pop quiz:  Cheese belongs to what food group? *bzzz* - wrong. You said that cheese was in the diary food group , right? No! Pbth! How boringly accurate of you. Cheese magically transforms into a protein when it is served on pizza or in a bread stick! I know that you may be dubious, but I contacted Wendy Barkley, RD,  who is the Acting Supervisor of School Nutrition Programs in the State of Washington Office of Superintendent of Public Instruction and she assured me that it is so. To quote her email to me: " Pizza remains an option for schools for their menus.  The cheese on pizza is counted as a protein in t

Global Entry - The TSA Trusted Traveler Program - or - How to Go In The Short Line At The Airport Security

Ever since September 11th, 2001, flying has been a hassle. With each failed attempt to smuggle explosives on an airplane, the TSA makes us get more undressed at airport security. In fact, for really early morning flights, we should probably all just show up in our jammies and then get dressed once we are through the scanner because currently we get up, get dressed, go to the airport, get half undressed, go through security, and then get dressed again. For quite some time, people have been asking the TSA so implement some kind of pre-screening program where travelers could have a background check in advance, and then be allowed to go in a shorter line. That day is finally here, and the TSA is now rolling out a Trusted Traveler Program known as Global Entry . In a nutshell, you pay $100, fill out some online forms, go in for an interview, present your proof of ID, and get fingerprinted and photographed. Yes, it sounds like some red tape, but then, every time you make an airline reser

Rooftop Playgrounds

This week I have had some meetings in a tall building in downtown Seattle, and when I took a moment to look around and enjoy the view I have noticed playgrounds on rooftops. I saw this daycare playground: and this playground on top of a school: I think that this is a really cool use of space. A friend that grew up in NYC said that her school had a rooftop playground, too. The delinquent in me wonders how many toys and balls go over the side, but I bet the teachers are pretty strict about that. Downtown Seattle has always seemed a little unfriendly towards kids and it is neat to see spaces being carved out.