SlideShare uma empresa Scribd logo
1 de 20
Function Point Analysis:
                 An Overview
                      David Herron
           David Consulting Group
d.herron@davidconsultinggroup.com
International Function Point Users Group
• Function Points were introduced in 1979 by A. Albrecht, IBM,
  at joint Share/ Guide Conference
• IFPUG chartered in 1986
• IFPUG Purpose
     • To promote and encourage use of Function Points
     • To develop consistent and accurate counting guidelines
     • Maintains Public Standard for Sizing Software (CPM)
• Benefits:
     •    Networking with other counters
     •    Management Reporting
     •    Research projects
     •    Website
     •    Certifications for Function Point Methodology

  ©2012 David Consulting Group            1
Function Point History
•         Now used world-wide in North America, Central
          America, South America, Australia, Europe, and Asia
•         Recognized Functional Size Measure for ISO Standards
•         Functional size measurement (FSM) method which is an
          International Standard in compliance with ISO/IEC 14143-
          1:2007
•         IFPUG White Papers published on a variety of
          measurement-related topics
•         IFPUG CPM Version 4.3 issued in 2009, effective 2010
•         IFPUG - Certifications in FPA and Software Measurement
•         ISMA - Fall Conferences on Metrics and Measurement
•         Website : www.ifpug.org


    ©2012 David Consulting Group    2
Why Function Point Analysis?
           Function Point Analysis is the method for measuring
        functional size as defined within the IFPUG FSM Method.

     • Standardized method for measuring the functionality
       delivered to an end user
     • Consistent
     • Available early in the lifecycle
     • Acceptable level of accuracy
     • Meaningful internally and externally

     FSM is accomplished using the information in a language that is
     common to both user(s) and developer(s).

     IFPUG FSM Method is the major global functional sizing methodology.



©2012 David Consulting Group         3
What is (are) Function Points?
• Unit of measure for functional size as defined within the
  IFPUG Functional Size Measurement (FSM) Method
• Standard method for quantifying the software deliverable
  based upon the user view
• User is any person or thing that communicates or interacts
  with the software at any time
• User View is the Functional User Requirements as
  perceived by the user
• Functional user requirements are a subset of user
  requirements: requirements that describe what the
  software shall do, in terms of tasks and services


 ©2012 David Consulting Group   4
Functional vs. Non- Functional
  Requirements
Functional
• Data Transfer (Input customer data, send control signal, send transactions
  from one system to another)
• Data Transformation (Calculate bank interest; derive average temperature; use
  billing data to produce invoice totals)
• Data Storage (Store customer order; record temperature over time; store
  control parameters to drive data)
• Data Retrieval (List current employees; retrieve satellite position; display a
  report of employee dependents)

Non-Functional
• Quality Constraints (Usability, Reliability, Efficiency, Portability)
• Organizational Constraints (locations for operations, target
  hardware, compliance to standards)
• Environmental Constraints (interoperability, security, privacy, safety)
• Implementation constraints (development language, delivery schedule)

 ©2012 David Consulting Group                5
What Do We Count? The Logical View.

             Function Points looks at                     Vs.              Physical View
                the logical View

                          Functionality
                        [“The ability to”]                                    Lines of code or
                                                                                 programs


      Logically grouped stores of user data                                    Databases or
            [Data in 3rd normal form]                                            Tables


               Elementary processes                                               Physical
           [complete function, e.g., wizard]                                   transactions
                                                                                 (screens)



                                 Typically the user requirements reflect the logical view




©2012 David Consulting Group                                6
What Do We Count?

      INPUT FILES AND INPUT
          TRANSACTIONS               APPLICATION
       (BATCH INTERFACES)             BOUNDARY
                                                                 OUTPUT FILES
                                                                 AND OUTPUT
                                                                TRANSACTIONS
                                                             (BATCH INTERFACES)
             SCREENS             INTERNAL LOGICAL FILES
          (ADDS, CHANGES,          (TABLES, DATA FILES,
         DELETES, QUERIES)           CONTROL FILES)             OTHER OUTPUTS
                                                             •REPORTS
                                                             •FILES
                                                             •XML
                                                             •VIEWS
     CONTROL INFORMATION                                     •FICHE
                                                             •TAPE
                                                             •DISKETTES
                                        EXTERNAL             •LETTERS
                               TABLES & FILES REFERENCED     •NOTICES
                                   from other applications   •ALARMS
                                      (Not Maintained)




