Very often developers are asked to provide estimates (at least rough ones) when a solution or feature will be ready. What steps development team should take to ensure that estimated solution will be delivered in time in accordance with provided estimates?

  • 5
    Finish writing the code before giving the estimate. – CodesInChaos Aug 29 '18 at 20:23
  • 1
    When committing to a delivery date tell them the month, but not the year. It gives you some flexibility. :) – Greg Burghardt Aug 29 '18 at 22:24
  • Rank the tasks in order of risk, and perform the riskiest tasks first. – Frank Hileman Aug 30 '18 at 0:15

There are two thing you can do to finish a project faster and one to make it more likely to finish before the estimated date.

To make a project go faster.

  1. Remove features. With less work to do the work will be completed sooner.

  2. Hire more programmers. With more people to do the work, the work will be completed sooner

To make it more likely to finish before the estimated date

  1. Increase the estimate to at least double your first estimate.

Unfortunately there is a million things you can do that will make a project go slower and be late.

  • 3
    Hire more programmers”. This is pretty much guaranteed to delay the project; not assist it is being finished by some arbitrary date called “on time”. Nine women can’t make a baby in one month and all that... – David Arno Aug 29 '18 at 20:29
  • they can through the magical wonder of pair programming!! – Ewan Aug 29 '18 at 20:34
  • 1
    The, adding more people slows things down argument is a bit flimsy in my view. Sure it can slow things down, but experienced developers are able to jump right in and start completing tasks – Ewan Aug 29 '18 at 20:38
  • 1
    Adding more people speeds things up if their work is entirely independent of each other, and all the new people are fully "seasoned" (experienced and knowledgeable). Otherwise, it may speed things up, but more likely, slow them down. – Frank Hileman Aug 30 '18 at 0:17
  • @FrankHileman I think it would be more accurate to say that there is an 'onboarding cost' and an upper limit depending on project size. Generally more people = faster – Ewan Aug 30 '18 at 6:16

This question highlights a common problem with estimates, in any field. An estimate is a guess. It has a chance of being wrong. Therefore to talk of “delivering on time” when estimates are involved is a nonsense. To deliver on time, one must offer a guarantee; not an estimate.

So one solution is to turn that estimate into a guarantee. A good approach (for the developer at least) is to multiply that estimate by a figure between 3-10, depending on how many likely risks there are. That becomes your guaranteed figure.

A far better approach is to adopt an iterative approach to development. If you are only estimating what can be achieved in the next 2-3 weeks, then the risks of significant slippage of actual versus estimates is reduced. Of course, there is then no estimate at all of the final end date, but since most software products are never finished, as new releases are made all the time, that’s a cultural issue that can be addressed through education of other parts of the business.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.