Sign in or create a free account to continue.

PRIN-131 · Lesson 7 of 12 · 24 min

The progress practice I: management by exception and tolerances

The progress practice answers three questions throughout the project: where are we now compared with the plan, where are we likely to end up, and does anyone above the current level of management need to make a decision? In plain terms, its purpose is to establish mechanisms to monitor and compare actual achievements against those planned, to forecast the project's objectives and continued viability, and to control any unacceptable deviations. This lesson looks at how progress control is built on delegated authority and tolerances. Lesson 8 covers the controls and reports, and lesson 9 covers what happens when tolerances are forecast to be exceeded.

Delegation and management by exception

PRIN-110 described manage by exception as a principle and PRIN-120 looked at how tolerances shape behavior. The progress practice turns the principle into a working system. Each level of management delegates authority to the level below, sets tolerances within which that level may act without referring back, and receives reports that allow it to confirm everything is within tolerance. The level above intervenes only when a tolerance is forecast to be exceeded. This lets senior people spend their limited time on the decisions that genuinely need them, while those closer to the work keep control of day-to-day matters.

Four horizontal bands stacked vertically: business layer at the top, then directing (project board), managing (project manager) and delivering (team managers). Downward arrows on the left are labeled project tolerances, stage tolerances and work package tolerances. Upward arrows on the right are labeled exception referred to business layer, exception report and issue raised to project manager. Small labels show the reports flowing up: highlight reports and end stage reports from managing to directing, checkpoint reports from delivering to managing.
Tolerances flow down through the levels of management; reports and exceptions flow up.
Levels of tolerance and the escalation route at each level.
LevelSets tolerances forRecorded inIf forecast to be exceeded
Business layerThe project as a wholeProject mandate, refined in the project brief and project planThe board refers the matter to the business layer
Project boardEach management stageStage planThe project manager raises an exception report to the board
Project managerEach work packageWork package descriptionThe team manager raises an issue to the project manager
Team managerWork within the team planTeam planHandled within the team or raised to the project manager

The seven performance targets

PRINCE2 7 sets tolerances on seven performance targets: time, cost, scope, quality, benefits, risk and sustainability. Time and cost tolerances are familiar. Scope tolerance allows some flexibility in what is delivered, often expressed through priorities such as MoSCoW. Quality tolerance allows a range around quality criteria. Benefits tolerance is set at project level, because benefits usually arise after the project, and is expressed against the business case. Risk tolerance limits the exposure the board will accept before escalation. Sustainability tolerance, introduced as a performance target in the seventh edition, allows a range around sustainability targets such as emissions or waste.

Tolerances on the seven performance targets in Ridgeline Water's pilot stage (illustrative).
TargetTypical form of toleranceRidgeline Water pilot stageHow progress is measured
TimePlus or minus a period29 weeks, +2/−2 weeksForecast stage end date from the schedule
CostPlus or minus an amount or percentage1,450 thousand, +5 %/−10 %Forecast cost at completion of the stage
ScopeRange of products or features, or priorities3,000 connections; may reduce to 2,500Connections forecast to be live at measurement start
QualityRange around quality criteria98 % daily read rate; 97 % accepted in difficult areasMeasured read rate over the latest 30 days
BenefitsRange around forecast benefits (project level)Leak saving measured with statistical validityMeasurement plan and confidence interval
RiskExposure limitsNo single threat with expected impact above 100 thousandRisk register expected values
SustainabilityRange around a sustainability targetInstallation vehicle emissions within 10 % of plan; meter packaging recycledFleet fuel records; waste contractor reports

Forecasts, not actuals

A crucial feature of progress control is that exceptions are triggered by forecasts, not by actual breaches. If the stage cost tolerance is 72 thousand, the project manager does not wait until 72 thousand has actually been overspent; he or she raises an exception report as soon as the forecast cost at the end of the stage exceeds the tolerance. Waiting for the actual breach would mean the board learns of the problem when it is too late to do anything except pay. The value of tolerances lies in early warning.

This makes forecasting a core skill of the progress practice. A forecast combines what has been done, what has been spent, what remains and the best current estimate of how long and how much the remainder will take. Lesson 8 shows how earned value can support forecasts; here we look at how forecasts are compared with tolerances across all seven targets.

The code below is a simple tolerance check. For each performance target it holds the plan, the tolerance band and the current forecast, and it reports how much of the tolerance has been used and whether an exception is needed. It treats the quality and scope targets as lower limits, because falling below them is the problem, and the time and cost targets as two-sided bands.

