Go BackGo Forward Index Home  


Accuracy of ProjectCodeMeter

ProjectCodeMeter uses the WMFP analysis algorithm and the APPW statistical model at the base of its calculations. As with all statistical models, the larger the dataset the closer it aligns with the statistics, therefore the smaller the source code (or the difference) analyzed the higher the probable deviation.
The APPW model assumes several preconditions essential for commercial project development:
A. The programmers are experienced with the language, platform, development methodologies and tools required for the project.
B. Project design and specifications document had been written, or a functional design stage will be separately measured.
The degree of compliance with these preconditions, as well as the accuracy of the required user input settings, affect the level of accuracy of the results.
ProjectCodeMeter measures development effort done in applying a project design into code (by an average programmer), including debugging, nominal code refactoring and revision, testing, and bug fixing.
Note that it measures only development time, It does not measure peripheral effort on learning, researching, designing, documenting, packaging and marketing:
creating project design and description documents, research, creating data and resource files, background knowledge, study of system architecture, code optimization for limited speed or size constraints, undocumented major project redesign or revision, GUI design, equipment failures, copied code embedded within original code, fatal design errors.
Also notice that on development processes exhibiting high specification redesign, or on projects where a major redesign was performed, which caused an above nominal amount of code to get thrown away (deleted), ProjectCodeMeter will measure development time 
lower than actual. To overcome this, save sourcecode snapshot before each major redesign, and use Cumulative Differential Analysis instead of a simple normal analysis. Please note that Differential analysis does not accounts for refactoring, therefore refactored code will show higher effort than actual.

Comparison Of Software Sizing Algorithms
According to Schemequest Software, COCOMO II model shows 70% accuracy for 75% of measured projects, as older COCOMO 81 model showed 80% accuracy for 58 to 68% of measured projects according to a study done in the US Air Force Institute Of Technology. In comparison, WMFP+APPW showed 82% accuracy for %80 of the measured projects, breaking the 80/80 barrier.

Language Specific Limitations
There may be some limitations relating to your project programming language, see Supported File Types.

Computational Precision
Because the algorithm uses high precision decimal point to calculate and store data, and numbers usually shown with no decimal point (integers), the result is that several numbers added may appear to give higher sum than expected, since the software includes the fraction of a decimal point value. For example 2 + 2 may result in 5, since the real data is 2.8 + 2.9 = 5.7, but the user only sees the integer part. This is a good thing, since the calculation and sum is done in a higher precision than what is visible.

Code Syntax
Given invalid or non-standard source code ProjectCodeMeter will do the best it can to understand your source. It is best that the source code be valid (and preferably compilable). ProjectCodeMeter is NOT a code error checker, rather a coding good practice guider (on top of being a cost estimator). For error checking please use a compiler, a static code analyzer like FindBugs / CppCheck, as well as code coverage, and code profiler tools.