Automated Function Point Estimation

Know the size before coding

Automated Function Point Analysis

We took on the challenge to deliver a tool that automates function points estimation from written requirements.  Using Natural Language Processing (a branch of AI) and numerous other layers of text analysis, ScopeMaster®  determines a valid function point size estimate directly from written requirements.  It performs the heavy-lifting of function point analysis.

Automated function points estimation is now a reality. Whether you are looking to size your software from written requirements or code, tools exist to automate function point analysis (FPA) . FPA is most useful before the code is written, and in some cases before even the requirements are fully known. Function points sizing after the code has been written is useful mainly for benchmarking.

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 with IFPUG and consistent when repeated. This has been available for a while now and has been implemented by Cast Software, it examines source code to generate a functional size measure of the developed software.

What if the code has not yet been written? Can a function point count be estimated? Yes.

Consistent Results

Any automated functional size 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 requirements every time. (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

ScopeMaster performs the text analysis needed to identify the data movements that are used by all functional sizing methods. It can then map these to each method to determine the COSMIC Function Point size estimate and the IFPUG Function Point size. COSMIC is the latest generation of functional sizing methods. It is an ISO standard, designed to suit modern software patterns. The COSMIC function point count generated by ScopeMaster® is an estimate (typically within about 15% of a manual count). whereas the IFPUG estimate is less precise due to characteristics of the methodology itself. ScopeMaster® does the “heavy lifting” of manual function point counting, saving considerable time and effort. In both cases, ScopeMaster® speeds up the counting process dramatically.

Automated Function Points – 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® typically delivers a 400% speed improvement over manual counting.

Language Support

ScopeMaster will analyse and perform automated functional sizing in English, French, Spanish, Italian or Portuguese. Other languages are being investigated.

Accuracy

The accuracy of a functional size count refers to the adherence to the methodology principles and rules, such that we can have confidence in the reliability of the size estimate/count. The accuracy of any FP count (manual or automated) is highly dependent on the wording of the requirements. The consistent functional interpretation by readers of the requirements are key to a reliable functional size.

  • Manual count vs manual count: less than 5% variation (two certified counters comparing their results)
  • ScopeMaster COSMIC count vs manual COSMIC count: less than 20% variation
  • ScopeMaster IFPUG count vs manual IFPUG count: less than 35% variation.

We collaborated on a post doctoral investigation with Erdir Ungan PhD and Professor Alain Abrain to validate our approach to automated functional sizing from requirements using ScopeMaster®. We are delighted that the study endorses the results provided by ScopeMaster®.

Why we Like 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. With COSMIC you can consistently measure a single requirement.
  4. The correlation between COSMIC FP and effort has been proven again and again.

Automated COSMIC, IFPUG and SFP

We have cracked automated functional sizing from requirements text.

Upload your requirements into ScopeMaster and within minutes you’ll have a reasonable size estimate, in both of the leading ISO standards of COSMIC and IFPUG. ScopeMaster also reports of size in Simple Function Points (an approximation of IFPUG). Supported functional sizing methodologies:

  • COSMIC Function Points
  • IFPUG Function Points
  • Simple Function Points

Automated Function point sizing of a set of user stories (COSMIC Function Points)

Improved reporting of Simple Function Points

We have recently improved the reporting of automated simple function point counting.

Simple Function Points - automated

Benefits of Automated FP 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.

Comparing Automated Sizing Before and After Coding

In 2021, we worked with folks from CAST Software on the first ever investigation into examining the functional size of a piece of software using tools for automated sizing from requirements (before) and automated sizing from code (after). The overall results showed a very promising proximity of total sizes, leading to the conclusion that automated sizing is now a viable reality throughout the software development life cycle.

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 project for benchmarking:

Common FP-based metrics are:

  • Functional Size in Function Points or COSMIC Function Points
  • Staff requirements (based on known allocation and productivity by FP)
  • 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 process of functional 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 useful means of stimulating discussion amongst developers for to find ways to achieve some functionality. For everything else we recommend using CFP.

Other forms of Sizing

Story Points

Story points are a variable, subjective, gameable non-standard proxy for effort estimates, they are rather like “ideal days” for a person on a given team, at a particular point in time. They are unsuitable, in fact dangerous to use as an management metric, except as a loose indicator. Whilst the discussion around why one story might be higher than another, is valuable, we discourage the use of story points themselves.

Story Counts

Having analysed hundreds of thousands of stories, we have shown that they tend to vary in size from 0 – 100+ CFP. The size distribution tends to be unpredictable too. It is therefore unwise to use story count as anything but a loose indicator of magnitude.

Gartner Fast Function Points

Gartner FFP was created by Gartner to make functional sizing faster and easier. The methodology is proprietary. Unlike, COSMIC and IFPUG, It is not an ISO standard. Gartner created a version 2 and a version 3 of FFP. The two versions are substantially different from each other and v2 counts are not comparable to v3 counts. We are only aware of its use in Italy.