Project Estimatives 


As a consultant worker, one most required domain fields in our daily life is the project cost estimation.

During the years that I've been working as it, I have gathered lots of information and sources that helped me out how to measure and calculate my own estimates.

Usually when we take a project, the last thing we heard (before the greenlight or no, or course) is the same question: How long will this take to be finished ?

The general answer for this question is pretty simple: we never know how long will take to finish a new project; specially if we never had done any work on it.

So, why do bother about counting and calculating estimation if the answer is mostly 'I dont know'? Is because the software estimatives will not ensure when is the project going to be finished, but will sure help us to determine a well-known track of how it will be developed and a projection of how much effort we will spend on it versus an estimated time. And with these data on-hand, we can sort of predict a better answer to the companies.

And the good thing is, if we take that as a common practice, the estimatives will just improve in the future. Just like an algorithmical normal curve, trying to find the best spot in the graphic chart.

Why is that? because we will use the very ancient method of comparison-analisys known: the history log. By creating this our very own projects history log, we can improve our performance developing systems, because we can then compare with past projects.

We can now predict answers for questions like: - how long will I take to implement this code or module? - how much time can I afford to research when in trouble? - how long should I spend debuging, testing and reviewing my code? And even very subjective questions like: what is my feeling (gut) about this situation? The future does make it done, but the past certainly tell us how to. Specially nowadays when the markets are tough, the competition is very hard and the selective process is getting stronger... A good estimation is the weapon you can carry with yourself and that can make you shine among your competitors, and give to your employers more confidence about your job and your professionalism. Here is goes a few hints I do by myself in my own projects: Tasking: When working on some specific task, try to keep the track of spending time when you are *really* doing the task! If you find yourself too ahead of your estimate, is because you most likely need some sort of help (technical or not) and even consider quiting some resource allocated to your project. Better do little or medium but doing right than do big and not right. Work Loading: after finishing a task, sum the total amount of time spent *really* doing the task. This helps you to close a chapter and move forward. Divide the number of days you were actually during the job by the time spent doing your tasks. This is your performance measure. Work to improve that number, does not matter the project; it should be pretty stable. In a perfect world, your tasks estimates should match equally the time you actually tracked or projected to finish it. Well, we dont live in this world, so it probably will not happen in a quite fashionable way. ( If you succeed, tell me how ) Another piece of advice; consider some things as perfect truths in the project's life cycle: the tasks are not so easy as we were believing, the projected time never suffice enough for us, you will not be congratulated enough for that late-hard-working night you spent. So, basically the point here is : be consistent; any aspect you find important, include in your trackings. Think hard about including those 2 hours of daily workout that you have everyday at the gym. There is absolutely no problem with that, specially if you are that disciplinated. It's best, however, to include in the estimate things that really are software development related, and exclude things that are more like administration or external activities. And in this matter, dont worry about other people's tasks; worry about yourself, because at the very end the truth is: you can only count on you to improve your performance. The same applied to life as well.

 

Edge