..
Introduction to Function Points
By: Carlos Colon Riollano, MBA, PMP, CPM, MSPC
..
Agenda
Introduction What is a a function point? Objectives of Function Point Analysis Brief Function Points History Questions
..
Function Points are a Unit of Measure
FPs are a unit measure for software much like an hour is to measuring time, inches to measuring distance and Fahrenheit to measuring temperature. A UOM is important to understanding and communicating such metrics as Average Costs, Average Time and so forth. For example understating the cost per square foot to build a house, help a buyer to compare one house to another, also helps the builder to understand the cost and predicts future costs.
3
..
Function Points are a Unit of Measure
External Interface Files External Input
External Input External Output
Application Being Considered
Internal Logical File
External Inquiry
External Output External Inquiry Other Applications
Functionality as viewed from the users perspective
..
Objectives of Function Point Analysis
Measures software by quantifying the functionality requested by and provided to the customer based primarily on logical design Measures software development and maintenance independently of technology used for implementation Measures software development and maintenance consistently across all projects and organizations
..
Why Use Function Points
To manage your software
..
Software Development Challenges
Size of Requirements Changes to Requirements Estimation Based on Requirements Measuring and Improving Productivity and Quality
..
Changes to Requirements
Changes to Requirements Change Inevitable Trade-offs Customer Definition of Quality Size
..
Size of Requirements
Requirements
Complete Business Terms Mutual Understanding Document Assumptions Size
..
Changes to Requirements
Delivered Application Requirements Functional Design Detail Design
100 FPs
120 FPs State code input screen changed (3 FPs) Interface to N&A file added (10 FPs) N&A inquiry and state code inquiry added (7 FPs)
130 FPs New regulatory table added (10 FPs)
135 FPs Summary report added (5 FPs)
Impact Effort Schedule Cost
10
+ 1 month + 2 weeks + $5 K
+ .5 month + 1 week + $2.5 K
+ .25 month + 2.5 days + $1.25 K
..
Estimation Based on Requirements
Estimation Based on Requirements
Multiple Models Weighted Inputs: Language Skills Methodology Risk Factors Size Historical Base
11
..
Why Use Function Points
To manage your Organization
12
..
Function Points and the CMM
Function Points are the metric of choice for many of the activities required in the SEI CMM Level 2 With the next release of the CMM, metrics becomes a Key Process Area in its own right
SEI Capability Maturity Model
5. OPTIMIZING Process control
4. MANAGED Process measurement
3. DEFINED Process definition
2. REPEATABLE Basic management control
1. INITIAL Ad hoc
Process Maturity Levels
13
..
Improving Customer Relations
Predictable Time scales Predictable Costs Predictable Functionality
14
..
Organizational Improvement
Process Measurement Project Management Metrics
Estimates Productivity Defect Densities etc.
Benchmarking
15
..
Why Use Function Points
Function Points vs. Lines of Code
16
..
Function Points not Lines of Code
Technology and platform independence Available from early requirements phase Consistent and objective unit of measure throughout the life cycle Objectively defines software application from the customer perspective Objectively defines a series of software applications from the customers, not the technicians perspective Is expressed in terms that users can readily understand about their software
17
..
What is Wrong with Lines of Code?
There is no standard for a line of code Lines of Code measure components not completed products Don't measure the panels produced; measure the number of cars assembled Measuring lines of code Rewards profligate design Penalizes tight design Positively misleading?
18
..
How to Count Function Points
19
..
How to Count Function Points
Displays Reports
Master Files Control Files Reference Files Signals
Size
20
..
Steps in FP Counting
Determine Type of Count Identify Counting Scope and Application Boundary Count Data Functions Count Transactional Functions Determine Unadjusted Function Point Count Determine Value Adjustment Factor Calculate Adjusted Function Point Count
21
..
FP Overview: What Is Counted
EI
P1 Update Master File
P2
ILF
Master Produce Weekly Report File
EO
Weekly Summary Report
Key
System Boundary P3 Master File Reference File on another System
Details
Details
EIF
EQ
22
..
Data Storage
Internal Logical File (ILF)
Logical group of data maintained by the application (e.g., Employee file)
External Interface File (EIF)
Logical group of data referenced but not maintained (e.g., Global state table)
23
..
Transactions
External Input (EI)
Maintains ILF or passes control data into the application
External Output (EO)
Formatted data sent out of application with added value (e.g., calculated totals)
External Query (EQ)
Formatted data sent out of application without added value
24
..
Functional Size (Unadjusted Function Size)
Function Type
EI EO EQ ILF EIF
25
Low
x3 x4 x3 x7 x5
Average
x4 x5 x4 x 10 x7
High
x6 x7 x6 x 15 x 10
..
Value Adjustment Factor
Based on 14 General System Characteristics (User Business Constraints Independent of Technology)
Examples: data communications, response times, end user efficiency, multiple sites and flexibility
Adjusts FP count by up to + / - 35%
26
..
IFPUG History
27
..
History - Early Days
1979 1984 1986 1990 1991 Function Points introduced by Allan Albrecht First formal Function Point Guidelines IFPUG elects first Board of Directors Function Point as Assets Manual Certification for training materials IFPUG Hotline established
28
..
History - Modern
1994 CPM release 4.0 Participation in International Software Benchmarking Standards Group (ISBSG) Guidelines to Software Measurement IFPUG Home Page Introduced 10th Anniversary Celebration! CPM release 4.1
1995 1997 1999
29
..
IFPUG Structure
30
..
Counting Practices
Publish Counting Practices Manual Update Counting Practices Manual Make Rulings on areas of Ambiguity
31
..
Certification
Tests for Conformance to Counting Practices Manual
Counters Training courses Software support tools
IFPUG Seal of Approval
32
..
IFPUG Benefits
Free copies of IFPUG standards manuals Case Studies at member discounted rates Member directory Publications MetricViews, Metrics Source IFPUG E-Mail List Serve & Private Home Page Reduced rates for conference & workshops Ability to participate on Committees Networking, Professional Development
33
..
How May We Help You?
Questions???? Comments!!! Suggestions!?!?!?
34