skip to content

A build slips and your test window halves — how do you re-plan depth and scope mid-cycle?

level: seniorimportance: should knowfreq 42%

answer

  1. Compute capacity before promising anything
  2. Two shapes of cut, different failure modes
  3. One pass everywhere beats everything nowhere
  4. Re-order for the next slip
  5. Redraw the baseline, list what was dropped

basics

~20 s

Re-forecast from measured throughput to learn how much fits, then cut depth before breadth: one pass over every planned area, variations and repeat permutations dropped. Record exactly what was cut so the shortfall is visible rather than absorbed silently.

solid answer

~50 s

Start with arithmetic, not heroics: measured cases per day multiplied by the days actually left gives the real capacity, and the gap to the remaining plan is the size of the problem. Then choose *how* to shrink. Cutting **depth** — one pass per area, dropping variations, permutations and repeat data sets — keeps at least one observation of everything, so the report can say something about every area. Cutting **breadth** leaves whole areas with no observation at all, which is sometimes right for genuinely low-exposure areas but must be a stated decision, never a consequence of running out of days. Re-order what remains so the highest-exposure paths execute first, because a shortened window may shorten again. Then re-baseline the tracking so progress is measured against the new plan, and make the trade visible to the people who own the date: what is now out of the cycle, and what that leaves unverified. The one unacceptable answer is compressing silently and reporting the old plan's numbers.

code

pseudocode · 12 lines
pseudocode
measured_rate = executed_so_far / days_elapsed        # 263 / 6  = 43.8 -> use 34, recent days
days_left     = new_end_date - build_arrival_date     # 3
capacity      = measured_rate * days_left             # 102

remaining     = planned - executed                    # 418 - 263 = 155
shortfall     = remaining - capacity                  # 53

if shortfall > 0:
    cut_depth_first(areas)          # variations, repeats, extra configurations
    drop_areas_only_if_defensible(areas)
    rebaseline(plan_total = planned - dropped)
    publish(shortfall, dropped_list, unverified_after_cut)

go deeper

for a junior

Be ready to say that less time means less testing, and that the reduction has to be a decision someone makes rather than whatever happens to be unfinished when the clock runs out. Know the phrase depth versus breadth and what each means.

for a middle

Explain how you compute capacity from measured throughput and days remaining, and how you would shrink depth — fewer data variations, one configuration, boundaries kept and repeats dropped — while keeping at least one pass over each area.

for a senior

Show the whole move: capacity arithmetic, the shape of the cut and what it costs, re-ordering the survivors for a window that may shrink again, re-baselining the tracking, and handing the residual decision to the person who owns the date with the un-run scope written down.

for a principal

Own the pattern rather than the incident. Repeated slips landing on the test window are a delivery-flow problem, and your job is to make the cost of each compression visible over several cycles so the organisation can decide whether to change how builds arrive.

### The first move is arithmetic When a build slips, the instinct is to promise the same coverage in less time. Resist it and compute. Take measured throughput from the cycle so far — not the rate the plan assumed — multiply by the working days that genuinely remain after the new build lands, and compare with the unexecuted remainder. An online bookstore checkout cycle baselined 418 cases over eleven days. On day six, 263 are executed at a measured 34 a day, and the build for the payment rework arrives four days late, leaving three days instead of six. Capacity is roughly 102 cases; the remainder is 155. The shortfall is 53 cases, and every conversation that follows is about which 53 and who agrees. Stating it that way changes the discussion from "can you go faster" to "here is what does not fit". It also gives you a number to renegotiate against if the date itself is movable. ### Depth versus breadth There are two shapes of cut and they fail differently. **Cutting depth** keeps every planned area but reduces how hard each is exercised: one representative pass instead of the full data-variation set, boundary values kept and mid-range repeats dropped, one configuration instead of four, one locale instead of six. Every area still yields an observation, so the cycle report can make a statement about all of them. What you lose is the chance of finding the defect that only the second or third variation would have surfaced. **Cutting breadth** drops whole areas. The areas you keep are covered properly; the areas you drop produce no information at all, and their status in the report is honestly "unverified". This is sometimes the better trade — an area unchanged by the build and rarely used may genuinely deserve zero minutes — but it turns into a real gap when the dropped area shares data or a code path with the changed one. The usual default is depth first, breadth only where an area has a defensible reason to receive nothing. In the bookstore example the payment rework itself argues the opposite way for one area: the tax-and-currency formatting path is precisely where the late change landed, so it keeps its full depth while the untouched catalogue-browse cases drop to a single pass. ### Re-ordering what remains A window that halved once can halve again. Order the surviving cases so that the highest-exposure paths execute first and anything with a long setup runs while the environment is warm. Move confirmation of recent fixes early, because a fix that fails re-test consumes a whole further round and you want to know on day one, not day three. Batch cases that share expensive setup so the fixed cost is paid once. And front-load the cases most likely to *find* something, because information arriving on the last afternoon rarely changes anything. ### Re-baseline the tracking This is the part that gets skipped. If the plan shrank from 418 to 365 cases, the burn-down must be redrawn against 365 with a note saying when and why, or the chart shows a team failing to hit a target that no longer exists. Progress reported against a stale baseline is worse than no chart: it is a chart that lies in a specific and confident direction. The dropped 53 do not vanish — they move to an explicit list of what this cycle will not cover. ### Make the trade visible Re-planning is not a private act of triage. The output is a short statement to whoever owns the date: capacity is 102 cases against 155 remaining; the cut is depth across five areas plus two areas dropped entirely; the consequence is that the receipt-formatting and refund paths get no observation this cycle. Then let the people who own the schedule choose between the shortened window, a later date, or accepting the gap. The mistake is quietly absorbing the slip — running fast, reporting a healthy pass rate against the old plan, and letting everyone believe the same testing happened in half the time. ### What separates a senior answer A junior answer says "prioritise". A senior answer produces the capacity number, names the shape of the cut and its cost, keeps the tracking baseline honest, and hands the residual decision to the person who owns it — with the un-run scope written down rather than implied.

  • When is cutting breadth the better trade than cutting depth?
    When an area is untouched by the change, shares no data or code path with what changed, and carries low exposure if it regresses. Then a single shallow pass buys almost nothing, and the minutes are better spent deepening an area the build actually moved. It still has to be written down as an area receiving no observation this cycle.
  • The delivery lead asks you to keep the original scope by extending working hours. What do you say?
    That fatigue lowers both throughput and detection quality, so the extra hours do not buy proportional cases, and the risk is a cycle that looks complete while missing what tired attention misses. Offer the capacity number and the cut options instead, and let the date, the scope or the acceptance of the gap be the thing that moves.
  • How do you order the surviving cases once the plan is cut?
    Confirmation of recent fixes first, since a failed re-test consumes another whole round; then the highest-exposure paths, so the most consequential information arrives earliest; then cases batched by shared setup to pay expensive fixtures once. Assume the window may shrink again and order so that stopping at any point still leaves a coherent story.

saying these in an interview costs you the question

  • Promises the same coverage in half the time
  • Cuts whatever is last in the list rather than deciding
  • Reports progress against the old baseline after cutting scope
  • Absorbs the slip silently and lets stakeholders assume full coverage
  • Drops whole areas without recording them as unverified
  • Treats overtime as equivalent to capacity

context