SlideShare a Scribd company logo
Software Project Management
Organization of this Lecture:
▪ Introduction to Project Planning
▪ Software Cost Estimation
– Cost Estimation Models
– Software Size Metrics
– Empirical Estimation
– Heuristic Estimation
– COCOMO
▪ Summary
2
Introduction
▪ Many software projects fail:
–due to faulty project management
practices:
▪It is important to learn different aspects
of software project management.
3
Introduction
▪ Goal of software project management:
–enable a group of engineers to work
efficiently towards successful completion of a
software project.
4
Responsibility of Project
Managers
▪ Project proposal writing,
▪ Project cost estimation,
▪ Scheduling,
▪ Project staffing,
▪ Project monitoring and control,
▪ Software configuration management,
▪ Risk management,
▪ Managerial report writing and presentations, etc.
5
Activities
▪ A project manager’s activities are varied.
–can be broadly classified into:
▪project planning,
▪project monitoring and control activities.
6
Project Planning
▪ Once a project is found to be feasible,
–project managers undertake project planning.
▪ Requires utmost care and attention - commitments to
unrealistic time and resource estimates result in:
–irritating delays.
–customer dissatisfaction
–adverse affect on team morale
▪ poor quality work
–project failure.
7
Sliding Window Planning
▪ Involves project planning over several stages:
–protects managers from making big
commitments too early.
–More information becomes available as project
progresses.
▪Facilitates accurate planning
8
Project Planning Activities
▪ Estimation: Effort, cost, resource, and project duration
▪ Project scheduling
▪ Staff organization: staffing plans
▪ Risk handling: identification, analysis, and abatement
procedures
▪ Miscellaneous plans: quality assurance plan,
configuration management plan, etc.
9
SPMP Document
▪ After planning is complete:
– Document the plans:
–in a Software Project Management Plan(SPMP)
document.
10
Organization of SPMP Document
–Introduction: (Objectives, Major Functions, Performance Issues, Management
andTechnical Constraints)
–Project Estimates: (Historical Data, EstimationTechniques, Effort, Cost,
and Project Duration Estimates)
–Project Resources Plan: (People, Hardware and Software, Special
Resources)
–Schedules: (Work Breakdown Structure,Task Network, Gantt Chart
Representation, PERT Chart Representation)
–Risk Management Plan: (Risk Analysis, Risk Identification, Risk
Estimation, Abatement Procedures)
–ProjectTracking and Control Plan
–Miscellaneous Plans: (ProcessTailoring, Quality Assurance)
11
Software Cost Estimation
▪ Determine size of the product.
▪ From the size estimate,
–determine the effort needed.
▪ From the effort estimate,
–determine project duration, and cost.
12
13
Size
Estimation
Effort Estimation Cost
Estimation
Duration
Estimation
Staffing
Estimation
Scheduling
Software Cost Estimation
Software Size Estimation
▪Three main approaches to
estimation:
–LOC (Line Of Code)
–Function Point Metric
–Feature Point Metric
14
Software Size Metrics
▪ LOC (Lines of Code):
–Simplest and most widely used metric.
–Comments and blank lines should not be
counted.
–Divides the problem into modules.
–Each module into sub-modules and so,on
until the LOC of the leaf level modules are
small enough to be predicted.
15
Disadvantages of Using LOC
▪ Size can vary with coding style.
▪ Focuses on coding activity alone.
▪ Correlates poorly with quality and efficiency
of code.
▪ Penalizes higher level programming
languages, code reuse, etc.
16
Disadvantages of Using LOC
(cont...)
▪ Measures lexical/textual complexity only.
–does not address the issues of structural or logical
complexity.
▪ Difficult to estimate LOC from problem description.
–So not useful for project planning
17
Function Point Metric
▪ Proposed by Albrecht in early 80’s (1983):
–Step 1 : compute the unadjusted function point
using heuristic expression.
–Step 2 : refine parameters.
–Step 3 : Compute FP.
18
Function Point Metric
▪ Input:
– A set of related inputs is counted as one input.
▪ Output:
– A set of related outputs is counted as one output.
▪ Inquiries:
– Each user query type is counted.
▪ Files:
– Files are logically related data and thus can be data structures or physical files.
▪ Interface:
– Data transfer to other systems.
19
Step 1: Compute UFP
(Unadjusted Function Point)
▪ UFP = (number of inputs) * 4 + (number of
outputs) * 5 + (number of inquiries) * 4 +
(number of files) * 10 + (number of interfaces) * 7
20
Type Simple Average complex
Input 3 4 6
Output 4 5 7
Inquiry 3 4 6
No. of files 7 10 15
No. of
interfaces
5 7 10
21
Step 2: Refine Parameters
▪ TCF = (0.65 + 0.01 * DI) ,
where DI is Degree of Influence andTCF isTechnical Complexity
Factor.
▪ FP = UFP *TCF
22
Step 3: Compute FP
Degree Of Influence
23
0 = No Influence
1 = Incidental
2 = Moderate
3 = Average
4 = Significant
5 = Essential
Function Point Metric (CONT.)
▪Suffers from a major drawback:
–the size of a function is considered to be
independent of its complexity.
▪Extend function point metric:
– Feature Point metric:
–considers an extra parameter:
▪Algorithm Complexity.
24
Function Point Metric (CONT.)
▪ Proponents claim:
–FP is language independent.
–Size can be easily derived from problem
description
▪ Opponents claim:
–it is subjective --- Different people can come up
with different estimates for the same problem.
25
Software Cost Estimation
▪Three main approaches to
estimation:
–Empirical
–Heuristic
–Analytical
26
Software Cost Estimation
Techniques
▪ Empirical techniques:
–an educated guess based on past experience.
▪ Heuristic techniques:
–assume that the characteristics to be estimated can be
expressed in terms of
some mathematical expression.
▪ Analytical techniques:
–derive the required results starting from certain simple
assumptions.
27
Empirical Estimation
Techniques
▪ Expert Judgement:
–An euphemism for guess made by an expert.
–Suffers from individual bias.
▪ Delphi Estimation:
–overcomes some of the problems of expert
judgement.
28
Expert judgement
▪Experts divide a software product
into component units:
–e.g. GUI, database module, data
communication module, billing
module, etc.
▪Add up the guesses for each of the
components.
29
Delphi Estimation:
▪Team of Experts and a coordinator.
▪Experts carry out estimation
independently:
–mention the rationale behind their
estimation.
–coordinator notes down any
extraordinary rationale:
▪circulates among experts.
30
Delphi Estimation:
▪Experts re-estimate.
▪Experts never meet each other
– to discuss their viewpoints.
31
Heuristic Estimation Techniques
▪SingleVariable Model:
– Parameter to be Estimated=C1(Estimated Characteristic)d1
A = b^2
▪Multivariable Model:
–Assumes that the parameter to be estimated
depends on more than one characteristic.
– Parameter to be Estimated=C1(Estimated Characteristic)d1+
C2(Estimated Characteristic)d2+…
– A = b^2 + c^3 + d
–Usually more accurate than single variable
models.
32
COCOMO
▪COCOMO (COnstructive COst estimation
MOdel) proposed by Boehm.
▪Divides software product developments into
3 categories:
–Organic
–Semidetached
–Embedded
33
Elaboration of Product classes
▪ Organic:
–Relatively small groups
▪working to develop well-understood applications.
▪ Semidetached:
–Project team consists of a mixture of experienced
and inexperienced staff.
▪ Embedded:
–The software is strongly coupled to complex
hardware, or real-time systems.
34
COCOMO Model (CONT.)
▪ For each of the three product categories:
–From size estimation (in KLOC), Boehm provides
equations to predict:
▪project duration in months
▪effort in programmer-months
▪ Boehm obtained these equations:
–examined historical data collected from a large number
of actual projects.
35
COCOMO Model (CONT.)
▪Software cost estimation is
done through three stages:
–Basic COCOMO,
–Intermediate COCOMO,
–Complete COCOMO.
36
Basic COCOMO Model (CONT.)
▪Gives only an approximate estimation:
–Effort = a1 * (KLOC)^a2 PM
–Tdev = b1 * (Effort)^b2 months
▪KLOC is the estimated kilo lines of source code,
▪a1,a2,b1,b2 are constants for different categories of
software products,
▪Tdev is the estimated time to develop the software
in months,
▪Effort estimation is obtained in terms of person
months (PMs).
37
Development Effort Estimation
▪Organic :
– Effort = 2.4 (KLOC)^1.05 PM
▪ Semi-detached:
–Effort = 3.0(KLOC)^1.12 PM
▪ Embedded:
–Effort = 3.6 (KLOC)^1.20PM
38
Development Time Estimation
▪Organic:
–Tdev = 2.5 (Effort)^0.38 Months
▪Semi-detached:
–Tdev = 2.5 (Effort)^0.35 Months
▪Embedded:
–Tdev = 2.5 (Effort)^0.32 Months
39
Example
▪ The size of an organic software product has been
estimated to be 32,000 lines of source code. Average
salary of the engineers are 15,000 per month.
▪ Effort = 2.4*(32)^1.05 = 91 PM
▪ Nominal development time = 2.5*(91)0.38 = 14 months
▪ Cost = 91*15000 =13,65,000
40
Intermediate COCOMO
▪ Basic COCOMO model assumes
–effort and development time depend on product size
alone.
▪ However, several parameters affect effort and
development time:
▪Reliability requirements
▪Availability of CASE tools and modern facilities to the
developers
▪Size of data to be handled
41
Intermediate COCOMO
▪For accurate estimation,
–the effect of all relevant parameters must
be considered:
–IntermediateCOCOMO model recognizes
this fact:
▪refines the initial estimate obtained by the
basic COCOMO by using a set of 15 cost
drivers (multipliers).
42
Intermediate COCOMO (CONT.)
▪Rate different parameters on a scale
of one to three:
–Depending on these ratings,
▪multiply cost driver values with the
estimate obtained using the basic
COCOMO.
43
Intermediate COCOMO (CONT.)
▪ Cost driver classes:
–Product: Inherent complexity of the product, reliability
requirements of the product, etc.
–Computer: Execution time, storage requirements, etc.
–Personnel: Experience of personnel, etc.
–Development Environment: Sophistication of the tools
used for software development.
44
45
46
Intermediate COCOMO
▪ Intermediate COCOMO equation:
▪ Effort=ai *(KLOC) ^bi*EAF
Duration=ci (E)^di
▪ EAF- Effort Adjustment Factor
47
Example
▪ For a given project was estimated with a size of 300
KLOC. Calculate the Effort, Scheduled time for
development by considering developer having very
high application experience and very low experience
in programming.
48
Answer
▪ Given the estimated size of the project is: 300 KLOC
Developer having highly application experience: 0.82 (as per
table)
Developer having very low experience in programming: 1.14(as
per table)
▪ EAF = 0.82*1.14 = 0.9348
▪
Effort (E) = a*(KLOC)b *EAF = 3.0*(300)1.12 *0.9348 = 1668.07
PM
▪ Scheduled Time (D) = c*(E)d = 2.5*(1668.07)0.35 = 33.55
Months(M)
49
Shortcoming of basic and
intermediate COCOMO models
▪ Both models:
–consider a software product as a single homogeneous
entity:
–However, most large systems are made up of several
smaller sub-systems.
▪Some sub-systems may be considered as organic type,
some may be considered embedded, etc.
▪for some the reliability requirements may be high, and
so on.
50
Complete COCOMO
▪Cost of each sub-system is estimated
separately.
▪Costs of the sub-systems are added to obtain
total cost.
▪Reduces the margin of error in the final
estimate.
51
Complete COCOMO Example
▪ A Management Information System (MIS) for an
organization having offices at several places across the
country:
–Database part (semi-detached)
–Graphical User Interface (GUI) part (organic)
–Communication part (embedded)
▪ Costs of the components are estimated separately:
–summed up to give the overall cost of the system.
52
Summary
▪We discussed the broad
responsibilities of the project
manager:
–Project planning
–Project Monitoring and Control
53
Summary
▪ To estimate software cost:
–Determine size of the product.
–Using size estimate,
▪determine effort needed.
–From the effort estimate,
▪determine project duration, and cost.
54
Summary (CONT.)
▪ Cost estimation techniques:
–EmpiricalTechniques
–HeuristicTechniques
▪ Empirical techniques:
–based on systematic guesses by experts.
▪Expert Judgement
▪Delphi Estimation
55

