Inside a non Agile world (well unfortunately in some Agile world also happens) project managers and managers likes to ask around “When will you finish this new feature / task or whatever?” and this is both a good and a complex question…..
“I don’t know” is not an option and if you say that get ready to this: “Don’t worry, is just a prediction!” but actually it’s not, because once you throw your bet people will take it as a commitment. If you must say a date or time a famous technique is adding a pillow or gap of time to the time you believe you will spend on finishing the task, but this is not a good deal because Hofstader’s Law and Parkinson’s law really discourage from doing that (Vasco Duarte talk more deeply about this at #NoEstimates).
Then… What I should do?!? Another good question
I heard a lot of things: you are the manager so you must commit what your team will do, you are the expert only you know that, talk with your team, etc. At this point I would like to show you some data from Jeffery-Lawrence study at the University of New South Wales (from Tom DeMarco’s book Peopleware) where he researched on productivity by estimation:
- Programmers seem to be a bit more productive when they can do the estimate themselves, compared to cases in which the manages does it without even consulting them.
- System analyst are quite better estimators than programmers and managers, because it’s supposed they know the work as in much detail, but at the same time they are out of either time and budget pressures or optimism.
- Projects with no estimates, with “just wake me up when you’re done” far outperformed all the others.
Wow! We can make a lot of conclusions about estimates, why we spend too much time estimating tasks? Why are so important if best performance are without it?
For this reason it seems that the best way to deal with this is splitting tasks to more o less same size, get a sustainable development pace and use this data in order to make empirical estimations about what your team is able or not to do in a reasonable time. In the future I will talk about forecasting with Kanban which it is very interesting because talk about Monte Carlo algorithms and other stuff :)
You can also follow me at my blog: https://agilebeginnersmind.wordpress.com/