Cosmic-FFP offers an alternative to function point analysis method

A standard method for measuring software size to estimate project resources and schedules has progressed from an idea to an...

A standard method for measuring software size to estimate project resources and schedules has progressed from an idea to an international standard in a record four years.

Users of methods dating back to the 1970s now have an alternative that reflects modern developments, according to senior BCS member Charles Symons, who jointly managed the work.

"More than 20 years ago Allan Albrecht of IBM proposed function point analysis, but as time has passed it becomes harder to use," Symons said.

"It was designed for business application software and has been largely rejected for real-time software. Business systems increasingly deal with multi-layered infrastructure software, such as e-commerce, where function point analysis is difficult to apply.

"The requirements that have to be identified to be given function points were current at the time, but identifying these in modern specifications, such as those in UML, is not straightforward and classifying transactions as inputs or outputs in real-time software is usually meaningless.

"Albrecht proposed a 'value adjustment factor', which took into account 14 types of non-functional requirements. This list is now out of date and modern thinking is that non-functional requirements should not be accounted for by a multiplier of functional size," said Symons.

The Common Software Measurement International Consortium (Cosmic), jointly led by Symons, has now produced the Cosmic-FFP method.

"Cosmic-FFP is designed to measure the functional size of any component of multi-layered software, whether business or real-time, including infrastructure software," Symons said.

"It is based on analysing requirements into event-triggered functional processes, decomposed into data movement sub-processes.

"Users include anything with which the software exchanges data, including hardware and other pieces of software as well as end-users; first-generation methods only recognise human users.

"The method has no need for Albrecht's value adjustment factor. For example, if a non-functional requirement such as a response time constraint is met by developing specific functionality, this functionality should simply be added into the functional size.

"If the requirement is to be met by fast hardware or a low-level programming language, it should be taken into account in the estimating process, not in the functional size.

"As the basic concepts are compatible with modern requirements in engineering methods, it has been possible to develop rules for automating the sizing of specifications written in UML.

"The recognition that applying the sizing method helps in producing requirements is an exciting finding. Producing require-ments that are measurable means they are more likely to be correct and unambiguous, testable and traceable."

For full details on Cosmic-FFP

Information on function point analysis

Read more on IT jobs and recruitment