SlideShare a Scribd company logo
COCOMO Model
Basic
Introduction
COCOMO is one of the most widely used software
estimation models in the world
It was developed by Barry Boehm in 1981
COCOMO predicts the effort and schedule for a software
product development based on inputs relating to the size of
the software and a number of cost drivers that affect
productivity
COCOMO Models
COCOMO has three different models that reflect the
complexity:
the Basic Model
the Intermediate Model
and the Detailed Model
The Development Modes: Project
Characteristics
Organic Mode
• Relatively small, simple software projects
• Small teams with good application experience work to a
set of less than rigid requirements
• Similar to the previously developed projects
• relatively small and requires little innovation
Semidetached Mode
• Intermediate (in size and complexity) software projects in
which teams with mixed experience levels must meet a mix
of rigid and less than rigid requirements.
Contd…
Embedded Mode
• Software projects that must be developed within a set of tight
hardware, software, and operational constraints.
COCOMO:
Some Assumptions
Primary cost driver is the number of Delivered Source
Instructions (DSI) / Delivered Line Of Code
developed by the project
COCOMO estimates assume that the project will enjoy
good management by both the developer and the
customer
Assumes the requirements specification is not
substantially changed after the plans and requirements
phase
Basic COCOMO
Basic COCOMO is good for quick, early, rough order of
magnitude estimates of software costs
It does not account for differences in hardware
constraints, personnel quality and experience, use of
modern tools and techniques, and other project attributes
known to have a significant influence on software costs,
which limits its accuracy
Basic COCOMO Model: Formula
E=ab (KLOC or KDSI) b
b
D=cb(E) d
b
P=E/D
where E is the effort applied in person-months, D is the
development time in chronological months, KLOC / KDSI
is the estimated number of delivered lines of code for the
project (expressed in thousands), and P is the number of
people required. The coefficients ab, bb, cb and db are given in
next slide.
Contd…
Software project ab bb cb db
Organic 2.4 1.05 2.5 0.38
Semi-detached 3.0 1.12 2.5 0.35
Embedded 3.6 1.20 2.5 0.32
Basic COCOMO Model: Equation
Mode Effort Schedule
Organic E=2.4*(KDSI)
1.05
TDEV=2.5*(E)
0.38
Semidetached E=3.0*(KDSI)
1.12
TDEV=2.5*(E)
0.35
Embedded E=3.6*(KDSI)
1.20
TDEV=2.5*(E)
0.32
Basic COCOMO Model: Limitation
Its accuracy is necessarily limited because of its lack of
factors which have a significant influence on software costs
The Basic COCOMO estimates are within a factor of 1.3
only 29% of the time, and within a factor of 2 only 60% of
the time
Basic COCOMO Model: Example
 We have determined our project fits the characteristics of Semi-Detached
mode
 We estimate our project will have 32,000 Delivered Source Instructions.
Using the formulas, we can estimate:
 Effort = 3.0*(32) 1.12
= 146 man-months
 Schedule = 2.5*(146) 0.35
= 14 months
 Productivity = 32,000 DSI / 146 MM
= 219 DSI/MM
 Average Staffing = 146 MM /14 months
= 10 FSP
Function Point Analysis
What is Function Point Analysis (FPA)?
 It is designed to estimate and measure the time, and thereby the cost, of
developing new software applications and maintaining existing software
applications.
 It is also useful in comparing and highlighting opportunities for productivity
improvements in software development.
 It was developed by A.J. Albrecht of the IBM Corporation in the early 1980s.
 The main other approach used for measuring the size, and therefore the time
required, of software project is lines of code (LOC) – which has a number of
inherent problems.
Function Point Analysis
How is Function Point Analysis done?
Working from the project design specifications, the following
system functions are measured (counted):
 Inputs
 Outputs
 Files
 Inquires
 Interfaces
