Functional Point Analysis1

download Functional Point Analysis1

of 70

Transcript of Functional Point Analysis1

  • 8/2/2019 Functional Point Analysis1

    1/70

    By

    Aparna Naik

    www.DestinationQA.com

    Software Testing and QA

    www.destinationqa.com 1

  • 8/2/2019 Functional Point Analysis1

    2/70

    Agenda

    What is Software Sizing

    Need for Software Sizing Software Sizing Methodologies

    Introduction to Function Point Analysis (FPA)

    Process of Counting Function Points

    Adjustment Factors in Function Point Analysis

    Function Point Count Types Case Study

    www.destinationqa.com 2

  • 8/2/2019 Functional Point Analysis1

    3/70

    Software Sizing

    www.destinationqa.com 3

  • 8/2/2019 Functional Point Analysis1

    4/70

    Software Sizing

    Software sizing is an activity in software engineering that

    is used to estimate the size of a software application or

    component in order to be able to implement other

    software project management activities (such asestimating or tracking).

    www.destinationqa.com 4

    Size is an inherent characteristic of a piece of softwarejust like weight is an inherent characteristic of a tangible

    material.

    http://en.wikipedia.org/wiki/Weighthttp://en.wikipedia.org/wiki/Weight
  • 8/2/2019 Functional Point Analysis1

    5/70

    Need for Software Sizing

    www.destinationqa.com 5

  • 8/2/2019 Functional Point Analysis1

    6/70

    What do you see on the Surface?

    The image represents the tip of an iceberg. The real issue is not the tip, but what is under

    the surface of the water and can not be seen. The same is true when you design a software

    application.

    www.destinationqa.com 6

  • 8/2/2019 Functional Point Analysis1

    7/70

    Airline Surface

    This appears on the surface to be a simple inquiry, but this is extremely complex.

    The process actually includes 1,000s of elementary processes, but the end user is

    only exposed to a very simple process.

    All possible routes are calculated, city names are converted to their internationalthree characters, interfaces are sent to all the airline carriers (each one being

    unique), this is an extremely complex and robust process! When we size software

    applications we want to understand what is exposed and what is under the surface.

    www.destinationqa.com 7

  • 8/2/2019 Functional Point Analysis1

    8/70

    Need for Software Sizing

    www.destinationqa.com 8

    Some common reasons for sizing the software are:

    1. To Measure and Manage Productivity

    2. Estimation and budgeting

    3. Monitoring Progress

    4. Evaluating Requirements coverage for buying new Software5. Bidding for projects

    6. Allocating Testing Resources

    7. Risk Assessment

    8. Phasing Development Work

    9. Prioritizing Work

    10. Software Asset Valuation11. Outsourcing Software Development, Support or Maintenance.

    12. CMMi Level 2 and 3 require that a valid sizing method be used.

  • 8/2/2019 Functional Point Analysis1

    9/70

    Software Sizing Methodologies

    www.destinationqa.com 9

    Some of the common software sizing methodologies are:

    1. Lines of Code (Oldest)

    2. Use Case based Software Sizing

    3. COSMIC - Common Software Measurement International Consortium (ISO)

    4. IPFUG Function Point Analysis (ISO)

    5. Mk II Function Point Analysis (ISO)

  • 8/2/2019 Functional Point Analysis1

    10/70

    Software Sizing Lines of Code

    www.destinationqa.com 10

    Historically, the most common software sizing methodology has been counting the lines ofcode written in the application source

    Advantages:

    1. Automation of the counting process is possible.

    2. Intuitive - Can be seen and effect can be visualized.

    Disadvantages:

    1. Lack of Accountability - The coding phase is only 30 - 35% of the total effort.

    2. Very difficult to standardize lines of code for a particular function as it heavily depends

    on Skill level of the programmer, programming language, etc.3. Lack of counting standards (Do comments count? Data Declarations? etc)

    Hence a more mature Sizing Algorithm was needed.

  • 8/2/2019 Functional Point Analysis1

    11/70www.destinationqa.com 11

  • 8/2/2019 Functional Point Analysis1

    12/70

    History

    www.destinationqa.com 12

    The idea of measuring a size of software in terms of its functionality as opposed to

    its physical components was first put forward by Allan Albrecht of IBM in 1979 He proposed a method called Function Point Analysis which has since evolved into

    the IFPUG method.

    The definition of this method is now managed by the International Function Point

    Users Group.

    Albrechts clever piece of lateral thinking laid the foundations for the subject offunctional size measurement.

    The IFPUG method actually has two components, firstly concerned with a measure

    of functional size and the second concerned with a measure of the contribution to

    overall size of 14 technical and quality factors.

    Albrechts original approach has been refined significantly over the last 30 years, butits basic concepts are unchanged from the mid 1970s.

    Nevertheless, the IFPUG method is still the most widely-used FSM method, albeit

    confined to the domain of business application software.

  • 8/2/2019 Functional Point Analysis1

    13/70

    Developments of 1st GenerationMethods

    www.destinationqa.com 13

    Several developments from the Albrecht/IFPUG approach have been made toimprove the size measure, or to extend its domain of applicability.

    Capers Jones published a method based closely on that of Albrecht, called

    Feature Points, with the aim of extending FSM to apply to scientific

    algorithms. The method has been largely abandoned due to the intrinsic

    difficulty of sizing mathematical algorithms

    Charles Symons developed the MkII Function Point Method which aimed to

    improve on Albrechts approach by better taking into account the internal

    complexity of data-rich business application software.

  • 8/2/2019 Functional Point Analysis1

    14/70

    Continued

    www.destinationqa.com 14

    Scott Whitmire developed 3D Function Points to size business application and

    real-time software drawing on Albrechts general approach.

    The Netherlands Software Metrics Users Association (NESMA) published a

    variant of the IFPUG method which aimed to simplify some of the sizing rules

    The University of Qubec, Montral and others published the Full Function Point

    Method which used the IFPUG rules for business application software and addedextra components for sizing real-time software.

    It will be seen that all of these methods can trace their roots back to Allan Albrechts

    original ideas. They are what we call 1st Generation FSM Methods.

  • 8/2/2019 Functional Point Analysis1

    15/70

    Function Point Analysis

    www.destinationqa.com 15

  • 8/2/2019 Functional Point Analysis1

    16/70

    Introduction to Function Point Analysis

    www.destinationqa.com 16

    What is a Function Point?A function point is a unit of measurement to express the amount of business functionality

    an information system provides to a user.

    Some Definitions

    1. Functional SizeA size of the software derived by quantifying the Functional User Requirements.

    2. Functional Size Measurement (FSM)

    The process of measuring Functional Size.

    3. FSM MethodA specific implementation of FSM defined by a set of rules, which conforms to the

    mandatory features of this part of ISO/IEC 14143. There are currently 5 ISO recognized

    FSM Methods.

  • 8/2/2019 Functional Point Analysis1

    17/70

    Function Point Analysis - Characteristics

    Function points are a unit measure for software much like an hour is to

    measuring time, miles are to measuring distance

    www.destinationqa.com 17

    1. Measures Functional User Requirements

    2. Excludesa. Physical or technical components

    b. Quality features

    3. Derived in terms understood by users of the software. The measure relates directly to the

    business requirements, which the software is intended to address

    4. Derived without reference to effort to develop or support. The Function Point technique

    provides an objective, comparative measure, which assists in the evaluation, planning,management and control of software production.

    5. It is a method to break systems into smaller components, so they can be better understood

    and analysed.

    6. It can therefore be readily applied across a wide range of development environments and

    throughout the life of a development project, from early requirements definition to full

    operational use.

  • 8/2/2019 Functional Point Analysis1

    18/70

    Function Point Unit Of Software

    www.destinationqa.com 18

    Function Points are the output of the software development process.

    Function points are the unit of software.

    It is very important to understand that Function Points remain constant regardless

    who develops the software or what language the software is develop in.

    Unit costs need to be examined very closely. To calculate average unit cost all items

    (units) are combined and divided by the total cost.

  • 8/2/2019 Functional Point Analysis1

    19/70

    Unit Software example

    www.destinationqa.com 19

    For example, assume you are going to manufacture a computer mousepad. The total

    Cost to manufacture 1,000 mousepad is $2,660. The unit cost is $2.66 (per pad).The cost break down is:

    Artwork is a fixed cost at $500 (or .50 per unit)

    Set Up costs are $250 (or .25 per unit)

    Shipping costs are $10 (or .01 per unit) Papers for production will cost $1.50 per unit.

    Rubber Pads are $ .15 per unit.

    Application of paper to pad cost is $.25 per unit

    Notice the variation in the unit cost for each item.One of the biggest problems with estimating software projects is understanding

    unit cost. Software managers fail to break down items into similar components or

    like areas. They assume all units cost the same.

  • 8/2/2019 Functional Point Analysis1

    20/70

    Counting Function Points

    www.destinationqa.com 20

  • 8/2/2019 Functional Point Analysis1

    21/70

    IPFUG FSM Counting Function Points

    High Level Process1. Identify Functional User Requirements. Categorize each one into one of the following types

    (Base Functional ComponentsBFC):

    a. Transactional Functions

    i. Inputs

    ii. Outputsiii. Inquiries

    b. Data Functions

    i. Internal Files

    ii. External Interfaces

    2. Rate each requirement based on complexity. Assign a Number for Function Points to each

    requirement. (Unadjusted function point count)3. Determine the value adjustment factor (VAF) based on general system characteristics (GSCs).

    4. Calculate the adjusted function point count. The final function point count (adjusted function

    point count) is a combination of both unadjusted function point count (UFP) and the general

    system characteristics (GSCs).

    www.destinationqa.com 21

    Function points are the units of measure used by the IFPUG Functional Size Measurement Method.

  • 8/2/2019 Functional Point Analysis1

    22/70

    www.destinationqa.com 22

    IPFUG FSM Identify Functional Requirements

  • 8/2/2019 Functional Point Analysis1

    23/70

    www.destinationqa.com 23

    IPFUG FSM Categorize into BFC

  • 8/2/2019 Functional Point Analysis1

    24/70

    Example: External Interface

    www.destinationqa.com 24

  • 8/2/2019 Functional Point Analysis1

    25/70

    Functional point process

    www.destinationqa.com 25

  • 8/2/2019 Functional Point Analysis1

    26/70

    External Inputs

    An elementary process in which data crosses the boundary from outside to inside.

    This data is coming external to the application. The data may come from a data input screen or another application.

    The data may be used to maintain one or more internal logical files.

    The data can be either control information or business information.

    If the data is control information it does not have to maintain an internal logical file.

    e.g. Data Input Fields, Error Messages, Calculated Values, Buttons

    www.destinationqa.com 26

  • 8/2/2019 Functional Point Analysis1

    27/70

    Identify External Inputs

    www.destinationqa.com 27

    The following words are associated with external input orinputs.

  • 8/2/2019 Functional Point Analysis1

    28/70

    FTRs and DETsThe rating ofExternal Input is based upon the number of data element types (DETs) and the

    file types referenced (FTRs).

    File Type Referenced(FTR): A FTR is a file type referenced by a transaction. An FTR must also

    be an internal logical file or external interface file.

    Each internal logical file that an external input maintains is counted as an FTR

    Data Element Type (DET): A DET is a unique user recognizable, non-recursive (non-repetitive)field. A DET is information that is dynamic and not static. A dynamic field is read from a file

    or created from DETs contained in a FTR. Additionally, a DET can invoke transactions or can

    be additional information regarding transactions.

    www.destinationqa.com 28

  • 8/2/2019 Functional Point Analysis1

    29/70

    Rating External Inputs (EI) Example

    DETsCustomer Name, Contact, Alt. Contact, Bill to, Phone, Fax, Alt. Phone, Ship To,

    OK button, Cancel Button

    FTRCustomer file, Contact File, Bill To file, Ship To File

    www.destinationqa.com 29

  • 8/2/2019 Functional Point Analysis1

    30/70

    External Outputs

    www.destinationqa.com 30

    External Output is an elementary process in which derived data passes across the boundary

    from inside to outside. Additionally, an EO may update an ILF.

    The data creates reports or output files sent to other applications. These reports and files are

    created from information contained in one or more internal logical files and external

    interface files.

  • 8/2/2019 Functional Point Analysis1

    31/70

    Identify External Output

    www.destinationqa.com 31

    The following words are associated with ExternalOutputs

  • 8/2/2019 Functional Point Analysis1

    32/70

    Rating External Outputs

    www.destinationqa.com 32

  • 8/2/2019 Functional Point Analysis1

    33/70

    Rating External Outputs Example Cnt.

    There are 10 data elements

    1. Days

    2. Hits

    3. % of Total Hits

    4. User Sessions

    5. Total Hits (weekday)

    6. Total % (weekday)7. Total User Sessions (weekday)

    8. Total Hits (weekend)

    9. Total % (weekend)

    10. Total User Sessions (weekend)

    3 FTR1. Day Activity

    2. Total Weekdays Activity

    3. Total Weekend Activity

    www.destinationqa.com 33

  • 8/2/2019 Functional Point Analysis1

    34/70

    External Inquiry (EQ)

    www.destinationqa.com 34

    It is an elementary process with both input and output components that result in data

    retrieval from one or more internal logical files and external interface files. The input process does not update or maintain any FTRs (Internal Logical Files or

    External Interface Files) and the output side does not contain derived data.

  • 8/2/2019 Functional Point Analysis1

    35/70

    Identify External Inquiries

    www.destinationqa.com 35

    The following words are associated with external

    Inquiries

  • 8/2/2019 Functional Point Analysis1

    36/70

    Rating External Inquiry (EQ) Example

    www.destinationqa.com 36

  • 8/2/2019 Functional Point Analysis1

    37/70

    Internal Logical File

    www.destinationqa.com 37

    It is a user identifiable group of logically related data that resides entirely within

    the application boundary and is maintained through External Inputs.

    An internal logical file has the inherent meaning it is internally maintained, it

    has some logical structure and it is stored in a file.

    An ILF should have at least one external output and/or external inquiry.

    That is, at least one external output and/or external inquiry should include the

    ILF as an FTR

    An ILF should also have at least one external input.

  • 8/2/2019 Functional Point Analysis1

    38/70

    Rating Internal Logical Files (ILF)

    The rating is based upon the number of data elements (DETs) and the record types (RETs).

    www.destinationqa.com 38

    RET is logical group of data with recursion

    Most record element types are dependent on a parentchild relationship.

  • 8/2/2019 Functional Point Analysis1

    39/70

    Record Element Types

    Some A are B

    AAll CustomersB - Customers who havent paid in last 30 days

    www.destinationqa.com 39

  • 8/2/2019 Functional Point Analysis1

    40/70

    Record Element Types

    All B are A

    AAll Customer data with Credit Card dataBCredit Card Data

    www.destinationqa.com 40

  • 8/2/2019 Functional Point Analysis1

    41/70

    Rating ILF Example

    www.destinationqa.com 41

  • 8/2/2019 Functional Point Analysis1

    42/70

    External Interface File

    www.destinationqa.com 42

    It is a user identifiable group of logically related data that is used for reference

    purposes only.

    The data resides entirely outside the application boundary and is

    maintained by another applications external inputs.

    The external interface file is an internal logical file for another application.

    An application may count a file as either a EIF or ILF not both.

  • 8/2/2019 Functional Point Analysis1

    43/70

    Unadjusted Function Point:

    www.destinationqa.com 43

  • 8/2/2019 Functional Point Analysis1

    44/70

    Adjustment Factors in FunctionPoint Analysis

    www.destinationqa.com 44

  • 8/2/2019 Functional Point Analysis1

    45/70

    General System Characteristics

    Definition:The value adjustment factor (VAF) is based on 14 general system

    characteristics (GSCs) that rate the general functionality of the

    application being counted. Each characteristic has associated

    descriptions to determine the degrees of influence.

    Rating:The degrees of influence range on a scale of zero to five, from no influence to strong

    influence. Each characteristic is assigned the rating based upon detail descriptions provided

    by the IFPUG 4.1 Manual. They ratings are:

    0 - Not present, or no influence1 - Incidental influence

    2 - Moderate influence

    3 - Average influence

    4 - Significant influence

    5 - Strong influence throughout

    www.destinationqa.com 45

  • 8/2/2019 Functional Point Analysis1

    46/70

    General System Characteristics cont

    1. Data communications: How many communication facilities are there to aid in the transfer

    or exchange of information with the application or system?

    2. Distributed data processing: How are distributed data and processing functions handled?

    3. Performance: Did the user require response time or throughput?

    4. Heavily used configuration: How heavily used is the current hardware platform wherethe application will be executed?

    5. Transaction rate: How frequently are transactions executed daily, weekly, monthly, etc.?

    6. On-Line data entry: What percentage of the information is entered On-Line?

    7. End-user efficiency: Was the application designed for end-user efficiency?

    www.destinationqa.com 46

  • 8/2/2019 Functional Point Analysis1

    47/70

    8. On-Line updateHow many ILFs are updated by On-Line transaction?

    9. Complex processing Does the application have extensive logical or

    mathematical processing?

    10. ReusabilityWas the application developed to meet one or

    many users needs?

    11. Installation ease How difficult is conversion and installation?

    12. Operational ease How effective and/or automated are start-up, back

    up, and recovery procedures?

    13. Multiple sites Was the application specifically designed, developed, and supportedto be installed at multiple sites for multiple organizations?

    14. Facilitate change Was the application specifically designed,

    General System Characteristics cont

    www.destinationqa.com 47

  • 8/2/2019 Functional Point Analysis1

    48/70

    Value Adjustment Factor (VAF)

    Once all the 14 GSCs have been answered, they should be tabulated using the

    IFPUG Value Adjustment Equation (VAF)

    www.destinationqa.com 48

  • 8/2/2019 Functional Point Analysis1

    49/70

    Standard Function Point

    The final Function Point Count is obtained by multiplying

    the VAF times the Unadjusted Function Point (UAF). The

    standard function point equation is:

    FP = UAF * VAF

    Where:

    UAF = Unadjusted Function PointsVAF = Value Adjustment Factor

    www.destinationqa.com 49

  • 8/2/2019 Functional Point Analysis1

    50/70

    Function Point Count Types

    www.destinationqa.com 50

  • 8/2/2019 Functional Point Analysis1

    51/70

    Types Of Functional Point Counts

    www.destinationqa.com 51

  • 8/2/2019 Functional Point Analysis1

    52/70

    Types of FP Counts

    Development Project Function Point CountFunction Points can be counted at all phases of a development project from requirements

    up to and including implementation. This type of count is associated with new

    development work. Scope creep can be tracked and monitored by understanding the

    functional size at all phase of a project. Frequently, this type of count is called a baseline

    function point count.

    Enhancement Project Function Point CountIt is common to enhance software after it has been placed into production. This type of

    function point count tries to size enhancement projects. All production applications

    evolve over time. By tracking enhancement size and associated costs a historical database

    for your organization can be built. Additionally, it is important to understand how adevelopment project has changed over time.

    www.destinationqa.com 52

  • 8/2/2019 Functional Point Analysis1

    53/70

    www.destinationqa.com 53

    Application Function Point CountApplication counts are done on existing production applications. This baseline

    count can be used with overall application metrics like total maintenance hours.

    This metric can be used to track maintenance hours per function point. This is an

    example of a normalized metric. It is not enough to examine only maintenance, but

    one must examine the ratio of maintenance hours to size of the application to get a

    true picture. Additionally, application counts can assist organizations inunderstanding the size of the entire corporate portfolio (or inventory). This type of

    count is analogous to taking an inventory for a store. Like inventory, a dollar value

    can be associated with any application function point count and for the entire

    organization portfolio.

    Types of FP Counts cont

  • 8/2/2019 Functional Point Analysis1

    54/70

    Uses of FPA - Software Estimation

    Accuracy of a software project estimate is Predicated on a number of things :

    The degree to which the planner has properly estimated the size of the product to bebuilt.

    The ability to translate the size estimate into human effort, calendar time, and dollar.

    The degree to which the project plan reflects the abilities of the software team.

    The stability of product requirements and the environment that supports the

    engineering effort.

    Estimation is not merely a technique, its an art

    www.destinationqa.com 54

  • 8/2/2019 Functional Point Analysis1

    55/70

    Size Based Estimation Model (Top Down)

    www.destinationqa.com 55

    In a top-down approach, the overall estimate for the project is first determined based onsome models and then the estimates for different tasks are determined.

    E.g.: Function Point estimation which is a top down estimation technique is recognized as an

    industry standard scientific estimation technique that is acceptable to all stakeholders

  • 8/2/2019 Functional Point Analysis1

    56/70

    www.destinationqa.com 56

  • 8/2/2019 Functional Point Analysis1

    57/70

    www.destinationqa.com 57

  • 8/2/2019 Functional Point Analysis1

    58/70

    Case Study Function PointAnalysis

    www.destinationqa.com 58

  • 8/2/2019 Functional Point Analysis1

    59/70

    Case Study

    The Weather Application

    The following application was designed to capture temperature and rainfall by city and state.

    There is only one input screen, one file and one report

    Each field on the following input screen can be modified (add, changed or deleted). The add

    and change functions are different. All previous entries viewed by using the scroll bar. Assume

    a VAF of 1.0.

    www.destinationqa.com 59

  • 8/2/2019 Functional Point Analysis1

    60/70

    www.destinationqa.com 60

    Case Study

  • 8/2/2019 Functional Point Analysis1

    61/70

    www.destinationqa.com 61

    Case Study

  • 8/2/2019 Functional Point Analysis1

    62/70

    Thank You

    www.destinationqa.com 62

    Aparna Naik

    Email: [email protected]

    Tel: +91 99233 50980

    mailto:[email protected]:[email protected]
  • 8/2/2019 Functional Point Analysis1

    63/70

    Appendix

    www.destinationqa.com 63

    D t El t T

  • 8/2/2019 Functional Point Analysis1

    64/70

    Data Element Types

    www.destinationqa.com 64

    Radio Buttons:

    Radio Buttons are treated as data element types. Within a group of, a frame, radio buttons the

    user has the option of selecting only one radio button; so only one data element type is countedfor all the radio buttons contained in the frame.

    Check Boxes:

    Check Boxes differ from radio buttons in that more than one check box can be selected at a

    time. Each check box, within a frame, that can be selected should be treated as a data element.

    Command Buttons:

    Command buttons may specify an add, change, delete or inquire action.

    A button, like OK, may invoke several different types of transactions.

    A button like next may actually be the input side of an inquiry or another

    transaction.

    D t El t T C t

  • 8/2/2019 Functional Point Analysis1

    65/70

    Data Element Types Cont

    www.destinationqa.com 65

    Messages:

    There are three types of messages that are generated in a GUI application: error messages,

    confirmation messages and notification messages.Error messages and confirmation messages:

    indicate that an error has occurred or that a process will be or have been completed. They are

    not an elementary or independent process alone, but they are part of another elementary process.

    A message that would state, zip code is required would be an example of an error message. A

    message that would state, are you sure you want to delete customer is an example of a

    confirmation message. Neither type of message is treated as a unique external output, but each is

    treated as a data element for the appropriate transaction.

    On the other hand, a notification messages is a business type message.

    For example,

    you may try to withdraw from an ATM machine more money than you have in your account and

    you receive the dreaded message, You have insufficient funds to cover this transaction. This is

    the result of information being read from a file regarding your current balance and a conclusion

    being drawn. A notification message is treated as an External Output.

  • 8/2/2019 Functional Point Analysis1

    66/70

    Need for Software Metrics

    What does the customer want to know ?

    How big is it?

    How long will it take? How many people do we need?

    How much will it cost?

    How good is it?

    www.destinationqa.com 66

  • 8/2/2019 Functional Point Analysis1

    67/70

    High level process

    www.destinationqa.com 67

  • 8/2/2019 Functional Point Analysis1

    68/70

    Independence and DependenceSince the rating of transactions is dependent on both information contained in the transactions

    and the number of files referenced, it is recommended that transactions are counted first. At the

    same time the transactions are counted a tally should be kept of all FTRs (file types referenced)

    that the transactions reference.

    www.destinationqa.com 68

  • 8/2/2019 Functional Point Analysis1

    69/70

    ESTABLISHING THE BOUNDARYIdentify the Boundary:

    Review the purpose of the function point count.

    Look at how and which applications maintain data.

    Identify the business areas that support the applications.

    The boundary may need to be adjusted once components have been identified. In practice

    the boundary may need to be revisited, as the overall application is better understood.

    Function point counts may need to be adjusted as you learn about the application.Standard Documentation:

    General Specification Documents

    Interface Documents

    Other metric reports

    Interviews with the users

    User Documentation Design Documentation

    Requirements

    Data flow diagrams

    www.destinationqa.com 69

    B fi d U

  • 8/2/2019 Functional Point Analysis1

    70/70

    Benefits and Uses:

    Function Points can be used to communicate more effectively with business user groups. Function points can be used to establish an inventory of all transactions and files of a

    current project or application..

    Function Points can be used to size software applications. Sizing is an important

    component in determining productivity (outputs/inputs), predicting effort,

    understanding unit cost, so on and so forth.

    Unlike some other software metrics, different people can count function points atdifferent times, to obtain the same measure within a reasonable margin of error. That is,

    the same conclusion will be drawn from the results.

    FPA can help organizations understand the unit cost of a software application or project.

    Once unit cost is understood tools, languages, platforms can be compared quantitatively

    instead of subjectively. This type of analysis is much easier to understand than technical

    information. That is, a non-technical user can easily understand Function Points.