More Related Content

PDF
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
PPT
software project management.lpu.slide.ansh.gupta
PPTX
Lec_6_Sosssssftwaaaaaare_Estimation.pptx
PPTX
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
PPT
Managing software project, software engineering
PPT
LECT9.ppt
PDF
CHAPTER II 2.pdfhhhjjjjjjhrrtujiiiuyrrtjj
PPTX
3. Lect 29_ 30_ 32 Project Planning.pptx
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
software project management.lpu.slide.ansh.gupta
Lec_6_Sosssssftwaaaaaare_Estimation.pptx
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Managing software project, software engineering
LECT9.ppt
CHAPTER II 2.pdfhhhjjjjjjhrrtujiiiuyrrtjj
3. Lect 29_ 30_ 32 Project Planning.pptx

Similar to Chapter 3- Software Project Management(Reduced).ppt (20)

PPT
Metrics
PPT
project planning-estimation
PPTX
Effort Estimation: Meaning, Problems with Estimation, Basis, Estimation Techn...
PDF
SE_Chapterrrrrrrrrrrrrrrrrrrrrrrrrr3.pdf
PPT
software engineering software development life cycle
PPTX
Software project plannings
PPTX
Software project plannings
PPT
COCOMO Model
PPT
Cocomo model
PDF
software project management cocomomodel.pdf
PPT
PPT
Software Engineering (Project Planning & Estimation)
PPTX
SE2023 0301 Software Project Management.pptx
PPTX
Software Engineering Chapter 4 Part 1 Euu
PDF
3wis_2.pdf
PPTX
Group-5-presentation_SPM, here is deatiled version.pptx
PPTX
SE - Lecture 11 - Software Project Estimation.pptx
PPT
lec11.ppt
PPT
SE_Module1new.ppt
PPT
Software Engineering (Project Scheduling)
Metrics
project planning-estimation
Effort Estimation: Meaning, Problems with Estimation, Basis, Estimation Techn...
SE_Chapterrrrrrrrrrrrrrrrrrrrrrrrrr3.pdf
software engineering software development life cycle
Software project plannings
Software project plannings
COCOMO Model
Cocomo model
software project management cocomomodel.pdf
Software Engineering (Project Planning & Estimation)
SE2023 0301 Software Project Management.pptx
Software Engineering Chapter 4 Part 1 Euu
3wis_2.pdf
Group-5-presentation_SPM, here is deatiled version.pptx
SE - Lecture 11 - Software Project Estimation.pptx
lec11.ppt
SE_Module1new.ppt
Software Engineering (Project Scheduling)
Ad

