Now that IFPUG published uTip #3, the users of the IFPUG method now officially got the green light to use size estimation methods that can be used earlier in the software project lifecycle than the moment of a completed functional design. In uTip #3 the methods High Level FPA (In Nesma often called ‘global FPA’ or ‘estimated FPA’) and Indicative FPA are described. They are indeed very helpful methods to estimate the size of an application (or project) and many commercial organizations and governments worldwide have been using these methods for many years. In fact, in practice functional documentation is very rarely complete and detailed enough to carry out a detailed FPA as early in the software project lifecycle as it is needed to estimate the project. This is actually an argument made by many project managers for not using FPA, as they incorrectly assume that an FPA measurement can only be carried out on a complete functional design, which is too late in the project lifecycle to be useful for them for estimation purposes.
Especially with the industry moving away from the traditional development methodologies towards the more agile methodologies, functional documentation that is complete and detailed enough to carry out a detailed FPA becomes more and more rare, so one has no choice but to adopt an estimated method in order to be able to measure/estimate functional size.
Of course, with any estimation of anything … one should ask oneself what would be the accuracy of the estimation and what is the uncertainty that is introduced because of the estimate. The good news is that there have been studies published in which the accuracy of the High Level FPA method and the Indicative method compared to a detailed FPA were studied. In Sogeti Netherlands for example, the department Sizing, Estimating & Control (SEC) presented a paper on the Software Measurement European Forum in Rome (Italy), in June 2009, in which the accuracy loss and the effort savings on the use of High Level FPA and Indicative FPA of 42 projects was studied compared to detailed FPA measurements.
Although the Nesma method was used for this study, the results of that study should be comparable to the IFPUG method as well, as there are very little differences between the two methods in practice nowadays.
|Method||Accuracy||Accuracy loss||Effort||Effort gain|
|Detailed||100%||100 norm hrs|
|High Level*||98.5%||1.5%||67 norm hrs||33%|
|Indicative||83.5%||16.5%||18 norm hrs||82%|
* The High Level FPA is also called ‘global FPA’ or ‘estimated FPA’ in the Nesma method
It turns out that using the High Level FPA method on average results in only 1,5% accuracy loss, which is usually not really a big deal early in the software project lifecycle. The indicative method is on average somewhat less accurate, but as this method can be used even earlier in the software project lifecycle (when only the number of logical files are known or can be determined), this method is very useful to create an early ‘rough order of magnitude (ROM)’ estimate of the expected functional size.
The effort hours column shows normalized hours instead of real hours. This means that the estimated method takes on average 67% of the time to measure compared to a detailed FPA measurement. The indicative FPA method takes on average 18% of the effort of a detailed FPA measurement.
About the authors
Harold van Heeringen, Edwin van Gorp and Theo Prins are software metrics consultants / software cost engineers for Sogeti Nederland B.V. They regularly publish on international conferences about practical aspects of software measurement. Most of their articles can be found on the Articles page.