Most people in the tech world know that development takes as long as a piece of string. But people who haven’t had the experience with tech, often don’t understand how difficult it is to give an accurate development estimate.
If you think you’ve read us writing about something similar before, you wouldn’t be wrong. We have previously written about if time estimates are useless or not – but we thought it may help to put this scenario into an analogy that most people can probably understand.
You want to redecorate your living room.
It’s the biggest room in your house, but you haven’t got anything on this weekend so you reckon you can get it all done before going back to work on Monday. So long as you start the process on Saturday morning.
Saturday morning comes, and you decide that you want to do it properly so you start to move your furniture out of the way, and take your pictures down from the walls.
Whilst moving the bookcase you notice mouse droppings. You’ve got a mouse problem and you had no idea. Now you’ve got to clean mouse droppings off of the floor, go out to buy pest control, and try to find where the mouse got in.
You pop out to your local DIY store and get the necessary, clean the carpet, and carry on moving stuff out of the way.
Now you take the curtains down and notice they’ve got mould on the back of them. You’ve got a mild damp or condensation problem you didn’t know about.
Go out again, get a dehumidifier, some mould spray, and come back to fix it.
It’s 4pm on Saturday already.
You should’ve been halfway done by now, but you’ve barely started.
You start sticking your masking tape and put old sheets down to protect the carpet. You finally get the first coat of paint on, but now it’s 6pm and you’re hungry; you skipped lunch because of the mouse problem, so you stop for some dinner.
7pm and you’ve finished dinner but the walls aren’t dry enough for another coat of paint yet, so you decide to call it a day and do it in the morning.
Sunday morning, back up to try again.
You check the mouse traps to see if you caught anything… Nothing yet, but you’d best keep an eye on it.
You put your second coat of paint on – finally something with this damn job goes smoothly, but the amount of paint left in the pot is looking a bit low. Nevermind, should be enough. You finish the second coat and pop out for some lunch with your family whilst you wait for it to dry.
Back from lunch and you go to do the last coat. But the paint really is running low and you’re running out, having one wall left to do. Best rush to the shop again before it shuts early because of Sunday trading laws. You make it with 30 minutes to spare and buy another pot of paint.
Get home again, whip out the paint, slap it on and…. they mixed it wrong. The shade isn’t the same. And now the shop’s shut.
It’s Sunday evening and your fairly easy job has turned into:
- Three unplanned trips to the shop to buy stuff you need
- An undiscovered mouse problem that you’ve now got to watch for the next couple of weeks, and potentially pay someone to come and fix
- A half painted living room, with one wall now needing even more coats of paint to cover up the wrong shade you were given
- Curtains to take to the dry cleaners
- A potential damp problem to fix
Your living room is in chaos, your furniture’s stacked in the middle of the room, and you’ve got to go back to work tomorrow.
It was only going to take the weekend.
Why decorating your living room is similar to development estimates
Estimations are an art form, and it’s not fair to use them as a stick to beat your developers with. Especially on long and complicated projects!
Yes, it’s a problem if a half day job turns into three weeks – and you should be asking questions, if that’s the case.
But if bug fixes that are “five minute jobs” turn into half days, it’s because your developer discovered mouse droppings whilst moving the bookcase.
Don’t beat them up with the bookcase. Be glad they’re fixing the mouse problem.