SlideShare a Scribd company logo
1
PAWAN TIWARI
BCA(HONS)-MCA(HONS)
What makes a successful
project?
Delivering:
agreed functionality
on time
at the agreed cost
with the required
quality
Stages:
1. set targets
2. Attempt to achieve
targets
2
Difficulties with
Estimation
 Novel applications of Software
 ChangingTechnologies
 Lack of project experience
 Changing requirement
3
Over and under-estimating
 Parkinson’s Law: ‘Work
expands to fill the time
available’
 An over-estimate is
likely to cause project
to take longer than it
would otherwise
 Brook’s Law:
putting more people
on late job make it
later
4
Basis for s/w estimation
 Need historical data
 Measure of work
 Complexity
5
Bottom-up estimating
1. Break project into smaller and smaller
components
[2. Stop when you get to what one person can
do in one/two weeks]
3. Estimate costs for the lowest level activities
4. At each higher level calculate estimate by
adding estimates for lower levels
6
Top-down estimates
 Produce overall
estimate using effort
driver (s)
 distribute proportions
of overall estimate to
components
7
design code
overall
project
test
Estimate
100 days
30%
i.e.
30 days
30%
i.e.
30 days
40%
i.e. 40 days
Bottom-up versus top-down
 Bottom-up
 use when no past project data
 identify all tasks that have to be done – so quite time-
consuming
 use when you have no data about similar past projects
 Top-down
 produce overall estimate based on project cost drivers
 based on past project data
 divide overall estimate between jobs to be done
8
9
Alan Albrecht while working for IBM, recognized the
problem in size measurement in the 1970s, and
developed a technique (which he called Function
Point Analysis), which appeared to be a solution to
the size measurement problem.
Function Count
Function Point
10
The principle of Albrecht’s function point analysis
(FPA) is that a system is decomposed into
functional units.
 Inputs : information entering the system
 Outputs : information leaving the system
 Enquiries : requests for instant access to
information
 Internal logical files : information held within the
system
 External interface files : information held by other system
that is used by the system being
analyzed.
2.Function Count(Cont.)
11
The FPA functional units are shown in figure given below:
ILF
EIF
User
User
Other
applications
System
Outputs
Inputs
Inquiries
ILF: Internal logical
files
EIF: External interfaces
Fig. 3: FPAs functional units System
2.Function Count(Cont.)
12
The five functional units are divided in two
categories:
(i) Data function types
 Internal Logical Files (ILF): A user identifiable group
of logical related data or control information
maintained within the system.
2.Function Count(Cont.)
 External Interface files (EIF): A user identifiable group
of logically related data or control information
referenced by the system, but maintained within
another system. This means that EIF counted for one
system, may be an ILF in another system.
13
(ii) Transactional function types
 External Input (EI): An EI processes data or control
information that comes from outside the system. The EI is
an elementary process, which is the smallest unit of activity
that is meaningful to the end user in the business.
 External Output (EO): An EO is an elementary process that
generate data or control information to be sent outside the
system.
 External Inquiry (EQ): An EQ is an elementary process that