Recently uploaded (20)

PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PPTX
Pharma ospi slides which help in ospi learning
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
Classroom Observation Tools for Teachers
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
TR - Agricultural Crops Production NC III.pdf
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
master seminar digital applications in india
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPTX
Cell Types and Its function , kingdom of life
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
Business Ethics Teaching Materials for college
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
102 student loan defaulters named and shamed – Is someone you know on the list?
Pharma ospi slides which help in ospi learning
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Classroom Observation Tools for Teachers
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
FourierSeries-QuestionsWithAnswers(Part-A).pdf
TR - Agricultural Crops Production NC III.pdf
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
master seminar digital applications in india
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Cell Types and Its function , kingdom of life
2.FourierTransform-ShortQuestionswithAnswers.pdf
Microbial disease of the cardiovascular and lymphatic systems
Business Ethics Teaching Materials for college
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
Pharmacology of Heart Failure /Pharmacotherapy of CHF
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
Ad

Chapter 3- Software Project Management(Reduced).ppt

  • 2. Organization of this Lecture: ▪ Introduction to Project Planning ▪ Software Cost Estimation – Cost Estimation Models – Software Size Metrics – Empirical Estimation – Heuristic Estimation – COCOMO ▪ Summary 2
  • 3. Introduction ▪ Many software projects fail: –due to faulty project management practices: ▪It is important to learn different aspects of software project management. 3
  • 4. Introduction ▪ Goal of software project management: –enable a group of engineers to work efficiently towards successful completion of a software project. 4
  • 5. Responsibility of Project Managers ▪ Project proposal writing, ▪ Project cost estimation, ▪ Scheduling, ▪ Project staffing, ▪ Project monitoring and control, ▪ Software configuration management, ▪ Risk management, ▪ Managerial report writing and presentations, etc. 5
  • 6. Activities ▪ A project manager’s activities are varied. –can be broadly classified into: ▪project planning, ▪project monitoring and control activities. 6
  • 7. Project Planning ▪ Once a project is found to be feasible, –project managers undertake project planning. ▪ Requires utmost care and attention - commitments to unrealistic time and resource estimates result in: –irritating delays. –customer dissatisfaction –adverse affect on team morale ▪ poor quality work –project failure. 7
  • 8. Sliding Window Planning ▪ Involves project planning over several stages: –protects managers from making big commitments too early. –More information becomes available as project progresses. ▪Facilitates accurate planning 8
  • 9. Project Planning Activities ▪ Estimation: Effort, cost, resource, and project duration ▪ Project scheduling ▪ Staff organization: staffing plans ▪ Risk handling: identification, analysis, and abatement procedures ▪ Miscellaneous plans: quality assurance plan, configuration management plan, etc. 9
  • 10. SPMP Document ▪ After planning is complete: – Document the plans: –in a Software Project Management Plan(SPMP) document. 10
  • 11. Organization of SPMP Document –Introduction: (Objectives, Major Functions, Performance Issues, Management andTechnical Constraints) –Project Estimates: (Historical Data, EstimationTechniques, Effort, Cost, and Project Duration Estimates) –Project Resources Plan: (People, Hardware and Software, Special Resources) –Schedules: (Work Breakdown Structure,Task Network, Gantt Chart Representation, PERT Chart Representation) –Risk Management Plan: (Risk Analysis, Risk Identification, Risk Estimation, Abatement Procedures) –ProjectTracking and Control Plan –Miscellaneous Plans: (ProcessTailoring, Quality Assurance) 11
  • 12. Software Cost Estimation ▪ Determine size of the product. ▪ From the size estimate, –determine the effort needed. ▪ From the effort estimate, –determine project duration, and cost. 12
  • 14. Software Size Estimation ▪Three main approaches to estimation: –LOC (Line Of Code) –Function Point Metric –Feature Point Metric 14
  • 15. Software Size Metrics ▪ LOC (Lines of Code): –Simplest and most widely used metric. –Comments and blank lines should not be counted. –Divides the problem into modules. –Each module into sub-modules and so,on until the LOC of the leaf level modules are small enough to be predicted. 15
  • 16. Disadvantages of Using LOC ▪ Size can vary with coding style. ▪ Focuses on coding activity alone. ▪ Correlates poorly with quality and efficiency of code. ▪ Penalizes higher level programming languages, code reuse, etc. 16
  • 17. Disadvantages of Using LOC (cont...) ▪ Measures lexical/textual complexity only. –does not address the issues of structural or logical complexity. ▪ Difficult to estimate LOC from problem description. –So not useful for project planning 17
  • 18. Function Point Metric ▪ Proposed by Albrecht in early 80’s (1983): –Step 1 : compute the unadjusted function point using heuristic expression. –Step 2 : refine parameters. –Step 3 : Compute FP. 18
  • 19. Function Point Metric ▪ Input: – A set of related inputs is counted as one input. ▪ Output: – A set of related outputs is counted as one output. ▪ Inquiries: – Each user query type is counted. ▪ Files: – Files are logically related data and thus can be data structures or physical files. ▪ Interface: – Data transfer to other systems. 19
  • 20. Step 1: Compute UFP (Unadjusted Function Point) ▪ UFP = (number of inputs) * 4 + (number of outputs) * 5 + (number of inquiries) * 4 + (number of files) * 10 + (number of interfaces) * 7 20
  • 21. Type Simple Average complex Input 3 4 6 Output 4 5 7 Inquiry 3 4 6 No. of files 7 10 15 No. of interfaces 5 7 10 21 Step 2: Refine Parameters
  • 22. ▪ TCF = (0.65 + 0.01 * DI) , where DI is Degree of Influence andTCF isTechnical Complexity Factor. ▪ FP = UFP *TCF 22 Step 3: Compute FP
  • 23. Degree Of Influence 23 0 = No Influence 1 = Incidental 2 = Moderate 3 = Average 4 = Significant 5 = Essential
  • 24. Function Point Metric (CONT.) ▪Suffers from a major drawback: –the size of a function is considered to be independent of its complexity. ▪Extend function point metric: – Feature Point metric: –considers an extra parameter: ▪Algorithm Complexity. 24
  • 25. Function Point Metric (CONT.) ▪ Proponents claim: –FP is language independent. –Size can be easily derived from problem description ▪ Opponents claim: –it is subjective --- Different people can come up with different estimates for the same problem. 25
  • 26. Software Cost Estimation ▪Three main approaches to estimation: –Empirical –Heuristic –Analytical 26
  • 27. Software Cost Estimation Techniques ▪ Empirical techniques: –an educated guess based on past experience. ▪ Heuristic techniques: –assume that the characteristics to be estimated can be expressed in terms of some mathematical expression. ▪ Analytical techniques: –derive the required results starting from certain simple assumptions. 27
  • 28. Empirical Estimation Techniques ▪ Expert Judgement: –An euphemism for guess made by an expert. –Suffers from individual bias. ▪ Delphi Estimation: –overcomes some of the problems of expert judgement. 28
  • 29. Expert judgement ▪Experts divide a software product into component units: –e.g. GUI, database module, data communication module, billing module, etc. ▪Add up the guesses for each of the components. 29
  • 30. Delphi Estimation: ▪Team of Experts and a coordinator. ▪Experts carry out estimation independently: –mention the rationale behind their estimation. –coordinator notes down any extraordinary rationale: ▪circulates among experts. 30
  • 31. Delphi Estimation: ▪Experts re-estimate. ▪Experts never meet each other – to discuss their viewpoints. 31
  • 32. Heuristic Estimation Techniques ▪SingleVariable Model: – Parameter to be Estimated=C1(Estimated Characteristic)d1 A = b^2 ▪Multivariable Model: –Assumes that the parameter to be estimated depends on more than one characteristic. – Parameter to be Estimated=C1(Estimated Characteristic)d1+ C2(Estimated Characteristic)d2+… – A = b^2 + c^3 + d –Usually more accurate than single variable models. 32
  • 33. COCOMO ▪COCOMO (COnstructive COst estimation MOdel) proposed by Boehm. ▪Divides software product developments into 3 categories: –Organic –Semidetached –Embedded 33
  • 34. Elaboration of Product classes ▪ Organic: –Relatively small groups ▪working to develop well-understood applications. ▪ Semidetached: –Project team consists of a mixture of experienced and inexperienced staff. ▪ Embedded: –The software is strongly coupled to complex hardware, or real-time systems. 34
  • 35. COCOMO Model (CONT.) ▪ For each of the three product categories: –From size estimation (in KLOC), Boehm provides equations to predict: ▪project duration in months ▪effort in programmer-months ▪ Boehm obtained these equations: –examined historical data collected from a large number of actual projects. 35
  • 36. COCOMO Model (CONT.) ▪Software cost estimation is done through three stages: –Basic COCOMO, –Intermediate COCOMO, –Complete COCOMO. 36
  • 37. Basic COCOMO Model (CONT.) ▪Gives only an approximate estimation: –Effort = a1 * (KLOC)^a2 PM –Tdev = b1 * (Effort)^b2 months ▪KLOC is the estimated kilo lines of source code, ▪a1,a2,b1,b2 are constants for different categories of software products, ▪Tdev is the estimated time to develop the software in months, ▪Effort estimation is obtained in terms of person months (PMs). 37
  • 38. Development Effort Estimation ▪Organic : – Effort = 2.4 (KLOC)^1.05 PM ▪ Semi-detached: –Effort = 3.0(KLOC)^1.12 PM ▪ Embedded: –Effort = 3.6 (KLOC)^1.20PM 38
  • 39. Development Time Estimation ▪Organic: –Tdev = 2.5 (Effort)^0.38 Months ▪Semi-detached: –Tdev = 2.5 (Effort)^0.35 Months ▪Embedded: –Tdev = 2.5 (Effort)^0.32 Months 39
  • 40. Example ▪ The size of an organic software product has been estimated to be 32,000 lines of source code. Average salary of the engineers are 15,000 per month. ▪ Effort = 2.4*(32)^1.05 = 91 PM ▪ Nominal development time = 2.5*(91)0.38 = 14 months ▪ Cost = 91*15000 =13,65,000 40
  • 41. Intermediate COCOMO ▪ Basic COCOMO model assumes –effort and development time depend on product size alone. ▪ However, several parameters affect effort and development time: ▪Reliability requirements ▪Availability of CASE tools and modern facilities to the developers ▪Size of data to be handled 41
  • 42. Intermediate COCOMO ▪For accurate estimation, –the effect of all relevant parameters must be considered: –IntermediateCOCOMO model recognizes this fact: ▪refines the initial estimate obtained by the basic COCOMO by using a set of 15 cost drivers (multipliers). 42
  • 43. Intermediate COCOMO (CONT.) ▪Rate different parameters on a scale of one to three: –Depending on these ratings, ▪multiply cost driver values with the estimate obtained using the basic COCOMO. 43
  • 44. Intermediate COCOMO (CONT.) ▪ Cost driver classes: –Product: Inherent complexity of the product, reliability requirements of the product, etc. –Computer: Execution time, storage requirements, etc. –Personnel: Experience of personnel, etc. –Development Environment: Sophistication of the tools used for software development. 44
  • 45. 45
  • 46. 46
  • 47. Intermediate COCOMO ▪ Intermediate COCOMO equation: ▪ Effort=ai *(KLOC) ^bi*EAF Duration=ci (E)^di ▪ EAF- Effort Adjustment Factor 47
  • 48. Example ▪ For a given project was estimated with a size of 300 KLOC. Calculate the Effort, Scheduled time for development by considering developer having very high application experience and very low experience in programming. 48
  • 49. Answer ▪ Given the estimated size of the project is: 300 KLOC Developer having highly application experience: 0.82 (as per table) Developer having very low experience in programming: 1.14(as per table) ▪ EAF = 0.82*1.14 = 0.9348 ▪ Effort (E) = a*(KLOC)b *EAF = 3.0*(300)1.12 *0.9348 = 1668.07 PM ▪ Scheduled Time (D) = c*(E)d = 2.5*(1668.07)0.35 = 33.55 Months(M) 49
  • 50. Shortcoming of basic and intermediate COCOMO models ▪ Both models: –consider a software product as a single homogeneous entity: –However, most large systems are made up of several smaller sub-systems. ▪Some sub-systems may be considered as organic type, some may be considered embedded, etc. ▪for some the reliability requirements may be high, and so on. 50
  • 51. Complete COCOMO ▪Cost of each sub-system is estimated separately. ▪Costs of the sub-systems are added to obtain total cost. ▪Reduces the margin of error in the final estimate. 51
  • 52. Complete COCOMO Example ▪ A Management Information System (MIS) for an organization having offices at several places across the country: –Database part (semi-detached) –Graphical User Interface (GUI) part (organic) –Communication part (embedded) ▪ Costs of the components are estimated separately: –summed up to give the overall cost of the system. 52
  • 53. Summary ▪We discussed the broad responsibilities of the project manager: –Project planning –Project Monitoring and Control 53
  • 54. Summary ▪ To estimate software cost: –Determine size of the product. –Using size estimate, ▪determine effort needed. –From the effort estimate, ▪determine project duration, and cost. 54
  • 55. Summary (CONT.) ▪ Cost estimation techniques: –EmpiricalTechniques –HeuristicTechniques ▪ Empirical techniques: –based on systematic guesses by experts. ▪Expert Judgement ▪Delphi Estimation 55