SE423 · Annotated SlidesChapter 6 — Estimation
Chapter 6 · Annotated slides

Estimation

Estimation methods, three-point estimating and COCOMO. Both finals had a COCOMO calculation (32 KLOC and 20 KLOC organic) and a “choose two estimation techniques” question, so the formulas on slides 39–47 and the method trade-offs on slides 9–16 are where marks are.

Slide text Instructor’s marks (from the original PDF) Study notes Highlight: key words Tips, tricks & traps Seen again elsewhere How it can come up

Estimation

SE423: Software Project Management
1
Exam weight Low
  1. Order of estimation: Size → Effort → Schedule. COCOMO turns size into effort and then into time.

Outline

  • Estimation
  • Estimation Methodologies
  • Activity Resource Estimating
  • Activity Duration Estimating
  • Function Points
  • COCOMO
  • Final Notes
2
Exam weight Low
  1. COCOMO (slides 37–51) is the calculation part; methods (9–17) are the written-answer part.

Estimation

3

Estimation

  • Why it’s difficult: evolving requirements; technical unknowns; team skill and availability; external dependencies.①
  • Created, used or refined during
    • Strategic planning: Aligns project goals with organizational capacity and timelines
    • Feasibility study and/or SOW(Statement of Work: document that defines the scope, deliverables, timelines and responsibilities): Determines whether the project is viable and worth pursuing
    • Proposals: Helps justify cost, scope, and timeline to stakeholders or clients
    • Vendor and sub-contractor evaluation: Compares bids, assesses realism, and negotiates contracts
    • Project planning (iteratively): Refines estimates as more information becomes available
  • Basic process
  1. Estimate the size of the product
  2. Estimate the effort (person-months) schedule
  3. Estimate the
  • NOTE: Not all of these steps are always explicitly performed②
4
Exam weight Medium
  1. Why hard: evolving requirements, technical unknowns, team skill/availability, external dependencies.
  2. Basic process: size → effort (person-months) → schedule.
Memory trickS.E.S.: Size, Effort, Schedule, always in that order.
🎯 How this can come up · 1 question
MCQ

What is the correct order of the basic estimation process?

Estimation

  • Remember, an “exact estimate” is not possible
  • Estimate how long will it take you to get home from class today
    • On what basis did you do that?
    • Experience is useful
    • Likely as an “average” (based on historical data), probable estimation
    • For most software projects there is no such ‘average’ Most software estimations are off by 25-100%①
5
Exam weight Low
  1. No exact estimate exists. Software estimates are commonly off by 25–100%.

Estimation: definitions

  • Target vs. Committed Dates
    • Target: Proposed by business or marketing
      • Do not commit to this too soon! (Learn to say no and how to say it)
    • Committed: Team agrees to this (based on actual planning)
      • After you’ve developed a schedule①
  • As project size increases, so does uncertainty:
    • Small projects (10-99 FPs), variance of 7% from post-requirements estimates
    • Medium (100-999 FPs), 22% variance
    • Large (1000-9999 FPs) 38% variance
    • Very large (> 10K FPs) 51% variance

-> push back on target dates, understand that

variance is normal②

6
Exam weight Medium
  1. Target date = from business/marketing. Committed date = what the team agrees after planning. Don’t commit to targets early.
  2. Bigger project → more variance (7% small … 51% very large).
🎯 How this can come up · 1 question
True / False

A target date is one the team commits to after building a schedule.

Cone of Uncertainty

  • The upper curve represents the maximum possible overestimation. The lower curve represents the maximum possible underestimation.
  • Over time, these curves converge toward 1x, meaning your estimate becomes more accurate and reliable.
  • Early estimates (e.g., during feasibility or proposal stages) can be wildly inaccurate — anywhere from 0.25x to 4x the actual scope.①
  • As the project moves through requirements gathering, design, and development, uncertainty decreases
Cone of uncertainty: estimate variability narrowing from 4x/0.25x to 1x over time
7
Exam weight Medium
  1. Early estimates can be 0.25× to 4× the real value; the cone narrows as you learn.
🎯 How this can come up · 1 question
MCQ

At the feasibility stage, the cone of uncertainty says estimates may range from:

Estimation Methodologies

8
★ Past exam

