It continually amazes me that there is such confusion in the marketplace and in industry about function points (FPA) and their role in estimating the cost or effort associated with a software development project. First and foremost, Function Points are NOT an estimation model.
(Note: for a basic primer on IFPUG Function Points, send me an email and I’d be happy to send you a copy of my article “Requirements are the Size of the Problem”.)
Function points (unadjusted and the “functional size”) strictly represent the size of a piece of software based on its functional requirements. The allocation of “points” to the functions performed by the software is based on assigning a standard ordinal number to a “function” that the software must perform (a unit of work). Currently, the most popular methods of function point sizing based on the International Software Benchmarking Standards Group (ISBSG) productivity database are the International Function Point Users Group (IFPUG) method, and the Finnish Software Measurement Association (FiSMA) function point method.
The function point (or functional) size is similar to the square foot size of a building’s floor plan (or square m) – it is one measure of size – and it works well as part of determining many things.
BUT size is not the same thing as estimation OR AN ESTIMATING TECHNIQUE!
Function point size can be used (along with MANY other factors) to determine work effort to develop (build) the software. Productivity factors or delivery rates (FP/hour) are derived by taking the FP size of a piece of software, together with the work effort hours it took for a team to build it (based specifically on the TYPE of software, the requirements for QUALITY (reliability, accuracy, functionality, usability, etc), the skills, and WHAT TASKS WERE INCLUDED!
Here’s the crux: FUNCTION POINTS DO NOT EQUAL WORK EFFORT HOURS OR COST. While size is a major driver (in the same way that a larger house takes more time to build), the relationship between FP and effort or cost is NON-LINEAR! There are many more factors that just raw size involved in determining the cost and effort to build software.
It may be helpful to consider an analogy (again one based on construction – which is not a perfect analogy but one that serves to illustrate). If I need a 1000 square foot building – can you tell me how long it will take to build? And what can I anticipate will be the cost of that building? The answer is that it depends on MANY factors (such as location, pre-existing structures, type of building: anufactured, or custom or prefabricated or whatever), and many other things. Builders might provide me with an average delivery rate based on STANDARD characteristics (like a standard home with 2 bedrooms and a living room, kitchen and bathroom in the US midwest), and an average effort based on what similar buildings have taken to build IN THE PAST HISTORY. However, there is not ONE rate for all structures – it varies based on location, type of construction, building codes, labor costs, etc.)
The same is true when we consider function point size and the effort and cost it will take to build a piece of software. Consider the aforementioned example applied to software development: How much cost and how much effort will it take to build software that is 1000 FP? The appropriate answer is that it depends on the characteristics of the software, labor costs, methods of construction, AND its functional size. The software measurement and development industry has developed rates of FP / hour and cost per FP for projects with “standard” and similar characteristics (recall the “average” price per square foot or average rate to build?) Note that any “average” rate is BASED ON PAST PROJECTS (that took “x” amount of hours to build a particular size, type, and similarly constrained by quality, system – but there is not a one size fits all rate!
New Book available to explain these and other concepts about Function Point sizing: I am proud of the new book I co-authored with Manfred Bundschuh (formerly the measurement coordinator for AXA Insurance in Germany). It was published in Sept 2008: The IT Measurement Compendium – Estimating and Benchmarking Success with Functional Size Measurement (the Amazon link is featured together with reviews by Capers Jones, and also by Peter Hill (Executive Officer for ISBSG at http://www.qualityplustech.com/books.html).
The book outlines and explains in clear English these concepts and presents all five of the ISO/IEC conformant Functional Size Measurement Methods including the aforementioned two: IFPUG and FiSMA, as well as NESMA from the Netherlands, Mark II from Britain, and COSMIC by the COSMIC consortium.
Have a great week, and please let me know what you think of this and other postings here.
Contact Carol for your keynote and speaking needs – she translates technical subjects into easily digestible soundbites – in a humorous and forthright manner. See http://www.caroldekkers.com/ for details of topics and opportunities.
View also Carol Dekkers’ general blog at http://caroldekkers.wordpress.com/
============Copyright 2008, Carol Dekkers ALL RIGHTS RESERVED =============