FAQs

FREQUENTLY ASKED QUESTIONS

Updated March 2016

Please connect with us on Facebook and LinkedIn and share within your circles.

IFPUG Website, please Bookmark for future reference
IFPUG Facebook Page, please click on Like
IFPUG Twitter, please follow the latest releases of White Papers and other news
IFPUG LinkedIn, please click on Follow

To suggest additional FAQ or edits to this page, please click here Contact Us and include “IFPUG FAQ” in the subject line of the message.


Top of IFPUG FAQ PAGE

Members and non-members can download documents from our Online Store, where they can also renew or order an IFPUG membership.

1. What is a Function Point? What is SNAP? What is the difference between Function Points and SNAP?
2. Are Function Points for everyone?
3. Why would I want to measure?
4. What can IFPUG membership do for me?
5. How do I show developers and project managers the importance of Function Point Analysis?
6. What tools are available to improve my Function Point estimates?
7. How do I show my user group the importance of function point analysis?
8. What is a function point baseline?
9. Why shouldn’t I use lines of code?
10. What about backfiring?
11. I’m told we need to improve. Where do I start?
12. We want to improve our productivity, what information do I need to have?
13. What does a CIO need to know about Function Points?
14. What does a CIO need to know about Agile & Function Points?
15. We want to improve our estimating, what information do I need to have?
16. We want to improve our quality, what information do I need to have?
17. Do I need a CFPS certified consultant?
18. What do I look for in a consultant?
19. Where do I look for a consultant?
20. Where can I go to do more research on Function Point concepts?


IFPUG
FAQ
PAGE

1.1 What is a function point?
Function Points are an internationally standardized unit of measure used to represent software size. The IFPUG functional size measurement method (referred to as IFPUG 4.3.1) quantifies software functionality provided to the user based solely on its logical design and functional requirements. The resultant number is called a Function Point Count.  With this in mind, the objectives of FP counting are to:

Many other uses of function points are found in industry:  they form a common sizing denominator (e.g., a ratio of another measure “per FP”) for productivity and quality benchmarking in many IT companies.  To learn more about the IFPUG FP method (and the Software Non-Functional Assessment Process (SNAP) to quantify non-functional requirements) click on the links below:

1.2 What is SNAP?

SNAP stands for the “Software Non-functional Assessment Process.”  It is a software metric, which complements function points.  SNAP allows sizing the non-functional requirement in addition to the functional requirements measured by function points.  It does not replace function points in any way; it is used in addition to function points.  It represents a continuous improvement by IFPUG in the way software is sized.

1.3 What is the difference between Function Points and SNAP?

In a nutshell, function points measure the volume (or size) of the data flow and storage inherent in a software application.  These are called “functional” user requirements.  SNAP measures the volume (or size) of other aspects of software — such as data configuration, algorithms, decision trees, data validation, placement of logos, etc.  These are called “non-functional” requirements. There are 14 currently recognized categories of non-functional requirements.  The term “functional user requirements” is often abbreviated as “FUR.”  The term “non-functional requirements” is often abbreviated as “NFR.”  The specifics for counting function points are in the Counting Practices Manual.  The specifics for counting SNAP points are in the Assessment Practices Manual.  Both are available in the IFPUG store at the ifpug.org website.

1.4 How are Function Points and SNAP Points put together to determine the overall size of software?

The total size of the software is measured as the number of its function points and the number of its SNAP points.  For example, an application might be totally sized as 800 function points and 300 SNAP points.  Since function points measure something different than SNAP, the two cannot be combined somehow into a single measure; in this example, the software application cannot be measured as having 1100 “points” of some kind.  This is similar to how real and imaginary numbers are represented:  a number might be represented as 800 + 300i, not 1100 of some kind of number.

Both function points and SNAP points are associated with effort. The effort to develop or enhance a software product is the sum of function points times functional productivity (hours/FP) plus the sum of SNAP points times non-functional productivity (hours/SP).

1.5 Is SNAP really necessary?

