Estimation, planning and tracking
Estimation, planning and tracking are an inseparable
trinity. If you don't do one of them, you don't need the other two.
- If you don't
estimate, you cannot plan and there is nothing to track
- If you do not plan, estimation and tracking is useless
- If you do not track, why whould you estimate or plan?
So:
- Derive small tasks from the requirements, the architecture and the overall design
- Estimate the time needed for every small task
- Derive the total time needed from:
- The time needed for all the tasks
- The available resources
- Corrected
for the real amount of time available per resource (nobody works a full 100% of
his presence on the project. We start with planning 2/3 of the available time
- Plan the next cycle exactly
- Be sure that the work of every cycle can be done. That means really done. Get commitment
from those who are to do the real work
- Plan the following cycles roughly (the planning will change anyway!)
- Track successes and failures. Learn from it. Refine
estimation and planning continuously. Warn stakeholders well in advance if the
target delivery time is changing because of any reason
- There may be various target delivery times, depending on various feature sets
If times and dates are not important
to you (or to management), then don't estimate, plan, nor track: you don't need
it. However, if timing is important, insist on estimation, planning and tracking.
And it is not even difficult, once you get the hang of it.
If your customer (or
your boss) doesn't like to hear that you cannot exactly predict which features will
be in at the fatal end day, while you know that not all features will be in (at
a fixed budget and fixed resources), you can give him two options:
- Tell him the day before the fatal day that you did not succeed in implementing all the
functions
- Or tell him now (because you already know), and let him every week
decide with you which features are the most important
It will take some persuasion,
but you will see that within two weeks you will work together to get the best possible
result. There is one promise you can make: The process used is the most efficient
process available. In any other way he will never get more, probably less. So let's
work together to make the best of it. Or decide at the beginning to add more resources.
Adding resources later, however, may evoke Brooks Law:
"Adding people to a late project makes
it later". Let's stop following ostrich-policy, face reality and deal with it in
a realistic and constructive way.