skip to content

Does the cost of changing a requirement really rise exponentially with project phase?

level: middleimportance: nice to knowfreq 26%

answer

  1. Right direction, oversold shape
  2. Cost tracks dependent decisions, not the calendar
  3. Ask where the original numbers came from
  4. The slope is an engineering choice
  5. Some costs stay steep regardless

basics

~20 s

Late requirement changes genuinely cost more, because design, build and test work already depends on them. But the familiar exponential curve comes from old, contested measurements of large sequential programmes: the direction is sound, the exact multipliers are folklore.

solid answer

~40 s

The direction is right and the shape is oversold. A change costs more later because the number of already-made decisions depending on it has grown — code, checks, documents, integrations, training material, sometimes a signed contract. That is a **fan-out** argument, not a law of nature. The familiar steeply-exponential curve traces back to early defect-cost data collected on large sequential programmes, and both the underlying measurements and the leap from *those* programmes to *all* software have been disputed ever since. Quote the mechanism, never a multiplier. What actually sets the slope is largely under your control: small batches, automated checks, modular boundaries and short feedback loops flatten it; big-bang integration, manual regression, one signed baseline and long approval chains steepen it. Two teams on the same product can sit on very different curves.

go deeper

for a junior

Recall the plain version: changes cost more later because more work already depends on them. Avoid quoting any multiplier you have seen on a slide — you will be asked where it came from.

for a middle

Explain the fan-out mechanism concretely, and be able to say that the exponential figures originate in contested measurements of large sequential programmes rather than in a general law.

for a senior

Demonstrate that you treat the slope as something you engineer: integration frequency, automated checking, modular boundaries and approval latency, with the categories of cost that stay steep named honestly.

for a principal

Own the commercial framing. Flattening the curve is an investment competing with feature work, and you should be able to argue the tradeoff for a specific portfolio rather than asserting that it always pays.

## The mechanism that is real Strip the folklore away and a defensible claim remains: **the later a wrong assumption is found, the more work already depends on it.** That dependent work is what you pay to change. When a requirement is wrong at the moment it is written, the cost is an edit to a sentence. When the same requirement is wrong after eleven weeks of building, the things resting on it may include a persistence shape, several interfaces, the automated checks that assert the wrong behaviour, the operator documentation, the training a support team already received, an integration another party has coded against, and — on a fixed-scope engagement — a signed schedule that now needs renegotiating. None of that is mysterious. It is **fan-out**: cost scales with the number of committed decisions downstream of the mistake, and time is a proxy for that number because commitments accumulate. That is why the argument is usually right in practice and why it is worth making. It is also why it is not exponential in any measured, universal sense. ## What the famous curve actually came from The steeply rising curve that gets drawn on whiteboards originates in early defect-cost figures gathered from large, sequential, often defence- and aerospace-scale programmes decades ago. Two separate problems attach to it: 1. **The measurements themselves are contested.** Later analyses have questioned how the underlying data was collected, how phases were attributed, and whether the reported cost ratios were ever reproducible outside the programmes that produced them. 2. **The generalisation is a bigger leap than the data.** Even taking the original figures at face value, they describe programmes with big-bang integration, manual verification and heavyweight change control. Reading them as a property of software itself smuggles in a delivery model as if it were physics. The interview-safe position is to say exactly that: the direction is well supported, the specific multipliers are not something you would assert, and anyone quoting a precise ratio is quoting folklore. Naming a figure you cannot defend is the trap in this question, not the curve. ## What sets the slope The useful reframing is that the slope is an **engineering property of your setup**, not a constant. Two teams building the same product can sit on very different curves. | Steepens the curve | Flattens the curve | |---|---| | One big integration at the end | Continuous integration of every change | | Manual regression checking | Automated checks that run in minutes | | One signed baseline, formal change control | Re-planning as routine, at short intervals | | Tight coupling across the whole codebase | Modular boundaries with narrow interfaces | | Long approval chains before any rework starts | The team can act on a discovery the same day | | Documentation duplicated across many artefacts | A single place each fact is stated | | Long-lead external commitments made early | Reversible commitments deferred until needed | Every entry in the right-hand column is a deliberate investment. That is the honest version of the agile argument: iterative delivery does not repeal the cost of late change, it **spends money up front to flatten the curve**, and it finds the changes earlier so that less is riding on each one. ## Where the curve stays steep no matter what you do Some costs resist flattening, and a strong answer names them rather than pretending everything is cheap to change late: - **Physical and long-lead commitments.** Hardware already fabricated, printed material, an installation window booked with a third party. - **Published interfaces other parties have built against.** Once someone external depends on the shape, changing it is a coordination problem, not a code change. - **Data already collected in the wrong shape.** Migration cost grows with the volume and age of the data. - **Regulatory or safety evidence already assembled.** Re-establishing an approval can dwarf the code change that triggered it. - **Decisions embedded in a contract.** The cheapest technical change can still be an expensive commercial one. ## How to answer this in an interview - Affirm the mechanism first — dependent work, fan-out — so it is clear you are not dismissing the idea. - Say plainly that the exponential curve and its multipliers are contested and that you would not quote a number. - Move immediately to what you control: batch size, integration frequency, automated checking, modularity, approval latency. - Name the categories where the cost genuinely does stay steep, which shows you are not selling the flat curve as universal. That sequence — real mechanism, contested numbers, controllable slope, honest exceptions — is what separates a candidate repeating a slide from one who has thought about it.

  • If the slope is controllable, what would you invest in first on a team that has never measured it?
    Integration frequency and automated checking, in that order. Big-bang integration is what turns many small wrong assumptions into one late, entangled discovery, and manual regression is what makes people avoid changing anything. Both are measurable: how long between a change being written and being integrated, and how long until someone knows it broke something. Shortening those two intervals flattens more of the curve than any process change.
  • A stakeholder cites a precise cost multiplier for fixing defects late. How do you respond without being dismissive?
    Agree with the direction and redirect to the mechanism. Say that later changes cost more because more work already depends on them, that the specific ratio comes from a particular kind of programme and has been disputed, and then ask what the fan-out looks like here — how long until integration, how much manual checking, how many external commitments. That turns a folklore number into a question you can actually answer with local evidence.

saying these in an interview costs you the question

  • Quotes a precise cost multiplier as established fact
  • Treats the exponential curve as a property of software itself
  • Denies late change costs more at all
  • Claims iterative delivery makes late change free
  • Cannot name anything that changes the slope
  • Ignores commitments that stay expensive whatever the process