Contenu connexe Similaire à Are Function Points Still Relevant? (20) Are Function Points Still Relevant?1. “With all the innovative changes in technology and processes that are
happening in the IT world, are function points still relevant?”
March 2016
Let’s start with a quick overview of Function Point Analysis
Function Point Analysis is a technique for measuring the functionality that is meaningful to a user, independent of
technology. It was invented by Allan Albrecht of IBM in 1979. Several standards exist in the industry, but the
International Function Point Users Group (IFPUG) is the most widely used. IFPUG produces the Function Point
Counting Practices Manual, used by Certified Function Point Specialists (CFPS) to conduct function point counts.
IFPUG is one of the ISO standards for software sizing (ISO/IEC 28926:2009).
Function Point Analysis considers five major components of an application or project: External Inputs, External
Outputs, External Inquiries, Internal Logical Files and External Interface Files. The analyst evaluates the functional
complexity of each component and assigns an unadjusted function point value. The analyst can also analyze the
application against 14 general system characteristics to further refine the sizing and determine a final adjusted
function point count.
“The effective use of function points centers around three primary functions: estimation, benchmarking and
identifying service-level measures.” i
More and more organizations are adopting some form of Agile framework for application development and
enhancement. The most recent VersionOne State of Agile Survey reveals that 94% of organizations practice
Agile.ii Hot technologies such as big data, analytics, cloud computing, portlets and APIs are becoming ever more
popular in the industry.
Let’s explore each of the three primary functions of function points and their relevance in today’s Agile dominated IT
world and with new technologies.
2. ©2016 DCG Software Value Page 2 of 4 v1
Estimation:
Whether it is a move from traditional waterfall to Agile or from mainstream technologies to new innovations, project
teams still have a responsibility to the business to deliver on time and within budget. Estimates of the overall project
spend and duration are critical for financial and business planning.
Parametric estimation is the use of statistical models, along with parameters that describe a project to derive cost
and duration estimates. These models use historical data to make predictions. The key parameters necessary to
describe a project are size, complexity and team experience. Many other parameters can be used to further
calibrate the estimate and increase its accuracy, including whether the project is using an Agile framework. Several
tools can be used to perform parametric estimation, including SEER, SLIM and COCOMO.
Project size can be described in several ways, with software lines of code (SLOC) and function points being the
most common. SLOC has some inherent problems, one being that inefficient coding produces more lines of code,
another being the fact that determining the SLOC size of a project before it is coded is itself an estimate. That’s
where function point analysis provides real value as a sizing tool. Even in software developed using the latest
innovations in technology, the five components of function point analysis still exist so function point counting
remains a valuable tool for measuring software size. Because a function point count can be done based on a
requirements document or user stories, and the expected variance in function point counts between two certified
function point analysts is between 5% and 10%, an accurate and consistent measure of the project size can be
derived. And because function point analysis is based on the users view and independent of technology it works
just as well as technology evolves.
The function point size, along with the other parameters described above are then used by the parametric
estimation tool to provide a range of cost and duration estimates for the entire project within a cone of uncertainty.
This information can be used for financial budgeting and business planning.
Projects in an Agile framework can create estimates for the individual user stories with techniques like planning
poker, t-shirt size or relative mass valuation. These estimates are used for sprint planning and are refined through
the backlog grooming process. As the team measures and refines its velocity the estimates are further updated.
Ultimately all of these estimates should converge on the overall projected estimate created using parametric
estimation.
Regardless of the technologies used for development, in this way estimates of the overall project through parametric
estimation and Agile estimation techniques can coexist and complement each other in support of the business’s
need for financial and business planning.
Benchmarking
Whatever technology or development framework is being used, constant improvement is essential to an
organizations ability to survive and thrive in a competitive environment. Baselining an organization’s performance
relative to productivity, quality and timeliness is the starting point for benchmarking and the first step toward an IT
organization’s delivery improvement.
Function points are a common currency for metrics equations. They provide a consistent measure of the
functionality delivered, allowing benchmark comparison of performance over time, of one technology against
another, internally across various departments or vendors, and externally against the industry in which a company
competes. Benchmarking is also used in outsourcing governance models as a way to ensure a vendor is providing
value with respect to contractual commitments and competitors in the marketplace.
A large amount of function point based industry benchmark data is available from many suppliers. Some of the
suppliers include: The Gartner Group, Rubin Systems Inc. META Group, Software Productivity Research,
International Software Benchmarking Standards Group (ISBSG) and DCG Software Value.
To execute a benchmark, data is collected for the target projects, including function point size, effort and duration.
The data is analyzed and functional metrics are created and baselined for the target projects. Quantitative
comparison of these baselines is done against suitable industry benchmarks. Qualitative assessment is done to
further analyze the target projects and determine contributing factors to performance differences with the
benchmark.
3. ©2016 DCG Software Value Page 3 of 4 v1
Regardless of the development framework or technology used, function points is the basis for baselining and
benchmarking an organization to determine their performance relative to the industry and allowing for improvements
to move toward best-in-class performance.
Service-level measures
Service-level metrics are most commonly used in outsourcing governance to measure the performance of the
outsourcer to ensure contract compliance. With IT’s increased alignment with the business, service-level metrics
are increasingly used internally as well. Delivery framework and technology don’t change the need for this kind of
oversight.
Outsourcing is typically done at the individual project or application level, for application maintenance, or the entire
ADM environment. Let’s examine each of these outsourcing models and how function point based service-level
metrics can be used to monitor them.
Individual project or application
In the case of individual project or application outsourcing service-level definition is based on the provider’s
responsibility, the standards required by the customer and how success is defined. Function point analysis has a
role in all three of these areas.
Definition of the outsourcer’s responsibilities helps identify the hand-off points. Function point sizing at requirements
hand-off provides an initial baseline of the project size for all metrics to be built upon. As requirements change
throughout the project the baseline can be updated through change control.
The standards and development practices lead to establishment of compliance measures and targets for the
outsourcer to meet. Function point sizing can be used here as the basis of measures like productivity.
Success can be measured with function point based measures of delivery rate, duration and quality against
contractual requirements or internal standards.
Application maintenance:
Measurement of maintenance in an outsourcing includes customer expectations, response time, defect repair,
portfolio size, application expertise and others. Let’s explore those that involve function point analysis.
Customer expectations can be thought of as the size of the portfolio being maintained, as well as the cost of
maintaining it. The portfolio size can be measured with function points to establish the maintenance baseline and its
growth over time can be monitored.
Support efficiency can be measured as the size of the support staff needed to maintain the maintenance baseline.
This can also be measured over time to show trends.
Entire ADM environment
The measurement needs for ADM outsourcing are different from those of the previous two scenarios. A multi-year
outsourcing requires more complex measures to ensure the services provided by the outsourcer meet contractual
commitments. To do this more complex metrics dashboards are often built to allow a wide range of measurements
to be analyzed.
To build a metrics dashboard that provides the level of monitoring required, many factors must be considered
including contractual requirements, end customer expectations and organizational standards and goals.
The table below describes metrics derived from performance considerations and business drivers. iii
4. ©2016 DCG Software Value Page 4 of 4 v1
Many of these metrics are based on functional size so function point analysis can be used to build the
measurements.
For outsourcing and internal IT, effective measurement is critical to monitor performance and improvements and
should be linked to the organizations goals and objectives. Metrics based on functional size are key to a service-
level measurement program without regard to the delivery framework or technology used.
Conclusion
We have seen above that function point analysis is versatile and adaptable with changing technology and
processes. All technologies still have the five basis components of function point analysis and organizations are still
asking “when it will be done?”, “how much will it cost?” and “what will I get?”. It is for these reasons that function
point analysis remains relevant in today’s IT world.
Sources
1. Garmus, D. Herron, D., Function Point Analysis, Measurement Practices for Successful Projects, Addison-
Wesley, 2001
2. IFPUG Metrics View, February 2016, International Function Point Users Group
3. 9th
Annual State of Agile Survey, VersionOne Inc., 2015
i Garmus, D., Herron, D., Function Point Analysis, Measurement Practices for Successful Software Projects, Addison-Wesley, 2001. p. 68
ii 9th Annual State of Agile Survey, VersionOne Inc., 2015
iii Garmus, D., Herron, D., Function Point Analysis, Measurement Practices for Successful Software Projects, Addison-Wesley, 2001. p. 67