Automated function points counting 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) . Most of what has been attempted to date is based on the premise that the code has already been written; the automation inspects the code to derive the functional size. This is useful after the event, for benchmarking working that has been done. Yet, 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 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 FPA be automated? YES!
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.)
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 Pointes – 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.
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:
- Like it’s predecessors it is a valid, consistent, proven, stable and reliable ISO standard measure of software size.
- It is principle-based, which means it can be used for virtually all types of software without adjustment.
- It is suited to Agile development where the requirements are not usually fully known – up front. With COSMIC you can measure a single requirement.
- 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 size in Simple Function Points (an approximation of IFPUG).
Improved reporting of Simple Function Points
We have recently improved the reporting of automated simple function point counting.
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.