When it comes to estimating projects you will find that there are many techniques, each of them with both supporters and rejectors, as well as their pro’s and cons.
With function point analysis I’ve found that it’s a very subjective technique and thus very likely to miscalculate the size of the project. It is, however, an extremely effective technique to:
- Force the whole team to perform a detailed analysis of the system.
- Detect technical problems that would be very hard or impossible to find with a high level analysis. This is specially true when counting the derived data points.
- Detect functional problems. Since you have to count inputs, outputs and the like, you will encounter many functional steps that are incomplete or confuse.
Evidently, these pro’s aren’t enough to make you decide to try this technique, but when combined with more group-oriented techniques such as wideband delphi (or planning poker, which is in essence the same thing) the results are quite good, because function points promotes sufficient insight and wideband delphi promotes debate. And as we all know, there’s nothing as effective as a debate with a well informed group of people.