Comparing forecasts with tolerances on several performance targets.
targets = {
    # name: (plan, lower limit, upper limit, forecast)
    "time (weeks)":        (29, 27, 31, 30.5),
    "cost (thousand)":     (1450, 1305, 1522, 1508),
    "scope (connections)": (3000, 2500, None, 2800),
    "quality (read rate %)": (98.0, 97.0, None, 97.4),
    "risk (largest EV, k)":  (None, None, 100, 96),
}
exception = False
for name, (plan, lo, hi, fc) in targets.items():
    if hi is not None and fc > hi:
        state = "FORECAST BREACH"; exception = True
    elif lo is not None and fc < lo:
        state = "FORECAST BREACH"; exception = True
    else:
        used = ""
        if plan is not None and hi is not None and fc > plan:
            used = f"{(fc - plan) / (hi - plan):.0%} of upper tolerance used"
        elif plan is not None and lo is not None and fc < plan:
            used = f"{(plan - fc) / (plan - lo):.0%} of lower tolerance used"
        elif plan is None:
            used = f"{fc / hi:.0%} of limit"
        state = "within tolerance " + used
    print(f"{name:22} forecast {fc:>7} {state}")
print("raise exception report" if exception else "no exception: report status in the highlight report")
Output
time (weeks)           forecast    30.5 within tolerance 75% of upper tolerance used
cost (thousand)        forecast    1508 within tolerance 81% of upper tolerance used
scope (connections)    forecast    2800 within tolerance 40% of lower tolerance used
quality (read rate %)  forecast    97.4 within tolerance 60% of lower tolerance used
risk (largest EV, k)   forecast      96 within tolerance 96% of limit
no exception: report status in the highlight report

Every target is within tolerance, but the picture is not comfortable. The time forecast has used 75 % of the upper time tolerance and cost has used 81 % of the upper cost tolerance. Scope has used 40 % of its lower tolerance, quality at 97.4 % has used 60 % of the quality tolerance, and the largest risk sits at 96 % of the risk limit. No exception report is needed yet, but the highlight report should show the board how close the stage is running to several limits at once. A board that sees this pattern may choose to act early, for example by agreeing to a change that buys back time, rather than waiting for a formal exception.

How likely is an exception?

Tolerances are set when the stage plan is approved, using estimates that are uncertain. Lesson 4 showed that risks have probabilities; the progress practice can combine the plan's uncertainty and the risks to estimate how likely the stage is to breach its cost tolerance. The code below runs a simple Monte Carlo simulation of the pilot stage cost: each work package cost varies around its estimate, and the main threats occur with their probabilities. It is a teaching model with simplified assumptions.

A Monte Carlo estimate of the chance that the pilot stage will breach its cost tolerance.
import random
random.seed(131)
packages = {"network": (600, 0.06), "billing interface": (500, 0.10), "customer change": (350, 0.08)}  # mean, relative sd
threats = [(0.35, 90), (0.60, 160 * 0.5), (0.15, 220 * 0.5), (0.60, 45)]  # probability, cost impact after responses
plan, tol = 1450, 72
runs, breaches, totals = 20000, 0, []
for _ in range(runs):
    cost = sum(random.gauss(m, m * sd) for m, sd in packages.values())
    cost += sum(c for p, c in threats if random.random() < p)
    totals.append(cost)
    if cost > plan + tol:
        breaches += 1
totals.sort()
print(f"median stage cost {totals[runs // 2]:.0f}; 80th percentile {totals[int(runs * 0.8)]:.0f}")
print(f"probability of exceeding cost tolerance {breaches / runs:.0%}")
Output
median stage cost 1571; 80th percentile 1658
probability of exceeding cost tolerance 69%

The simulation suggests a median stage cost of about 1,571 thousand and an 80th percentile of about 1,658 thousand, with about a 69 % chance, better than two in three, of exceeding the 1,522 thousand upper tolerance. That is because the plan of 1,450 thousand includes no allowance for the threats: their expected costs sit partly in the risk budget, which is outside the stage budget. The board has three sensible choices: accept that an exception is quite likely and treat it as a planned decision point, widen the cost tolerance, or move some of the risk budget into the stage budget for responses that are almost certain to be needed. What it should not do is approve the plan believing an exception is unlikely.

Tolerances for work packages and products

