Function Point Q&A

DCG Software Value is a long-time provider of software sizing services. We firmly believe that accurately sizing software is a critical aspect of managing and controlling successful software project delivery. Several sizing methodologies are available, but most often we employ the use of IFPUG function points (from the International Function Point Users Group), which measures functional requirements. This technique is known as Function Point Analysis.

Although this technique is widely and effectively used, we often get a number of questions about it. This blog post attempts to answer some of the most common questions we receive, but if you have others, please leave a comment below and we’ll address it!

What is Function Point Analysis?

Function Point Analysis is a technique for measuring the functionality that is meaningful to a user, independent of technology. Function Point Analysis is governed by IFPUG, which produces the Function Point Counting Practices Manual. This manual is used by all IFPUG-certified Function Point Analysts to conduct function point counts. IFPUG is an ISO standard for software measurement.

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 complexity of each component and assigns an unadjusted function point value. The analyst then analyzes the application against 14 general system characteristics to further refine the sizing and determine a final adjusted function point count.

Function Point Analysis

When Can Function Point Analysis Be Used?

  • Function Point Analysis can be used at the beginning of projects to derive cost and duration estimates using well defined, industry-proven models and software.
  • Function Point Analysis can be used at the end of the project. Metrics such as productivity, defect density and time-to-market can be created using function point counts. These metrics allow measurement for internal improvement initiatives, contract compliance and comparison to industry benchmarks.                

Can Function Point Analysis Be Used When Evaluating Commercial Off the Shelf (COTS) Software?

Function Point Analysis can be used with COTS software projects in several important ways. These include the following:

  1. Functional requirements analysis: Like for any project, once the functional requirements have been defined, a function point count can be done to quantify the size of the application or project. This sizing can then be used for selection of the COTS package or for build-or-buy decisions.
  2. COTS function analysis: A function point count can be done on a prospective COTS package and used for comparison to functional requirements during the evaluation and selection process.
  3. Gap analysis: Comparison of the functionality provided by the COTS package to the requirements yields the gaps that must be filled with custom applications or additional COTS software.
  4. Project estimation: Using function point counts as input to industry-leading estimation applications and models provides accurate estimates for COTS configuration, customization, custom development and testing. This includes estimates for development of COTS extensions and external interfaces. 

Additional Resources:

Looking for more on function points? Check out these publications:

  1. An introduction to Function Point Analysis, including what it is and who would benefit from it. Download.
  2. DCG’s Function Point Analysis services. Download.

If you need more information on enhancement productivity improvement opportunities, or you have questions about function points, don’t hesitate to reach out! I’m always up for a discussion!

Anthony Manno, III
Vice President, Outsourced Services

Written by Tony Manno at 05:00

Finding the Right Service-Level Measure

David HerronThere is a recent trend in outsourcing towards smaller, shorter-term deals and an increase in using multiple vendors (usually referred to as multi-sourcing). But, while outsourcing arrangements may be changing and customers continue to look for greater efficiencies, there is still much that remains the same in regards to contract governance challenges. Proper service-level measures are a necessary in outsourcing (and especially in multi-sourcing) contracts to mitigate such challenges.

Typically, these contracts are priced on the basis of labor cost. But an effective contract takes other dimensions into consideration as well. A successful outsourcing arrangement is one that delivers a high quality product that meets the needs of the business (value) for a reasonable price. Thus price, value and quality should serve as the focus.

If you're interested in learning more about these measures and how to create a successful outsourcing arrangement, download "Finding the Right Service-Level Measure in a Changing Outsourcing Landscape" here.

David Herron
VP, Software Performance Management

Written by David Herron at 05:00

Join DCG for a Benchmarking Training Class


We're excited to announce that we are offering public training classes with international benchmarking expert, Bram Meyerson, founder and CEO of QuantiMetrics, a DCG partner organization.

We'll be holding one class on May 14 in Seattle (perfect for those attending the CMMI Institute Conference, which takes place May 12-13 in Seattle!) and a second on May 18 outside of Philadelphia.

The classes will explore historic or retrospective benchmarking practices. Bram will also discuss how benchmarking can be used to mitigate risks inherent in optimistic plans or proposals from in-house teams or external suppliers.

Register by March 31st for the Early Bird Discount!

More details about the class - and registration - are available here. If you have any questions, just let us know!

Register Now.

Written by Default at 05:00
Categories :

How Should We Read Industry Data?

MikeOne of the publications that I keep an eye on in the software industry is a quarterly report published by Software Equity Group, L.L.C.; the “The Software Industry Financial Report.” The report is about 70 pages long and it contains information on the financial performance of software companies aggregated into three “indexes” (software, SaaS and Internet). Each Index is divided into subdivisions. For example, the software index includes such things as billing software, gaming and healthcare. The data in the report is reported at the subdivision and index level.

So, with the context out of the report out of the way, I thought I’d share some of my observations on the 2Q14 report:

  • In 2014, Forrester forecasts that software will be 26 percent of the technology spend, leading all other categories!
  • A number of on-premises software companies are shifting their revenue models to offer SaaS pricing, but, for most of the larger, more stable companies in the software index, the revenue contributions from these changes are not sufficient to justify a move to the SaaS index.
  • Gaming providers were stars of the indexes about a year ago, but now that sector seems to be slumping – apparently as they lose business and react to the boom in Internet and mobile games

As I thought about the implications of the data in this report, I asked myself just how valuable industry data is in our industry as it ages. I read this report every quarter, but does the state of the industry really change that much every quarter? What would I miss if I only read every other report? Is a great or poor performance by one industry sector in one quarter truly significant? 

Of course, it depends. Sometimes one data point can be very meaningful – the canary in the coal mine. However, generally, what we really need to look at are trends that demand action.

To be able to spot a trend, we need a frequency of data sampling that will allow us to see a trend before it does serious damage. Too frequent sampling can cause us to waste time reacting to changes that are just natural, random oscillation around a trend. 

The same is true of the metrics in the day-to-day running of our software development and/or IT departments. How often do we need to update the burndown chart of an Agile team? I would say daily because on a 10-day sprint we need to be able to spot a three-day trend, and a trend demands at least three data points to be observable. 

How often do we need to benchmark ourselves against our industry peers? Annually is probably sufficient because the data from an aggregate of our peers will probably only change quarterly. But what about benchmarking ourselves against a baseline of our own performance while we are implementing an organizational change (e.g. transitioning to Agile or implementing SAFe)?  Here I would argue that a monthly benchmark is appropriate because that would mean having the minimum three data points to detect a trend every quarter, which would be important if the transition was going off course or not meeting ROI goals. 

In sum, it pays to stop and think about whether your review frequency for a set of metrics is consistent with the likelihood of a trend emerging sufficiently for you to make a decision to change your behavior. Not sure? Give me a call!

Mike Harris
DCG President

Written by Michael D. Harris at 05:00
Categories :



Don’t have time to leave the office and sit in a classroom for a week? Can’t get budget approval for the training you want to take? Online training is the answer.  

The economics of taking an online class through our online training portal, DCG University (DCGU), make this one of the easiest decisions you may ever have to make. PMI-accredited course offerings are available and there is no set schedule, so you can study at a pace that fits your professional or personal needs.

Our Function Point Fundamentals course provides an in-depth look at the basic function point sizing methodology. Whether you simply want to raise your level of awareness regarding function points or need to develop the skills necessary to become a certified professional, this course has it all.

For those ready to take the CFPS exam, our CFPS Preparation class is highly recommended. The key element of this course is the practice exam that allows you to test your knowledge. The questions in this exam are similar to the types of questions you will be asked in the IFPUG exam.

Best of all, DCGU provides a "live" instructor to answer your questions. At any time during the course, you can call the Help Desk for further guidance and insights.

We will be adding courses to our line-up throughout the coming months, so if neither of our current offerings are of interest you, don't worry!

If you have any questions, I'm happy to help, just leave a comment below and I will reply as soon as possible.

David Herron
Vice President, Software Performance Management

Written by David Herron at 05:00

"It's frustrating that there are so many failed software projects when I know from personal experience that it's possible to do so much better - and we can help." 
- Mike Harris, DCG Owner

Subscribe to Our Newsletter
Join over 30,000 other subscribers. Subscribe to our newsletter today!