©2012 David Consulting Group               7
What Do We Count? The Logical View.

                                                                             External
                                              External       External        Inquiry
                                             Input (EI)       Output           (EQ)
                                                               (EO)


                                External
                                Input (EI)                Internal Logical               External
                                                          File (ILF)                     Interface File
      Other                                                                              (EIF)
   Applications                                           Internal Logical
                                                          File (ILF)
                                                                                          Other
                                                                                        Applications
                                External
                               Output (EO)            Application
                                                       Boundary




©2012 David Consulting Group                                       8
How Do We Count?
• Gather available documentation
• Determine the counting scope, boundaries and identify functional user
  requirements
• Identify and classify the base functional components
          – Measure the data functions
                    • Internal Groupings of data called Internal Logical Files (ILF)
                    • External Groupings of data or External Interface Files (EIF)
          – Measure the transactional functions
                    • External Inputs (EI)
                    • External Outputs (EO)
                    • External Inquires (EQ)
          – Each function is assigned a functional complexity (L-A-H) and a weight
            (FPs)
• Calculate the functional size
• Document the Function Point Count
• Report the result of the Function Point Count
©2012 David Consulting Group                           9
Gather Available Documentation
• Should describe the functionality delivered by the software
  or the functionality that is impacted by the software project
  that is being measured

• Sufficient to conduct the count, or have access to subject
  matter experts who are able to provide additional
  information to address gaps in the documentation

• Requirements, data/object models, class diagrams, data
  flows, use cases, process descriptions, report
  layouts, screen layouts, user manuals


©2012 David Consulting Group   10
Scope and Boundary
• An application boundary is a conceptual interface between
  the software under study and its users.

• Scope of a project could include multiple applications.

• A functional size would be calculated for each affected
  application, in perspective to its boundary, thereby
  producing its own count

• All affected application counts would be compiled to
  produce the total project count.


©2012 David Consulting Group   11
Identify, Classify, Calculate
1. Identity and classify system components that are user
   identifiable - files, reports, inputs, outputs, transactions
   (System functions)
2. Classify system components into base functional
          components categories. {Report could be an External
          Output}
3. Measure each entity by applying a complexity rating (low,
          average, high) and a weight (in function points). {High
          Output = 7 FPs}
4. Calculate: Add all the weights together to get an
          (unadjusted) function point count

©2012 David Consulting Group        12
Component Complexity & Weights
• FP Counting is based on Identification Rules and
  Complexity Rules (CPM)
• Components are assessed based upon complexity
  according to the rules
                                                     Complexity

   Components:                      Low                Avg.        High       Total
   Internal Logical File (ILF)     __   x        7   __   x 10    __   x 15   ___
   External Interface File (EIF)   __   x        5   __   x 7     __   x 10   ___
   External Input (EI)             __   x        3   __   x 4     __   x 6    ___
   External Output (EO)            __   x        4   __   x 5     __   x 7    ___
   External Inquiry (EQ)           __   x        3   __   x 4     __   x 6    ___




©2012 David Consulting Group                13
What Can We Count?
    Any system that has inputs or outputs and has
       and/or uses data or control information.

• Installed application: Baseline (or application) count
• Development project: New system or subsystem
• Enhancement project: Add, change or delete to
  present system (includes minor enhancements)
• Non-functional (technical) requirements
  are not countable for some types of maintenance




©2012 David Consulting Group   14
What Can We Count?
Enhancement vs. Maintenance
• Adaptive Maintenance – Software maintenance performed to make
  a computer program usable in a changed environment
          – Includes modifications to meet new or changing business or technical
            requirements
          – Initiated by business requests (user requests that may be functional or non-
            functional requirements)
          – “Enhancement” requests are a subset of this group