is made up to an input-output combination that results in
data retrieval.
Software Project Planning
14
Counting function points
Functional Units
Weighting factors
Low Average High
External Inputs (EI) 3 4 6
External Output (EO) 4 5 7
External Inquiries (EQ) 3 4 6
Internal logical files (ILF) 7 10 15
External Interface files (EIF) 5 7 10
Table 1 : Functional units with weighting factors
Software Project Planning
15
Table 2: UFP calculation table
Count
Complexity
Complexity
Totals
Low x 3
Average x 4
High x 6
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
Low x 4
Average x 5
High x 7
Low x 3
Average x 4
High x 6
Low x 7
Average x 10
High x 15
Low x 5
Average x 7
High x 10
Functional
Units
External
Inputs
(EIs)
External
Outputs
(EOs)
External
Inquiries
(EQs)
External
logical
Files (ILFs)
External
Interface
Files
(EIFs)
Functional
Unit Totals
Total Unadjusted Function Point Count
Software Project Planning
16
Table 3 : Computing function points.
Rate each factor on a scale of 0 to 5.
20 3 541
ModerateNo
Influence
Average EssentialSignificantIncidental
Number of factors considered ( Fi )
1. Does the system require reliable backup and recovery ?
2. Is data communication required ?
3. Are there distributed processing functions ?
4. Is performance critical ?
5. Will the system run in an existing heavily utilized operational environment ?
6. Does the system require on line data entry ?
7. Does the on line data entry require the input transaction to be built over multiple screens or operations ?
8. Are the master files updated on line ?
9. Is the inputs, outputs, files, or inquiries complex ?
10. Is the internal processing complex ?
11. Is the code designed to be reusable ?
12. Are conversion and installation included in the design ?
13. Is the system designed for multiple installations in different organizations ?
14. Is the application designed to facilitate change and ease of use by the user ?
Software Project Planning
IFPUG Complexity
17
18
Functions points may compute the following important metrics:
Productivity = FP / persons-months
Quality = Defects / FP
Cost = Rupees / FP
Documentation = Pages of documentation per FP
These metrics are controversial and are not universally
acceptable. There are standards issued by the International
Functions Point User Group (IFPUG, covering the Albrecht
method) and the United Kingdom Function Point User Group
(UFPGU, covering the MK11 method). An ISO standard for
function point method is also being developed.
Software Project Planning
19
Example: 4.1
Consider a project with the following functional units:
Number of user inputs = 50
Number of user outputs = 40
Number of user enquiries = 35
Number of user files = 06
Number of external interfaces = 04
Assume all complexity adjustment factors and weighting
factors are average. Compute the function points for the
project.
Software Project Planning
20
Solution
∑∑= =
=
5
1
3
1i J
ijij wZUFPUFP = 50 x 4 + 40 x 5 + 35 x 4 + 6 x 10 + 4 x 7
= 200 + 200 + 140 + 60 + 28 = 628
CAF = (0.65 + 0.01 ΣFi)
= (0.65 + 0.01 (14 x 3)) = 0.65 + 0.42 = 1.07
FP = UFP x CAF
= 628 x 1.07 = 672
UFP = Unadjusted Function Points.
CAF = Complexity adjustment factor.
FP = Function Points.
FP
We know
Function points Mark II
 Developed by Charles R. Symons
 ‘Software sizing and estimating - Mk II FPA’,
Wiley & Sons, 1991.
 Work originally for CCTA:
 should be compatible with SSADM; mainly used in
UK
 has developed in parallel to IFPUG FPs
21
Function points Mk II
continued
For each
transaction, count
 data items input
(Ni)
 data items output
(No)
 entity types
accessed (Ne)
22
#entities
accessed
#input
items
#output
items
FP count = Ni * 0.58 + Ne * 1.66 + No * 0.26
 Productivity = size/effort
23
24
COCOMO applied
to
Semidetached
mode Embedded
mode
Organic
mode
COCOMO
COCOMO81
 Based on industry productivity standards -
database is constantly updated
 Allows an organization to benchmark its
software development productivity
 Basic model
effort = c x sizek
 C and k depend on the type of system: organic,
semi-detached, embedded
 Size is measured in ‘kloc’ ie.Thousands of lines
