Possible Duplicate:
How to respond when you are asked for an estimate?

In my company, i have a strange managers, they always asks me before starting how is it going? And how long it will take to finish? From Day 1 to end of the project life. Behind the screen they do not have any idea what language i will need to use. I was myself forced to use PHP, C, Java, Vala, D, Bash, many other platforms etc etc, where i was only a Visual basic 6.0 programmer.

But it takes me lot of time to complete a project, because i care about it before releasing, requires lot of testing etc etc.

The problem is, i still do not have any best answer when someone asks me "how long do you think it will take to finish this project?", although i have done lot of projects. But i can not answer such questions, because in my mind its never finished, i always wanted to do more and more optimized code even after release.

I would like to know how you guys tangle this question? (as pro-programmer way)

  • If you don't know how to define finished, then how are you supposed to estimate anything? It sounds like you have a lack of clearly defined requirements or expectations.
    – maple_shaft
    Commented Nov 17, 2011 at 14:33

1 Answer 1


You should refuse to estimate on the spot.

If you must, always qualify your answer as something that can be 2 orders of magnitude off, either way.

Insist that for a better estimate you need time to evaluate the project properly.

  • 1
    +1 for the first statement, -1 for the second. Never, under any circumstances, provide an off-the-cuff or on-the-spot estimate. See: The Pragmatic Programmer.
    – Thomas Owens
    Commented Nov 17, 2011 at 13:55
  • @ThomasOwens - Of course, The Pragmatic Programmer, the be all and end all of programming. They are never wrong. I guess you were never put on the spot in such a way that you had to give an answer.
    – Oded
    Commented Nov 17, 2011 at 13:56
  • I believe this is also explicitly mentioned in Steve McConnell's Software Estimation: Demystifying the Black Art and referred to in the works of Watts Humphrey on the Personal Software Process. I don't believe that Hunt, Thomas, McConnell, and Humphrey would be wrong on this - they are among the experts on software development processes and best practices.
    – Thomas Owens
    Commented Nov 17, 2011 at 13:58
  • 4
    @ThomasOwens - They are. However, you don't always have a choice. In such a case, what would you suggest? Saying "I think this will take 2 months, but it could be as little as 2 days and as much as 2 years - give me some time to give you a better estimate" is not good enough?
    – Oded
    Commented Nov 17, 2011 at 14:00
  • I never mention any time, at all, until I've had a chance to think about it. I say "give me the requirements and/or defect reports, let me read them, I'll get back to you in a couple of hours". I read the requirements or bug reports, come up with questions, ask them to the appropriate people, take a look at the modules that would most likely be affected, check the design documents, verify that the changes won't conflict with any other requirements, maybe do a little prototying, reflect on similar problems, then provide an estimate, which includes either an uncertainty or a time range.
    – Thomas Owens
    Commented Nov 17, 2011 at 14:04

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