Software Project Planning
In the previous days of computing software costs comprised a small % of overall computer based system cost. In order of magnitude error software cost had relatively little impact in estimates of. Presently, software is the most expensive elements in most computer-based systems. With large cost estimation error can make the variation among loss and profit. For the developer Cost overrun can be disastrous.
Software effort and cost estimation will never be an exact science. There are Too many variables human Technical, Environmental, Political can affect the ultimate effort and cost of software applied to build it. However software project estimation can be transformed from a mysterious art to a series of systematic steps that gives estimates with acceptable risk.
To achieve reliable effort and cost estimates a number of options arise.
1. The Delay estimation until late in the project (obviously, we can achieve 100% accurate estimates after the project is completed)
2. The Base estimates on same projects that have already been completed.
3. The Use relatively simple decomposition techniques to generate project effort and cost estimates.
4. The Use one or more empirical models for software cost and effort estimation.
Unfortunately, the first option moreover attractive is not practical. The Cost estimates must be provided up- front. However, we will recognize that the longer we wait the more we know and the more we know the less likely we are to make serious errors in our estimates.
The option can work reasonably well if the present project is quite same to previous efforts and other project influences for example business conditions, the customer, the SEE deadlines are equivalent. Unfortunately, previous experience has not always been a good indicator of future results.
The remaining options are viable approaches to software project estimation. Ideally, the method noted for each option should be applied in tandems each used as a cross-check for the other. The Decomposition techniques will take a divide and conquer approach to software project estimation. By decomposing a project into a major functions and related software engineering activities effort and cost estimation can be performed in a stepwise fashion. Empirical estimation models can be used to complement decomposition methods and offer a potentially valuable estimation approach in their own right. The model is based on experience historical data and takes the form.
d=f(Vi)
Where d is one of a number of estimated values example for effort, cost, project duration and Vi are selected independent parameters for example estimated LOC or FP
The Automated estimation tools implements one or more decomposition methods or empirical models.
When combined with an interactive human machine interface automated tools give an attractive option for estimating. Like systems the characteristics of the development company for example experience, environment and the software to be developed are described. Effort and Cost estimates are derived from these data.
As the historical data used to seed the estimate each of the viable software cost estimation options is only as good. If no historical data exist costing rests on a very shaky foundation.