Knowledge / Computer Science and Engineering / Software project management and estimation

Software project management and estimation

Computer Science and Engineering (B.E./B.Tech) · Software engineering · free study notes for exams, placements and interviews

In short

Software project management is the planning, estimating, scheduling, staffing, tracking and risk control needed to deliver software of agreed scope and quality within time and cost. Estimation is its hardest part: size (LOC or function points) is estimated first, then effort and cost through models such as COCOMO, Putnam's software equation or expert/Delphi judgement, and only then a schedule through CPM/PERT or Agile velocity. It is examined in every Indian university software engineering paper and in GATE CS (function points, COCOMO, PERT, CMM levels carry direct marks), and used daily by project managers, delivery managers, scrum masters and pre-sales teams at TCS, Infosys, Wipro, HCLTech, LTIMindtree, Cognizant and Accenture India, where a fixed-price bid is literally an estimate with money on it. The recurring theme in both exams and interviews is that estimates are ranges derived from measured history, not single numbers pulled from confidence.

Explained

What software project management covers

Size estimation: LOC and Function Points

LOCFunction points
Available atAfter design/codingFrom requirements
Language dependenceHighNone (independent)
CountingAutomatic, objectiveManual, needs trained counter
Use in bidsInternal productivity trackingFixed-price sizing, outsourcing contracts
WeaknessRewards verbose codeSubjective weights, weak for algorithmic/scientific code

Effort, cost and the COCOMO family

Scheduling, tracking and control

Risk management and configuration management

Agile estimation and tracking

Standards, contracts and Indian practice

Key points

Formulas and examples

Function points: UFP = Σ (count × weight) over EI, EO, EQ, ILF, EIF · VAF = 0.65 + 0.01 ΣFi (Fi = 0…5 for 14 GSCs) · FP = UFP × VAF · LOC = FP × (LOC per FP for the language)
Productivity and cost: Productivity = Size ÷ Effort (LOC or FP per person-month) · Effort = Size ÷ Productivity · Cost = Effort (PM) × cost per person-month (₹) · Cost per FP = Cost ÷ FP
Basic COCOMO: E = a (KLOC)b person-months · D = c (E)d months · Average staff P = E ÷ D persons
(organic a,b,c,d = 2.4, 1.05, 2.5, 0.38 · semi-detached 3.0, 1.12, 2.5, 0.35 · embedded 3.6, 1.20, 2.5, 0.32)
Intermediate COCOMO: E = a (KLOC)b × EAF, EAF = Π (15 cost drivers), a = 3.2 organic / 3.0 semi-detached / 2.8 embedded; same b, c, d
COCOMO II (post-architecture): PM = A × SizeE × Π(17 EM), A ≈ 2.94, E = B + 0.01 ΣSFi with B = 0.91 · TDEV = C × (PM)F, C ≈ 3.67, F = D + 0.2(E − B), D = 0.28
Putnam software equation: L = Ck × K1/3 × td4/3 → K = L³ ÷ (Ck³ × td⁴)
L = delivered LOC, K = total life-cycle effort (person-years), td = development time (years), Ck = technology constant (≈2,000 poor, 8,000 good, 11,000 excellent environment); manpower build-up D₀ = K/td³
PERT: te = (a + 4m + b)/6 · σ = (b − a)/6 · σ²path = Σ σ²(critical activities) · Z = (Target date − Te) ÷ σpath, then read probability from the standard normal table
CPM: EF = ES + duration · LS = LF − duration · Total float = LS − ES = LF − EF · Free float = ES(next) − EF
EVM: SV = EV − PV · CV = EV − AC · SPI = EV/PV · CPI = EV/AC · EAC = BAC ÷ CPI · ETC = EAC − AC · % complete = EV/BAC
Agile: Velocity = points completed per sprint (3-5 sprint average) · Sprints remaining = remaining points ÷ velocity · Risk exposure RE = probability × impact

Example 1 — Function points → LOC → basic COCOMO → cost. A college ERP module is counted as: 24 EI (average), 16 EO (average), 12 EQ (simple), 6 ILF (average), 3 EIF (average); ΣFi = 42.

Example 2 — Intermediate COCOMO, embedded. A 32 KLOC telecom firmware project; drivers: RELY very high 1.40, CPLX high 1.15, ACAP high 0.86, TOOL low 1.10, rest nominal.

Example 3 — PERT and CPM. Network A → B → D and A → C → D (weeks):

Act.ambteσσ²
A231041.331.78
B461471.672.78
C25851.001.00
D341151.331.78

Example 4 — Earned value at a review. BAC = ₹80 lakh over 20 weeks. At week 10: PV = ₹40 lakh, EV = ₹34 lakh, AC = ₹38 lakh.

Example 5 — Putnam trade-off and Agile velocity. (a) L = 50,000 LOC, Ck = 8,000. At td = 1.5 years: K = 50,000³ ÷ (8,000³ × 1.5⁴) = 48.2 person-years (≈578 PM). At td = 2.0 years: K = 15.3 person-years (≈183 PM) — a 33% longer schedule cuts modelled effort by about 68%; the fourth-power term makes crash schedules uneconomic (real projects are less extreme, but the direction holds). (b) Backlog 520 story points; last three sprints delivered 45, 52, 47 → velocity = 48 points/sprint → 520/48 = 10.8 → 11 two-week sprints ≈ 22 weeks. If velocity is quoted as a range (45-52), the honest answer is 10-12 sprints, not 10.8.

Where it is used

Interview questions

Common mistakes

Related topics

SDLC and Agile · Requirements engineering and UML · Software testing basics · Clean code and code reviews · Software architecture: monoliths and microservices · Git and version control

Open in the Knowledge reader →Find jobs →