STSC Logo About Us Consulting Services CrossTalk STC Conference Resources


Software Technology Support Center


About CrossTalk

  - Mission
  - Staff
  - Contact Us


About Us

Subscription

  - Subscribe Now
  - Update
  - Cancel
  - 


Themes Calendar

Author Guidelines

Back Issues

Article Index

Your Comments
Home > CrossTalk Feb 2002 > Article

CrossTalk - The Journal of Defense Software Engineering
Feb 2002 Issue

How Function Points Support the Capability Maturity Model Integration©
Carol Dekkers, Quality Plus Technologies, Inc.
Barbara Emmons, Quality Plus Technologies, Inc.

This article demonstrates the mutual effect of increased process maturity and an organization's maturity in their use of Function Point Analysis (FPA). As a company moves to a higher maturity level according to the Capability Maturity Model® IntegrationSM (CMMISM), its measurement maturity should also increase. The tie between the CMMI's process areas and FPA is not well understood, yet there is a direct connection that can be made between the model and FPA. The purpose of this article is to illustrate what those links are in terms understandable to non-experts in software measurement.

To better understand the relationship between the Capability Maturity Model® IntegrationSM (CMMISM) and Function Point Analysis (FPA), it is necessary to review the CMMI project. Readers already familiar with the CMMI can skip forward to the next section, "What are Function Points?"

The CMMI project began in 1998 as a collaborative effort of industry, government, and the Software Engineering Institute (SEI) to merge various SEI models [1]:

  • Software Capability Maturity Model® (SW-CMM).
  • Systems Engineering Capability Maturity Model (SE-CMM) (Systems Engineering published by Enterprise Process Improvement Collaboration: EPIC).
  • The Systems Engineering Capability Appraisal Model (SECAM) (Published by International Council on Systems Engineering: INCOSE).
  • Systems Engineering Capability Model (SECM) is the collaborative model of the SE-CMM and SECAM (EIA/IS-731).
In December 2000, a public review of CMMI V1.02 Models (consisting of CMMI-SE/SW/Integrated Product and Process Development [IPPD] V1.02 and CMMI-SE/SW V1.02) was announced and is currently under review. For more information on the SEI's CMMI model and the previous models, refer to www.sei.cmu.edu/cmmi.

Today's CMMI Model

The current CMMI is similar to its predecessor models in a number of ways. For example, the CMMI V1.02 Integration Systems/Software Engineering model has retained the five maturity levels of the SW-CMM and a set of corresponding process areas (formerly known as key process areas or KPAs) in the SW-CMM.

Level 1: Initial/Performed

Organizations appraised at Level 1 are characterized as simply "performing" software processes and do so in a manner that is often ad hoc or chaotic. The competence and heroics of the individuals doing the work drive how the activities are performed at this level. This first level in the CMMI model is the most common for development organizations embarking on process improvement initiatives. Processes defined at Level 1 are fundamental to software development.

Level 2: Managed

(Formerly called Repeatable in the SW-CMM) A Level 2 organization is more rigorous in both how it performs software processes and in the processes it performs.

At level 2, processes are managed: That is, they are planned, performed, monitored, and controlled for individual projects and groups, or they are standalone processes to achieve a given purpose. At level 2, managing the process achieves both the specific goals for the process area, as well as meets other goals such as cost, schedule, and quality.

Level 3: Defined

A Level 3 organization actually defines its processes and tailors them based on the organization's set of standard processes. Deviations beyond those allowed by the tailoring guidelines are documented, justified, reviewed, and approved.

Level 4: Quantitatively Managed

(Formerly called Managed in the SW-CMM) At Level 4, processes are controlled using statistical and other quantitative techniques. Quantitative objectives for product quality, service quality, and process performance are established and used as criteria in managing processes. Product quality, service quality, and process performance are understood in statistical terms and are managed throughout the life of processes.

Level 5: Optimizing

At Level 5, processes are continually improved based on an understanding of the common causes of variation inherent in processes. The CMMI SE/SW model identifies a consolidated set of process areas across the five levels. These will be discussed in further detail in the sections that follow.

What are Function Points?

Function points (FP) are a technically independent measure that quantifies the size of functional user requirements of software. The function point counting method used to calculate the number of function points is known as the International Function Point Users Group (IFPUG) function point method [2]. In its Counting Practices Manual release 4.1, IFPUG identifies the following objectives for function point counting:

  • To measure the functionality the user requests and receives.
  • To measure independently of implementation technology.
  • To provide a normalization factor for software measurement.
