Go BackGo Forward Index Home    

Project
Code
Meter

Differences Between COCOMO, COSYSMO, REVIC, Function Points and WMFP

The main cost algorithm used by ProjectCodeMeter, Weighted Micro Function Points (WMFP), is based on code complexity and functionality measurements (unlike COCOMO and REVIC models which use Lines Of Code). The various model results can be used as reference for comparing WMFP to COCOMO or REVIC, as well as getting a design time estimation, a stage which WMFP does not attempt to cover due to its high statistical variation and inconsistency.

WMFP+APPW is specifically tailored to evaluate commercial software project development time (where management is relatively efficient) on projects of all sizes, while COCOMO was modeled mainly on large aerospace and government projects, and evaluates more factors such as design time. COSYSMO can evaluate hardware projects too. The REVIC model designed for military projects also adds effort estimation for 2 optional development phases into its estimation, initial Software Specification Review, and a final Development Test and Evaluation phase. Function Points (in most of its flavors, mainly IFPUG) uses general complexity and functionality assessments for estimating a "user perceived" functionality, while WMFP uses several different complexities (such as control flow and arithmetic) to assess a "developer perceived" functionality.
Due to the model complexity, WMFP realistically requires a project source code analyzed (either current code or a similar one as an analogy), while COCOMO, COSYSMO, REVIC and Function Points allow you to guess the size (in KLOC or Functions) of the software yourself. So in effect they are complementary.

For Basic COCOMO results, ProjectCodeMeter uses the static formula for Organic Projects of the Basic COCOMO model, using LLOC alone.
For the
Intermediate COCOMO results, ProjectCodeMeter uses automatic measurements of the source code to configure some of the cost drivers.

Function Points and WMFP are linear, which makes them suitable for measuring version differences, while COCOMO, COSYSMO and REVIC are logarithmic.

At first glance, As COCOMO gives an overall project cost and time, you may subtract the WMFP result value from the equivalent COCOMO result value to get the design stage estimation value:
 
(COCOMO Cost) - (WMFP Cost) =  (Design Stage Cost)
But in effect COCOMO and WMFP produce asymmetric results, as COCOMO estimates may be lower at times than the WMFP estimates, specifically on logically complex projects, as WMFP takes complexity into account.
Note that estimation of design phase time and costs may not be very accurate as many statistical variations exist between projects. COCOMO statistical model was based on data gathered primarily from large industrial and military software projects, and is not very suitable for small to medium commercial projects.


Cost model optimal use case comparison table:

Cost Model Best Fit Environment Formula type
COCOMO Large corporate and government software projects, including embedded firmware Logarithmic
COSYSMO Large corporate and government projects, including embedded firmware and hardware Logarithmic
Function Points Software projects of all sizes, mainly desktop OS based platforms Linear
Weighted Micro Function Points Commercial software projects of all sizes and environments, including embedded firmware Linear
REVIC Large military software projects, including embedded firmware Logarithmic