3-point (PERT) estimation
Instead of a single number, give three: Optimistic, Most-likely, Pessimistic. The weighted estimate is (O + 4M + P) / 6. The range (P − O) communicates uncertainty — a wide range means you're guessing; a narrow range means you have data.
COCOMO
COCOMO (Constructive Cost Model, Boehm 1981; COCOMO II 2000) is a parametric model for software effort. Inputs are roughly: source-lines-of-code (SLOC), project type (organic / semi-detached / embedded), and a set of effort multipliers (team experience, tools, complexity). Output: person-months.
↳ real-talk on COCOMO
Function points
Function point analysis (Albrecht, IBM 1979) sizes software by counting functions — inputs, outputs, queries, files, interfaces — weighted by complexity. Language-independent (a function point is the same regardless of whether you build it in COBOL or TypeScript), which is its main advantage over SLOC-based methods.
When to use each
| Method | Use it for | Avoid for |
|---|---|---|
| 3-point | Any deliverable where you need a defensible range | Where stakeholders only accept a single number |
| Story points | Day-to-day agile sprint planning | Fixed-bid contracts, sponsor commit lines |
| COCOMO | Heavily-regulated software, or PMP exam | Modern agile teams day-to-day |
| Function points | Cross-language software comparison | Day-to-day work — counting is expensive |