Companies adopt function point size measurement in place of the traditional physical source lines of code because FP are independent of technology and implementation. For readers unfamiliar with FP, we commonly refer to them as the square feet of software because FP quantify the size of the logical user1 requirements. This is similar to quantifying a building's size by adding up the square feet from its floor plan.

IFPUG provides the following standard definitions in their FP Counting Practices Manual release 4.1 (1999):

"Function point (FP). A measure, which represents the functional size of application software."

"Function point analysis. A standard method for measuring software development and maintenance from the customer's point of view."
For further information about function points, refer to the IFPUG Web site www.ifpug.org, or see "Managing (the Size of) Your Projects" by Carol Dekkers in Feb. 1999 CrossTalk.

What Is the Link?

The question remains "Where is the link between measurements, the CMMI's process maturity, and FP?" The SEI's CMMI SE/SW Model 1.02 presents a standard set of software processes to be satisfied before an organization can be appraised at a particular capability maturity level. Measurement, if used appropriately, can be a facilitator that can enable companies to move ahead and complete many of these process areas.

Measurement should encourage process repeatability: It is exactly the place where process maturity and FP coalesce to bring productive and positive bottom line results. The FPA counting process mirrors structured peer review to solidify "and" quantify the functional user requirements. As such, there are processes in the CMMI that could be supported by the process of documenting the logical functions counted with FPs, while other areas can be supported by the FP measure itself. In the latter case, the numbers and ratios based on the FP measure can be the most significant factor in achieving the process area. (See "Applying Function Point Analysis to Requirements Completeness" by Carol Dekkers and Mauricio Aguiar in Feb. 2001 CrossTalk.)

While a picture can paint a thousand words, examples also provide illumination better than words. For example, in CMMI Level 2: Managed, the following Level 2 process areas (PAs) could be supported through FP based measurement:
1. Requirements Management PA:

  • Measurements can be made to assess the status of requirements -- are they reviewed or accepted or rejected?
  • The amount of change activity can be captured -- compare and quantify the FP size of change requests.
2. Project Planning PA:
  • Estimates for size of software work products (using FP) or changes must be derived according to documented procedure.
In another example, the CMMI Level 3 PAs include a formal software measurement program. In addition, repeatable processes can be supported with FP-based measurement. Traditionally, the capability maturity models did not explicitly mention measurement until Level 3: It was assumed to be a common theme underlying the process areas of every level. In March 2001, Dr. David Zubrow of the SEI revealed that the latest CMMI model now includes an explicit process area at Level 2 for measurement and analysis.

In 1998, Ken Dymond stated in his article Using and Implementing the CMM, "Many Level 1 companies fail to reach Level 2 ... Lack of measurement to aid project planning, tracking and oversight, and requirements management. One of the most often missed measures is that of the size of various tasks/products to be performed/produced."

For the past three years, authors and leading experts have recognized the importance of software sizing in the CMM models. FP "size" addresses and quantifies software size objectively from a logical (user) point of view, independent of implementation, and is a valid sizing measure to use in conjunction with the CMMI.

FP Maturity Model

As an organization evolves to higher CMMI levels, its usage of FP-based measurements generally also evolves. This does not refer to the evolution of the function point methodology per se, but rather to how the organization leverages their FP counting process and makes use of their FP data and resultant measurements.

As briefly described in the previous section, FP can be used in almost all process areas of the CMMI, either as a part of a FP-based measurement, or the FPA process itself can be used to enhance the process area.

Goal-Question-Metric Measurement Approach

It is important to determine what FPbased measurements are appropriate for the current level (and capability) of your organization, as well as goals. As a case in point, trying to implement Level 4 types of software measurement based on FP may be impossible, or at least frustrating, to do in an organization appraised as Level 1.

A good method for determining what measurements make sense for your organization at its current maturity is the Goal-Question-Metric (GQM)-approach. GQM provides that the goals of your organization and your measurement program be outlined first, before determining which questions need to be answered (to meet the goals), and which measures will answer the questions.

This is similar to determining requirements before building software -- GQM sets up the requirements (goals) first, before setting the measurement details (the questions and metrics). Briefly, without getting into the depths of GQM, it is sufficient to say that goals must be
SMART:

S - Strategic

M - Measurable

A - Achievable

R - Realistic

T - Targeted
(Note-These may be different than other uses of the SMART acronym.)

Ensuring that you have SMART goals before you decide on the questions and metrics to reach those goals will assist you to align your measurements with your own organizational capability (realistic, achievable).

FP-Based Measures for CMMI

This section illustrates what measurements and measurement processes can be used effectively at each level of the CMMI. If the FP process supports the process area, a "+" is indicated. Otherwise, it is the FP measure that supports the process area.