Estimation Methodologies

  • Expert Judgment: Relies on the experience and intuition of seasoned professionals.
  • Top-down: Starts with an overall project estimate, then breaks it down into components. Useful in early planning stages when only high-level scope is known.
  • Bottom-up: Builds estimates from detailed task-level analysis, then aggregates them. Requires a well-defined scope and work breakdown structure (WBS).
  • Analogy: Compares the current project to past similar projects.
  • Priced to Win (request for quote – RFQ): Estimation driven by competitive pricing or client budget constraints.
  • Parametric or Algorithmic Method: Uses mathematical models and historical data to generate estimates (COCOMO, Function Point analysis, etc.)①
9
Exam weight High
  1. Six methods. In an exam scenario, pick two and say WHY they fit (e.g., analogy early using past projects; bottom-up once a WBS exists).
Memory trick“Every Team Brings A Pricing Algorithm”: Expert, Top-down, Bottom-up, Analogy, Priced-to-win, Algorithmic.
🎯 How this can come up · 1 question
Written

Choose two effort-estimation techniques for a 12-month hardware/software project and explain how each supports planning and risk control (Final 242).

Expert Judgment

  • Use somebody who has recent experience on a similar project
  • You get a “guesstimate”
  • Accuracy depends on their ‘real’ expertise
  • Comparable application(s) must be accurately chosen①
10
Exam weight Low
  1. Expert judgment = a “guesstimate”; only as good as the expert’s real experience.

Top-down Estimation

  • Based on overall characteristics of project
    • Some of the others can be “types” of top-down (Analogy, Expert Judgment, and Algorithmic methods)
  • Advantages
    • Easy to calculate, quick and strategic
    • Effective early on (like initial cost estimates)
  • Disadvantages
    • Less accurate because may overlook complexity in individual tasks.①
11
Exam weight Low
  1. Top-down: quick, good early; less accurate (misses task complexity).

Bottom-up Estimation

  • Create WBS Work Breakdown Structure, identify individual tasks to be done.
  • Add from the bottom-up
  • Advantages
    • More accurate and granular.
    • Works well if activities well understood
  • Disadvantages
    • Specific activities not always known
    • More time consuming and depend on detailed information①
12
Exam weight Medium
  1. Bottom-up: from the WBS up; most accurate but slow and needs detail.
Exam trapTop-down = fast but rough (early). Bottom-up = slow but accurate (needs WBS).
🎯 How this can come up · 1 question
MCQ

Which method requires a work breakdown structure and is the most granular?