Depending on the application, many software developers and development teams recognize that a considerable amount of their work effort is not directly accountable using function points.  This can be especially true of algorithmic-intensive applications, applications with considerable data validation, and applications with considerable “ergonomic” features like page layouts and use of logos.  The continuous improvement by IFPUG here is that SNAP accounts for this work effort which is not recognized by function points alone, which can be considerable.  It provides a more fair and welcome measurement approach.  It can also help improve forecasts of cost and schedule for new development projects and enhancement projects.

1.6 How do I show developers and project managers the importance of SNAP?

Developers invest effort in meeting the non-functional requirement. This effort is not reflected in the function point size. Developers will see the benefit of justifying their effort with the additional SNAP size, rather than showing a lower productivity of Function point/effort

By using bot function points and SNAP, project managers can better justify their budget; they can show their sponsors that more assets are built into the software – functionality, measured by function points, and non-functional aspects, measured by SNAP.

1.7 What is the most accurate method to estimate software project effort?

According to Capers Jones (2012), the accuracy of manual counting of Function points provides 10% margin of error. Using Function Point Analysis and SNAP provides 5% margin of error

EstimatingAccuracy

 

1.8 What are the benefits of using SNAP?

Sizing the functional aspects and the non-functional aspects of a software application assists IT organizations in multiple ways.  It provides better insight into the delivery of software projects and the maintenance of applications:

  • It improves the correlation of effort and size, as the development of a software includes tasks to meet both functional and non-functional requirements.
  • It improves estimation and the ability to predict the effort and time required to deliver a software project.
  • Developers are not penalized for investing effort in the non-functional aspects of the requirements.
  • Users can better understand the benefits of an application to their organization.
  • Customers can better realize (and quantify) the value for their money.
  • Software development productivity calculations are more accurate; any variations in measuring “effort/function points” metric may be better explained.
  • Projects that are non-functional only can also be sized
  • Differences in values of Key Performance Indicators (KPIs) between projects are better explained.

1.9 Is SNAP in use today?

There are few companies who already use SNAP in the US, Asia, and Europe, in their estimation process

1.10 How can I learn SNAP?