Function Point Analysis
These function-point counts are then weighed (multiplied) by
their degree of complexity:
Simple Average Complex
Inputs 2 4 6
Outputs 3 5 7
Files 5 10 15
Inquires 2 4 6
Interfaces 4 7 10
Function Point Analysis
A simple example:
inputs
3 simple X 2 = 6
4 average X 4 = 16
1 complex X 6 = 6
outputs
6 average X 5 = 30
2 complex X 7 = 14
files
5 complex X 15 = 75
inquiries
8 average X 4 = 32
interfaces
3 average X 7 = 21
4 complex X 10 = 40
Unadjusted function points 240
Function Point Analysis
In addition to these individually weighted function points, there are factors that affect
the project and/or system as a whole. There are a number (~35) of these factors
that affect the size of the project effort, and each is ranked from “0”- no influence to
“5”- essential.
The following are some examples of these factors:
 Is high performance critical?
 Is the internal processing complex?
 Is the system to be used in multiple sites and/or by multiple organizations?
 Is the code designed to be reusable?
 Is the processing to be distributed?
 and so forth . . .
Function Point Analysis
Continuing our example . . .
Complex internal processing = 3
Code to be reusable = 2
High performance = 4
Multiple sites = 3
Distributed processing = 5
Project adjustment factor = 17
Adjustment calculation:
Adjusted FP = Unadjusted FP X [0.65 + (adjustment factor X 0.01)]
= 240 X [0.65 + ( 17 X 0.01)]
= 240 X [0.82]
= 197 Adjusted function points
Function Point Analysis
But how long will the project take and how much will it cost?
As previously measured, programmers in our organization
average 18 function points per month. Thus . . .
197 FP divided by 18 = 11 man-months
If the average programmer is paid $5,200 per month
(including benefits), then the [labor] cost of the project will
be . . .
11 man-months X $5,200 = $57,200
Function Point Analysis
Because function point analysis is independent of language used,
development platform, etc. it can be used to identify the
productivity benefits of . . .
One programming language over another
One development platform over another
One development methodology over another
One programming department over another
Before-and-after gains in investing in programmer training
And so forth . . .
Function Point Analysis
But there are problems and criticisms:
 Function point counts are affected by project size
 Difficult to apply to massively distributed systems or to systems with very
complex internal processing
 Difficult to define logical files from physical files
 The validity of the weights that Albrecht established – and the consistency
of their application – has been challenged
 Different companies will calculate function points slightly different, making
intercompany comparisons questionable

More Related Content

What's hot

Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
koolkampus
 
Software project management
Software project managementSoftware project management
Software project management
R A Akerkar
 

What's hot (20)

COCOMO Model in software project management
COCOMO Model in software project managementCOCOMO Model in software project management
COCOMO Model in software project management
 
Software Cost Estimation
Software Cost EstimationSoftware Cost Estimation
Software Cost Estimation
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Spm unit1
Spm unit1Spm unit1
Spm unit1
 
Organization and team structures
Organization and team structuresOrganization and team structures
Organization and team structures
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
ITFT - Fourth generation techniques
ITFT  -  Fourth generation techniquesITFT  -  Fourth generation techniques
ITFT - Fourth generation techniques
 
Improving software economics
Improving software economicsImproving software economics
Improving software economics
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
Software project management
Software project managementSoftware project management
Software project management
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Software configuration items
Software configuration itemsSoftware configuration items
Software configuration items
 
Requirements engineering process in software engineering
Requirements engineering process in software engineeringRequirements engineering process in software engineering
Requirements engineering process in software engineering
 
Spm software effort estimation
Spm software effort estimationSpm software effort estimation
Spm software effort estimation
 
Chapter 1 2 - some size factors
Chapter 1   2 - some size factorsChapter 1   2 - some size factors
Chapter 1 2 - some size factors
 
Planning the development process
Planning the development processPlanning the development process
Planning the development process
 
Language and Processors for Requirements Specification
Language and Processors for Requirements SpecificationLanguage and Processors for Requirements Specification
Language and Processors for Requirements Specification
 
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
 
Implementation issues software engineering
Implementation issues software engineeringImplementation issues software engineering
Implementation issues software engineering
 

Viewers also liked

Maven 3 : уличная магия
Maven 3 : уличная магияMaven 3 : уличная магия
Maven 3 : уличная магия
Aleksey Solntsev
 
Hypothyroidism pathology presentation2
Hypothyroidism pathology presentation2Hypothyroidism pathology presentation2
Hypothyroidism pathology presentation2
Jordan Squires
 

Viewers also liked (16)

Monografía tics
Monografía tics Monografía tics
Monografía tics
 
Car's inspection
Car's inspectionCar's inspection
Car's inspection
 
Platja d'en Bossa
Platja d'en BossaPlatja d'en Bossa
Platja d'en Bossa
 