Estimation by Analogy

  • Use past project
    • Must be sufficiently similar (technology, type, organization)
    • Find comparable attributes (ex: # of inputs/outputs)
  • Advantages
    • Based on actual historical data
  • Disadvantages
    • Difficulty ‘matching’ project types
    • Prior data may have been mis-measured
    • How to measure differences – no two exactly same①
13
Exam weight Low
  1. Analogy: compare with a similar past project. Hard to match projects exactly.

Priced to Win

  • The quote may not reflect actual costs or effort required.
  • Needs information on other estimates (or prices): To price competitively, vendors need access to market intelligence: previous bids, or client budget expectations (competitor pricing is not public).
  • Purshaser must closely watch trade-offs: Is the low price realistic? Will quality or scope suffer?
  • Priced to lose? some vendors may intentionally underbid to win the contract, knowing they’ll cut corners, request scope change later, absorb losses for strategic reasons (e.g., market entry)
  • Strength: Aligns with market expectations.
  • Risk: May undercut realistic effort, leading to overruns.①
14
Exam weight Low
  1. Priced to win = estimate driven by the price that wins the bid, not the real effort. Risk of underbidding and overruns.

Algorithmic Measures

  • Lines of Code (LOC)
  • Function points
    • Feature points or object points
  • Other possible
    • Number of bubbles on a DFD
    • Number of ERD entities
    • Number of processes on a structure chart
  • LOC and function points most common (of the algorithmic approaches)
  • Majority of projects use none of the above①
15
Exam weight Low
  1. Algorithmic size measures: LOC and function points mostly.

Wideband Delphi

  • Group consensus approach
  • Rand Corp. used original Delphi approach in the 1940’s to estimate future projects
  • Present experts with a problem and response form: They fill out initial estimates independently.
  • Conduct group discussion, collect anonymous opinions, then share feedback: This helps surface hidden factors and clarify misunderstandings
  • Conduct another discussion & iterate until consensus①
  • Advantages
    • Easy, inexpensive, utilizes expertise of several people
    • Does not require historical data
  • Disadvantages
    • Difficult to repeat
    • May fail to reach consensus, reach wrong one, or all may have same bias②
16
Exam weight Medium
  1. Wideband Delphi: independent estimates → discussion → anonymous re-estimates → repeat until consensus.
  2. No historical data needed; may still converge on a shared bias.
🎯 How this can come up · 1 question
True / False

Wideband Delphi requires historical project data.

Code-based Estimates

  • LOC Advantages
    • Commonly understood metric: intuitive and familiar to most developers and managers
    • Permits specific comparison
    • Actuals easily measured: Once code is written, LOC is straightforward to count
  • LOC Disadvantages
    • Difficult to estimate early in cycle (Before requirements and design are clear)
    • Counts vary by language and availability of reusable components and programmer style (avg. programmer productivity: 3,000 LOC/yr)
    • Many costs not considered (ex: requirements, UI design, etc)
    • Programmers may be rewarded based on this: If incentives are tied to LOC, developers may write more code than necessary, reducing efficiency and maintainability.
    • Code generators produce repeated code: Auto-generated code inflates LOC without reflecting actual developer effort, skewing estimates and metrics.①
17
Exam weight Low
  1. LOC: easy to count afterwards, hard to estimate early; varies by language; easy to game.

Function Points

  • Software size measured by number & complexity of functions it performs
  • More methodical than LOC counts
  • Four basic steps (next slide)①
18
Exam weight Low
  1. Function points size software by its functions, independent of language.

Function Point Process

  1. Count # of business functions per category
    • Categories: outputs, inputs, db inquiries, files or data structures, and interfaces
  2. Establish Complexity Factor for each and apply
    • Simple, Average, Complex
    • Set a weighting multiplier for each (0 –>15)
    • This results in the “unadjusted function-point total”
  3. Compute an “influence multiplier” and apply
    • Based on 14 factors rated from 0 to 5 (such as performance requirements, data communications, transactions rates, reusability, etc)
  4. Results in “function point total”
    • This can be used in comparative estimates①
19
Exam weight Medium
  1. FP steps: count functions (inputs, outputs, inquiries, files, interfaces) → weight by complexity → UFP → multiply by influence factor (14 factors, 0–5).
🎯 How this can come up · 1 question
MCQ

How many influence factors adjust the function point count?

Effort Estimation

  • Now that you know the “size” (function points, LOC, etc.), determine the “effort” needed to build it (in person-months or staff-months)
  • Various models:
    • Empirical: Based on historical data and past project performance
    • Mathematical: Uses formulas and algorithms, example: Effort = a × (Size)b
    • Subjective: Relies on expert judgment and team intuition (Wideband Delphi)
  • Depends on Efficiency/productivity of people
    • Motivation
    • Ability of team
    • Application experience
    • Range of personnel①
20
Exam weight Low
  1. From size to effort: empirical, mathematical (Effort = a × Sizeb), or subjective models.

Duration

  • What is the duration? The duration of a project is the elapsed time in business working days, not including weekends, holidays, or other nonworking days.
  • Duration is different from work effort.
    • Duration = Work Effort ÷ Number of People -> more useful in scheduling; Work Effort = Duration × Number of People -> more useful in cost
    • Work Effort = estimation
    • Work effort is labor required to complete an activity.
    • E.g. five people reviewing a document; the duration may be 10 hours but the work effort is 50 staff-hours①
21
Exam weight High
  1. Duration = calendar working days. Effort = labor (staff-hours). 5 people × 10 h = 50 staff-hours of effort but 10 h of duration.
Exam trapEffort ≠ duration. Adding people can shorten duration but not effort.
🎯 How this can come up · 1 question
MCQ

Five people review a document for 10 hours. Effort and duration are:

Duration

  • When we talk about estimates and duration, there are two types of time that are not the same:
    • Labor Time: actual effort required to complete a task (in staff-hours)
    • Clock time: elapsed calendar time needed to complete the task.
  • For example, if we estimate that a task would require 40 hours of labor to complete, then in a normal business setting we need at least 50 business hours, ? Why
    • Productivity is usually 50-75% of a business day
    • a developer might only get 5–6 productive hours per day of 8 office hours (meetings, emails and communication, breaks and fatigue, tasks switching and setup, etc.)①
22
Exam weight Low
  1. Productivity is only 50–75% of the day, so 40 labor hours need ~50+ clock hours.

Causes of Variation

  • Since we cannot know what factors will be effective when work is underway on an activity, we cannot know exactly how long it will take.
  • Causes of Variation in the Actual Activity Duration
    • Varying skill levels: Our estimate of the activity duration is based on average skilled engineer. We may get a higher or lower skilled engineer assigned to the activity, causing the actual duration to vary from the planned duration.
    • Unexpected events: Random natural events, vendor delays, power failures, etc.
    • Efficiency of work time: Every time a worker is interrupted it takes more time to get up to the level of productivity prior to the time of the interruption. These interruptions may have little or substantial impact on the worker's productivity
    • Mistakes and Misunderstandings: Even in organizations that have a documented process, rework may have its impact on the actual activity duration.①
23
Exam weight Low
  1. Variation: skill levels, unexpected events, interruptions, rework.

Estimation Issues

  • Quality estimations needed early but information is limited
  • Precise estimation data available at end but not needed anymore
    • Or is it? What about the next project?
    • At the end of the project you should have determined just how accurate your original estimate was.
  • Best estimates are based on past experience
  • Politics of estimation:
    • You may anticipate a “cut” by upper management (so you add some contingency duration)
  • For many software projects there is little or no data for estimation
    • Technologies change
    • Historical data unavailable
    • Wide variance in project experiences/types
    • Subjective nature of software estimation①
24
Exam weight Low
  1. Good data comes at the end; save it for the next project.

Over and Under Estimation

  • Over estimation issues
    • The project will not be funded: Conservative estimates guaranteeing 100% success may mean funding probability closer to zero.
    • Parkinson's Law: Work expands to take the time allowed
    • Danger of feature and scope creep
    • Be aware of “double-padding”: project member + business manager
  • Under estimation issues
    • Quality issues (shorten key phases like testing)
    • Inability to meet deadlines
    • Morale and other team motivation issues①
25
Exam weight Medium
  1. Overestimate → not funded, Parkinson’s law (work fills the time), scope creep. Underestimate → cut testing, missed deadlines, low morale.
🎯 How this can come up · 1 question
MCQ

“Work expands to fill the time available” is:

Introduction: Activity Resource Estimation

  • Resource estimation is concerned with who/what how much , , and when
  • Who/what
    • Resource requirements of people or equipment
    • Matching the right resources to activities
    • May be generic ( n Java programmers) or resource-specific ( Salah as senior architect)
  • How much: Amount of resource(s) needed for activity
  • When: When the resource will be needed for activities①
26
Exam weight Medium
  1. Resource estimation = who/what, how much, when.

Controlling factors in resource estimation

  • Controlling factors in resource estimation
    • Enterprise environment: May be defined by constraints and assumptions identified in Project Scope Statement
    • Organization policy: How the organization allocates and manages internal and external resources.
    • Resource availability: When the resource will be available for activities and whether dedicated or part-time①
27
Exam weight Low
  1. Controlling factors: environment, organization policy, availability.

Estimating tools

  • Expert judgment One of the most effective tools for estimating. May be used in conjunction with other tools
  • Alternative analysis Examines different approaches to staff and deliver work, such as in-house development .contracting . vs vs COTS
  • Published estimating data Provides empirical baselines for productivity, typical staffing levels, and effort per unit of size (LOC, FP, features). May be available in-house① in form of historical project data or may be available from outside sources ( published survey research papers, technical reports )
28
Exam weight Low
  1. Tools: expert judgment, alternatives analysis (in-house vs contract vs COTS), published data.

Activity Resource Estimation Output

  • Activity resource requirements
    • Identify what and how much of resource(s) are needed for each activity in a work package (3 developer, 1 tester...)
    • Activity resource requirements are summed to provide estimate for entire work package
  • Resource calendar
    • Documents working and non-working days
    • Resource-specific holidays may be identified
  • Requested changes
    • Activity resource estimating process may generate requests for changes to activity list①
29
Exam weight Low
  1. Outputs: resource requirements per activity, resource calendar, change requests.

Introduction: Activity Duration Estimation

  • Focuses on estimating the number of work periods needed to complete individual schedule activities
  • Estimates originate from person or groups most familiar with the type of work needed in the activity
  • Estimate is progressively elaborated: duration estimates are improved as project progresses
  • Activity duration output
    • Quantitative activity duration estimates, including range of possible values①
30
Exam weight Low
  1. Duration estimates come from those who know the work, and improve over time.

Controlling factors in duration estimation

  • Controlling factors in duration estimation
    • Historical data If available, enterprise- or industry-specific historical data can be used as starting point for estimates
    • Activity resource requirements The type and number of resources applied to an activity must account for
      • Resource qualifications
      • Quantity / productivity trade-offs: putting more people on a task may reduce productivity
    • Resource calendars Must account for full/part time commitments①
31
Exam weight Low
  1. More people can lower productivity (Mythical Man-Month, Chapter 6.2).

A useful rule of thumb

  • Keep all times in the same units
  • Don't mix increments
    • Example: Schedule everything in hours, then convert to days and fractions as a last step
    • Note: Most PM software tools enforce this rule by using a uniform time unit and increment①
32
Exam weight Low
  1. Keep one time unit; convert at the end.

Estimating tools

To improve the accuracy and resilience of project schedules:

  • Reserve analysis: C ontingency or time reserves can be added to schedule to allow for schedule risks (uncertainty)
    • Contingency reserves may be used or adjusted as more precise project information becomes available
    • Known as buffer time: Do not confuse with slack time.①
  • Three-point estimation techniques use a mathematical combination of three different estimates: Most likely, Optimistic, and Pessimistic:
    • Basic:
      • Estimate = { M + O + P } / 3: get an average of the three estimations②
33
Exam weight Low
  1. Contingency (buffer) time ≠ slack. Buffer is added on purpose; slack comes from the network.
  2. Basic three-point = (M + O + P) / 3.

Three Point Estimating

  • Used whenever there is a potential variance in an estimate. Assumes a Gaussian distribution of estimates.
    • Because of uncertainties in: Duration, Effort, Size
  • Three-point estimating techniques use a mathematical combination of three different estimates:
    • best-case, worst-case, and expected scenarios
    • Get estimates from experts: Most likely, Optimistic, and Pessimistic
    • Compute an average: (Gaussian distribution assumption) (Optimistic + 4(Likely)+ Pessimistic)/6①
34
Exam weight High
  1. PERT/beta formula: (O + 4M + P) / 6 weights the most likely value 4×.
Memory trickOne, four, one, over six.
🎯 How this can come up · 2 questions
MCQ

O = 4 days, M = 6 days, P = 14 days. PERT estimate?

MCQ

O = 2, M = 5, P = 8. Basic (simple average) three-point estimate?

Example: Three Point Estimation of LOC

Three-point LOC estimates for a CAD program, total 33,200 LOC
35
Exam weight Low
  1. Example: UICF (1,500 + 4×2,300 + 3,100)/6 = 2,300. Totals give 33,200 LOC.

Example: Three Point Estimation using Function Points

  • Each function is divided into one of five categories, then multiplied by the appropriate number below
Function point weights: inputs ×3/4/6, outputs ×4/5/7, inquiries ×3/4/6, logical files ×7/10/15, interface files ×5/7/10
36
Exam weight Low
  1. Weights (low/average/high): inputs 3/4/6, outputs 4/5/7, queries 3/4/6, internal files 7/10/15, external interfaces 5/7/10.

COCOMO

37

COnstructive COst Model (COCOMO)

  • COnstructive COst Model: An algorithmic software cost estimation model
  • Uses a basic regression formula with parameters that are derived from historical project data and current project characteristics: E = a(KLOC)b
  • Helps estimate person-months (effort) based on the size of the software: Input – LOC, Output - Person Months①
  • Intermediate COCOMO Adjusts its estimates based on the type of application, size, and “Cost Drivers”
  • Cost drivers using High/Med/Low levels, include:
    • Motivation, Ability of team, Application experience, etc.
  • Biggest weakness?
    • Requires input of a product size estimate in LOC (needs to be reliable estimate of LOC)②
38
Exam weight Medium
  1. COCOMO: input KLOC → output person-months.
  2. Biggest weakness: needs a reliable LOC estimate up front.
🎯 How this can come up · 1 question
MCQ

The biggest weakness of COCOMO is that it:

★ Past exam

Basic COCOMO – More Constants

In COCOMO, projects are categorized to one of three types:

  • Organic: Small, simple projects with experienced teams and flexible requirements.
  • Semi-Detached: Medium complexity, mixed experience, some constraints.
  • Embedded: Complex, creativity needed, tightly coupled systems with strict requirements (e.g., real-time or safety-critical systems).

Basic COCOMO: E = a(KLOC)b①

  • E is the Effort in staff months
  • a and b are coefficients to be determined
  • KLOC is thousands of lines of code
  • a and b used for (calculate Effort from KLOC)
  • c and d used for (calculate Time from Effort)②
39
Exam weight High
  1. Effort E = a × KLOCb (person-months).
  2. a, b → effort. c, d → time.

Basic COCOMO – The Modes

  • Organic: 2 to 50 KLOC, small, stable, little innovation
  • Semi-detached: 50 to 300 KLOC, medium-sized, average abilities, medium time constraints
  • Embedded: > 300 KLOC, large project team, complex, innovative, severe constraints①

Basic COCOMO constants

  • Organic: a = 2.4, b = 1.05, c = 2.5, d = 0.38
  • Semi-detached: a = 3.0, b = 1.12, c = 2.5, d = 0.35
  • Embedded: a = 3.6, b = 1.20, c = 2.5, d = 0.32
40
Exam weight High
  1. Organic 2–50 KLOC · Semi-detached 50–300 · Embedded >300 or severe constraints.
  2. Note c = 2.5 for all three modes.
Memory tricka goes 2.4 → 3.0 → 3.6 (+0.6 each). d goes 0.38 → 0.35 → 0.32 (−0.03 each). c is always 2.5.
🎯 How this can come up · 2 questions
MCQ

Which COCOMO mode has a = 3.0 and b = 1.12?

True / False

In Basic COCOMO, c = 2.5 for all three modes.

Basic COCOMO – Example

  • Suppose size is 200 KLOC
  • Organic
    • 2.4(200)1.05 = 626 staff-months①
  • Semi-Detached
    • 3.0(200)1.12 = 1,133 staff-months
  • Embedded
    • 3.6(200)1.20 = 2,077 staff-months

Basic COCOMO constants

  • Organic: a = 2.4, b = 1.05, c = 2.5, d = 0.38
  • Semi-detached: a = 3.0, b = 1.12, c = 2.5, d = 0.35
  • Embedded: a = 3.6, b = 1.20, c = 2.5, d = 0.32
41
Exam weight Low
  1. Same size, more complex mode → much more effort (626 → 2,077).

Basic COCOMO – Development Time

TDEV = c(E)d①

  • TDEV is time for development
  • c and d are constants to be determined
  • E is the effort

Basic COCOMO constants

  • Organic: a = 2.4, b = 1.05, c = 2.5, d = 0.38
  • Semi-detached: a = 3.0, b = 1.12, c = 2.5, d = 0.35
  • Embedded: a = 3.6, b = 1.20, c = 2.5, d = 0.32
42
Exam weight High
  1. Time TDEV = c × Ed (months). Uses E, not KLOC.
Exam trapTDEV uses EFFORT (E) as input, not KLOC.

Basic COCOMO – Example

  • Suppose size is 200 KLOC
  • Organic
    • E = 626 staff months
    • TDEV = 2.5(626)0.38 = 29 months
  • Semi-Detached
    • E = 1,133
    • TDEV = 2.5(1133)0.35 = 29 months
  • Embedded
    • E = 2077
    • TDEV = 2.5(2077)0.32 = 29 months①
43
Exam weight Low
  1. Interesting: all three give ~29 months. Harder projects need more PEOPLE, not more time.

Basic COCOMO – Average Staff Size

COCOMO estimates three primary things:

  • Effort (E): Measured in person-months, it's the total amount of work required.
  • Time to Develop (TDEV): Measured in months, it's the schedule duration.
  • Staff Size (SS): The average number of people working on the project.①
SS = E / TDEV
44
Exam weight Medium
  1. Average staff SS = E / TDEV.

Basic COCOMO – Productivity

  • COCOMO estimates Effort (E) based on project attributes, and Size is often the input (e.g. estimated KLOC).
  • Once you have both, you can compute Productivity (P) to evaluate how efficiently your team is working (or should be working)①
P = Size / E = KLOC / staff-months
45
Exam weight Medium
  1. Productivity P = Size / E (LOC per person-month).
★ Past exam

COCOMO Complete Example - Organic

  • Suppose an organic project has 7.5 KLOC,
    • Effort 2.4(7.5)1.05 = 20 staff–months
    • Development time 2.5(20)0.38 = 8 months
    • Average staff per month needed: 20 / 8 = 2.5 staff per month
    • Productivity 7,500 LOC / 20 staff-months = 375 LOC / staff-month①

Conclusion: Your target productivity for the given estimation is of 375 lines of code monthly on average per staff member

46
Exam weight High
  1. The full recipe: E → TDEV → SS = E/TDEV → P = LOC/E. Exactly what both finals asked.
TipShow every step with the formula, keep 1 decimal, and give units (person-months, months, people, LOC/PM). Partial marks are per step.
🎯 How this can come up · 2 questions
Written

COCOMO organic, 32 KLOC (a=2.4, b=1.05, c=2.5, d=0.38). Compute effort, development time and average staff (Final 242).

Written

COCOMO organic, 20 KLOC. Compute effort, development time, productivity and staff (Final 251).

COCOMO Complete Example - Embedded

  • Suppose an embedded project has 50 KLOC,
    • Effort 3.6(50)1.20 = 394 staff–months
    • Development time 2.5(394)0.32 = 17 months
    • Average staff per month needed: 394 / 17 = 23 staff per month
    • Productivity 50,000 LOC / 394 staff-months = 127 LOC / staff-month

Conclusion: ?①

47
Exam weight Medium
  1. Answer to “Conclusion ?”: an embedded project needs far more effort per line, so expected productivity is only ~127 LOC per person-month (vs 375 organic).
🎯 How this can come up · 1 question
MCQ

An organic project is estimated at E = 40 PM and TDEV = 10 months. Average staff?

Intermediate COCOMO – Cost Drivers

  • The basic COCOMO model assumes that the effort is only a function of the number of lines of code and some constants evaluated according to the different software systems. However, in reality, no system's effort and schedule can be solely calculated based on LOC.
  • The Intermediate COCOMO Model utilizes 15 drivers for cost estimation: Cost Drivers(multipliers)①
Intermediate COCOMO cost driver table with multipliers per rating
48
Exam weight Low
  1. Intermediate COCOMO: 15 cost drivers adjust effort (product, hardware, personnel, project attributes).

Intermediate COCOMO – Cost Drivers

Intermediate COCOMO: E = a(KLOC)b × C

  • Cost Drivers are used because
    • they are statistically significant to the cost of the project; and
    • they are not correlated to the project size (KLOC)
  • To obtain the multiplier
    • Determine each number using the grid
    • Multiply them – the product is C① (the effort adjustment factor)
49
Exam weight Medium
  1. C = product of all cost-driver multipliers; E = a × KLOCb × C.
🎯 How this can come up · 1 question
True / False

In Intermediate COCOMO the cost-driver multipliers are added together.

COCOMO Advantages

  • Based on history
  • Repeatable
  • Unique adjustment factors
  • Has different modes
  • Works well on similar projects
  • Highly calibrated
  • Well-documented
  • Easy to use①
50
Exam weight Low
  1. Pros: history-based, repeatable, modes, calibrated, documented, easy.

COCOMO Limitations

  • Ignores requirements volatility
  • Ignores documentation
  • Ignores customer’s “skill”
  • Oversimplifies security
  • Ignores software safety
  • Ignores personnel turnover
  • Ignores many hardware issues
  • Personnel experience may be obsolete
  • Must know the cost drivers
  • Must be able to predict project size①
51
Exam weight Low
  1. Cons: ignores volatility, documentation, customer skill, turnover, safety… and still needs a size estimate.

Final Notes

52

Code Reuse and Estimation

  • Code reuse does not come for free (understanding the code, adapting, testing, integrating, etc.): consume time and effort.
  • Code types: New, Modified, Reused
  • If code is more than 50% modified, it’s “new”: estimated as if totally “new”
  • Reuse factors have wide range
    • Reused code takes 30% effort of new
    • Modified is 60% of new
  • Integration effort with reused code almost as expensive as with new code①
53
Exam weight Low
  1. Reuse isn’t free: reused ≈ 30% of new effort, modified ≈ 60%, >50% modified = new.

Estimation for Agile

  • Agile estimation starts with user stories or scenarios: Each user

scenario is considered separately (as a mini-project)

  • The scenario is decomposed into a set of engineering tasks (UI, backend..)
  • Each task is estimated separately
    • May use historical data, empirical model, or experience
    • Scenario volume can be estimated (LOC, FP, use-case count, etc.)
  • Total scenario estimate computed
    • Sum estimates for each task
    • Translate volume estimate to effort using historical data or COCOMO
  • The effort estimates for all scenarios in the increment are summed to get an increment estimate①
54
Exam weight Low
  1. Agile: story → tasks → estimate each → sum → increment estimate.

Know Your Deadlines

  • Are they ‘Real Deadlines’?
    • Tied to an external event
    • Have to be met for project to be a success
    • Ex: end of financial year, contractual deadline, Y2K
  • Or ‘Artificial Deadlines’?
    • Set by arbitrary authority
    • May have some flexibility (if pushed)①
55
Exam weight Low
  1. Real deadlines tie to external events; artificial ones may flex.

Estimation Presentation (Communication)

  • How you present the estimation can have huge impact
  • Techniques
    • Plus-or-minus qualifiers
    • 6 months +/-1 month -> Communicates a central estimate with a buffer
    • Ranges
      • 6-8 months
    • Risk Quantification
      • +/- with added information (more info about uncertainty)
      • Example: +1 month (if new tool not working as expected)
      • -2 weeks (if hiring new developers happens sooner)
    • Cases: offer scenario based estimates (if things go well ... otherwise ....)
      • Best / Planned / Current / Worst cases
    • Coarse Dates: useful when finer estimates are not feasible
      • Q3 of 2026
    • Confidence Factors
      • April 1 with 10% probability, July 1 with 50% probability, etc.①
56
Exam weight Medium
  1. Present estimates with uncertainty: ±, ranges, risk quantification, cases, coarse dates, confidence factors.
🎯 How this can come up · 1 question
MCQ

“July 1 with 50% probability” is which presentation technique?

Final Estimates

  • For Time or Cost Estimates:
    • Aggregation into larger units (Work Packages, Control Accounts, etc.)
    • Perform Risk Analysis to calculate Contingency Reserves (Controlled by PM)
    • Add Management Reserves: Set aside to cover unforeseen risks or changes (Total company funds available – requires Change Control activities to access)①
57
Exam weight Low
  1. Contingency → PM controls; management reserve → needs change control to use.

Estimation Guidelines

  • Estimate iteratively!
    • Process of gradual refinement
    • Make your best estimates at each planning stage
    • Refine estimates and adjust plans iteratively
    • Plans and decisions can be refined in response
    • Balance: too many revisions vs. too few①
58
Exam weight Low
  1. Estimate iteratively, refining as you learn.

Other Estimation Factors

  • Account for resource experience or skill
    • Up to a point
    • Often needed more on the “low” end, such as for a new or junior person
  • Allow for “non-project” time & common tasks
    • Meetings, phone calls, web surfing, sick days
  • There are commercial ‘estimation tools’ available
    • They typically require configuration based on past data①
59
Exam weight Low
  1. Allow for non-project time and junior staff.

Other Estimation Notes

  • Remember: “manage expectations”
  • Parkinson’s Law
    • “Work expands to fill the time available”
  • The Student Syndrome
    • Procrastination until the last minute (cram)①
60
Exam weight Medium
  1. Student syndrome = procrastinate until the last minute, so padding gets wasted.
🎯 How this can come up · 1 question
MCQ

Team members who wait until the last minute to start a task despite padding show: