COSMIC: A Small Improvement on the Symons Method


The COSMIC FP (function point) software quality metric, is no longer 'proposed' but an actual system in use and internationally recognised, whereas MarkII, like other older systems, is not recognised anywhere, and, even in the UK is in decline if not actually dormant, so this debate is already over.

Historically, from my limited understanding of the situation, it seems that originally there were upwards of 35 variants of function point style metrics until the ISO developed criteria for a acceptable solution, ISO 14143: Parts 1 to 5 (1995-2002):

The COSMIC group reviewed existing functional size measurement methods, namely the work done in the late 80's by Charles Symons in the UK. The aim was to improve on Albrecht's size index (IFPUG FPA)

As stated in many sources, the most important feature of the COSMIC method is that, unlike Mark II, it was developed alongside the emergence of the newer software applications that did not exist when Mark II was devised, thus being compatible with modern software engineering concepts and unlike the previous metrics, this method was designed to be compatible with the ideas from structured analysis and design.

Because of these two features, COSMIC has Full ISO recognition and is has inherent flexibility for a wider range of software, this flexibility also makes the metric less sensitive to mistakes during analysis than is typically the case with the Mark II metric which does not have the same ability to capture size from multiple viewpoints

Function point style metrics estimation algorithms involve applying a set of rules and procedures to a given piece of software as it is perceived from the perspective of its Functional User Requirements. As size measures are not very precise, this gives a veneer of science to what is in effect a guessing game.

The result being that while Mark II can be used for sizing of the GUI and real-time systems which did not exist when it was created only after extensive adaptation, but which itself creates difficulties of interpretation due to conflicting procedures and rules.

An important issue with the Mark II method is that the "functional components of the method are difficult or subjective to interpret" 6, different measurers will get different results.

The COSMIC method of sizing the functional requirements of software has been approved as an International Standard (ISO/IEC 19761:2003). and unlike the previous variations, COSMIC is the first method to be designed by an international team, as opposed to being the product of one academic or entity. This is a positive because it will help standardisation which will in turn improve repeatability of the measurement.

The most important disadvantage to Function point methodology is that "it takes several days to learn function point counting and more time to become proficient. This hurdle has limited the pool of trained counters." 3 Many of the sources I looked at included warnings such the following "Function Point Analysis should be performed by trained and experienced personnel. If Function Point Analysis is conducted by untrained personnel, it is reasonable to assume the analysis will done incorrectly." 4

Function point methodologies are designed around the application of complex rules and procedures that result in a numerical "value of a quantity"2 representing the functional size of the software.

Unlike the Mark II method, COSMIC requires an extra step to identify layers' before indentifying the system boundary, however this process enables the analysis to better account for the inner workings of a complex system and reduces the probability of missing functions.

The general consensus from the materials that I have read is that fundamentally the measurement effort for COSMIC is similar to that needed for established sizing methods. However unlike the other methods, COSMIC functional size method is 'easy' or 'reasonably easy' to apply.

This is in part due to the removal of the technical adjustment factors from the specifications and simplification of the transactional functions rules and terminology. Fore example, using Mark II "a function is not a point unless specific rules are satisfied"3. Where as COSMIC counting rules consist of "three core rules that establish which observations constitute a point"3.

An important factor in general ease of use is the underlying mathematical framework for quantifying and summarizing function points but which involves a loss in information when summarized into unadjusted function points.

Using COSMIC there is no separate counting of files (ILF and EIF) and is Ratio/Absolute. We would identify for each functional process, the subprocesses (entry, exit, read, write); The measurement Viewpoint allows "all functions to be included in the size measure" unlike in Mark II method, then apply measurement function as follows; FP Size = Sum(number of Entries ) + Sum(number of Exits) + Sum(number of Reads) + Sum(number of Writes)

"The size of a functional process is the sum of its data movements (entry, exit, read, write) and the size of a piece of software is the sum of the sizes of all of its functional processes." 6.

Due to the concept of data movements as opposed to Logical Files once per system used in the Mark II, COSMIC results in amore accurate size measure for the complexity of processing stored data.

For example, in the given case above it is not unreasonable to expect the update inventory transaction input to the Inventory item entity to be output during the transaction and become part of the input the inventory_item entity this is information is lost.

Under Mark II rules, it is counted as an input once when the data crossed the application boundary, but not as an input in the Invontary_item entity because the data does not leave the application boundary again at that point.

For the update inventory transaction under Mark II we can a UFPI count of (0.58*9) + (1.66 * 4) (0.26*1) = 12.12, under CosMIC we would arrive at an equivalent count of 3+5+4 =12

In conclusion, the fact that function points are not (yet) a perfect measure of an application, COSMIC does represents an advance over the IFPUG and other '1st Generation' FSM Methods. Measurement of functional sizes can be more plausible, easier to make and repeatable.

However functional size measurement technology must keep evolving to meet market needs. indeed I would think that this is too subjective to be counted as a "measure". For instance, I personally know over 120 software developers at 20 different companies, and nobody had ever heard of Function Points before I did.

The addition in COSMIC of the concept of internal layers, for better identification of component to component interaction allows for more complete analysis, and is missing from MarkII. What is still needed is a defined standard for adequate precision and an effective way to describe the accuracy of the function points which could be achieved in fact through better guidelines. Due to the fact that COSMIC is free and accessible anywhere in the world it is more likely to survive and evolve, unlike MarkII which is UK only, and proprietary.

Bibliography
[1] Abran, Alain, Robillard, Pierre N., "Function Points : A Study of their Measurement Processes and Scale Transformations", Journal of Systems and Software, May 1994, pp.171-184.

[2] Steve Neuendorf. (2001) Let Size A = X Function Points, Online, http://www.serv.net/~steve/Let%20Size%20equal%20FP.htm, October 22 2004.

[3] Steve Neuendorf. (2001) Evolving Function Points, Online, http://www.stsc.hill.af.mil/crosstalk/2001/02/fischman.html, October 25 2004.

[4] Symons, C.R., 'Function Point Analysis: Difficulties and Improvements', IEEE Trans Software Eng., vol 14, no. 1, Jan 1988

[5] Total Metrics. (2001) Function Points FAQs, Online, http://www.totalmetrics.com/cms/servlet/main?Subject=Content&ID=165, October 22 2004.

[6] Unkown. (2002) Advantages of the COSMIC-FFP method, Online, http://www.cosmicon.com/advantagecs.asp, October 25 2004.

I am the website administrator of the Wandle industrial museum (http://www.wandle.org). Established in 1983 by local people determined to ensure that the history of the valley was no longer neglected but enhanced awareness its heritage for the use and benefits of the community.

home | site map
© 2005