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

Unit iii(part c - user interface design)
Unit   iii(part c - user interface design)Unit   iii(part c - user interface design)
Unit iii(part c - user interface design)BALAJI A
 
Ch10-Software Engineering 9
Ch10-Software Engineering 9Ch10-Software Engineering 9
Ch10-Software Engineering 9Ian Sommerville
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements EngineeringBenoy Ramachandran
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4Mohammed Romi
 
Software engineering unit 1
Software engineering unit 1Software engineering unit 1
Software engineering unit 1gondwana university
 
Ch 4 software engineering
Ch 4 software engineeringCh 4 software engineering
Ch 4 software engineeringMohammed Romi
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models Satya P. Joshi
 
Chapter 16
Chapter 16Chapter 16
Chapter 16Benjamin Yu
 
The process and stages of system design
The process and stages of system designThe process and stages of system design
The process and stages of system designJahidul Islam
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tacticsPreeti Mishra
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration ManagementSaqib Raza
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceRizky Munggaran
 
Ch9-Software Engineering 9
Ch9-Software Engineering 9Ch9-Software Engineering 9
Ch9-Software Engineering 9Ian Sommerville
 
Software Development Process
Software Development ProcessSoftware Development Process
Software Development ProcessAmira Elsayed Ismail
 

Mais procurados (20)

Unit iii(part c - user interface design)
Unit   iii(part c - user interface design)Unit   iii(part c - user interface design)
Unit iii(part c - user interface design)
 
Software Verification & Validation
Software Verification & ValidationSoftware Verification & Validation
Software Verification & Validation
 
Ch2 sw processes
Ch2 sw processesCh2 sw processes
Ch2 sw processes
 
SE Unit 1
SE Unit 1SE Unit 1
SE Unit 1
 
Ch10-Software Engineering 9
Ch10-Software Engineering 9Ch10-Software Engineering 9
Ch10-Software Engineering 9
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4
 
Ch20 systems of systems
Ch20 systems of systemsCh20 systems of systems
Ch20 systems of systems
 
Software engineering unit 1
Software engineering unit 1Software engineering unit 1
Software engineering unit 1
 
Ch 4 software engineering
Ch 4 software engineeringCh 4 software engineering
Ch 4 software engineering
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 
Chapter 16
Chapter 16Chapter 16
Chapter 16
 
Ch7 implementation
Ch7 implementationCh7 implementation
Ch7 implementation
 
The process and stages of system design
The process and stages of system designThe process and stages of system design
The process and stages of system design
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Process Models IN software Engineering
Process Models IN software EngineeringProcess Models IN software Engineering
Process Models IN software Engineering
 
Ch9-Software Engineering 9
Ch9-Software Engineering 9Ch9-Software Engineering 9
Ch9-Software Engineering 9
 
Software Development Process
Software Development ProcessSoftware Development Process
Software Development Process
 

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
 
How Salesforce.com Uses Hadoop
How Salesforce.com Uses HadoopHow Salesforce.com Uses Hadoop
How Salesforce.com Uses HadoopSalesforce Developers
 
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
 
Ju2517321735
Ju2517321735Ju2517321735
Ju2517321735IJERA Editor
 
Ju2517321735
Ju2517321735Ju2517321735
Ju2517321735IJERA Editor
 
Function points and elements
Function points and elementsFunction points and elements
Function points and elementsBusi Sreedhaar Reddy
 
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
 
Function Points
Function PointsFunction Points
Function Points
 
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
 

Último

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
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
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
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
 
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
 

Último (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
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...
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
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...
 

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.