• Corrective Maintenance – Software maintenance performed to
  correct faults in hardware or software
          – Includes defect repair
          – Ensures that previously delivered functionality performs as required
          – Effort should be attributed to the original project that introduced the defect
• Perfective Maintenance – Software maintenance performed to
  improve the performance, maintainability, or other attributes of a
  computer program
          – Includes system upgrades, performance optimization, platform service
            agreement maintenance
          – No business functionality – typically non-functional requirements


©2012 David Consulting Group                  15
What Can We Count?
Enhancement vs. Maintenance
•         Function Point Analysis is applicable to a subset of
          Adaptive Maintenance
•         Function Point Analysis should not be used to size
          Perfective or Corrective Maintenance work.
•         Mixing enhancement work with maintenance work can be
          expedient or necessary, even efficient, but the hours must
          be tracked separately
•         For accurate metrics, separation of work effort is
          necessary
•         Preventative and/or corrective maintenance have zero
          function points
•         Packing into releases and apportioning releases is usually
          the most manageable approach
©2012 David Consulting Group        16
Using
FP   WHEN Can We Count?

    PROPOSAL                                     DESIGN      CONSTRUCTION         TESTING         DELIVERY            CORRECTIVE
                             REQUIREMENTS
                                                                                                                      MAINTENANCE



                                  Initial User
     Feasibility                  Requirements    Function                                        Function                Function
     Study                                                                                         Points                  Points
                                                   Points


                                  Initial        Revised                                           Actual
                                  Technical      Estimate                                           Size
                                  Requirements
                                                 Counted                                          Counted
                                                                                         Size can be        Size can be
                                                                     Life Cycle Phase   approximated        measured?
                                  Final
                                                                                              ?
                                  Functional
                                  Requirements
                                                                     Proposal                Yes                No
                                                                     Requirements           Yes                Yes
                                                                     Design                 Yes                Yes
                                                                     Construction           Yes                Yes
                                  Function
                                                                     Delivery               Yes                Yes
                                   Points                            Corrective             Yes                Yes
                                                                     Maintenance
                           Early
                          Estimate
                        Approximated


   ©2012 David Consulting Group                                 17
Why Do We Count? – Benefits of FPA
• Requirements Management. A tool to determine the benefit of an application
  to an organization by counting functions that specifically match functional
  requirements
• Benchmarking. Measure software development and maintenance activities
  independently of technology used for implementation for comparisons
• Increase Process Capability.
          – Metrics. Provide a consistent, normalized measure across various
            projects, organizations and technology platforms to support performance
            (quality and productivity) analysis
          – Estimation Modeling. A vehicle to estimate cost and resources required
            for software development and maintenance (Must also consider project
            attributes, work breakdown structure, etc.)
• Size Customized and COTs. A tool to size purchased application package
• Client-Supplier Relationships. Establish service level agreement (SLA)
  targets and tolerances.



©2012 David Consulting Group                18
Contact Us
Email: d.herron@davidconsultinggroup.com

Phone: 1-610-644-2856, ext 21

http://www.davidconsultinggroup.com


          @DavidConsultGrp
          /DavidConsultGrp
          /company/David-Consulting-Group




©2012 David Consulting Group          19

Mais conteúdo relacionado

Mais procurados

Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)ShudipPal
 
Pressman ch-1-software
Pressman ch-1-softwarePressman ch-1-software
Pressman ch-1-softwareAlenaDion
 
Chapter 7 software reliability
Chapter 7 software reliabilityChapter 7 software reliability
Chapter 7 software reliabilitydespicable me
 
Linux kernel Architecture and Properties
Linux kernel Architecture and PropertiesLinux kernel Architecture and Properties
Linux kernel Architecture and PropertiesSaadi Rahman
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)kunj desai
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
 
Software project management introduction
Software project management introductionSoftware project management introduction
Software project management introductionKanchana Devi
 
