Alex Rivera | Logout

How to estimate a programming task if you have no experience in it

Asked 2009-01-08T17:02:05.820
108

I am having a difficult time with management asking for estimates on programming tasks that are using third-party controls that I have no prior experience with.

I definitely understand why they would want the estimates, but I feel as though any estimate I give will either be a) too short and make me look bad or b) too long and make me look bad.

What estimate or reply could I give management to get them off of my back so that I can continue doing my work!

Edit
Report

3 Answers

13

You might want to consider giving both an estimate and a confidence level, i.e., it's 50/50 that it will take 3-6 months or 6-9 months or 75% chance to be done in 9 months and 90% that you will be done in a year.

Another thing you might want to consider is using the "wisdom of crowds" approach. Go around and ask 25-50 people how long they think it will take and average their estimates. Mike Cohn's Planning Poker is, I think, very similar to this, though difficult to plan with just one developer.

answered 2009-01-08T17:36:02.367
3

You just guess an outside number and get to evaluating immediately, let them know that future information may effect your estimates, but that you will keep them up to date.

As you evaluate, keep them informed--either through a document published on the web or weekly updates, but always include an updated "estimated end date", and reasons (if any) for extensions.

Most managers should understand that--by asking for end dates, they are really saying "give us some idea how we can plan our schedule" and "don't just take forever".

If you end up extending more than once or twice, re-evaluate your entire schedule based on your new knowledge that you suck at estimating.

answered 2009-01-08T17:09:10.673
1

That's a very common situation: the necessity to deal with the unknown. A useful way to tackle this is realize that besides the actual programming tasks, you have some learning to do - and management should be aware of that.

When you are in a situation like this, the project suddenly becomes an R&D project and a longer time than normal shall not make you look bad, since you are learning and producing programs. I don't know how fast you are learning or what resources you have to deal with any problems you may find (Stack Overflow is one of the options you have).

I would say that you should estimate as usual and then multiply either by 1.5 (if you are a fast learner and have access to resources to solve your questions) or by 2.5 if you are an average learner and are relying only on yourself.

I hope this helps!

answered 2009-01-08T17:13:42.787

Your Answer