My company is trying to create some structure to the way a customer engagement is handled. We are software consultants. Right now we are struggling with how to provide estimates for a project. My suggestion is to estimate the planning phase using metrics to come fairly close, and then to use a BIG ball park for the development phase. Others want to be able to provide a better estimate of the development phase before we have conducted formal planning. By the way, our "Phase 0" process is usually done at no cost. My worry is that way too much planning will take place before the actual planning phase and will never be costed. I hope I make sense with my concern. Any experience from you guys would be greatly appreciated. Saving Changes...
Sort By:
Anonymous
I agree with the way you currently do it. Without going through the first phase and "looking under the covers", it is too difficult to estimate what exactly needs to be done during implementation. Saving Changes...
Anonymous
I agree with the way you currently do it. Without going through the first phase and "looking under the covers", it is too difficult to estimate what exactly needs to be done during implementation. Saving Changes...
I have many years experience of doing this kind of work for software houses, including those who mostly bid fixed price.
The answer is simple but hard to take. Its all about managing risk and uncertainties.
You have to know enough about the project to make a fairly detailed WBS and network plan. You have to know enough to estimate the work within reasonable probability. Otherwise, the risks are too great.
Specifically, for software development, you have to have a good Reqs Spec, analyse it, rough out an architecture and sketch out a design. You have to know enough to know where the problems are and where the technical risks are and decide how to tackle them. You have to plan for a protatype if there is a GUI to be developed and experiments if you have processing capacity or other uncertainties. You have to plan for meetings, lost time, vacations. You have to plan for project specific training and resource lead times. You have to count everything you can count and guess everything you cannot count.
You have to remember that time lost through overrunning activities is raraely compensated for by activities which finish early. In this case, statistics don't work.
You have to ask a price which, if everything works out, will make substantially more profit than a time and materials consulting contract. Otherwise, you are not factoring in the additional business risk of fixed price work.
Small projects are more risky in practice than large ones because they cannot afford the overhead of a dedicated project manager and all the necessary QA, configuration management, change control etc. Also, the proposal costs are a large percentage of the contract price. SO, the necessary prework does not get done and no-one manages them properly.
Most companies will do a certain amount of effort on a proposal for nothing. Its just the cost of doing business. However, most companies will put a limit on this and say to the customer "we cannot bid until XYZ is known. We cannot find that out for nothing, it costs too much in respect to the likely size of the contract." You would be surprised at how many companies find that perfectly reasonable and go along with it and pay for the necessary pre-work. If they won't, you just have to walk away. And that is the really hard part.
One other thing, never make a bid unless you know enought to make a good network plan so you can analyse the critical path and dependencies. Without this, you will get it seriously wrong much more often than you get it right.
Finally, the more mature the customer, the more likely he is to accept that he has to pay you to do the pre-study. We find companies at CMM Level 3 and above are the easiest to deal with. We do not, as a policy, deal with anyone who seems to be below level 2.
I hope this is some use to you. Good luck. Saving Changes...