An Introduction to Software Failure Modes Effects Analysis (SFMEA)
An Introduction to Software Failure Modes Effects Analysis (SFMEA)An Introduction to Software Failure Modes Effects Analysis (SFMEA)
An Introduction to Software Failure Modes Effects Analysis (SFMEA)Ann Marie Neufelder
 
Software Re-Engineering
Software Re-EngineeringSoftware Re-Engineering
Software Re-EngineeringSaqib Raza
 
Ch08-Architecture Design
Ch08-Architecture DesignCh08-Architecture Design
Ch08-Architecture DesignFajar Baskoro
 
software effort estimation
 software effort estimation software effort estimation
software effort estimationBesharam Dil
 
Basic Software Effort Estimation
Basic Software Effort EstimationBasic Software Effort Estimation
Basic Software Effort Estimationumair khan
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTKathirvel Ayyaswamy
 
Boehm Software Quality Model
Boehm Software Quality ModelBoehm Software Quality Model
Boehm Software Quality ModelProfessional QA
 
Software Project Management( lecture 1)
Software Project Management( lecture 1)Software Project Management( lecture 1)
Software Project Management( lecture 1)Syed Muhammad Hammad
 

Mais procurados (20)

Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)
 
Pressman ch-1-software
Pressman ch-1-softwarePressman ch-1-software
Pressman ch-1-software
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Chapter 7 software reliability
Chapter 7 software reliabilityChapter 7 software reliability
Chapter 7 software reliability
 
Linux kernel Architecture and Properties
Linux kernel Architecture and PropertiesLinux kernel Architecture and Properties
Linux kernel Architecture and Properties
 
Software process
Software processSoftware process
Software process
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Software project management introduction
Software project management introductionSoftware project management introduction
Software project management introduction
 
An Introduction to Software Failure Modes Effects Analysis (SFMEA)
An Introduction to Software Failure Modes Effects Analysis (SFMEA)An Introduction to Software Failure Modes Effects Analysis (SFMEA)
An Introduction to Software Failure Modes Effects Analysis (SFMEA)
 
Software Re-Engineering
Software Re-EngineeringSoftware Re-Engineering
Software Re-Engineering
 
Ch08-Architecture Design
Ch08-Architecture DesignCh08-Architecture Design
Ch08-Architecture Design
 
Software Verification & Validation
Software Verification & ValidationSoftware Verification & Validation
Software Verification & Validation
 
software effort estimation
 software effort estimation software effort estimation
software effort estimation
 
Basic Software Effort Estimation
Basic Software Effort EstimationBasic Software Effort Estimation
Basic Software Effort Estimation
 
Documenting Software Architectures
Documenting Software ArchitecturesDocumenting Software Architectures
Documenting Software Architectures
 
Ch2 sw processes
Ch2 sw processesCh2 sw processes
Ch2 sw processes
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENT
 
Boehm Software Quality Model
Boehm Software Quality ModelBoehm Software Quality Model
Boehm Software Quality Model
 
Software Project Management( lecture 1)
Software Project Management( lecture 1)Software Project Management( lecture 1)
Software Project Management( lecture 1)
 

Semelhante a Function Point Analysis: An Overview

Sizing Your Software: A Fast Path Approach
Sizing Your Software: A Fast Path ApproachSizing Your Software: A Fast Path Approach
Sizing Your Software: A Fast Path ApproachDCG Software Value
 
Software estimation using fp analysis
Software estimation using fp analysis Software estimation using fp analysis
Software estimation using fp analysis Rohit Sinha
 
Software estimation using fp analysis
Software estimation using fp analysisSoftware estimation using fp analysis
Software estimation using fp analysisrohitsinha99
 
Solutions for Sage Customers from Robert Lavery
Solutions for Sage Customers from Robert LaverySolutions for Sage Customers from Robert Lavery
Solutions for Sage Customers from Robert LaverySuzanne Spear
 
ISO 15926 Reference Data Engineering Methodology
ISO 15926 Reference Data Engineering MethodologyISO 15926 Reference Data Engineering Methodology
ISO 15926 Reference Data Engineering MethodologyAnatoly Levenchuk
 