Com ha de ser la guia natural del projecte?
Com ha de ser la guia natural del projecte?Com ha de ser la guia natural del projecte?
Com ha de ser la guia natural del projecte?
 
Response Marketing || Pause Project V5
Response Marketing || Pause Project V5Response Marketing || Pause Project V5
Response Marketing || Pause Project V5
 
Bazaarvoice: Unleash the Power of Consumer Generated Content for SEO Gains #L...
Bazaarvoice: Unleash the Power of Consumer Generated Content for SEO Gains #L...Bazaarvoice: Unleash the Power of Consumer Generated Content for SEO Gains #L...
Bazaarvoice: Unleash the Power of Consumer Generated Content for SEO Gains #L...
 
HCM CPP User Group introduction
HCM CPP User Group introductionHCM CPP User Group introduction
HCM CPP User Group introduction
 
Maven 3 : уличная магия
Maven 3 : уличная магияMaven 3 : уличная магия
Maven 3 : уличная магия
 
προτεινόμενες εκπαιδευτικές επισκέψεις
προτεινόμενες εκπαιδευτικές επισκέψειςπροτεινόμενες εκπαιδευτικές επισκέψεις
προτεινόμενες εκπαιδευτικές επισκέψεις
 
Hypothyroidism pathology presentation2
Hypothyroidism pathology presentation2Hypothyroidism pathology presentation2
Hypothyroidism pathology presentation2
 
Instantly Transform Into a Master Communicator Using 21 Secrets of Effective ...
Instantly Transform Into a Master Communicator Using 21 Secrets of Effective ...Instantly Transform Into a Master Communicator Using 21 Secrets of Effective ...
Instantly Transform Into a Master Communicator Using 21 Secrets of Effective ...
 
Cronología de la Genética. Tipos de Genética. Métodos Diagnósticos.
Cronología de la Genética. Tipos de Genética. Métodos Diagnósticos.Cronología de la Genética. Tipos de Genética. Métodos Diagnósticos.
Cronología de la Genética. Tipos de Genética. Métodos Diagnósticos.
 
Tsp branch and-bound
Tsp branch and-boundTsp branch and-bound
Tsp branch and-bound
 
Grups treball 2n trimestre
Grups treball 2n trimestreGrups treball 2n trimestre
Grups treball 2n trimestre
 
Секреты сборки мусора в Java
Секреты сборки мусора в JavaСекреты сборки мусора в Java
Секреты сборки мусора в Java
 
Becoming equality defenders
Becoming equality defendersBecoming equality defenders
Becoming equality defenders
 

Similar to COCOMO Model

Software Estimation Part II
Software Estimation Part IISoftware Estimation Part II
Software Estimation Part II
sslovepk
 

Similar to COCOMO Model (20)

Exp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxExp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptx
 
Metrics
MetricsMetrics
Metrics
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
 
COCOMO MODEL
COCOMO MODELCOCOMO MODEL
COCOMO MODEL
 
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERICCOCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
 
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERICCOCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
 
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
 
cost-estimation-tutorial
cost-estimation-tutorialcost-estimation-tutorial
cost-estimation-tutorial
 
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation modelsSe 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
 
SE_Sec-A_Lecture-10.pdf
SE_Sec-A_Lecture-10.pdfSE_Sec-A_Lecture-10.pdf
SE_Sec-A_Lecture-10.pdf
 
Software Estimation Part II
Software Estimation Part IISoftware Estimation Part II
Software Estimation Part II
 
LECT9.ppt
LECT9.pptLECT9.ppt
LECT9.ppt
 
5. COCOMO.pdf
5. COCOMO.pdf5. COCOMO.pdf
5. COCOMO.pdf
 
COCOMO Model By Dr. B. J. Mohite
COCOMO Model By Dr. B. J. MohiteCOCOMO Model By Dr. B. J. Mohite
COCOMO Model By Dr. B. J. Mohite
 
PMansgement-costmanagementforproject.pptx
PMansgement-costmanagementforproject.pptxPMansgement-costmanagementforproject.pptx
PMansgement-costmanagementforproject.pptx
 
Cocomo model (muskan soni)
Cocomo model (muskan soni)Cocomo model (muskan soni)
Cocomo model (muskan soni)
 
OOSE Unit 2 PPT.ppt
OOSE Unit 2 PPT.pptOOSE Unit 2 PPT.ppt
OOSE Unit 2 PPT.ppt
 