You can obtain the SNAP Assessment Process Manual (APM) free of charge from the IFPUG online store. In addition, certified training is provided by companies that are enlisted on IFPUG site (http://www.ifpug.org/certification/training-materials-certification/)

Back to Top

IFPUG
FAQ
PAGE

 

2. Are Function Points for everyone?
This is almost a rhetorical question – and the answer is that it depends on whether you need to know how big is the software that you are developing or enhancing in software development projects, or whether you need to know how big are your systems in your software portfolio.  Function point sizing can quickly and easily facilitate measurement ratios (along with other measures) to tell you what projects and applications:

  • are more productive,
  • produce higher quality software products and/or applications,
  • had accurate project estimates,
  • need to embrace process improvement methods,
  • are out of line from a budget and cost standpoint (unit costing);
  • had lower (or higher) team performance.

If you are challenged in your IT role to answer these questions, then Function Points are for YOU!

Back to Top

IFPUG
FAQ
PAGE

3. Why would I want to measure?  The top 25% of companies throughout the world (source ISBSG) rely on software measurement to manage their IT and software development for the following reasons:

  • You can’t manage what you don’t measure;
  • To identify problem projects and software applications and take corrective action;On average, large IT projects run 45 percent over budget and 7 percent over time, while delivering 56 percent less value than predicted. Software projects run the highest risk of cost and schedule overruns, McKinsey & Company in conjunction with the University of Oxford October 2012 | byMichael Bloch, Sven Blumberg, and Jürgen Laartz[1]
  • Compare Vendor responses to RFP(request for proposal) against competitor bids;
  • Measurement provides an assessment of the status quo (the current situation) so that you can understand and improve your software development processes. (Refer to Guidelines to Software Measurement – Release 1.1, pg. 2-4, 3-7 – 3-8;)
  • To determine your own company’s Software Development Best Practices
  • To measure the quality of delivered software, and provide an economic incentive for development teams to produce quality software.
  • Function point-based measurement and SNAP gives you a means to communicate with your customers the size of their software requests, and also allows you to easily calculate productivity, quality, and estimating accuracy.
  • Many of your competitors may already have these insights.

[1]http://calleam.com/WTPF/?page_id=1445

Back to Top

IFPUG
FAQ
PAGE

4.1 What can an IFPUG membership do for me?
While this website and much of the information provided are available free of charge to members and non-members alike, becoming a member of IFPUG has the following benefits:

  • In-person and online networking opportunities to communicate with professionals around the world in companies just like yours, who have or who are trying to implement a measurement program;
  • Reduced rates to ISBSG Benchmarking data (for Lean Six Sigma) and other products;
  • The opportunity to participate on committees that develop the Function Point Standards;
  • Annual knowledge-sharing conferences that provide you with:
    • Opportunities to meet others in the measurement field;
    • Educational opportunities to learn and earn continuing education credits through workshops held prior to the conference;
    • Access to training and certification testing to earn globally recognized certifications including:
      • CFPS: Certified Function Point Specialist (THE original and most widely recognized functional size measurement designation);
      • CFPP: Certified Function Point Practitioner (for professionals who are practitioners but not necessarily Function Point experts);
      • CSP: Certified SNAP Practitioner (the only designation worldwide that tests knowledge about software non-functional requirements;)
    • Opportunity to hear from leading industry experts and seasoned practitioners about their successes (and failures!) in the measurement field.
  • Professional publications:
    • Metric Views (bi-annually) – available as a printed and online journal featuring interesting and timely software measurement articles, IFPUG news, committee updates and information on the latest advancements in the world of software metrics;
  • Substantial discounts on IFPUG products including:
    • the ISO-standard and IFPUG Counting Practices Manual (CPM) complete with close to 300 pages of rules, shortcuts, and counting examples;
    • FP Case Studies providing step-by-step function point counting examples of how to apply the CPM rules to software requirements;
    • Guide to Management Reporting with pages of useful advice for successfully implementing function points to deliver management results;
    • White papers and other IFPUG releases that effectively illustrate FP counting in newer technologies (client server, web, etc.,) applications of FP counting (e.g., data warehouses) and methodologies (e.g., agile.)
  • Access to the secure Members Only area of the IFPUG website where you will find an active online bulletin board where members exchange tips and techniques related to software measurement (you can even pose questions for the IFPUG community at large to answer), .
  • To obtain the latest copies of the CPM, SNAP or other documents, click here to be taken to our online store where you can add products to your Shopping Cart and Checkout.

Please visit the Online Store here.

4.2 Is there a fee for IFPUG services?
IFPUG members receive a discount on conference attendance, workshop attendance, additional literature, and gain access to member-only online areas of the website.  Additionally, all IFPUG members are encouraged to get involved in the IFPUG community and participate as a member of one of our various committees. All other benefits are currently free of charge.

4.3 How do I sell my senior management on function points and SNAP (and software measurement)?

The first step is to become knowledgeable about the advantages of using function point analysis and SNAP (it is an objective measure of software size that is independent of the tools, techniques, skills or methods used to build the software), and learn about the positive return on investment you can gain from a Function Point based software measurement program.

The next step is to research available industry data (particularly useful for companies who have not already collected historical FP data) such as the data available from ISBSG.
The International Software Benchmarking Standards Group (ISBSG) Benchmark data is a reliable worldwide repository of software development project data (and function points) that can be used effectively for project estimating, to perform comparative analysis (across project types,) and to gauge your own company’s project performance (productivity and quality.) IFPUG members receive a discount on all ISBSG products.

4.4 (and software measurement)?

The first step is to become knowledgeable about the advantages of using function point analysis (it is an objective measure of software size that is independent of the tools, techniques, skills or methods used to build the software), and learn about the positive return on investment you can gain from a Function Point based software measurement program.

The next step is to research available industry data (particularly useful for companies who have not already collected historical FP data) such as the data available from ISBSG.
The International Software Benchmarking Standards Group (ISBSG) Benchmark data is a reliable worldwide repository of software development project data (and function points) that can be used effectively for project estimating, to perform comparative analysis (across project types,) and to gauge your own company’s project performance (productivity and quality.) IFPUG members receive a discount on all ISBSG products.

Back to Top

IFPUG
FAQ
PAGE

5. How do I show developers and project managers the importance of Function Point Analysis?
Function point analysis (FPA) allows you to produce project plans to a quantifiable accuracy and as an extension track progress and manage scope creep. Also, developers can achieve the assigned tasks by the given target date due to more accurate estimating using function point analysis and historical data.

Back to Top

IFPUG
FAQ
PAGE

6. What tools are available to improve my Function Point estimates?

New software development projects can be sized using COSMIC, Early Function Point Estimating and ISBSG Comparative Estimating Tool.

Back to Top

IFPUG
FAQ
PAGE

7. How do I show my user group the importance of function point analysis?
Function Point analysis evaluates the functional size of software based on an examination of the functional user requirements (the “what does the software do in terms of business processes and procedures.”)  As such, FPA looks at software from the user point of view and quantifies function points based on five standard, user-focused components in the software:  Two types of stored data entities (referred to as Internal Logical Files and External Interface Files), and three types of business processes (referred to as External Inputs, External Outputs and External Queries.) The FP results (a listing of the counted business processes and their component functional size)provides is in user-understandable terms.  FP counts provide for a common language that can be used for discussions with both software developers and users alike. The FP counting process itself helps to highlight/uncover missing requirements, and provides an objective and accurate estimate of software product size, thereby allowing the user better budget control.

Back to Top

IFPUG
FAQ
PAGE

8.1 What is a function point baseline?

8.2 Do I need to do a function point baseline?

The answer depends on what you want to do with the numbers.  If your goal is to assess the size of a software application because you want to replace it, then knowing how big is your current application will give you a good basis of its size for use in estimating the cost of replacement.  If your goal is to be able to accurately assess how much change (enhancement) or growth happens throughout the year through software enhancements, then you might want to do a baseline count.

  • If your objective is to improve quality, productivity or estimating accuracy of projects, then you may not need to do a baseline size, but rather count the size of the software development or enhancements
  • If your goal is to compare the support and maintenance costs (on a per FP basis) across your portfolio or a set of applications, then you would want baseline counts of those applications. a baseline of one project.

Back to Top

IFPUG
FAQ
PAGE

9. Why shouldn’t I use lines of code (as the measure of software size when calculating productivity or quality ratios)?

This question comes up frequently when companies are considering whether to use FP or Source Lines of Code (SLOC) as their unit of measure for software size.  FP have the advantage of being technology and implementation independent, while SLOC has the following disadvantages:

  • Lines of code tend to reward profligate design and penalize concise design (i.e., more lines of “spaghetti” code may not be as productive as better coding design and less lines of code to do the same function. Bigger code does not necessarily mean more productive when it comes to lines of code.)
  • There are no industry standards (ISO or otherwise) for source lines of code. (i.e., some people advocate counting non-commented command lines, but this is not universally accepted and variations prevail.)
  • Lines of code cannot be readily used for normalizing across platform, language or by organization (because the number of lines of code varies depending on the programming language and coding conventions)
  • Some 4GL don’t even use lines of code.
  • Lines of code based ratios can be positively misleading – refer to Capers JonesProductivity Paradox.

Back to Top

IFPUG
FAQ
PAGE

10. What about backfiring (the practice of converting SLOC to FP using a conversion table based on programming languages)?

  • Backfiring is based on lines of code, so you run into the same difficulties as using lines of code.
  • It can be used cautiously on legacy systems without much prospect of further work.
  • Backfiring could be useful if accuracy is not an issue.

Back to Top

IFPUG
FAQ
PAGE

11.1 I’m told we need to improve. Where do I start?

  • First begin by determining what needs improvement. The GQM (Goal/Question/Metric) process can help to facilitate this. Additional free resources (downloadable) are available from the Practical Software and Systems Measurement (PSSM) website .  Once you have the goals and metrics outlined for your measurement, FP size will likely be an important measure that you will want to collect as the common denominator for productivity and quality ratios.
  • Once your improvement goals have been established, this will indicate where improvement should begin (e.g., in the area of quality, productivity, or estimating accuracy).
  • Join IFPUG and engage with other members on our internal member bulletin board about how they have successfully implemented FP based software process improvement and measurement.

11.2 If it’s just me and 500 developers, where do I start?
Determine what are the most critical of your developers current problems. Start your measurement process (using the GQM process outlined above) by targeting these areas and begin communicating results immediately to get support and buy-in.  Experts advise on starting any measurement program in a small way first, gain buy-in with the measurement results, BEFORE rolling it out to an entire company.  In this way, you can make sure that you have targetted the right measures, put in the right measurement processes, and gained small wins before you expand measurement to a wider audience.

11.3 If productivity is important, what should I count the productivity of – new development, maintenance, etc.?
Again, this depends on your goals for measurement. Along with the GQM approach, you can use Pareto analysis (80/20 rule) to determine where the “pain” areas are, and target those areas first for your productivity measurements. For example, if you are understaffed and challenged in the software support/maintenance area then support rates (FTE per 1000 FP for example) could be used to objectively prove the shortage or otherwise.

Back to Top

IFPUG
FAQ
PAGE

12.1 We want to improve our software development productivity, what information do I need to have?

  • Different ratios can be used to determine productivity, each of which includes function points. Refer to the Guide to Management Reporting or <insert the IFPUG Book titles here> or the ISBSG Practical Project Estimating (an ISBSG product) for guidance.

12.2 What do I need in order to do a FP count?

The IFPUG Counting Practices Manual (Currently Version 4.3.1) outlines the prerequisite documents/artifacts you need to do a FP count.  The first step is to determine the scope and purpose of the count and whether you are going to count the size of a software application (baseline) or the size of software development/enhancement delivered in a project (New Development or Enhancement project count).  Note that each piece of software is considered to be a separate application boundary (see the CPM for further details) and will be counted in its own FP count.

In order to do a function point count, you need to know the following (functional user requirements) about the software:

  • User definable outputs that cross the application boundary and are the result of unique processing (e.g., report formats, screen layouts, output file layouts).
  • User definable inputs that cross the application boundary and trigger unique processing (i.e., screen layouts, file layouts, batch file inputs, ).
  • User definable data stores that are maintained by the application (e.g., file layouts, table definitions, database or entity definitions).
  • User definable data stores that are accessed for reference information only by the application (e.g., file layouts, table definitions).
  • User definable queries that cross the application boundary (e.g., report formats, screen layouts).
  • The FP counting process is fully described in the IFPUG Counting Practices Manual.
  • Support rates = function points of application / effort hours to support application
  • Enhancement rate = function points enhanced/changed in the project / effort hours of project
  • Delivery rate (Time to Market) = function points of the delivered software application / calendar time
  • For more detailed information on function point analysis, refer to IFPUG Counting Practices Manual
  • Agile Software Development Methods to increase Delivery Rate

Back to Top

IFPUG
FAQ
PAGE

13. What does a CIO need to know about software size? (Function Points and SNAP)

IT Portfolio Management is a very important topic for senior executives. Software size can help management to estimate the return on the investment on their IT projects, and compare alternatives with a cost-benefit analysis. Function Points and SNAP can be used in conjunction with other measures (project effort, defects, etc.) for monitoring trends and benchmarking.

 

Back to Top

IFPUG
FAQ
PAGE

14. What does a CIO need to know about Agile & Function Points?
The most important consideration when using any measurement to compare or evaluate different types of projects or contracts is consistency. Often times developers will either reject FP on agile projects (saying that agile projects cannot be counted using FP) or embrace them (thinking that they can get more FP than on waterfall projects by counting FP on sprints!) Neither of these is correct! FP represent the size of a delivered piece of software based on its functionality (functional user requirements) – and that are complete and consistent business processes. (See the article Counting FP on Agile/Iterative Projects for more details.)

FP can be an effective way of gauging and evaluating fixed price contracts, and can also be useful when comparing RFPs against or between competitors during the bidding process for software development projects. (e.g., the price per FP of two bids may range widely and indicate that one supplier may not have fully understood what are the functional requirements of the software to be developed.)

In the outsourcing and software development industry, both IBM and CGI use FP (and have teams of certified function point specialists) to review proposal submissions.

The various contract types can benefit from including a function point estimate in their proposal, and some countries (including Italy, Brazil, Korea, Finland) are increasingly using FP based proposals and unit pricing (cost per FP) for software contracting.

Back to Top

IFPUG
FAQ
PAGE

15. We want to improve our estimating process by using FP, what other information do I need to have?
Software estimating is a whole topic area in itself, but the pre-requisites for doing project estimating using FP as the input measure (for the software to be developed) include at least the following attributes:

  • development type; (new development or enhancement)
  • platform; (hardware and architecture considerations)
  • language; (programming language or level)
  • experience of the team;
  • techniques; (development methodology)
  • external constraints; and
  • scope creep

Whether you are using a home grown estimating approach, using the ISBSG repository for historical delivery rates or a professional software package, you will need to know the ratios (delivery rates) for similar projects in order to do a good, reliable estimate. There are software packages available on the market to aid in estimating accuracy.

Back to Top

IFPUG
FAQ
PAGE

16. We want to improve our quality, what information do I need to have?

  • Quality means different things to different people. Determine what quality means within your own organization. ISO 9126 Quality Attributes of Software Systems and the Goal/Question/Metric processes can help you here.
  • Examples of quality metrics are:
    • defect density – number of defects/application size in Function Points; and
    • defect delivery rate – number of defects delivered in the first month of live operation.

Back to Top

IFPUG
FAQ
PAGE

17. Do I need a CFPS Certified consultant?
This is a question that each company has to answer on their own. Some things to think about:

  • Do we want to get a complete baseline done in a few months? If the answer to this is yes it might be wise to have several certified counters come in and help you. While this counting is being done, you can have 1 or more employees get certified in function point counting who will then be able to maintain this baseline themselves.
  • We just want to start counting and estimating our “big projects.” If this is what you are after, you could send a few employees to an IFPUG workshop and/or conference to get trained. After training, they would be able to perform the counts and start collecting data. You also want to think about having 1 or more employees certified in function point counting to audit the counts.
  • You don’t have a clue what the boss is looking for only that we have to start measuring. If you fit in this group, you may want to bring in a consultant who can perform a Goal/Question/Metric (GQM) session to determine what measurements to start with. At this point, you can send a few people to and IFPUG workshop and/or conference to get trained.
  • You are part of a huge company and the boss wants to start measuring EVERYTHING right now. If you find yourself here, you may want to bring in a consultant to:
    • Perform a Goal/Question/Metric (GQM) session; and
    • Train several people to count function points.
  • You also may want to designate a few people to be the overall coordinators of the effort and several people who will perform the counts and collect the data. The coordinators should definitely be certified in function point counters as they will be called on the audit counts and make decisions when questions come up.

Back to Top

IFPUG
FAQ
PAGE

18.1 What do I look for in a consultant?

  • Someone who has counting expertise.
  • They should be IFPUG certified (CFPS). When using SNAP – they should be SNAP certified (CSP).
  • They should have counting experience in an industry common to yours.
  • Good/Quality interpersonal skills – compatible with your corporate culture.
  • Metrics expertise in integrating function points into a well-rounded measurement program

18.2 How do I determine the IFPUG certification of a consultant?

Navigate to the Public Certification Search page on the IFPUG website and submit a query using the name fields and other appropriate search criteria.

 

Back to Top

IFPUG
FAQ
PAGE

19.1 Where do I look for a consultant?
Check our Vendor list for all vendors who are IFPUG members.

19.2 Who else has done this?
IFPUG has over many members in several countries world-wide. Membership is drawn from every major industry, including but not limited to:

  • aerospace
  • banking
  • finance
  • telecommunications
  • insurance
  • manufacturing
  • utilities
  • retailing
  • government
  • computer systems development

One of the major benefits of IFPUG membership is the network of IFPUG members you can access (via the bulletin board or email) who have successfully implemented FP based measurement and process improvement programs in their organizations.

Back to Top

IFPUG
FAQ
PAGE

20. Where can I go to do more research on Function Point concepts?
Check our Bibliography/Reference Library for further readings on Function Point Analysis.

Please connect with us on Facebook and LinkedIn and share within your circles.

IFPUG Website, please Bookmark for future reference
IFPUG Facebook Page, please click on Like
IFPUG Twitter, please follow the latest releases of White Papers and other news
IFPUG LinkedIn, please click on Following

To suggest additional FAQ or edits to this page, please click here Contact Us and include “IFPUG FAQ” in the subject line of the message.

Members and non-members can download documents from our Online Store, where they can also renew or order an IFPUG membership.
Back to Top

LinkedInTwitterFacebookGoogle+PrintFriendlyPrintEmail