ProjectCodeMeter
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.