Estimation is very important in a software development project. We generally estimates

- Duration - How long it will take to complete the project
- Work Break down structure-A pictorial diagram of different modules
- Resources-How many Managers,developers,Testers it will require
- Deliverables- Business case, Development Plan, Use case model, Test case etc.
- Cost.
In general, there are two types of estimation process followed in Software Industry:
- Parametric- It uses a mathematical model to calculate project cost. Parametric type generally preferred to estimate project cost during preparation of project proposals (during responding to clients RFP) in pre-sales cycles.
- Bottom-up: It collates all activities beginning from bottom and gradually moves upward. In the process, it estimates required project duration, WBS, resources, deliverables and cost.
Bottom-up procedure heavily relies on Statements of Work (SOW) and details and accurate project Work Break Down structure (WBS).Needless to say Bottom-up is preferred during the post-sale period or project execution period.
But, none of these types will give you an exact estimate. However, combined with previous experiences, adding few modifications, risk factors etc, you may end up very close to the actual.
Do we need a tool to estimate a project?
Few organizations do not use any specific tools to estimates software development efforts. But a majority will rely on sophisticated estimation tools. In my firms, estimation department uses CostXpert for parametric estimation. It is generally observed that:
- We may be excessively optimistic about our own and our teams abilities
- We are not pessimistic enough about difficulties and hindrance that may appear during development cycle.
- We may have limited experience in project estimation.
- Tools such as CostXpert generally rely on past experiences. CostXpert reportedly analyze more that 20,000 actual project before determining various co-efficient of mathematical models.
In my next post I will talk about how to use parametric estimation for a simple project.