Sometimes it seems like software systems are like glaciers --
opaque, monolithic, and nigh unto impossible to move forward. But
it needn't be that way.
Using the Function Point Analysis
methodology, any software system can be broken into its functional
pieces -- ice cubes, if you will.
Functional sizing of a system using Function Points - used both
alone and with other metrics - can deliver an astonishing amount of
useful information to all levels of your organization about your
software management and software delivery processes.
StoneHenge Partners practices Function Point Analysis on all of
the projects we perform for our clients, so we have consultants
with advanced training and real-world experience with the
discipline. We can break down your systems by Function Points, or
train your people how to use it.
The way Stonehenge does their costing model using Function
Point Analysis made it possible for us to come up with a workable
budget and stay within that budget and complete the project on time."
Brett Barnes, manager, e-compressedair.com

The facts: The average software project is late and
expensive. Software projects estimated at 1 year and $1
million will be delivered in 2.2 years and cost $1.9 million. After
all of that, it will only have 61% of the originally specified
functionality. (Standish Group 2002 Survey)
Projects sized and tracked by Function Points, by contrast,
nearly always come in on time.
For example, in 2008 StoneHenge Partners executed two projects
for Dollar Thrifty Automotive Group. Both were delivered on
time and on budget with
100% of the functionality originally scoped. For
details, see Case study: Real-time
enrollment, and Case study: Microsites.
Function Points at a glance
So what is Function Point Analysis? FPA is a method to break
down a software system's requirements into smaller logical
components so they can be better understood and analyzed. It is an
accepted (ISO) standard to measure software size. Its primary
objectives:
- Establish a baseline/inventory of all transactions and
files.
- Provide a consistent method to size an application and estimate
effortt and cost, based on user requirements or detail design
specs.
- Provide a management tool to reduce software project
overruns.

Benefits
Here are a few of the ways Function Point Analysis can benefit
your company:
- Monitor the effectiveness of your software delivery
strategies. Analyze the trends in your delivery rates
against your different platforms, methodologies, tools and
techniques.
- Analyze your software development projects
objectively. Negotiate functionality requirements with
your stakeholders, and negotiate delivery schedules with your
vendors, like StoneHenge Partners.
- Uncover 'hidden functionality' in your projects
early. Use the discipline of the sizing process to
establish project scope unambiguously so that estimates can be
based on more precise information.
- Monitor and control 'scope creep.' Assess
function point size often during the project and especially during
feasibility study, after the requirements definition and after
design specification. Use any change in 'project size' to support
how to reallocate resources or change delivery dates.
- Assess the quality of your delivered software.
Record trends in the number of software 'bugs' per function point
delivered to the user to give an overall evaluation of your
software quality.
- Assess relative value of purchased software.
Compare cost per function point of purchased software against
development costs to determine the most cost-effective
strategy.(Information courtesy Charismatek Software Metrics.)
Wayne Wild, our Manager of Metrics, leads a team of specialists
in this practice. He is the only IFPUG-certified
Function Point Analyst in Oklahoma. Contact him.

StoneHenge consultants attending
Function Point Analysis training.