What are estimates for?

Estimates are all about time. During one of last retrospective I realized that for some people estimates, and their role, are not that well understood. If not perceived well they can create pressure. Because what happens when we estimated the amount of work needed wrong? What happens when what we declared is significantly different than what we actually needed to fulfill our task?

Estimates are provided by developers and mean the most probable time when a given task will be finished. The most probable, not exact. Exact time can never be provided, at least not in software development.  This is something that both managers and developers need to remember.

Sometimes due to various reasons developers are afraid that breaking the estimate will cause troubles. When during the work some unplanned task shows up a question arises – should I take more time and work on the proper solution or do the task using duct tape and deliver my code on time? For me the answer is obvious, but as I lately learned not for all. Take all the time you need to rethink and redesign the solution, and implement it in the proper way. Ask yourself a simple question – what will satisfy your product owner or client – desired functionality that is working as expected or piece of crap delivered on time?

If your manager will be mad explain what is happening and why you have a delay. If you care about transparency and visibility of your work you manager will trust that you do all you can to deliver the code. If not, well then I’m sorry but the company should change the manager… Otherwise sooner or later the team will simply leave.

If you are a manger please remember what estimates are. If you create pressure on the team, the estimates will quickly become surprisingly high. People will start to add significant safety buffers just to be sure that in the worst case they will still manage to meet the deadline. In 95% of cases they will actually finish before time, but remain silent – wasting your time and money. Of course this will be the less professional part of the team – the more professional will be already working for some other company where the word ‘estimate’ is well-understood.