of code
25
The COCOMO constants
System type c k
Organic (broadly,
information systems)
2.4 1.05
Semi-detached 3.0 1.12
Embedded (broadly,
real-time)
3.6 1.20
26
Development effort
multipliers (dem)
According to COCOMO, the major productivity drivers
include:
Product attributes: required reliability, database size,
product complexity
Computer attributes: execution time constraints,
storage constraints, virtual machine (VM) volatility
Personnel attributes: analyst capability, application
experience,VM experience, programming language
experience
Project attributes: modern programming practices,
software tools, schedule constraints
27
28
Software Project Planning
Cost Drivers RATINGS
Very low Low Nominal High Very
high
Extra
high
Product Attributes
RELY
DATA
CPLX
Computer Attributes
TIME
STOR
VIRT
TURN
Multipliers of different cost drivers
1.651.301.151.000.850.70
--1.161.081.000.94--
--1.401.151.000.880.75
--1.151.071.000.87--
--1.301.151.000.87--
1.561.211.061.00----
1.661.301.111.00----
29
Software Project Planning
Cost Drivers RATINGS
Very low Low Nominal High Very
high
Extra
high
Personnel Attributes
ACAP
AEXP
PCAP
VEXP
LEXP
Project Attributes
MODP
TOOL
SCED
--
--0.951.001.071.14
--0.901.001.101.21
0.700.861.001.171.42
0.820.911.001.131.29 --
0.710.861.001.191.46
1.101.041.001.081.23
0.830.911.001.101.24
0.820.911.001.101.24
Table 5: Multiplier values for effort calculations
--
--
--
--
--
--
COCOMOI
30
id
i EcD )(=
EAF*(KLOC)aE ib
i=
Using COCOMO development
effort multipliers (dem)
An example: for analyst capability:
 Assess capability as very low, low, nominal, high
or very high
 Extract multiplier:
very low 1.46
low 1.19
nominal 1.00
high 0.80
very high 0.71
 Adjust nominal estimate e.g. 32.6 x 0.80 = 26.8
staff months
31
32
33
Table 8: Stages of COCOMO-II
Stage
No
Model Name Application for the
types of projects
Applications
Stage I
Stage II
Stage III
Application
composition estimation
model
Early design estimation
model
Post architecture
estimation model
Application
composition
Application generators,
infrastructure & system
integration
Application generators,
infrastructure & system
integration
In addition to application
composition type of projects, this
model is also used for prototyping
(if any) stage of application
generators, infrastructure & system
integration.
Used in early design stage of a
project, when less is known about
the project.
Used after the completion of the
detailed architecture of the project.
COCOMOII

More Related Content

What's hot

Software engineering : Layered Architecture
Software engineering : Layered ArchitectureSoftware engineering : Layered Architecture
Software engineering : Layered Architecture
Muhammed Afsal Villan
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
Devan Thakur
 
Spm unit 1
Spm unit 1Spm unit 1
Spm unit 1
sweetyammu
 
Software myths | Software Engineering Notes
Software myths | Software Engineering NotesSoftware myths | Software Engineering Notes
Software myths | Software Engineering Notes
Navjyotsinh Jadeja
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
Simran Kaur
 
Software project management introduction
Software project management introductionSoftware project management introduction
Software project management introduction
Kanchana Devi
 
Unit 1.2 Stepwise Project Planning.pdf
Unit 1.2 Stepwise Project Planning.pdfUnit 1.2 Stepwise Project Planning.pdf
Unit 1.2 Stepwise Project Planning.pdf
AkshayDwivedi31
 
Waterfall model in SDLC
Waterfall model in SDLCWaterfall model in SDLC
Waterfall model in SDLC
HND Assignment Help
 
Software Project Management - Staffing
Software Project Management - StaffingSoftware Project Management - Staffing
Software Project Management - Staffing
TanishqRongta1
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
Bilal Shah
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
Fáber D. Giraldo
 
Context model
Context modelContext model
Context model
Ubaid423
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
Jonathan Christian
 
Effort estimation( software Engineering)
Effort estimation( software Engineering)Effort estimation( software Engineering)
Effort estimation( software Engineering)
kiran Patel
 
software engineering
software engineeringsoftware engineering
software engineering
Azad public school
 
Prototype model
Prototype modelPrototype model
Prototype model
sadhana8
 
Software Engineering Practice
Software Engineering PracticeSoftware Engineering Practice
Software Engineering Practice
Research & Development LAB QUEST Nawabshah
 
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMIEvolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
nimmik4u
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
Charotar University Of Science And Technology,Gujrat
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modeling
ramyaaswin
 

What's hot (20)

Software engineering : Layered Architecture
Software engineering : Layered ArchitectureSoftware engineering : Layered Architecture
Software engineering : Layered Architecture
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Spm unit 1
Spm unit 1Spm unit 1
Spm unit 1
 
Software myths | Software Engineering Notes
Software myths | Software Engineering NotesSoftware myths | Software Engineering Notes
Software myths | Software Engineering Notes
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
 
Software project management introduction
Software project management introductionSoftware project management introduction
Software project management introduction
 
Unit 1.2 Stepwise Project Planning.pdf
Unit 1.2 Stepwise Project Planning.pdfUnit 1.2 Stepwise Project Planning.pdf
Unit 1.2 Stepwise Project Planning.pdf
 
Waterfall model in SDLC
Waterfall model in SDLCWaterfall model in SDLC
Waterfall model in SDLC
 
Software Project Management - Staffing
Software Project Management - StaffingSoftware Project Management - Staffing
Software Project Management - Staffing
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
Context model
Context modelContext model
Context model
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Effort estimation( software Engineering)
Effort estimation( software Engineering)Effort estimation( software Engineering)
Effort estimation( software Engineering)
 
software engineering
software engineeringsoftware engineering
software engineering
 
Prototype model
Prototype modelPrototype model
Prototype model
 
Software Engineering Practice
Software Engineering PracticeSoftware Engineering Practice
Software Engineering Practice
 
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMIEvolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modeling
 

Viewers also liked

Spm software effort estimation
Spm software effort estimationSpm software effort estimation
Spm software effort estimation
Kanchana Devi
 
Estimation and measuring of software size within the atos gobal delivery plat...
Estimation and measuring of software size within the atos gobal delivery plat...Estimation and measuring of software size within the atos gobal delivery plat...
Estimation and measuring of software size within the atos gobal delivery plat...
IWSM Mensura
 
SDPM - Lecture 5 - Software effort estimation
SDPM - Lecture 5 - Software effort estimationSDPM - Lecture 5 - Software effort estimation
SDPM - Lecture 5 - Software effort estimation
OpenLearningLab
 
Software test management
Software test managementSoftware test management
Software test management
Vishad Garg
 
Unit 2 spm
Unit 2 spmUnit 2 spm
Unit 2 spm
rrajeeapec
 
Software effort estimation
Software effort estimationSoftware effort estimation
Software effort estimation
tumetr1
 
Cocomo II
Cocomo IICocomo II
Cocomo II
Taty Millan
 
Ch23-Software Engineering 9
Ch23-Software Engineering 9Ch23-Software Engineering 9
Ch23-Software Engineering 9
Ian Sommerville
 
Software project management 3
Software project management 3Software project management 3
Software project management 3
Indu Sharma Bhardwaj
 
Software project plannings
Software project planningsSoftware project plannings
Software project plannings
Aman Adhikari
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
Haitham Ahmed
 
Cocomo II
Cocomo IICocomo II
Cocomo II
Actimel
 
Cocomo
CocomoCocomo
Cocomo
Yunis Lone
 
software project management Cocomo model
software project management Cocomo modelsoftware project management Cocomo model
software project management Cocomo model
REHMAT ULLAH
 
COCOMO MODEL
COCOMO MODELCOCOMO MODEL
COCOMO MODEL
movie_2009
 
Chapter 4 software project planning
Chapter 4 software project planningChapter 4 software project planning
Chapter 4 software project planning
despicable me
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
swatisinghal
 
Chapter 4 software project planning
Chapter 4 software project planningChapter 4 software project planning
Chapter 4 software project planning
Piyush Gogia
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
Sony Elizabeth
 

Viewers also liked (19)

Spm software effort estimation
Spm software effort estimationSpm software effort estimation
Spm software effort estimation
 
Estimation and measuring of software size within the atos gobal delivery plat...
Estimation and measuring of software size within the atos gobal delivery plat...Estimation and measuring of software size within the atos gobal delivery plat...
Estimation and measuring of software size within the atos gobal delivery plat...
 
SDPM - Lecture 5 - Software effort estimation
SDPM - Lecture 5 - Software effort estimationSDPM - Lecture 5 - Software effort estimation
SDPM - Lecture 5 - Software effort estimation
 
Software test management
Software test managementSoftware test management
Software test management
 
Unit 2 spm
Unit 2 spmUnit 2 spm
Unit 2 spm
 
Software effort estimation
Software effort estimationSoftware effort estimation
Software effort estimation
 
Cocomo II
Cocomo IICocomo II
Cocomo II
 
Ch23-Software Engineering 9
Ch23-Software Engineering 9Ch23-Software Engineering 9
Ch23-Software Engineering 9
 
Software project management 3
Software project management 3Software project management 3
Software project management 3
 
Software project plannings
Software project planningsSoftware project plannings
Software project plannings
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 
Cocomo II
Cocomo IICocomo II
Cocomo II
 
Cocomo
CocomoCocomo
Cocomo
 
software project management Cocomo model
software project management Cocomo modelsoftware project management Cocomo model
software project management Cocomo model
 
COCOMO MODEL
COCOMO MODELCOCOMO MODEL
COCOMO MODEL
 
Chapter 4 software project planning
Chapter 4 software project planningChapter 4 software project planning
Chapter 4 software project planning
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Chapter 4 software project planning
Chapter 4 software project planningChapter 4 software project planning
Chapter 4 software project planning
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 

Similar to software effort estimation

Loc and function point
Loc and function pointLoc and function point
Loc and function point
Mitali Chugh
 
Function Point Analysis (FPA) by Dr. B. J. Mohite
Function Point Analysis (FPA) by Dr. B. J. MohiteFunction Point Analysis (FPA) by Dr. B. J. Mohite
Function Point Analysis (FPA) by Dr. B. J. Mohite
Zeal Education Society, Pune
 
chapter FP Analysis .pptx
chapter FP Analysis .pptxchapter FP Analysis .pptx
chapter FP Analysis .pptx
towexib993
 
Metrics
MetricsMetrics
Metrics
geethawilliam
 
Function Point Analysis
Function Point AnalysisFunction Point Analysis
Function Point Analysis
Araf Karsh Hamid
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
Arti Parab Academics
 
Software estimation techniques
Software estimation techniquesSoftware estimation techniques
Software estimation techniques
Tan Tran
 
cost-estimation-tutorial
cost-estimation-tutorialcost-estimation-tutorial
cost-estimation-tutorial
shopnohin_shopnobalok
 
DHS - Using functions points to estimate agile development programs (v2)
DHS - Using functions points to estimate agile development programs (v2)DHS - Using functions points to estimate agile development programs (v2)
DHS - Using functions points to estimate agile development programs (v2)
Glen Alleman
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
deep sharma
 
Software Sizing
Software SizingSoftware Sizing
Software Sizing
Noman Aftab
 
Estimation Techniques V1.0
Estimation Techniques V1.0Estimation Techniques V1.0
Estimation Techniques V1.0
Uday K Bhatt
 
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERICCOCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
Sneha Padhiar
 
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERICCOCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
Sneha Padhiar
 
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
Sneha Padhiar
 
3 Software Estmation.ppt
3 Software Estmation.ppt3 Software Estmation.ppt
3 Software Estmation.ppt
Soham De
 
Managing software project, software engineering
Managing software project, software engineeringManaging software project, software engineering
Managing software project, software engineering
Rupesh Vaishnav
 
Chapter 12
Chapter 12Chapter 12
Chapter 12
sarath1992
 
Software metrics
Software metricsSoftware metrics
Cost effort.ppt
Cost effort.pptCost effort.ppt
Cost effort.ppt
Jayaprasanna4
 

Similar to software effort estimation (20)

Loc and function point
Loc and function pointLoc and function point
Loc and function point
 
Function Point Analysis (FPA) by Dr. B. J. Mohite
Function Point Analysis (FPA) by Dr. B. J. MohiteFunction Point Analysis (FPA) by Dr. B. J. Mohite
Function Point Analysis (FPA) by Dr. B. J. Mohite
 
chapter FP Analysis .pptx
chapter FP Analysis .pptxchapter FP Analysis .pptx
chapter FP Analysis .pptx
 
Metrics
MetricsMetrics
Metrics
 
Function Point Analysis
Function Point AnalysisFunction Point Analysis
Function Point Analysis
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
 
Software estimation techniques
Software estimation techniquesSoftware estimation techniques
Software estimation techniques
 
cost-estimation-tutorial
cost-estimation-tutorialcost-estimation-tutorial
cost-estimation-tutorial
 
DHS - Using functions points to estimate agile development programs (v2)
DHS - Using functions points to estimate agile development programs (v2)DHS - Using functions points to estimate agile development programs (v2)
DHS - Using functions points to estimate agile development programs (v2)
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 
Software Sizing
Software SizingSoftware Sizing
Software Sizing
 
Estimation Techniques V1.0
Estimation Techniques V1.0Estimation Techniques V1.0
Estimation Techniques V1.0
 
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
 
3 Software Estmation.ppt
3 Software Estmation.ppt3 Software Estmation.ppt
3 Software Estmation.ppt
 
Managing software project, software engineering
Managing software project, software engineeringManaging software project, software engineering
Managing software project, software engineering
 
Chapter 12
Chapter 12Chapter 12
Chapter 12
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Cost effort.ppt
Cost effort.pptCost effort.ppt
Cost effort.ppt
 

Recently uploaded

Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
EduSkills OECD
 
Gender and Mental Health - Counselling and Family Therapy Applications and In...
Gender and Mental Health - Counselling and Family Therapy Applications and In...Gender and Mental Health - Counselling and Family Therapy Applications and In...
Gender and Mental Health - Counselling and Family Therapy Applications and In...
PsychoTech Services
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
Priyankaranawat4
 
Solutons Maths Escape Room Spatial .pptx
Solutons Maths Escape Room Spatial .pptxSolutons Maths Escape Room Spatial .pptx
Solutons Maths Escape Room Spatial .pptx
spdendr
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Excellence Foundation for South Sudan
 
B. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdfB. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdf
BoudhayanBhattachari
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
Nguyen Thanh Tu Collection
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Denish Jangid
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
Jean Carlos Nunes Paixão
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
GeorgeMilliken2
 
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
Nguyen Thanh Tu Collection
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
Katrina Pritchard
 
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Fajar Baskoro
 
math operations ued in python and all used
math operations ued in python and all usedmath operations ued in python and all used
math operations ued in python and all used
ssuser13ffe4
 
Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...
Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...
Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...
Leena Ghag-Sakpal
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
WaniBasim
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
Dr. Mulla Adam Ali
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
adhitya5119
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
Nicholas Montgomery
 
Temple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation resultsTemple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation results
Krassimira Luka
 

Recently uploaded (20)

Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
 
Gender and Mental Health - Counselling and Family Therapy Applications and In...
Gender and Mental Health - Counselling and Family Therapy Applications and In...Gender and Mental Health - Counselling and Family Therapy Applications and In...
Gender and Mental Health - Counselling and Family Therapy Applications and In...
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
 
Solutons Maths Escape Room Spatial .pptx
Solutons Maths Escape Room Spatial .pptxSolutons Maths Escape Room Spatial .pptx
Solutons Maths Escape Room Spatial .pptx
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
 
B. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdfB. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdf
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
 
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
 
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
 
math operations ued in python and all used
math operations ued in python and all usedmath operations ued in python and all used
math operations ued in python and all used
 
Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...
Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...
Bed Making ( Introduction, Purpose, Types, Articles, Scientific principles, N...
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
 
Temple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation resultsTemple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation results
 

software effort estimation

  • 2. What makes a successful project? Delivering: agreed functionality on time at the agreed cost with the required quality Stages: 1. set targets 2. Attempt to achieve targets 2
  • 3. Difficulties with Estimation  Novel applications of Software  ChangingTechnologies  Lack of project experience  Changing requirement 3
  • 4. Over and under-estimating  Parkinson’s Law: ‘Work expands to fill the time available’  An over-estimate is likely to cause project to take longer than it would otherwise  Brook’s Law: putting more people on late job make it later 4
  • 5. Basis for s/w estimation  Need historical data  Measure of work  Complexity 5
  • 6. Bottom-up estimating 1. Break project into smaller and smaller components [2. Stop when you get to what one person can do in one/two weeks] 3. Estimate costs for the lowest level activities 4. At each higher level calculate estimate by adding estimates for lower levels 6
  • 7. Top-down estimates  Produce overall estimate using effort driver (s)  distribute proportions of overall estimate to components 7 design code overall project test Estimate 100 days 30% i.e. 30 days 30% i.e. 30 days 40% i.e. 40 days
  • 8. Bottom-up versus top-down  Bottom-up  use when no past project data  identify all tasks that have to be done – so quite time- consuming  use when you have no data about similar past projects  Top-down  produce overall estimate based on project cost drivers  based on past project data  divide overall estimate between jobs to be done 8
  • 9. 9 Alan Albrecht while working for IBM, recognized the problem in size measurement in the 1970s, and developed a technique (which he called Function Point Analysis), which appeared to be a solution to the size measurement problem. Function Count Function Point
  • 10. 10 The principle of Albrecht’s function point analysis (FPA) is that a system is decomposed into functional units.  Inputs : information entering the system  Outputs : information leaving the system  Enquiries : requests for instant access to information  Internal logical files : information held within the system  External interface files : information held by other system that is used by the system being analyzed. 2.Function Count(Cont.)
  • 11. 11 The FPA functional units are shown in figure given below: ILF EIF User User Other applications System Outputs Inputs Inquiries ILF: Internal logical files EIF: External interfaces Fig. 3: FPAs functional units System 2.Function Count(Cont.)
  • 12. 12 The five functional units are divided in two categories: (i) Data function types  Internal Logical Files (ILF): A user identifiable group of logical related data or control information maintained within the system. 2.Function Count(Cont.)  External Interface files (EIF): A user identifiable group of logically related data or control information referenced by the system, but maintained within another system. This means that EIF counted for one system, may be an ILF in another system.
  • 13. 13 (ii) Transactional function types  External Input (EI): An EI processes data or control information that comes from outside the system. The EI is an elementary process, which is the smallest unit of activity that is meaningful to the end user in the business.  External Output (EO): An EO is an elementary process that generate data or control information to be sent outside the system.  External Inquiry (EQ): An EQ is an elementary process that is made up to an input-output combination that results in data retrieval. Software Project Planning
  • 14. 14 Counting function points Functional Units Weighting factors Low Average High External Inputs (EI) 3 4 6 External Output (EO) 4 5 7 External Inquiries (EQ) 3 4 6 Internal logical files (ILF) 7 10 15 External Interface files (EIF) 5 7 10 Table 1 : Functional units with weighting factors Software Project Planning
  • 15. 15 Table 2: UFP calculation table Count Complexity Complexity Totals Low x 3 Average x 4 High x 6 = = = = = = = = = = = = = = = Low x 4 Average x 5 High x 7 Low x 3 Average x 4 High x 6 Low x 7 Average x 10 High x 15 Low x 5 Average x 7 High x 10 Functional Units External Inputs (EIs) External Outputs (EOs) External Inquiries (EQs) External logical Files (ILFs) External Interface Files (EIFs) Functional Unit Totals Total Unadjusted Function Point Count Software Project Planning
  • 16. 16 Table 3 : Computing function points. Rate each factor on a scale of 0 to 5. 20 3 541 ModerateNo Influence Average EssentialSignificantIncidental Number of factors considered ( Fi ) 1. Does the system require reliable backup and recovery ? 2. Is data communication required ? 3. Are there distributed processing functions ? 4. Is performance critical ? 5. Will the system run in an existing heavily utilized operational environment ? 6. Does the system require on line data entry ? 7. Does the on line data entry require the input transaction to be built over multiple screens or operations ? 8. Are the master files updated on line ? 9. Is the inputs, outputs, files, or inquiries complex ? 10. Is the internal processing complex ? 11. Is the code designed to be reusable ? 12. Are conversion and installation included in the design ? 13. Is the system designed for multiple installations in different organizations ? 14. Is the application designed to facilitate change and ease of use by the user ? Software Project Planning
  • 18. 18 Functions points may compute the following important metrics: Productivity = FP / persons-months Quality = Defects / FP Cost = Rupees / FP Documentation = Pages of documentation per FP These metrics are controversial and are not universally acceptable. There are standards issued by the International Functions Point User Group (IFPUG, covering the Albrecht method) and the United Kingdom Function Point User Group (UFPGU, covering the MK11 method). An ISO standard for function point method is also being developed. Software Project Planning
  • 19. 19 Example: 4.1 Consider a project with the following functional units: Number of user inputs = 50 Number of user outputs = 40 Number of user enquiries = 35 Number of user files = 06 Number of external interfaces = 04 Assume all complexity adjustment factors and weighting factors are average. Compute the function points for the project. Software Project Planning
  • 20. 20 Solution ∑∑= = = 5 1 3 1i J ijij wZUFPUFP = 50 x 4 + 40 x 5 + 35 x 4 + 6 x 10 + 4 x 7 = 200 + 200 + 140 + 60 + 28 = 628 CAF = (0.65 + 0.01 ΣFi) = (0.65 + 0.01 (14 x 3)) = 0.65 + 0.42 = 1.07 FP = UFP x CAF = 628 x 1.07 = 672 UFP = Unadjusted Function Points. CAF = Complexity adjustment factor. FP = Function Points. FP We know
  • 21. Function points Mark II  Developed by Charles R. Symons  ‘Software sizing and estimating - Mk II FPA’, Wiley & Sons, 1991.  Work originally for CCTA:  should be compatible with SSADM; mainly used in UK  has developed in parallel to IFPUG FPs 21
  • 22. Function points Mk II continued For each transaction, count  data items input (Ni)  data items output (No)  entity types accessed (Ne) 22 #entities accessed #input items #output items FP count = Ni * 0.58 + Ne * 1.66 + No * 0.26
  • 23.  Productivity = size/effort 23
  • 25. COCOMO81  Based on industry productivity standards - database is constantly updated  Allows an organization to benchmark its software development productivity  Basic model effort = c x sizek  C and k depend on the type of system: organic, semi-detached, embedded  Size is measured in ‘kloc’ ie.Thousands of lines of code 25
  • 26. The COCOMO constants System type c k Organic (broadly, information systems) 2.4 1.05 Semi-detached 3.0 1.12 Embedded (broadly, real-time) 3.6 1.20 26
  • 27. Development effort multipliers (dem) According to COCOMO, the major productivity drivers include: Product attributes: required reliability, database size, product complexity Computer attributes: execution time constraints, storage constraints, virtual machine (VM) volatility Personnel attributes: analyst capability, application experience,VM experience, programming language experience Project attributes: modern programming practices, software tools, schedule constraints 27
  • 28. 28 Software Project Planning Cost Drivers RATINGS Very low Low Nominal High Very high Extra high Product Attributes RELY DATA CPLX Computer Attributes TIME STOR VIRT TURN Multipliers of different cost drivers 1.651.301.151.000.850.70 --1.161.081.000.94-- --1.401.151.000.880.75 --1.151.071.000.87-- --1.301.151.000.87-- 1.561.211.061.00---- 1.661.301.111.00----
  • 29. 29 Software Project Planning Cost Drivers RATINGS Very low Low Nominal High Very high Extra high Personnel Attributes ACAP AEXP PCAP VEXP LEXP Project Attributes MODP TOOL SCED -- --0.951.001.071.14 --0.901.001.101.21 0.700.861.001.171.42 0.820.911.001.131.29 -- 0.710.861.001.191.46 1.101.041.001.081.23 0.830.911.001.101.24 0.820.911.001.101.24 Table 5: Multiplier values for effort calculations -- -- -- -- -- --
  • 31. Using COCOMO development effort multipliers (dem) An example: for analyst capability:  Assess capability as very low, low, nominal, high or very high  Extract multiplier: very low 1.46 low 1.19 nominal 1.00 high 0.80 very high 0.71  Adjust nominal estimate e.g. 32.6 x 0.80 = 26.8 staff months 31
  • 32. 32
  • 33. 33 Table 8: Stages of COCOMO-II Stage No Model Name Application for the types of projects Applications Stage I Stage II Stage III Application composition estimation model Early design estimation model Post architecture estimation model Application composition Application generators, infrastructure & system integration Application generators, infrastructure & system integration In addition to application composition type of projects, this model is also used for prototyping (if any) stage of application generators, infrastructure & system integration. Used in early design stage of a project, when less is known about the project. Used after the completion of the detailed architecture of the project. COCOMOII

Editor's Notes

  1. This talk provides an overview of the basic steps needed to produce a project plan. The framework provided should allow students to identify where some of the particular issues discussed in other chapters are applied to the planning process. As the focus is on project planning, techniques to do with project control are not explicitly described. However, in practice, one element of project planning will be to decide what project control procedures need to be in place.
  2. A key point here is that developers may in fact be very competent, but incorrect estimates leading to unachievable targets will lead to extreme customer dissatisfaction.
  3. The answer to the problem of over-optimistic estimates might seem to be to pad out all estimates, but this itself can lead to problems. You might miss out to the competition who could underbid you, if you were tendering for work. Generous estimates also tend to lead to reductions in productivity. On the other hand, having aggressive targets in order to increase productivity could lead to poorer product quality. Ask how many students have heard of Parkinson’s Law – the response could be interesting! It is best to explain that C. Northcote Parkinson was to some extent a humourist, rather than a heavyweight social scientist. Note that ‘zeroth’ is what comes before first. This is discussed in Section 5.3 of the text which also covers Brooks’Law.
  4. The idea is that even if you have never done something before you can imagine what you could do in about a week. Exercise 5.2 relates to bottom-up estimating
  5. There is often confusion between the two approaches as the first part of the bottom-up approach is a top-down analysis of the tasks to be done, followed by the bottom-up adding up of effort for all the work to be done. Make sure you students understand this or it will return to haunt you (and them) at examination time.
  6. Once again, just a reminder that the lecture is just an overview of concepts. Mark II FPs is a version of function points developed in the UK and is only used by a minority of FP specialists. The US-based IFPUG method (developed from the original Albrecht approach) is more widely used. I use the Mark II version because it has simpler rules and thus provides an easier introduction to the principles of FPs. Mark II FPs are explained in more detail in Section 5.9. If you are really keen on teaching the IFPUG approach then look at Section 5.10. The IFPUG rules are really quite tricky in places and for the full rules it is best to contact IFPUG.
  7. For each transaction (cf use case) count the number of input types (not occurrences e.g. where a table of payments is input on a screen so the account number is repeated a number of times), the number of output types, and the number of entities accessed. Multiply by the weightings shown and sum. This produces an FP count for the transaction which will not be very useful. Sum the counts for all the transactions in an application and the resulting index value is a reasonable indicator of the amount of processing carried out. The number can be used as a measure of size rather than lines of code. See calculations of productivity etc discussed earlier. There is an example calculation in Section 5.9 (Example 5.3) and Exercise 5.7 should give a little practice in applying the method.
  8. Recall that the aim of this lecture is to give an overview of principles. COCOMO81 is the original version of the model which has subsequently been developed into COCOMO II some details of which are discussed in Section 5.12. For full details read Barry Boehm et al. Software estimation with COCOMO II Prentice-Hall 2002.
  9. An interesting question is what a ‘semi-detached’ system is exactly. To my mind, a project that combines elements of both real-time and information systems (i.e. has a substantial database) ought to be even more difficult than an embedded system. Another point is that COCOMO was based on data from very large projects. There are data from smaller projects that larger projects tend to be more productive because of economies of scale. At some point the diseconomies of scale caused by the additional management and communication overheads then start to make themselves felt. Exercise 5.10 in the textbook provides practice in applying the basic model.
  10. Virtual machine volatility is where the operating system that will run your software is subject to change. This could particularly be the case with embedded control software in an industrial environment. Schedule constraints refers to situations where extra resources are deployed to meet a tight deadline. If two developers can complete a task in three months, it does not follow that six developers could complete the job in one month. There would be additional effort needed to divide up the work and co-ordinate effort and so on.
  11. Exercise 5.11 gives practice in applying these.