ifpug2004 04 aguiar introduction to function point analysis

Upload: suchhando

Post on 02-Jun-2018

219 views

Category:

Documents


0 download

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 ?