Automated Function Point Estimation

Most of what has been written about automated function point analysis and automated function point estimation is based on the premise that the code has already been written; the automation examines the code to derive the size.   This is useful after event, for benchmarking working that has been done.   Yet, function point analysis (FPA) is most useful before the code is written, and in some cases before even the requirements are fully known.

The Object Management Group established a method for automated function point analysis from code (details here).  This was subsequently endorsed as an ISO standard.  It has the merit of being both consistent and accurate when fully implemented.  This has been available for a while now and has been implemented by Cast Software.  It examines source code to generate a Function Point size of the developed software.

What if the code has not yet been written? Can FPA be automated? YES!

Agile User Stories Sized Automatically

At ScopeMaster we took on the challenge of automating function point estimation from written requirements.   By employing  multiple language analysis techniques, including Natural Language Processing (a branch of artificial intelligence) ScopeMaster is successfully determining a function point size estimate directly from written requirements.  ScopeMaster is the world’s first tool to do this.

Consistency

Any automated function point estimation process (whether from code or from requirements) must be consistent in order give otherwise decisions cannot reliably be made on them.  We have ensured that ScopeMaster will always give the same result for a given set of written requirements. ScopeMaster is 100% consistent, in other words it will always give you the same result for the same set of user stories. (N.b. From time to time we improve our algorithms, when we do so a slight change may be noticed.  The ScopeMaster version number accompanies every analysis report.

Standards Based

Cosmic and ifpug software measurement standards

At its core, ScopeMaster performs the analysis needed to determine COSMIC Function Point size estimate.  COSMIC is the latest generation of functional sizing methods.  It’s an ISO standard, designed to suit modern software patterns.  The COSMICs function point count generated by ScopeMaster is an estimate (typically within about 15% of a manual count).  ScopeMaster does the “heavy lifting” of a manual count, saving considerable time and effort.  ScopeMaster is also able to automate the IFPUG functional size, although this is less accurate due to characteristics of the methodology itself.  In both cases, ScopeMaster speeds up the counting process dramatically.

Performance

At about 100 function points per minute, the raw performance of ScopeMaster in sizing speed outperforms manual counting by a factor of about 100.  In practical terms, however a professional FP specialist would typically review automated counts for potential misinterpretations.   Based on early feedback from an independent FP professional ScopeMaster delivers at least a 400% speed improvement over manual counting.

Accuracy

The accuracy of a functional size count mean the adherence to the methodology principles and rules, such that we can have confidence in the reliability of the size count.

Manual count:manual count:  less than 5% variation  (two certified counters comparing their results)

ScopeMaster COSMIC count:manual COSMIC count: less than 20% variation

ScopeMaster IFPUG count : manual IFPUG count: less than 35% variation.

We collaborated on a post doctoral investigation into automated functional sizing from requirements using  ScopeMaster, that endorses the results provided by ScopeMaster.

Why COSMIC FP

We chose COSMIC Functional sizing as our main sizing methodology for four reasons:

1. Like it’s predecessors it is a valid, consistent, proven, stable and reliable ISO standard measure of software size.

2. It is principle-based, which means it can be used for virtually all types of software without adjustment.

3. It is suited to Agile development where the requirements are not usually fully known – up front.

4. The correlation between COSMIC FP and effort has been proven again and again.

Benefits of Automated Function Point Estimation

More reliable than Story Points.  Experienced software professionals fully understand the merits of Function Points over agile story points as the primary size metric for a software project.  In short,  agile story points tend to vary in size up to 400% from team to team and are principally an indication of effort rather than functional size based on user requirements.  Function Point counts rarely vary more than 5% from one professional’s count to another.   Function Points are viable for contractual, benchmarking, or reliable pre-project sizing purposes; whereas  story points are not.

No need to learn the Functional Sizing Methodologies.  The IFPUG sizing methodology is tough to learn and apply accurately.     In practice it takes at least six months of learning and experience to become fully skilled at either methodology. COSMIC is considerably easier.  With ScopeMaster, there is no need to learn the methodology in order to get started.

Common Uses of Function Points as the Core Metric in Software Projects:

Function point metrics can be used before development, for estimation, during development for control , and after a software project for benchmarking:

Common FP based metrics are:

  • Functional Size in Function Points
  • Resources Team size (based on known productivity FP-based rates)
  • Cost Development cost (based on benchmarks for similar industries/projects)
  • Productivity FP/Dev/mo. (for Developers, testers and others)
  • Quality Exposure  -Defect Potential in Defects per FP
  • Quality Achievement – Defects per FP (resolved)
  • Schedule estimations – project schedules based on FP size

The single most important measure to take on any software project is a function point size, don’t take my word for it, the only ISO standards for measuring software size are Function Points!   And now that ScopeMaster has automated the FP sizing from requirements text, there is little excuse to use anything else!

Our advice: Don’t throw away story points just yet,  they are a very useful means of stimulating discussion amongst developers for the best way to achieve some functionality. (as too would be hours of effort).  For everything else, use CFP.