Which steps do I need to follow to estimate a budget for a project based on FPA?
Estimating is the process of predicting the most realistic use of effort required to develop or maintain software based on uncertain and/or incomplete input. The estimating and budgeting process of a software development project consists of more activities than just a function point analysis (FPA). FPA is an important supporting tool in this process. You will need to perform four steps to estimate a budget for a project based on FPA:
- Determine the functional size of the information system to be developed
- Determine the standard productivity rate for the development environment
- Determine the expected project productivity rate
- Budget the project
1: Determine the functional size of the information system to be developed
The amount of hours needed to develop an information system is related to the size of the information system. The bigger the information system, the more hours you will need and the more money it will cost. In case the scope is not defined in detail, for example in case of Agile delivery, an indicative size will help to estimate the required budget.
2: Determine the standard productivity rate for the development environment
A company should record the standard productivity rates for each phase of the system development life cycle or the velocity for iterations in case of an Agile delivery. Historical data is essential to create new estimates. In case historical data is not available, market data from the ISBSG can be applied.
3: Determine the expected project productivity rate
Productivity rates can vary based on ‘productivity attributes’ like the technology or the experiences of the development team. You should estimate the influence of these circumstances and include them into the calculation of the expected project productivity rate. Parametric tools can be applied to support this process.
4: Budget the project
For each productivity rate (hours/fp) or velocity (fp/duration) an organization should record which activities are included in this rate. Projects can require additional activities like integration testing or system testing. If these are not included in the available rates this will result in incorrect estimates.
There can be activities that are not related to size, for example transition or transformation activities. Effort needed for these activities should be estimated separately and added to the initial project hours as determined in step 3. Based on the expected project hours and financial rates you can then estimate the project budget.
Nesma advises to also calculate a budget based on a “conventional” activity estimate of specialists. Compare this specialist estimate with the FPA estimate. In case the differences are significant, additional discussions are needed. Always keep in mind that the experts certainly do have a valuable opinion. They might be right!
Estimating involves more than calculating hours
Estimating hours and cost is not the whole story. You should not forget about the quality of the product that is delivered and the scheduled duration of the work. Especially if the schedule is under pressure, the number of hours needed tends to rise. To deliver the product at the agreed date and quality might require much more effort than in a schedule without time pressure.
Would you like to obtain more detailed information about estimating costs? You can read all about it in the whitepaper Nesma on estimating. Get your free download here.