The project manager sets work package tolerances, usually on time and cost, sometimes on scope or quality, and keeps part of the stage tolerance in reserve, as PRIN-130 showed. Products themselves have quality tolerances, written in their product descriptions: for example, the radio network must reach at least 98 % of pilot addresses, with 97 % acceptable in areas the survey classed as difficult. A product that falls outside its quality tolerance becomes an off-specification. In this way the progress, quality and issues practices share the same tolerance system at different levels.

Worked problem

Spotting an exception before it happens

In week 18 of the 29-week pilot, the billing interface work package reports that it is 60 % complete against 75 % planned, and its team manager forecasts completion three weeks late. The interface is on the critical path. The stage time tolerance is +2 weeks and none of it has been used. What should the project manager do?

Show solution
  1. Recognize that the work package has exceeded its own time tolerance; the team manager should already have raised an issue.
  2. Check the stage impact: because the interface is critical, a three-week slip forecasts a three-week stage delay, beyond the +2-week stage tolerance.
  3. Look for recovery options within the project manager's authority: adding the contractor considered in lesson 4, overlapping testing with build, or resequencing other work.
  4. If recovery within tolerance is credible, act and report it in the highlight report; if not, raise an exception report to the board now, at week 18, not at week 29.

Answer: The forecast, not the actual, triggers action. Either the project manager recovers the slip within tolerance using his or her own authority, or raises an exception report immediately while the board still has options.

Common mistakes

  • MistakeWaiting for an actual overspend or delay before escalating.

    InsteadEscalate when the forecast exceeds tolerance.

  • MistakeSetting tolerances only on time and cost.

    InsteadConsider all seven performance targets, including quality, scope, benefits, risk and sustainability.

  • MistakePassing the whole stage tolerance down to work packages.

    InsteadKeep part of the stage tolerance in reserve at stage level.

  • MistakeReporting only whether each target is within tolerance.

    InsteadReport how much tolerance has been used, so the board can see trends and near-misses.

  • MistakeApproving a plan with tolerances that are almost certain to be breached without saying so.

    InsteadEstimate the likelihood of exception and make the board's choice explicit.

Summary and key terms

  • The progress practice monitors actual against planned, forecasts outcomes and controls unacceptable deviations.
  • Each level delegates authority through tolerances and intervenes only by exception.
  • PRINCE2 7 sets tolerances on time, cost, scope, quality, benefits, risk and sustainability.
  • Benefits tolerance is set at project level; other targets have stage and work package tolerances too.
  • Exceptions are triggered by forecasts, not by actual breaches.
  • Reporting tolerance used, not just in or out, helps boards act early.
  • Monte Carlo simulation can estimate the likelihood that a stage will breach a tolerance.
Progress
The measure of achievement of the objectives of a plan.
Management by exception
Delegating authority within tolerances and intervening only when they are forecast to be exceeded.
Tolerance
The permissible deviation above and below a plan's target without escalation.
Performance targets
In PRINCE2 7, time, cost, scope, quality, benefits, risk and sustainability.
Forecast
A prediction of where a plan will end up, based on actuals and estimates to complete.
Exception
A situation where a tolerance is forecast to be exceeded.
Sustainability tolerance
The permissible deviation from a sustainability target.
Tolerance used
The share of a tolerance band consumed by the current forecast.

Practice problems

Work each problem on paper first, then reveal the answer to check.

  1. What are the three questions the progress practice answers?

    Show answer

    Where are we now, where will we end up, and who needs to decide what?

  2. List the seven performance targets.

    Show answer

    Time, cost, scope, quality, benefits, risk and sustainability.

  3. At which level is benefits tolerance normally set?

    Show answer

    Project level.

  4. Who sets stage tolerances?

    Show answer

    The project board.

  5. Who sets work package tolerances?

    Show answer

    The project manager.

  6. When should an exception report be raised?

    Show answer

    As soon as a stage tolerance is forecast to be exceeded.

  7. A product falls outside its quality tolerance. What kind of issue is it?

    Show answer

    An off-specification.

  8. Why report tolerance used rather than only in or out?

    Show answer

    It shows the board trends and how close the stage is to its limits.

  9. Plan 1,450, upper tolerance 1,522, forecast 1,508. What share of the upper cost tolerance is used?

    Show answer

    About 81 %.

  10. Where are work package tolerances recorded?

    Show answer

    In the work package description.

Lesson quiz · 5 questions

Score 60% or more to complete this lesson.

Take the quiz