CMMI Level 1 -- Initial/Performed

A maturity Level 1 is typically ad hoc and chaotic. For example, sample system measurements for Level 1 are "size of applications in FP." Sample software project measurements for Level 1 are "size of projects in FP."

CMMI Level 2 -- Managed

These Level 2 PA support the inclusion of FP-based measurement:

  • Requirements Management -- Use FP to quantify the size of the functional requirements.
  • Project Planning -- Use FP to estimate effort and cost.
  • Project Monitoring and Control -- Use FP to keep track of scope changes, percent complete, etc.
  • Supplier Agreement Management -- Use FP to define size of requirements (application/project being outsourced) and for monitoring supplier's progress, evaluating alternatives for outsourcing, and writing service level agreements.
  • Measurement and Analysis -- Collecting FP data, reporting data to managers/project managers, and understanding how FP can/cannot be used.
  • Process and Product Quality Assurance -- Use FP to track defects.
  • Configuration Management -- Use FP to track changes to requirements and to measure impact to project size.
These are sample system measurements for Level 2:
  • Portfolio Size and Growth Trends -- Percent increase/change of FPs from one date to another.
  • Age of Applications -- Percent of applications or percent of FPs older than five years, etc.
  • Application Support Rates for Individual Applications -- Number of FP per resource.
  • FP by Language, Platform -- Percent of FP Mainframe Cobol, etc.
  • Application Churning -- Number of change requests and FP size.
These are sample software project measurements for Level 2:
  • Delivery Rates/Duration Delivery Rates -- FP/hour or FP/month.
  • Productivity -- Hours per FP.
  • Stability Ratio, Scope Creep/Requirements Volatility -- Percent FP added, changed, deleted.
  • Project Cost per FP -- Dollars per FP.
  • Defect Ratio -- Defects per FP.
  • Testing Proficiency Ratios -- Percent defects found pre-delivery/total defects (up to one month post-delivery) per FP.

CMMI Level 3 -- Defined

These Level 3 PAs support the inclusion of FP-based measurement:

  • Requirements Development -- FP analysis process serves as a design walk-through of requirements.
  • Technical Solution -- Review FPA for design issues and for documenting interfaces and project documentation.
  • Product Integration -- Use FP to measure interface with other applications.
  • Verification -- Update FPs based on verification process.
  • Validation -- Track defect data and use FP as denominator.
  • Organizational Process Focus+ -- Include FPA as a standard organizational process.
  • Organizational Process Definition+ -- Include FP as part of the organizational measurement repository.
  • Organizational Training -- n/a.
  • Integrated Project Management -- n/a.
  • Risk Management+ -- Using FP to measure the size of the application will enable assessing risk changes when the size changes.
  • Decision Analysis and Resolution+ -- Using FP to assist in decision-making, i.e., impact of scope changes on schedule, extend schedule, increase resources, renegotiate scope, etc.
These are sample system measurements for Level 3:
  • Application Support Rates for Organization -- FPs per month.
  • Support Activity Trends -- Number of FPs per person over time.
  • Application Maintenance Load per Person -- FPs per person.
  • Application Maintenance Cost per FP -- Dollars per FP.
  • Mean Time to Repair -- Using FP to normalize based on application size.
These are sample project measurements for Level 3 (compare projects):
  • Delivery Rates by Type of Project (development, enhancement, maintenance, language, platform, etc.) -- Hours per FP.
  • Duration Delivery Rates by Type of Project (elapsed duration) -- FPs per month or hours per FP.
  • Trending of Delivery Rates -- FPs per month or hours per FP over time.
  • Testing Proficiency Ratios for Organization -- Percent defects found pre-delivery/total defects (up to 1 month post-delivery) per FP.
  • Scope Creep/Requirements Volatility -- Comparisons between projects, percent of change measured with FPs.
  • Defect Density -- Defects per FP.

CMMI Level 4 -- Quantitatively Managed

These Level 4 PAs support the inclusion of FP-based measurement:

  • Organizational Process Performance -- Use FP as one of the measures for establishing performance baselines for processes.
  • Quantitative Project Management -- Use FP as the common denominator for selecting measures and statistical control of products and quality.
These are sample system measurements for Level 4:
  • Enterprise Productivity Rates -- Total FP/ total information systems work effort.
  • Enterprise Quality Rates -- Defects per FP compiled for the enterprise.
  • Enterprise Cost Per FP -- Dollars per FP compiled for the enterprise.
  • Mean Time to Failure -- Elapsed time/number of failures, normalized by FP.
  • Mean Time to Repair -- Elapsed time/number of failures, normalized by FP.
