Projects running late are a recurrent theme in the press and in folklore. They can be late for many reasons, and I don’t wish to belittle technical complications, cutting edge development, unforeseen problems, but…
The best way I know of finishing on time is to start on time. How can we judge when we should start? A simple rule is that we should start “as late as necessary, then as early as possible”.
Late as necessary makes us think about waiting till we have the right information ready, preceding tasks complete, the environment or circumstances suitable.
As early a possible reminds us that it is only when we really start a job that we find out how easy or hard it is, what might be required, what the problems are. Starting early gives us more time to sort all of that out. When we hit issues we can always try and throw money and resources at it, but we can only with difficulty add more time (overtime, long shifts, weekend working).