How Salesforce.com uses Hadoop
How Salesforce.com uses HadoopHow Salesforce.com uses Hadoop
How Salesforce.com uses HadoopNarayan Bharadwaj
 
Fusion app tech_con8707_pdf_8707_0001
Fusion app tech_con8707_pdf_8707_0001Fusion app tech_con8707_pdf_8707_0001
Fusion app tech_con8707_pdf_8707_0001jucaab
 
How salesforce.com Uses Hadoop Webinar
How salesforce.com Uses Hadoop WebinarHow salesforce.com Uses Hadoop Webinar
How salesforce.com Uses Hadoop WebinarSalesforce Developers
 
IT Discovery: Automated Global Assessment
IT Discovery: Automated Global AssessmentIT Discovery: Automated Global Assessment
IT Discovery: Automated Global AssessmentHaim Ben Zagmi
 
Se6162 analysis concept and principles
Se6162 analysis concept and principlesSe6162 analysis concept and principles
Se6162 analysis concept and principleskhaerul azmi
 
Dreamforce_2012_Hadoop_Use_Cases
Dreamforce_2012_Hadoop_Use_CasesDreamforce_2012_Hadoop_Use_Cases
Dreamforce_2012_Hadoop_Use_CasesNarayan Bharadwaj
 
End user computing feri sulianta
End user computing   feri suliantaEnd user computing   feri sulianta
End user computing feri suliantaferisulianta.com
 
CA 2E Best Practice Assessments
CA 2E Best Practice AssessmentsCA 2E Best Practice Assessments
CA 2E Best Practice AssessmentsADC Austin Tech
 

Semelhante a Function Point Analysis: An Overview (20)

Overview of Function Points Analysis
Overview of Function Points Analysis Overview of Function Points Analysis
Overview of Function Points Analysis
 
Sizing Your Software: A Fast Path Approach
Sizing Your Software: A Fast Path ApproachSizing Your Software: A Fast Path Approach
Sizing Your Software: A Fast Path Approach
 
How Salesforce.com Uses Hadoop
How Salesforce.com Uses HadoopHow Salesforce.com Uses Hadoop
How Salesforce.com Uses Hadoop
 
Software estimation using fp analysis
Software estimation using fp analysis Software estimation using fp analysis
Software estimation using fp analysis
 
Software estimation using fp analysis
Software estimation using fp analysisSoftware estimation using fp analysis
Software estimation using fp analysis
 
Solutions for Sage Customers from Robert Lavery
Solutions for Sage Customers from Robert LaverySolutions for Sage Customers from Robert Lavery
Solutions for Sage Customers from Robert Lavery
 
Ju2517321735
Ju2517321735Ju2517321735
Ju2517321735
 
Ju2517321735
Ju2517321735Ju2517321735
Ju2517321735
 
Function points and elements
Function points and elementsFunction points and elements
Function points and elements
 
ISO 15926 Reference Data Engineering Methodology
ISO 15926 Reference Data Engineering MethodologyISO 15926 Reference Data Engineering Methodology
ISO 15926 Reference Data Engineering Methodology
 
How Salesforce.com uses Hadoop
How Salesforce.com uses HadoopHow Salesforce.com uses Hadoop
How Salesforce.com uses Hadoop
 
03 requirement engineering_process
03 requirement engineering_process03 requirement engineering_process
03 requirement engineering_process
 
Fusion app tech_con8707_pdf_8707_0001
Fusion app tech_con8707_pdf_8707_0001Fusion app tech_con8707_pdf_8707_0001
Fusion app tech_con8707_pdf_8707_0001
 
How salesforce.com Uses Hadoop Webinar
How salesforce.com Uses Hadoop WebinarHow salesforce.com Uses Hadoop Webinar
How salesforce.com Uses Hadoop Webinar
 
IT Discovery: Automated Global Assessment
IT Discovery: Automated Global AssessmentIT Discovery: Automated Global Assessment
IT Discovery: Automated Global Assessment
 
Se6162 analysis concept and principles
Se6162 analysis concept and principlesSe6162 analysis concept and principles
Se6162 analysis concept and principles
 
Dreamforce_2012_Hadoop_Use_Cases
Dreamforce_2012_Hadoop_Use_CasesDreamforce_2012_Hadoop_Use_Cases
Dreamforce_2012_Hadoop_Use_Cases
 
End user computing feri sulianta
End user computing   feri suliantaEnd user computing   feri sulianta
End user computing feri sulianta
 
CA 2E Best Practice Assessments
CA 2E Best Practice AssessmentsCA 2E Best Practice Assessments
CA 2E Best Practice Assessments
 
ERP by saeed
ERP by saeedERP by saeed
ERP by saeed
 

Último

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Último (20)

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Function Point Analysis: An Overview

  • 1. Function Point Analysis: An Overview David Herron David Consulting Group d.herron@davidconsultinggroup.com
  • 2. International Function Point Users Group • Function Points were introduced in 1979 by A. Albrecht, IBM, at joint Share/ Guide Conference • IFPUG chartered in 1986 • IFPUG Purpose • To promote and encourage use of Function Points • To develop consistent and accurate counting guidelines • Maintains Public Standard for Sizing Software (CPM) • Benefits: • Networking with other counters • Management Reporting • Research projects • Website • Certifications for Function Point Methodology ©2012 David Consulting Group 1
  • 3. Function Point History • Now used world-wide in North America, Central America, South America, Australia, Europe, and Asia • Recognized Functional Size Measure for ISO Standards • Functional size measurement (FSM) method which is an International Standard in compliance with ISO/IEC 14143- 1:2007 • IFPUG White Papers published on a variety of measurement-related topics • IFPUG CPM Version 4.3 issued in 2009, effective 2010 • IFPUG - Certifications in FPA and Software Measurement • ISMA - Fall Conferences on Metrics and Measurement • Website : www.ifpug.org ©2012 David Consulting Group 2
  • 4. Why Function Point Analysis? Function Point Analysis is the method for measuring functional size as defined within the IFPUG FSM Method. • Standardized method for measuring the functionality delivered to an end user • Consistent • Available early in the lifecycle • Acceptable level of accuracy • Meaningful internally and externally FSM is accomplished using the information in a language that is common to both user(s) and developer(s). IFPUG FSM Method is the major global functional sizing methodology. ©2012 David Consulting Group 3
  • 5. What is (are) Function Points? • Unit of measure for functional size as defined within the IFPUG Functional Size Measurement (FSM) Method • Standard method for quantifying the software deliverable based upon the user view • User is any person or thing that communicates or interacts with the software at any time • User View is the Functional User Requirements as perceived by the user • Functional user requirements are a subset of user requirements: requirements that describe what the software shall do, in terms of tasks and services ©2012 David Consulting Group 4
  • 6. Functional vs. Non- Functional Requirements Functional • Data Transfer (Input customer data, send control signal, send transactions from one system to another) • Data Transformation (Calculate bank interest; derive average temperature; use billing data to produce invoice totals) • Data Storage (Store customer order; record temperature over time; store control parameters to drive data) • Data Retrieval (List current employees; retrieve satellite position; display a report of employee dependents) Non-Functional • Quality Constraints (Usability, Reliability, Efficiency, Portability) • Organizational Constraints (locations for operations, target hardware, compliance to standards) • Environmental Constraints (interoperability, security, privacy, safety) • Implementation constraints (development language, delivery schedule) ©2012 David Consulting Group 5
  • 7. What Do We Count? The Logical View. Function Points looks at Vs. Physical View the logical View Functionality [“The ability to”] Lines of code or programs Logically grouped stores of user data Databases or [Data in 3rd normal form] Tables Elementary processes Physical [complete function, e.g., wizard] transactions (screens) Typically the user requirements reflect the logical view ©2012 David Consulting Group 6
  • 8. What Do We Count? INPUT FILES AND INPUT TRANSACTIONS APPLICATION (BATCH INTERFACES) BOUNDARY OUTPUT FILES AND OUTPUT TRANSACTIONS (BATCH INTERFACES) SCREENS INTERNAL LOGICAL FILES (ADDS, CHANGES, (TABLES, DATA FILES, DELETES, QUERIES) CONTROL FILES) OTHER OUTPUTS •REPORTS •FILES •XML •VIEWS CONTROL INFORMATION •FICHE •TAPE •DISKETTES EXTERNAL •LETTERS TABLES & FILES REFERENCED •NOTICES from other applications •ALARMS (Not Maintained) ©2012 David Consulting Group 7
  • 9. What Do We Count? The Logical View. External External External Inquiry Input (EI) Output (EQ) (EO) External Input (EI) Internal Logical External File (ILF) Interface File Other (EIF) Applications Internal Logical File (ILF) Other Applications External Output (EO) Application Boundary ©2012 David Consulting Group 8
  • 10. How Do We Count? • Gather available documentation • Determine the counting scope, boundaries and identify functional user requirements • Identify and classify the base functional components – Measure the data functions • Internal Groupings of data called Internal Logical Files (ILF) • External Groupings of data or External Interface Files (EIF) – Measure the transactional functions • External Inputs (EI) • External Outputs (EO) • External Inquires (EQ) – Each function is assigned a functional complexity (L-A-H) and a weight (FPs) • Calculate the functional size • Document the Function Point Count • Report the result of the Function Point Count ©2012 David Consulting Group 9
  • 11. Gather Available Documentation • Should describe the functionality delivered by the software or the functionality that is impacted by the software project that is being measured • Sufficient to conduct the count, or have access to subject matter experts who are able to provide additional information to address gaps in the documentation • Requirements, data/object models, class diagrams, data flows, use cases, process descriptions, report layouts, screen layouts, user manuals ©2012 David Consulting Group 10
  • 12. Scope and Boundary • An application boundary is a conceptual interface between the software under study and its users. • Scope of a project could include multiple applications. • A functional size would be calculated for each affected application, in perspective to its boundary, thereby producing its own count • All affected application counts would be compiled to produce the total project count. ©2012 David Consulting Group 11
  • 13. Identify, Classify, Calculate 1. Identity and classify system components that are user identifiable - files, reports, inputs, outputs, transactions (System functions) 2. Classify system components into base functional components categories. {Report could be an External Output} 3. Measure each entity by applying a complexity rating (low, average, high) and a weight (in function points). {High Output = 7 FPs} 4. Calculate: Add all the weights together to get an (unadjusted) function point count ©2012 David Consulting Group 12
  • 14. Component Complexity & Weights • FP Counting is based on Identification Rules and Complexity Rules (CPM) • Components are assessed based upon complexity according to the rules Complexity Components: Low Avg. High Total Internal Logical File (ILF) __ x 7 __ x 10 __ x 15 ___ External Interface File (EIF) __ x 5 __ x 7 __ x 10 ___ External Input (EI) __ x 3 __ x 4 __ x 6 ___ External Output (EO) __ x 4 __ x 5 __ x 7 ___ External Inquiry (EQ) __ x 3 __ x 4 __ x 6 ___ ©2012 David Consulting Group 13
  • 15. What Can We Count? Any system that has inputs or outputs and has and/or uses data or control information. • Installed application: Baseline (or application) count • Development project: New system or subsystem • Enhancement project: Add, change or delete to present system (includes minor enhancements) • Non-functional (technical) requirements are not countable for some types of maintenance ©2012 David Consulting Group 14
  • 16. What Can We Count? Enhancement vs. Maintenance • Adaptive Maintenance – Software maintenance performed to make a computer program usable in a changed environment – Includes modifications to meet new or changing business or technical requirements – Initiated by business requests (user requests that may be functional or non- functional requirements) – “Enhancement” requests are a subset of this group • Corrective Maintenance – Software maintenance performed to correct faults in hardware or software – Includes defect repair – Ensures that previously delivered functionality performs as required – Effort should be attributed to the original project that introduced the defect • Perfective Maintenance – Software maintenance performed to improve the performance, maintainability, or other attributes of a computer program – Includes system upgrades, performance optimization, platform service agreement maintenance – No business functionality – typically non-functional requirements ©2012 David Consulting Group 15
  • 17. What Can We Count? Enhancement vs. Maintenance • Function Point Analysis is applicable to a subset of Adaptive Maintenance • Function Point Analysis should not be used to size Perfective or Corrective Maintenance work. • Mixing enhancement work with maintenance work can be expedient or necessary, even efficient, but the hours must be tracked separately • For accurate metrics, separation of work effort is necessary • Preventative and/or corrective maintenance have zero function points • Packing into releases and apportioning releases is usually the most manageable approach ©2012 David Consulting Group 16
  • 18. Using FP WHEN Can We Count? PROPOSAL DESIGN CONSTRUCTION TESTING DELIVERY CORRECTIVE REQUIREMENTS MAINTENANCE Initial User Feasibility Requirements Function Function Function Study Points Points Points Initial Revised Actual Technical Estimate Size Requirements Counted Counted Size can be Size can be Life Cycle Phase approximated measured? Final ? Functional Requirements Proposal Yes No Requirements Yes Yes Design Yes Yes Construction Yes Yes Function Delivery Yes Yes Points Corrective Yes Yes Maintenance Early Estimate Approximated ©2012 David Consulting Group 17
  • 19. Why Do We Count? – Benefits of FPA • Requirements Management. A tool to determine the benefit of an application to an organization by counting functions that specifically match functional requirements • Benchmarking. Measure software development and maintenance activities independently of technology used for implementation for comparisons • Increase Process Capability. – Metrics. Provide a consistent, normalized measure across various projects, organizations and technology platforms to support performance (quality and productivity) analysis – Estimation Modeling. A vehicle to estimate cost and resources required for software development and maintenance (Must also consider project attributes, work breakdown structure, etc.) • Size Customized and COTs. A tool to size purchased application package • Client-Supplier Relationships. Establish service level agreement (SLA) targets and tolerances. ©2012 David Consulting Group 18
  • 20. Contact Us Email: d.herron@davidconsultinggroup.com Phone: 1-610-644-2856, ext 21 http://www.davidconsultinggroup.com @DavidConsultGrp /DavidConsultGrp /company/David-Consulting-Group ©2012 David Consulting Group 19