COCOMO methods for software size estimation
COCOMO methods for software size estimationCOCOMO methods for software size estimation
COCOMO methods for software size estimation
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5
 
COCOMO.pptx
COCOMO.pptxCOCOMO.pptx
COCOMO.pptx
 

Recently uploaded

Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
joachimlavalley1
 

Recently uploaded (20)

Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
 
Basic_QTL_Marker-assisted_Selection_Sourabh.ppt
Basic_QTL_Marker-assisted_Selection_Sourabh.pptBasic_QTL_Marker-assisted_Selection_Sourabh.ppt
Basic_QTL_Marker-assisted_Selection_Sourabh.ppt
 
Salient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptxSalient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptx
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Matatag-Curriculum and the 21st Century Skills Presentation.pptx
Matatag-Curriculum and the 21st Century Skills Presentation.pptxMatatag-Curriculum and the 21st Century Skills Presentation.pptx
Matatag-Curriculum and the 21st Century Skills Presentation.pptx
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
 
Introduction to Quality Improvement Essentials
Introduction to Quality Improvement EssentialsIntroduction to Quality Improvement Essentials
Introduction to Quality Improvement Essentials
 
[GDSC YCCE] Build with AI Online Presentation
[GDSC YCCE] Build with AI Online Presentation[GDSC YCCE] Build with AI Online Presentation
[GDSC YCCE] Build with AI Online Presentation
 
How to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS ModuleHow to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS Module
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptx
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptxJose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptx
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptx
 
size separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceuticssize separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceutics
 
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptxMARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
 
The impact of social media on mental health and well-being has been a topic o...
The impact of social media on mental health and well-being has been a topic o...The impact of social media on mental health and well-being has been a topic o...
The impact of social media on mental health and well-being has been a topic o...
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Application of Matrices in real life. Presentation on application of matrices
Application of Matrices in real life. Presentation on application of matricesApplication of Matrices in real life. Presentation on application of matrices
Application of Matrices in real life. Presentation on application of matrices
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
 
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General QuizPragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
 
Basic Civil Engineering Notes of Chapter-6, Topic- Ecosystem, Biodiversity G...
Basic Civil Engineering Notes of Chapter-6,  Topic- Ecosystem, Biodiversity G...Basic Civil Engineering Notes of Chapter-6,  Topic- Ecosystem, Biodiversity G...
Basic Civil Engineering Notes of Chapter-6, Topic- Ecosystem, Biodiversity G...
 