These are sample software project measurements for Level 4:
  • Enterprise Project Delivery Rates -- Hours per FP compiled for all projects.
  • Enterprise Quality Rates -- Defects per FP compiled for all projects.
  • Enterprise Cost Per FP -- Dollars per FP compiled for all projects.
  • Statistical Process Control of Project Delivery Rates Trend Analysis of Projects -- Using FP to normalize.

CMMI Level 5 -- Optimized

These Level 5 PAs support the inclusion of FP-based measurement:

  • Causal Analysis and Resolution -- Analyzing defect data using FP as the common denominator enables comparisons between projects; allows evaluating impact of changes by using FP as the common denominator.
  • Organizational Innovation and Deployment -- Use FP as a measure for establishing process improvement objectives.
These are sample system measurements for Level 5 (all normalized by FP):
  • Repair Cost Ratio.
  • Defect Density -- Defects/FP.
  • Cumulative Defects.
  • Defect Distribution by Severity.
  • Defects by Cause.
  • Mean Time Between Defects.
  • Application Support Rate Trends After Process Improvements.
These are sample software project measurements for Level 5 (all normalized by FP):
  • Defect Detection Ratio (by phase found). Also known as inspection effectiveness.
  • Defect Removal Efficiency.
  • Defect Distribution by Severity.
  • Defects by Cause.
  • Delivery Rate Trends After Process Improvements.
  • Statistical Process Control of Defect Data.
  • Cost of Defect Removal by Inspection Phase.
  • SPC of Process Information.
  • Post Release Defect Stability (by month).
  • Software Quality -- Post-Release Defect Density.

Summary

In order to fully exploit and leverage the FPA benefits (the process of measuring "and" the measure) in a CMMI or process improvement environment, it is critical that you know what level your organization is. Understanding the capability maturity level of your organization will greatly assist you and your organization in establishing SMART goals, and applying appropriate FP-based measurements based on GQM priorities.

References

  1. Software Engineering Institute, www.sei.cmu.edu/sema/welcome.html, www.sei.cmu.edu/cmmi.html for CMMI, and www.sei.cmu.edu/activities/cmm/acronyms.html for acronyms.
  2. International Function Point Users Group, www.ifpug.org.
  3. Quality Plus Technologies, Inc., www.qualityplustech.com. Free articles on function points, software measurement, cultural issues, secrets of highly successful measurement programs, use cases, etc.
  4. Software Technology Support Center. CrossTalk, July 2000, www.stsc.hill.af.mil/crosstalk/2000/07/.

Note

  1. The word "user" in the context of function point analysis refers to any person, thing, outside department, or other application that specifies the requirements for the software, or that has requirements to interact with the software. For a concise and non-technical discussion of a variety of terms with specific, non-traditional information technology meanings in function points, refer to Demystifying Function Points -- Clarifying Common Terminology by Carol Dekkers, March 2001 available from Quality Plus Technologies, Inc. at www.qualityplustech.com.


About the Authors
Carol Dekkers

Carol Dekkers, certified management consultant and certified function point specialist, is president of Quality Plus Technologies and is a recognized expert in the area of functional size measurement (Function Point Analysis). She represents the United States to the International Organization for Standardization as a project editor of their functional domain standard. The American Society for Quality (ASQ) honored Dekkers in 2000 as one of the 21 New Voices of Quality for the 21st century. Dekkers is the vice chair of the Project Management Institute's Metrics Specific Interest Group, the past-president of the International Function Point Users Group, and a regional counselor for the ASQ Software Division. Dekkers is a frequent presenter at industry conferences, an author, and a weekly talk-radio host.

8430 Egret Lane
Seminole, FL 33776
Phone: (727)393-6048
Fax: (727)393-8732
E-mail: dekkers@qualityplustech.com



Barbara Emmons

Barbara Emmons is a certified function point specialist with Quality Plus Technologies, Inc. She is a member of the International Function Point Users Group and currently serves on the Management Reporting Committee. She has more than 15 years of experience in information technology, over half of that in quality assurance or software measurement roles. In addition to consulting with companies to achieve software measurement and process improvement success, Emmons saw the successful integration of function points and the Capability Maturity Model® as the lead analyst at a prominent state government agency.

8430 Egret Lane
Seminole, FL 33776
Phone: (360)402-0163
E-mail: beemmons@qualityplustech.com



© Copyright 2001 Barbara Emmons and Carol Dekkers, Quality Plus Technologies, Inc. All rights reserved.


USAF Logo


Privacy and Security Notice  ·  External Links Disclaimer  ·  Site Map  ·  Contact Us