ifpug2004 04 aguiar introduction to function point analysis
TRANSCRIPT
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
1/32
Copyright 2004. International Function Point User Group 20041
..
Introduction
to Function Points
Mauricio Aguiar International Funct ion Point Users Group191 Clarksvi lle Rd.Princeton Junction, NJ 08550
Tel: 609-799-4900Email: [email protected]: www.ifpug.org
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
2/32
Copyright 2004. International Function Point User Group 20042
..
Introductionto
Function Points Credits:
The International Function Point Users Group (IFPUG) would like tothank the following individuals and companies for their contributions tothis presentation:
Mary S. Bradley - MSB2 Consulting
Mick Burn-Murdoch - Software Measurement Services, Ltd. Carol Dekkers - Quality Plus Technologies, Inc. Sheila Dennis - DFAS David Garmus - David Consulting Group Scott Goldfarb - Q/P Management Group, Inc. Cindy Woodrow - GEICO Steven Woodward - Q/P Management Group of Companies
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
3/32
Copyright 2004. International Function Point User Group 20043
..
Agenda
Introduction Why use Function Points
Managing Your Software Managing Your Organization
Function Points vs. Lines of Code How to Count Function Points Questions
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
4/32
Copyright 2004. International Function Point User Group 20044
..
Objectives of Function Point Analysis
Measures software by quantifying the functionalityrequested by and provided to the customer based
primarily on logical design
Measures software development and maintenanceindependently of technology used forimplementation
Measures software development and maintenanceconsistently across all projects and organizations
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
5/32
Copyright 2004. International Function Point User Group 20045
..
Function Points are a Unit ofMeasure
Functionality as viewed from the users perspective
ExternalInterface FilesExternal Input
External Output
External Inquiry
Application Being Considered
Other Applications
External Output
External Input
External Inquiry
Internal
LogicalFile
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
6/32
Copyright 2004. International Function Point User Group 20046
..
Managing Your Software
Why Use Function Points
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
7/32
Copyright 2004. International Function Point User Group 20047
..
Software DevelopmentChallenges
Size of Requirements
Changes to Requirements
Estimation Based on Requirements
Measuring and ImprovingProductivity and Quality
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
8/32
Copyright 2004. International Function Point User Group 20048
..
Size of Requirements
Requirements
Complete
Business Terms
Mutual Understanding
Document Assumptions
Size
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
9/32
Copyright 2004. International Function Point User Group 20049
..
Changes to Requirements
Changes to Requirements
Change Inevitable
Trade-offs
Customer Definition of Quality
Size
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
10/32
Copyright 2004. International Function Point User Group 200410
..
Changes to Requirements
100 FPs 120 FPs 130 FPs 135 FPs
State code input screenchanged (3 FPs)
Interface to N&A fileadded (10 FPs)
N&A inquiry and state
code inquiry added (7FPs)
New regulatorytable added (10 FPs)
Summary reportadded (5 FPs)
Impact
EffortScheduleCost
+ 1 month+ 2 weeks+ $5 K
+ .5 month+ 1 week + $2.5 K
+ .25 month+ 2.5 days+ $1.25 K
Delivered Application
DetailDesign
FunctionalDesignRequirements
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
11/32
Copyright 2004. International Function Point User Group 200411
..
Estimation Based onRequirements
Estimation Based onRequirements Multiple Models
Weighted Inputs: Language Skills Methodology Risk Factors Size
Historical Base
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
12/32
Copyright 2004. International Function Point User Group 200412
..
Function Point Size
Project A 100 FPs
Project B 100 FPs
Project Variables
On-line/database New development C++ Highly experienced
development staff
Batch Enhancement
Cobol Average experienced
development staff
Project Estimate Based onHistorical Data and/or Vendor
Tool
Effort = 5 monthsSchedule = 3 monthsCost (@ $5K) = $25,000KLOC = 6Delivered Defects = 25Productivity Rate = 20 FP/Month.
Effort = 20 monthsSchedule = 6 months
Cost (@ $5K) = $100,000KLOC = 10Delivered Defects = 100Productivity Rate = 5 FP/Month
Estimating Examples
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
13/32
Copyright 2004. International Function Point User Group 200413
..
Measuring and ImprovingProductivity
FP/Hour
Project Function Point Size
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0 50 100 150 200 250 300 350 400 450
Every organization has an optimum size/productivity range
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
14/32
Copyright 2004. International Function Point User Group 200414
..
Why Use Function Points
Managing Your Organization
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
15/32
Copyright 2004. International Function Point User Group 200415
..
Asset Management
ApplicationPortfolio
Size = 50,000 Function Points
Replacement Cost = $300,000,000Growth = 7% per year
Support Cost = $20,000,000 per year
Systems A B C
D E F
G H I J K L
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
16/32
Copyright 2004. International Function Point User Group 200416
..
Function Points and theCMM/CMMI
Function Points are the metricof choice for many of theactivities required in the SEICMM and CMMI Level 2
With CMMI, metrics becomes
a Key Process Area in its ownright
SEI CapabilityMaturity Model
1. INITIALAd hoc
2. REPEATABLEBasic management control
3. DEFINEDProcess definition
4. MANAGEDProcess measurement
5. OPTIMIZINGProcess control
ProcessMaturityLevels
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
17/32
Copyright 2004. International Function Point User Group 200417
..
Improving CustomerRelations
Predictable Time scales
Predictable Costs
Predictable Functionality
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
18/32
Copyright 2004. International Function Point User Group 200418
..
OrganizationalImprovement
Process Measurement
Project Management Metrics
Estimates Productivity Defect Densities
etc. Benchmarking
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
19/32
Copyright 2004. International Function Point User Group 200419
..
Function Points& Metrics Help
Evaluate current in-house and contractor performance Establish quantifiable expectations
Demonstrate objectives for contract/outsourcing are met
Establish realistic commitments Determine fair compensation Establish win win relationships
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
20/32
Copyright 2004. International Function Point User Group 200420
..
Function Points vs.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
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
21/32
Copyright 2004. International Function Point User Group 200421
..
There is no standard for a line of code Lines of Code measure components, not
completed products
Don't measure the panels produced; measure thenumber of cars assembled
Measuring lines of code
Rewards profligate design Penalizes tight design
Positively misleading?
What is Wrong with LOC?
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
22/32
Copyright 2004. International Function Point User Group 200422
..
Classic ProductivityParadox
Lines of Code 10,000 3,000
Function Points 25 25
Total Months effort 25 15
Total Costs $125,000 $75,000
Cost per Source Line $12.50 $25.00
Lines per Person month 400 200
FPs per Person month 1.2 2
Cost per FP $5,000 $3,000
Lines of Code 10,000 3,000
Function Points 25 25
Total Months effort 25 15
Total Costs $125,000 $75,000
Cost per Source Line $12.50 $25.00
Lines per Person month 400 200
FPs per Person month 1.2 2
Cost per FP $5,000 $3,000
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
23/32
Copyright 2004. International Function Point User Group 200423
..
How to Count Function Points
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
24/32
Copyright 2004. International Function Point User Group 200424
..
How to Count Function Points
Displays
Reports
Master Files Size
ReferenceFiles
Signals
Control Files
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
25/32
Copyright 2004. International Function Point User Group 200425
..
Steps in FP Counting Determine Type of Count (3 Types)
Enhancement (Project) Function Point Count Application Function Point Count
Development (Project) Function Point 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
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
26/32
Copyright 2004. International Function Point User Group 200426
..
FP Overview: What IsCounted
EI
ILF
EIF
EQ
Key
Details
P1Update Master File
Master
File
P3
Master File
Details
WeeklySummaryReport
P2
Produce Weekly Report
ReferenceFile
another System
on
SystemBoundary
EO
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
27/32
Copyright 2004. International Function Point User Group 200427
..
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., Globalstate table)
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
28/32
Copyright 2004. International Function Point User Group 200428
..
Transactions
External Input (EI)Maintains ILF or passes controldata into the application
External Output (EO)Formatted data sent out ofapplication with added value (e.g.,calculated totals)
External Query (EQ)Formatted data sent out ofapplication without added value
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
29/32
Copyright 2004. International Function Point User Group 200429
..
Functions are WeightedBased on Complexity
Data Element Types (DETs) Number of user recognizable non-repeated fields Applies to data and transactional functions
File Types Referenced (FTRs) Number of files referenced, read, created, or updated Applies to transactional functions
Record Element Types (RETs) Number of data sub-groupings or unique record formats Applies to data functions
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
30/32
Copyright 2004. International Function Point User Group 200430
..
Functional Size(Unadjusted Function Size)
Function Type Low Average High
EI x 3 x 4 x 6
EO x 4 x 5 x 7
EQ x 3 x 4 x 6
ILF x 7 x 10 x 15
EIF x 5 x 7 x 10
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
31/32
Copyright 2004. International Function Point User Group 200431
..
Value Adjustment Factor
Based on 14 General SystemCharacteristics (User BusinessConstraints Independent of Technology)
Examples: data communications, responsetimes, end user efficiency, multiple sitesand flexibility
Adjusts FP count by up to + / - 35%
-
8/10/2019 IFPUG2004 04 Aguiar Introduction to Function Point Analysis
32/32
Copyright 2004. International Function Point User Group 200432
..
Questions ?