COCOMO Model

  • 2. Introduction COCOMO is one of the most widely used software estimation models in the world It was developed by Barry Boehm in 1981 COCOMO predicts the effort and schedule for a software product development based on inputs relating to the size of the software and a number of cost drivers that affect productivity
  • 3. COCOMO Models COCOMO has three different models that reflect the complexity: the Basic Model the Intermediate Model and the Detailed Model
  • 4. The Development Modes: Project Characteristics Organic Mode • Relatively small, simple software projects • Small teams with good application experience work to a set of less than rigid requirements • Similar to the previously developed projects • relatively small and requires little innovation Semidetached Mode • Intermediate (in size and complexity) software projects in which teams with mixed experience levels must meet a mix of rigid and less than rigid requirements.
  • 5. Contd… Embedded Mode • Software projects that must be developed within a set of tight hardware, software, and operational constraints.
  • 6. COCOMO: Some Assumptions Primary cost driver is the number of Delivered Source Instructions (DSI) / Delivered Line Of Code developed by the project COCOMO estimates assume that the project will enjoy good management by both the developer and the customer Assumes the requirements specification is not substantially changed after the plans and requirements phase
  • 7. Basic COCOMO Basic COCOMO is good for quick, early, rough order of magnitude estimates of software costs It does not account for differences in hardware constraints, personnel quality and experience, use of modern tools and techniques, and other project attributes known to have a significant influence on software costs, which limits its accuracy
  • 8. Basic COCOMO Model: Formula E=ab (KLOC or KDSI) b b D=cb(E) d b P=E/D where E is the effort applied in person-months, D is the development time in chronological months, KLOC / KDSI is the estimated number of delivered lines of code for the project (expressed in thousands), and P is the number of people required. The coefficients ab, bb, cb and db are given in next slide.
  • 9. Contd… Software project ab bb cb db Organic 2.4 1.05 2.5 0.38 Semi-detached 3.0 1.12 2.5 0.35 Embedded 3.6 1.20 2.5 0.32
  • 10. Basic COCOMO Model: Equation Mode Effort Schedule Organic E=2.4*(KDSI) 1.05 TDEV=2.5*(E) 0.38 Semidetached E=3.0*(KDSI) 1.12 TDEV=2.5*(E) 0.35 Embedded E=3.6*(KDSI) 1.20 TDEV=2.5*(E) 0.32
  • 11. Basic COCOMO Model: Limitation Its accuracy is necessarily limited because of its lack of factors which have a significant influence on software costs The Basic COCOMO estimates are within a factor of 1.3 only 29% of the time, and within a factor of 2 only 60% of the time
  • 12. Basic COCOMO Model: Example  We have determined our project fits the characteristics of Semi-Detached mode  We estimate our project will have 32,000 Delivered Source Instructions. Using the formulas, we can estimate:  Effort = 3.0*(32) 1.12 = 146 man-months  Schedule = 2.5*(146) 0.35 = 14 months  Productivity = 32,000 DSI / 146 MM = 219 DSI/MM  Average Staffing = 146 MM /14 months = 10 FSP
  • 13. Function Point Analysis What is Function Point Analysis (FPA)?  It is designed to estimate and measure the time, and thereby the cost, of developing new software applications and maintaining existing software applications.  It is also useful in comparing and highlighting opportunities for productivity improvements in software development.  It was developed by A.J. Albrecht of the IBM Corporation in the early 1980s.  The main other approach used for measuring the size, and therefore the time required, of software project is lines of code (LOC) – which has a number of inherent problems.
  • 14. Function Point Analysis How is Function Point Analysis done? Working from the project design specifications, the following system functions are measured (counted):  Inputs  Outputs  Files  Inquires  Interfaces
  • 15. Function Point Analysis These function-point counts are then weighed (multiplied) by their degree of complexity: Simple Average Complex Inputs 2 4 6 Outputs 3 5 7 Files 5 10 15 Inquires 2 4 6 Interfaces 4 7 10
  • 16. Function Point Analysis A simple example: inputs 3 simple X 2 = 6 4 average X 4 = 16 1 complex X 6 = 6 outputs 6 average X 5 = 30 2 complex X 7 = 14 files 5 complex X 15 = 75 inquiries 8 average X 4 = 32 interfaces 3 average X 7 = 21 4 complex X 10 = 40 Unadjusted function points 240
  • 17. Function Point Analysis In addition to these individually weighted function points, there are factors that affect the project and/or system as a whole. There are a number (~35) of these factors that affect the size of the project effort, and each is ranked from “0”- no influence to “5”- essential. The following are some examples of these factors:  Is high performance critical?  Is the internal processing complex?  Is the system to be used in multiple sites and/or by multiple organizations?  Is the code designed to be reusable?  Is the processing to be distributed?  and so forth . . .
  • 18. Function Point Analysis Continuing our example . . . Complex internal processing = 3 Code to be reusable = 2 High performance = 4 Multiple sites = 3 Distributed processing = 5 Project adjustment factor = 17 Adjustment calculation: Adjusted FP = Unadjusted FP X [0.65 + (adjustment factor X 0.01)] = 240 X [0.65 + ( 17 X 0.01)] = 240 X [0.82] = 197 Adjusted function points
  • 19. Function Point Analysis But how long will the project take and how much will it cost? As previously measured, programmers in our organization average 18 function points per month. Thus . . . 197 FP divided by 18 = 11 man-months If the average programmer is paid $5,200 per month (including benefits), then the [labor] cost of the project will be . . . 11 man-months X $5,200 = $57,200
  • 20. Function Point Analysis Because function point analysis is independent of language used, development platform, etc. it can be used to identify the productivity benefits of . . . One programming language over another One development platform over another One development methodology over another One programming department over another Before-and-after gains in investing in programmer training And so forth . . .
  • 21. Function Point Analysis But there are problems and criticisms:  Function point counts are affected by project size  Difficult to apply to massively distributed systems or to systems with very complex internal processing  Difficult to define logical files from physical files  The validity of the weights that Albrecht established – and the consistency of their application – has been challenged  Different companies will calculate function points slightly different, making intercompany comparisons questionable