FREQUENTLY ASKED QUESTIONS
What is a function point?
Function Points measure software size by quantifying the functionality provided to the user based solely on logical design and functional specifications. With this in mind, the objectives of FP counting are to:
- measure functionality that the user requests and receives;
- measure software development and maintenance rates and size independently of the technology used for implementation; and
- provide a normalizing measure across projects and organizations
See also our What Are Function Points online fact sheet
Are Function Points for everyone?
It depends on your needs. If you need to know if you are:
- more productive,
- producing higher quality projects and/or applications,
- improving in project estimates,
- improving processes, or
- reducing costs
then Function Points are for YOU!
Why would I want to measure?
- You can’t manage internally what you don’t measure.
- Approximately 40% of all projects fail due to lack of management control (Coopers & Lybrand – Sept. 1995).
- Measurement gives you a tool to communicate to your customers the size of their request, and extrapolate productivity, quality and estimating accuracy.
- Many of your competitors may already have these insights.
- You measure to understand and improve your processes. (Refer to Guidelines to Software Measurement – Release 1.1, pg. 2-4, 3-7 – 3-8.)
What can IFPUG do for me?
Being a member of IFPUG can provide you with the following benefits:
- Networking opportunities with other companies who have or who are trying to implement a measurement program.
- The opportunity to have input into the Function Point Standards.
- Annual conferences that provide you with:
- Opportunity to meet with others in the measurement field;
- Education through workshops held prior to the conference; and
- Opportunity to hear from experts in the measurement field.
- Professional publication:
- Metric Views (bi-annually).
- Discount on literature published by IFPUG which includes:
- Counting Practices Manual (CPM);
- Case Studies; and
- Guide to Management Reporting.
- Access to secure Members Only area of the IFPUG website.
Is there a fee for IFPUG services?
IFPUG members receive a discount on conference attendance, workshop attendance, and additional literature. All other benefits are currently free of charge.
How do I sell my senior management on function points?
The International Software Benchmarking Standards Group (ISBSG) Benchmark data can be used to demonstrate the many advantages of function point analysis. IFPUG members receive a discount on all ISBSG products.
How do I show developers and project managers the importance of Function Point Analysis?
Function point analysis 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.
How do I show my user group the importance of function point analysis?
Function Point analysis is based on the user point of view and provides for a common language between the technician and the user area. The process itself helps to highlight missed requirements, and helps provide an accurate estimate thereby allowing the user better budget control.
What is a function point baseline?
- An application baseline is the size of the current functions provided to the user by the system.
- A corporate or company baseline is the sum of all the individual system baseline counts.
Do I need to do a function point baseline?
- If your objective is to improve quality, productivity or estimating accuracy, then a baseline will give you your current size.
- For support and maintenance costs you need a full baseline, but for productivity, estimating accuracy, and quality, you can start with a baseline of one project.
Why shouldn’t I use lines of code?
- Lines of code tend to reward profligate design and penalize concise design.
- There is no industry standards (ISO or otherwise) for lines of code.
- Lines of code cannot be used for normalizing across platform, language or by organization.
- Some 4GL don’t even use lines of code.
- Lines of code can be positively misleading – refer to Capers Jones Productivity Paradox.
What about backfiring?
- 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.
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.
- 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).
If it’s just me and 500 developers, where do I start?
Determine what the developers’ current problems are. Start your measurement process targeting these areas and begin communicating results immediately to get support and buy-in.
If productivity is important, what should I count the productivity of – new development, maintenance, etc.?
This depends on your goals. Use the Pareto analysis (80/20 rule) to determine where the “pain” is, and target that for your productivity measurements. For example, if you are understaffed in the maintenance area then support rates could be used to prove the shortage or otherwise.
We want to improve our productivity, what information do I need to have?
- Different ratios can be used to determine productivity, each of which includes function points.
- In order to do a function point count, you need to know the following:
- 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, etc.).
- User definable data stores that are maintained by the application (e.g., file layouts, table definitions).
- User definable data stores that are accessed for 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).
- Support rates = function points of application / effort hours to support application
- Enhancement rate = function points of project / effort hours of project
- Delivery rate (Time to Market) = function points of application / calendar time
- For more detailed information on function point analysis, refer to IFPUG Counting Practices Manual.
We want to improve our estimating, what information do I need to have?
In addition to your rates (support, enhancement, productivity, etc.) you also need to have the soft attributes including but not limited to:
- development type;
- experience of the team;
- external constraints; and
- scope creep history.
There are software packages available on the market to aid in estimating accuracy.
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 proceess 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.
Do I need a 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.
What do I look for in a consultant?
- Someone who has counting expertise.
- They should be IFPUG certified (CFPS).
- 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.
Where do I look for a consultant?
Check our Vendor list for all vendors who are IFPUG members.
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:
- computer systems development
Where can I go to do more research on Function Point concepts?
Check our Bibliography/Reference Library for further readings on Function Point Analysis.