I was asked to estimate my time for building a database engine, which would be a session-aware engine, in order to persist in memory the objects of the db.

The thing is that I had a code, an engine depended on Spring & Hibernate which didn't do this.

While people asked me how much time should I need, the thing is that I already had refactored and reprogrammed parts of the code and seems to me now it is working as expected. I said it took me 20 full time days. It seemed to them long. Was it? How can I know? How can I measure that? The tools, were Spring/Hibernate an already made code, some spaghetti code inside, in Java, for a distributed application.

  • You wrote that people were asking you for an estimate, which implies something that will happen; then you wrote it "took" you 20 full time days, implying it has already happened. Which? Oct 11, 2011 at 10:21
  • I had started ( Past Perfect ), because I knew the problem was there, and then after some talks, they asked me what was my time, and this "reported time" would then get to a later report.
    – hephestos
    Oct 11, 2011 at 11:53

1 Answer 1


Whether you are providing an estimate for something to happen in the future, or reporting your actual costs/time, the only way to address the value judgment that it seemed too "long" is to understand the comparison group against which that judgment is being made. So your first question to them is, 'based on what?'

Once you understand that, you can dissect the similarities and differences between your estimate/actuals and the comparison group. Then you can make a similar value judgment as to if your 20 days is too long, too short, or just about right. Also, you will be able to explain to your customer the justification of your 20 days.

Also, you cannot ignore the stochastic nature of work. If you did that exact same project a thousand times, you would have a range of results. It is not unlike your commute to work. Sometimes it takes you 35 minutes; others, 2.5+ hours.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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