Does this sound familiar? Your project completed under the “radar” (no major mishaps) and management wants more, more, more! As part of the quest for faster, better, cheaper, someone in management decides that you ought to be reporting metrics and suggests that everything be built around “Function Points.” A sponsor (the VP) appoints you the project manager for the Metrics Implementation (aka Function Points) and everything you thought you knew simply vanishes as soon as he walks out the door.
The Internet is Schizophrenic…
If you are like most people, your first step is to ask your network (social media, peers, friends, etc.) what these “function points” are all about. I have written about the simplicity and straight forward nature of Function Points for over 15 years (see downloadable articles below) and yet confusion still abounds in the IT industry!
As you begin to research the topic, thousands of internet links come up offering “Function” or “Points” or variations thereof. Once you find “Function+Points”, the filtered results create confusion as some sources elevate function points to a scientific treatise with the complexity to match. This is simply not the case – Function Points are a unit of measure used to size the “functionality” of a piece of software that can be used to normalize measurement. While certain consultants want to elevate Function Points to a mystical religion where only a handful of elders can do a count – this is not the case at all. (These consultants seek to create an exclusive club where you have to hire them to count – this is utter hogwash!)
This is the point of this post:
Part 1: FUNCTION POINTS ARE not Rocket Science
As I mentioned, I and others publish (and continue to publish) articles and books about function points, yet software metrics is not yet a mainstream practice. Confusion, disdain, and even downright misinformation abounds about this simple concept – creating a size of software that can be used as a basis (like square feet in a building) for estimating. This is not Rocket Science!
In Project Management terminology, Function Points are the size of the overall work product for a project whose product is Software. The WBS (work breakdown structure) for a software project includes all of the software deliverables, and function points is one way of sizing the functionality of the delivered software. While there are additional things to be considered when doing a project estimate (such as quality, how the software will be built, critical path, resource constraints, risks, etc.) but a fundamental item is the scope.
Function points provides us with a measure of the scope of the software project. Furthermore, the fundamentals of function points or FP (like the fundamentals of measuring square feet) have not changed in 15 years and counting methods are stable! Certainly how we implement software has changed, but the functionality and scope have not – so why have FP not become maintream?
Modern society has become increasingly reliant on software–and thankfully so. Computer programs routinely execute operations that would be extraordinarily laborious for an unaided person– handling payrolls, recording bank transactions, shuffling airline reservations. They can also complete tasks that are beyond human abilities–for example, searching through massive amounts of information on the Internet.
Yet for all its importance, software is an intangible quantity that has been devilishly tricky to measure. Exactly how should people determine the size of software?
Want more basic information? Here are four downloadable articles (PDF format) to further introduce you to function points: (The content is still timely!)
- Requirements are the (FP) size of the problem
- FP Basics – Clear up common misconceptions
- Measuring software process part 1
- What is a Function Point?
Long and short oN function points?
They are NOT rocket science and can be fundamental building blocks to a successful software estimating and metrics program.
Was this post useful? Let me know!
Stay tuned for Part 2: Getting started with Function Point basics.
Have a productive week!