Notas do Editor

  1. Welcome to DCG’s Function Point Analysis: Sizing the Software Deliverable Series. Function Point Fundamentals is the first course in a series of courses built to help you become a proficient counter, and should you choose to do so, become a Certified Function Point Specialist (CFPS).
  2. Function points were introduced in 1979 by Alan Albrecht, from IBM. IBM needed a way to quantity the size of their projects in order to provide a better estimation model for their workload. Function points was the answer and in 1986 the International Function Point Users Group was chartered to be the governing body for the function point methodology. IFPUG is a not-for-profit organization consisting of an elected board of directors, and several committees devoted to supporting, developing and implementing consistent and accurate counting guidelines. The Counting Practices Committee (CPC) develops the counting guidelines and the Counting Practices Manual (Documented Rules), the New Environments Committee (NEC) applies those guidelines to new technologies and produces white papers and case studies for use by the IFPUG membership, the IT Performance Committee explores the use of function points in benchmarking and estimation modeling, and other committees oversee the certifications provided by IFPUG. Benefits of being an IFPUG member include reduced pricing for conferences and IFPUG training during the conferences, access to resource material (e.g. articles and white papers), and networking capabilities with the IT community that shares a common interest in metrics and function points.
  3. Function points only address the functional requirements and are from a logical view not a physical view. A typical developer would be looking at programs, physical database tables, and physical screens. We as function point specialists (counters) look at the functionality provided by the screens (transactions), logical data groupings of tables, and the ability of the application to perform a complete process. Typically, business user requirements reflect the logical view.
  4. Which of these things are the most important to you or frustrating or challenges…
  5. This slide concludes the class sessions. This is the first of several classes that we offer in the use of function points. If you want further mentoring or training for the individual or the organization, please contact Fiona Thompson at the DCG Headquarters or Sheila Dennis in the Colorado offices.