Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

Project Management & Agile  Module 13 – Governance, portfolios and scaling agile

Project governance, PMOs and compliance

Set up governance that decides on time with a sponsor, a steering committee, gates and tolerances, choose a PMO, and plan compliance with India's DPDP rules.

  • Advanced
  • 20 minutes
  • Examples run with Python 3.14.8
  • By MySmartCoPilot
Free lesson, Pro answers: 20 minutes
Free: the whole lesson. With a pass: the model answers to its 2 interview questions.

What you will learn

  • Describe project governance through its sponsor, steering committee, assurance and PMO
  • Plan stage gates and tolerances so each decision reaches the level that may take it
  • Compare supportive, controlling and directive PMOs and choose one for an organisation
  • Plan compliance as scope, with an owner, evidence and a due date for every requirement
  • Apply India's DPDP Act and Rules to a project that handles personal data

Before you start

What you’ll learn · Before you start

What you will learn

  • Describe project governance through its sponsor, steering committee, assurance and PMO
  • Plan stage gates and tolerances so each decision reaches the level that may take it
  • Compare supportive, controlling and directive PMOs and choose one for an organisation
  • Plan compliance as scope, with an owner, evidence and a due date for every requirement
  • Apply India's DPDP Act and Rules to a project that handles personal data

Before you start

On this page

In its first quarter, 21 of the scholarship portal’s 22 decisions waited for a steering committee: The group, chaired by the sponsor, that directs a project for the organisation: it decides at stage gates and on anything beyond the sponsor's tolerance, and speaks for the users and suppliers the project depends on. that met once a month. A decision waited 15.2 days on average, six waited more than three weeks, and work behind the three blocking decisions stood still for 60 days in all. Nobody on the project was slow; the way it was governed was.

Governance is the part of a project that settles who may decide what, on what evidence and when. You will set it up for an invented project, a state higher education department’s online scholarship portal for college and university students: the bodies that decide, the rules that keep big decisions few and quick, the kind of PMO: Project management office: a unit that sets and supports how an organisation's projects are run, through methods, templates, reporting and training, and sometimes by managing the projects itself. that suits the department, and the compliance work, India’s data protection law included, that a project plans like any other scope.

Governance decides who decides, on what evidence and when

Three organisations have a stake in almost every decision on the portal. The higher education department pays for it and answers for the scholarships; the state IT agency hosts it and lends the project its lead; 2,300 colleges must check their students’ applications before any money moves. Without written governance, each disagreement between them becomes a meeting, and each meeting waits for the most senior person who might object.

project governance: The framework of bodies, rules and evidence that directs a project: who may decide what, on what evidence and when, and where a decision goes when it is too big for the person who meets it. is the framework of bodies, rules and evidence that directs a project: who may decide what, on what evidence, how often, and where a decision goes when it is too big for the person who meets it. Management is the work done inside those decisions: planning, assigning, tracking and correcting. A project lead manages; the governance around the lead says what the lead may decide alone. PMI’s 2026 examination outline opens its business environment domain with governance. It asks a project manager to set up the structure, rules, procedures, reporting, ethics and policies, to define success metrics, and to outline escalation paths with their thresholds. The PMBOK Guide addresses governance within the environment a project runs in, and its eighth edition expands its coverage of the PMO.

Step through the portal’s governance, one body at a time, and watch the route a decision takes when it outgrows the project lead:

Interactive · step by step Who decides what on the scholarship portal Step through the six parts of the portal's governance and the one route a decision takes when it outgrows the lead.
Who decides what on the scholarship portal, step 8 of 8. Showing Steering committee, Assurance, Sponsor, PMO, Project lead, Delivery team.reportstolerancesdelegatesgate packstatusSteering committeegates, big callsAssuranceoutside viewSponsorowns the casePMOgate packsProject leadwithin toleranceDelivery teambuilds and tests

The drawing shows the whole scene; its 8 steps are listed below.

Every step as text
  1. The sponsor answers for the case. The higher education department's director is the sponsor. She answers for the portal's business case, chairs the steering committee and is the one person who can say the project is still worth its money.
  2. The committee takes big calls. The steering committee adds the people the portal serves and depends on, two college principals for the users, the state IT agency for the supplier and the finance officer. It decides at each stage gate and on anything beyond the sponsor's tolerance.
  3. Tolerances go down the line. The committee gives the sponsor a tolerance of 1,000 thousand rupees and 15 days of delay, and the sponsor gives the project lead 200 thousand and 5 days. Inside those limits each level decides without asking anyone.
  4. The lead runs the work. The project lead plans and runs the work with the delivery team, the vendor's developers and the department's testers, and takes every decision that fits the lead's tolerance in a day.
  5. The PMO supports, never decides. The department's PMO sets the templates, collects status every week and assembles the gate pack the committee reads. It decides nothing itself; its job is that every project brings the same evidence.
  6. Assurance looks from outside. Assurance is an independent check, here the department's internal audit, that reports to the committee and not to the project lead, so bad news cannot be smoothed over on its way up.
  7. A decision outgrows the lead. Rebuilding the upload service after the penetration test costs 1,400 thousand and 20 days, beyond the lead's and the sponsor's tolerance. The lead writes an exception report with options and a recommendation, and it goes up the line to the committee.
  8. Each body has one job. Read the map as a set of promises. The committee decides the big calls, the sponsor and the lead decide inside their tolerances, the PMO makes the evidence comparable and assurance keeps it honest.

The map separates three jobs that projects often blur. The bodies that decide are the steering committee, the sponsor: The person who answers for a project's business case, issues its charter and decides when the charter must change; someone with authority over the money the project needs. More in “Writing a project charter with clear objectives” and the lead. The body that checks is assurance, independent of the lead. The body that makes evidence comparable is the PMO, which decides nothing on this project. Because the sponsor chairs the committee, one person answers for the whole.

The committee’s rules are written in its terms of reference: who sits on it, what it decides, how often it meets, its quorum, and the evidence it expects for each kind of decision. How single decisions are routed by their cost and delay is the subject of RACI charts, decision rights and escalation; governance sets the frame those decision rights sit in.

A committee agenda made of status reports

Wrong: ten status updates read aloud, then any other business. Right: the decisions that are due, each with its options, a recommendation and the evidence, sent two days ahead, with status only where a tolerance broke. A committee that only listens has nothing to decide, so decisions drift to people who lack the authority, or they wait.

Checkpoint

Check: Governance and who decides

  1. Question 1 of 2 Which of these is a governance decision on the portal, rather than a management one?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: Setting the sponsor's tolerance at 1,000 thousand rupees and 15 days

    Governance sets who may decide what, on what evidence and when: the bodies, their rules and their tolerances. Management works inside those limits. A tolerance is a governance rule; assigning, scheduling and tracking work are management.

  2. Question 2 of 2 Internal audit finds that the vendor's test results were edited before they reached the gate pack. Where should audit send its finding first?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: To the steering committee, the body it reports to

    On the governance map, assurance reports to the steering committee and not to the project lead. Its value is its independence: the people who decide hear about the evidence from someone who did not produce it.

Stage gates and tolerances keep the board on the big decisions

The portal’s first charter gave the project lead almost no room. Any change above 50 thousand rupees, or any change that moved go-live by a single day, waited for the monthly committee. The program below replays the quarter’s 22 decisions under that charter (design A) and under written tolerances (design B), and counts how long each one waited:

22 decisions, governed two ways Python · escalation.py
"""How long the scholarship portal's decisions waited, under two ways of governing the same project.

The portal is an invented state-government project: a higher education department builds an online scholarship
application for college and university students. In its first quarter (days 1 to 91) the project raised the 22
decisions below. Each has an extra cost in thousand rupees, a delay to go-live in days, and two flags: `policy` (it
changes a public commitment, such as who is eligible, so no tolerance covers it) and `blocking` (work stops until it
is decided).

Design A, as first chartered: the project lead may decide only a change that costs at most 50 thousand and moves
nothing; every other decision waits for the steering committee, which meets on days 30, 60 and 90 (and next on day
120).

Design B, with written tolerances: the project lead decides within 200 thousand and 5 days; the sponsor decides within
1,000 thousand and 15 days, 2 days after the lead's exception report; everything larger, and every policy decision,
goes to the committee's monthly meeting, except that a blocking decision gets a short extra committee call 5 days
after it is raised.

A decision taken by the project lead waits 1 day. The program prints each decision's route and wait under both designs,
then the totals per level and the average and longest waits.
"""

LEAD_A = (50, 0)            # (thousand rupees, days) the lead may decide under design A
LEAD_B = (200, 5)           # design B: the project lead's tolerance
SPONSOR_B = (1000, 15)      # design B: the sponsor's tolerance
MEETINGS = (30, 60, 90, 120)
LEAD_WAIT, SPONSOR_WAIT, EXTRA_CALL = 1, 2, 5

# (id, decision, cost in thousand rupees, delay in days, raised on day, policy, blocking)
DECISIONS = [
    ("D01", "OTP login for applicants", 40, 0, 3, False, False),
    ("D02", "Extra load test before launch", 120, 0, 5, False, False),
    ("D03", "SMS templates in two languages", 15, 2, 8, False, False),
    ("D04", "Second site for backups", 900, 0, 11, False, False),
    ("D05", "Income check through state API", 300, 10, 12, False, False),
    ("D06", "External accessibility audit", 180, 3, 15, False, False),
    ("D07", "Replace the vendor's test lead", 0, 4, 19, False, True),
    ("D08", "Dashboard for college principals", 650, 12, 22, False, False),
    ("D09", "Encrypt bank details per field", 220, 6, 27, False, False),
    ("D10", "Drop the paper application route", 0, 0, 33, True, False),
    ("D11", "Helpline for rejected applicants", 450, 0, 36, False, False),
    ("D12", "Fix duplicate-application bug", 30, 3, 40, False, True),
    ("D13", "Pilot in two districts first", 0, 7, 44, False, False),
    ("D14", "Vendor's new report pack", 380, 4, 47, False, False),
    ("D15", "Bigger SMS budget for reminders", 60, 0, 52, False, False),
    ("D16", "One more week of user testing", 140, 7, 58, False, False),
    ("D17", "Rebuild upload service (pen test)", 1400, 20, 61, False, True),
    ("D18", "Documents in state data centre", 500, 9, 66, False, False),
    ("D19", "Parental consent flow for minors", 260, 8, 70, False, False),
    ("D20", "Change the income ceiling", 0, 0, 74, True, False),
    ("D21", "Training videos for college staff", 90, 0, 81, False, False),
    ("D22", "Go-live moves by three weeks", 700, 21, 86, False, False),
]


def next_meeting(day):
    """The first committee meeting on or after `day`."""
    return next(m for m in MEETINGS if m >= day)


def within(cost, delay, limit):
    return cost <= limit[0] and delay <= limit[1]


def design_a(cost, delay, day, policy, blocking):
    if not policy and within(cost, delay, LEAD_A):
        return "lead", LEAD_WAIT
    return "committee", next_meeting(day) - day


def design_b(cost, delay, day, policy, blocking):
    if not policy and within(cost, delay, LEAD_B):
        return "lead", LEAD_WAIT
    if not policy and within(cost, delay, SPONSOR_B):
        return "sponsor", SPONSOR_WAIT
    wait = next_meeting(day) - day
    if blocking:
        wait = min(wait, EXTRA_CALL)
    return "committee", wait


def main():
    results = {"A": [], "B": []}
    print(f"{'id':<4}{'decision':<35}{'cost':>5}{'days':>5}  {'design A':<14}{'design B':<14}")
    for did, name, cost, delay, day, policy, blocking in DECISIONS:
        a = design_a(cost, delay, day, policy, blocking)
        b = design_b(cost, delay, day, policy, blocking)
        results["A"].append(a)
        results["B"].append(b)
        mark = " (policy)" if policy else (" (blocking)" if blocking else "")
        print(f"{did:<4}{name:<35}{cost:>5}{delay:>5}  {a[0]:<9}{a[1]:>3}d  {b[0]:<9}{b[1]:>3}d{mark}")
    print()
    for design in ("A", "B"):
        rows = results[design]
        levels = {}
        for level, wait in rows:
            levels.setdefault(level, []).append(wait)
        parts = ", ".join(f"{lvl} {len(w)}" for lvl, w in sorted(levels.items()))
        waits = [w for _, w in rows]
        over_three_weeks = sum(1 for w in waits if w > 21)
        print(f"Design {design}: {parts}")
        print(f"  average wait {sum(waits) / len(waits):.1f} days, longest {max(waits)} days, "
              f"{over_three_weeks} waited more than three weeks, {sum(waits)} decision-days in all")
    blocked_a = sum(w for (lvl, w), d in zip(results["A"], DECISIONS) if d[6])
    blocked_b = sum(w for (lvl, w), d in zip(results["B"], DECISIONS) if d[6])
    print(f"Blocking decisions: work stopped {blocked_a} days under A, {blocked_b} days under B")


if __name__ == "__main__":
    main()

Output

id  decision                            cost days  design A      design B      
D01 OTP login for applicants              40    0  lead       1d  lead       1d
D02 Extra load test before launch        120    0  committee 25d  lead       1d
D03 SMS templates in two languages        15    2  committee 22d  lead       1d
D04 Second site for backups              900    0  committee 19d  sponsor    2d
D05 Income check through state API       300   10  committee 18d  sponsor    2d
D06 External accessibility audit         180    3  committee 15d  lead       1d
D07 Replace the vendor's test lead         0    4  committee 11d  lead       1d (blocking)
D08 Dashboard for college principals     650   12  committee  8d  sponsor    2d
D09 Encrypt bank details per field       220    6  committee  3d  sponsor    2d
D10 Drop the paper application route       0    0  committee 27d  committee 27d (policy)
D11 Helpline for rejected applicants     450    0  committee 24d  sponsor    2d
D12 Fix duplicate-application bug         30    3  committee 20d  lead       1d (blocking)
D13 Pilot in two districts first           0    7  committee 16d  sponsor    2d
D14 Vendor's new report pack             380    4  committee 13d  sponsor    2d
D15 Bigger SMS budget for reminders       60    0  committee  8d  lead       1d
D16 One more week of user testing        140    7  committee  2d  sponsor    2d
D17 Rebuild upload service (pen test)   1400   20  committee 29d  committee  5d (blocking)
D18 Documents in state data centre       500    9  committee 24d  sponsor    2d
D19 Parental consent flow for minors     260    8  committee 20d  sponsor    2d
D20 Change the income ceiling              0    0  committee 16d  committee 16d (policy)
D21 Training videos for college staff     90    0  committee  9d  lead       1d
D22 Go-live moves by three weeks         700   21  committee  4d  committee  4d

Design A: committee 21, lead 1
  average wait 15.2 days, longest 29 days, 6 waited more than three weeks, 334 decision-days in all
Design B: committee 4, lead 8, sponsor 10
  average wait 3.6 days, longest 27 days, 1 waited more than three weeks, 80 decision-days in all
Blocking decisions: work stopped 60 days under A, 7 days under B

Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 escalation.py

Under design A the committee took 21 of the 22 decisions, and a decision waited 15.2 days on average. Under design B the lead took 8, the sponsor 10 and the committee 4; the average wait fell to 3.6 days, and blocking work stood still for 7 days instead of 60. One decision still waited 27 days, and it should have: dropping the paper application route changes a public promise to students, which no tolerance covers.

Two tools did that work. A tolerance: The deviation from plan, in cost, time or another measure, that a level may absorb or decide on without referring it up; a decision beyond it goes to the next level. is the deviation from plan that a level may absorb or decide on without going up: here 200 thousand rupees and 5 days for the lead, and 1,000 thousand and 15 days for the sponsor. Tolerances can be set on scope, quality, risk and benefits as well as on cost and time, and some are zero. management by exception: A way of directing a project in which each level decides within its tolerance and reports up only when a forecast breaks it, so senior people see only the decisions that need them. is the rule that comes with them. A level reports up only when a forecast breaks its tolerance, and then at once, with an exception report: A short report sent up when a forecast breaks a tolerance: what happened, the options with their cost and delay, and a recommendation for the level that must decide.: what happened, the options with their cost and delay, and a recommendation.

Tolerances handle what goes wrong between decisions. A stage gate: A planned decision point at the end of a stage where a governance body decides, on evidence, whether the project goes on, goes on with conditions, holds or stops. is the decision planned in advance: at the end of each stage the committee decides, on a pack of evidence, whether the project has earned the next stage. Step through the gate at the end of the portal’s build stage:

Interactive · stage by stage One stage gate on the scholarship portal Step through the gate at the end of the build stage and the four decisions it can end in.
One stage gate on the scholarship portal, step 7 of 7. Showing Build stage ends, Gate pack, Assurance view, Committee decides, Testing stage, Early closure. In focus: Early closure.holdstopBuild stage endsinside its toleranceGate packcase, plan, risksAssurance viewoutside the projectCommittee decidesfour possible endingsTesting stagetolerances resetEarly closurelessons, handoverstop

The drawing shows the whole scene; its 7 steps are listed below.

Every step as text
  1. The stage ends on a plan. The build stage was planned to end in week 20, and the gate was booked when the stage began. A gate is a decision point that is on the calendar, not a meeting called when someone is worried.
  2. The pack brings the evidence. The project lead and the PMO assemble the gate pack, the updated business case, the plan and cost for the next stage, the risks and the compliance register, so the committee decides on evidence it can compare.
  3. Assurance reads it first. Internal audit checks the pack before the meeting and writes its own short view of it. A gate without an independent view hears only the project's account of itself.
  4. Four ways a gate can end. The committee chooses one of four decisions: go, go with conditions that have an owner and a date, hold until a gap is closed, or stop. Each decision is recorded with its reasons in the decision log.
  5. Go, with tolerances reset. A go starts the testing stage with its own plan, and the committee sets that stage's tolerances again, because testing carries different risks from building. Here it keeps the sponsor at 1,000 thousand rupees and 15 days.
  6. Hold sends it back. A hold sends the pack back for the missing evidence, for example a retest report, and the committee meets again on that one question rather than waiting a month.
  7. Stop is a decision too. A stop closes the project early and on purpose, with lessons and a handover, when the business case no longer holds. A project that nobody may stop has no gates, only reviews.

The four endings matter as much as the gate itself. A gate that can only say go is a review, while one that can hold or stop protects the money the next stage would spend. Methods use their own names for the same pattern: PRINCE2 7 sets out seven principles, seven practices and seven processes that take a project from initiation to closure, and the UK government’s GovS 002 standard sets expectations for how portfolios, programmes and projects are directed and managed. Whatever the method, look for the same three things: decisions at planned points, written limits for each level, and a route for exceptions.

Key idea

Governance stays quick when big decisions are few and planned: tolerances let each level decide inside written limits, exception reports carry up only what breaks them, and gates put the decisions that matter on the calendar.

Checkpoint

Check: Gates, tolerances and exception reports

  1. Question 1 of 2 Under design B, the parental consent flow for minors costs 260 thousand rupees and moves go-live by 8 days. Who decides it, and how soon?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: The sponsor, 2 days after the lead's exception report

    Compare the change with each tolerance in turn. 260 thousand and 8 days are beyond the lead's 200 thousand and 5 days but inside the sponsor's 1,000 thousand and 15 days, so the sponsor decides, 2 days after the exception report.

  2. Question 2 of 2 What does an exception report carry to the level above?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: What broke the tolerance, the options with their cost and delay, and a recommendation

    A level reports up only when a forecast breaks its tolerance, and then at once, with what happened, the options with their cost and delay, and a recommendation.

Three kinds of PMO hold different amounts of control

The department set up a PMO when the portal began, and within a month two of its project leads asked it for opposite things. One wanted templates and a coach; the other wanted it to stop asking for weekly reports. Both requests were reasonable, because they were asking for different kinds of PMO.

A PMO, or project management office, is a unit that sets and supports how an organisation’s projects are run: methods, templates, reporting and training, and sometimes the project managers themselves. Earlier editions of PMI’s PMBOK Guide sort PMOs into three kinds by the degree of control they hold:

  • A supportive PMO: A PMO that offers templates, training, advice and lessons from earlier projects but requires little, so it holds a low degree of control over projects. offers templates, training, advice and lessons from earlier projects, and requires little.
  • A controlling PMO: A PMO that supports projects and also requires them to follow its methods, templates, reporting rules and gate reviews, so it holds a moderate degree of control. also requires projects to follow its methods, its templates, its reporting rules and its gate reviews.
  • A directive PMO: A PMO that manages projects directly: the project managers are its staff and report to it, so it holds a high degree of control. manages the projects itself, and their managers are its staff.

Real PMOs vary more than three labels suggest. In a study published by PMI, Brian Hobbs and Monique Aubry analysed 500 survey responses about PMOs and listed 27 functions a PMO may hold. The group of functions rated most important was monitoring and controlling project performance, at 3.82 on a five-point scale, ahead of methods and competencies at 3.54 and multi-project management at 3.23. A PMO is defined by what it is asked to do, so its mandate deserves to be written down. Which kind fits depends on the organisation; answer the three questions in the table for your own:

Interactive · answer and compare Which kind of PMO fits your organisation? Answer three questions about your projects and leads; the table marks the kinds of PMO that fit and says why.
Are your project leads experienced, on projects that look alike?
Must every project give the board the same evidence, for an auditor or a regulator?
Does leadership want one unit to run its most critical projects itself?

Answer the questions above: the table then marks what fits your case and says why the rest does not.

Supportive, controlling and directive PMOs against four needs
Kind of PMO Control over projects Same evidence everywhere Room for project leads Staff it needs
Supportive Holds: templates, training, advice Poor advises only; a project may ignore its templates Poor each project reports in its own way Good leads choose their own methods and tools Good a few people can serve many projects
Controlling Holds: required methods and gate packs Mixed requires its methods and reviews; leads still run the work Good one gate pack and one status rule for every project Mixed leads decide inside the required method Mixed staff to check every gate pack
Directive Holds: the projects themselves Good project managers are its staff and report to it Good one way of working, by design Poor the main decisions sit in the PMO Poor it employs every project manager it directs
How the answers decide
  • “Must every project give the board the same evidence, for an auditor or a regulator?” Yes, the same evidence: rules out Supportive. Advice alone cannot make every project produce the evidence an auditor will ask for at each gate.
  • “Does leadership want one unit to run its most critical projects itself?” No, leads stay in their departments: rules out Directive. A directive PMO employs the project managers, and leadership wants them to stay in their departments.
  • “Does leadership want one unit to run its most critical projects itself?” Yes, run them centrally: rules out Supportive and adds a caveat to Controlling. Running projects centrally needs a PMO that holds them; a controlling PMO can do it only for a few flagship projects.
  • “Are your project leads experienced, on projects that look alike?” Yes, experienced, similar work and “Must every project give the board the same evidence, for an auditor or a regulator?” No, light reporting is enough: adds a caveat to Controlling. Experienced leads on similar work gain little from required methods, so a controlling PMO adds reviews they may not need.
  • “Are your project leads experienced, on projects that look alike?” No, new leads or very varied work: adds a caveat to Supportive. New leads need templates and coaching, but advice alone will not catch a project that is going wrong.

For the department, the auditor’s question decides it. Every scholarship project must bring the committee the same gate evidence, so a supportive PMO is ruled out, and the project leads stay in their own directorates, so a directive PMO is ruled out too. A controlling PMO, with one gate pack and one status rule, fits. A PMO that serves a programme or a whole portfolio does the same work one level up, which Programmes, portfolios and OKRs takes further.

Write the PMO's mandate before it starts work

List what the PMO requires, what it offers, what it reports and to whom, and what it decides, which on most projects is nothing. A PMO that collects status nobody uses soon becomes the weekly report everyone resents.

Checkpoint

Check: Supportive, controlling and directive PMOs

  1. One question A bank's regulator expects every project to bring the board the same gate evidence, and the bank wants its project managers to stay in their business units. Which kind of PMO fits?

    Choose one answer.

    Show the answer: One question

    Answer: A controlling PMO

    The same evidence everywhere rules out a supportive PMO, and keeping project managers in their units rules out a directive one. A controlling PMO requires the method and the gate pack without employing the managers.

Compliance is scope with owners, evidence and dates

Twelve weeks in, the portal’s compliance work looked finished to anyone who had not counted it. The department had a consent notice: The notice given before asking for consent to use personal data, saying what data will be processed and why, and how the person can withdraw consent and complain., a contract with its system integrator, a CERT-In contact and an accessibility audit booked. The program below checks the project’s register at its status date of week 12:

The portal's compliance register at week 12 Python · compliance_register.py
"""Checks the scholarship portal's compliance register at the status date of week 12.

The portal is an invented state-government project (see escalation.py). Its compliance register lists each condition
the project must meet because a law, a direction, a standard, a contract or a department policy says so, with the
category it belongs to, its source, the one person who owns it, the evidence that will show it is met, the week it is
due and whether that evidence has been accepted.

The check does what a compliance plan asks: every category the brief names has at least one row; every row has an
owner, an evidence item and a due week; and the share of rows already due whose evidence is accepted measures how far
the project is in compliance today. Sources are named the way the lesson cites them (DPDP Act 2023 and Rules 2025,
CERT-In directions of 2022, WCAG 2.2). Week numbers count from the start of the project.
"""

STATUS_WEEK = 12
REQUIRED = ["data protection", "security", "data residency", "accessibility", "records",
            "health and safety", "sustainability", "audit"]

# (id, requirement, category, source, owner, evidence, due week, evidence accepted)
REGISTER = [
    ("C01", "Consent notice in English and the state language", "data protection", "DPDP Act s.5",
     "data protection contact", "notice text and screen test", 10, True),
    ("C02", "Decide how applicants under 18 are handled", "data protection", "DPDP Act s.9, Rules",
     "data protection contact", "legal view and flow test", 12, False),
    ("C03", "Processor contract with the system integrator", "data protection", "DPDP Act s.8(2)",
     "procurement officer", "signed contract clause", 4, True),
    ("C04", "Breach procedure: tell students and the Board", "data protection", "DPDP Act s.8(6)",
     "", "rehearsal record", 14, False),
    ("C05", "Answer access and correction requests in 90 days", "data protection", "DPDP Rules 2025",
     "helpdesk lead", "request log design", 16, False),
    ("C06", "Report cyber incidents to CERT-In within 6 hours", "security", "CERT-In directions",
     "vendor security lead", "runbook and registered contact", 8, True),
    ("C07", "Fix high findings of the penetration test", "security", "department policy",
     "state IT agency", "retest report", 18, False),
    ("C08", "Keep system logs for 180 days inside India", "data residency", "CERT-In directions",
     "vendor operations lead", "", 12, False),
    ("C09", "Application form meets WCAG 2.2 level AA", "accessibility", "WCAG 2.2",
     "UX lead", "external audit report", 15, False),
    ("C10", "Erase personal data once its purpose ends", "records", "DPDP Act s.8(7)",
     "records officer", "retention schedule", None, False),
    ("C11", "Safe halls and first aid at enrolment camps", "health and safety", "college safety policy",
     "district coordinators", "camp checklist", 11, True),
    ("C12", "Audit trail of every eligibility decision", "audit", "state finance rules",
     "finance officer", "sample of the audit log", 9, True),
]


def main():
    print(f"Register at week {STATUS_WEEK}: {len(REGISTER)} rows")
    print(f"{'id':<4}{'category':<18}{'owner':<24}{'due':>4}  evidence")
    gaps = []
    for rid, text, category, source, owner, evidence, due, accepted in REGISTER:
        due_text = f"w{due}" if due is not None else "-"
        state = "accepted" if accepted else ("not yet" if evidence else "none named")
        print(f"{rid:<4}{category:<18}{(owner or '-'):<24}{due_text:>4}  {state}")
        missing = [name for name, value in (("owner", owner), ("evidence", evidence), ("due week", due)) if not value]
        if missing:
            gaps.append(f"{rid} {text}: no {' and no '.join(missing)}")
    print()
    covered = {row[2] for row in REGISTER}
    for category in REQUIRED:
        if category not in covered:
            gaps.append(f"category '{category}': no requirement listed")
    print(f"Gaps ({len(gaps)}):")
    for gap in gaps:
        print(f"  {gap}")
    complete = sum(1 for row in REGISTER if row[4] and row[5] and row[6] is not None)
    print()
    print(f"Rows complete (owner, evidence, due week): {complete} of {len(REGISTER)}")
    print(f"Categories covered: {len(covered & set(REQUIRED))} of {len(REQUIRED)}")
    due_now = [row for row in REGISTER if row[6] is not None and row[6] <= STATUS_WEEK]
    accepted = [row for row in due_now if row[7]]
    open_rows = [row[0] for row in due_now if not row[7]]
    print(f"Due by week {STATUS_WEEK}: {len(due_now)} rows, evidence accepted for {len(accepted)} "
          f"({100 * len(accepted) / len(due_now):.0f} %); still open: {', '.join(open_rows)}")


if __name__ == "__main__":
    main()

Output

Register at week 12: 12 rows
id  category          owner                    due  evidence
C01 data protection   data protection contact  w10  accepted
C02 data protection   data protection contact  w12  not yet
C03 data protection   procurement officer       w4  accepted
C04 data protection   -                        w14  not yet
C05 data protection   helpdesk lead            w16  not yet
C06 security          vendor security lead      w8  accepted
C07 security          state IT agency          w18  not yet
C08 data residency    vendor operations lead   w12  none named
C09 accessibility     UX lead                  w15  not yet
C10 records           records officer            -  not yet
C11 health and safety district coordinators    w11  accepted
C12 audit             finance officer           w9  accepted

Gaps (4):
  C04 Breach procedure: tell students and the Board: no owner
  C08 Keep system logs for 180 days inside India: no evidence
  C10 Erase personal data once its purpose ends: no due week
  category 'sustainability': no requirement listed

Rows complete (owner, evidence, due week): 9 of 12
Categories covered: 7 of 8
Due by week 12: 7 rows, evidence accepted for 5 (71 %); still open: C02, C08

Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 compliance_register.py

It finds four gaps that no status report showed. The breach procedure has no owner, the log-retention row names no evidence, the erasure rule has no due week, and sustainability, a category the project brief names, has no row at all. Nine of the 12 rows are complete, and of the 7 rows due by week 12, 5 have accepted evidence: the project is 71 % in compliance today, a number the committee can follow from gate to gate.

A compliance requirement: A condition a project must meet because a law, a regulator's direction, a standard, a contract or the organisation's own policy requires it. is a condition the project must meet because a law, a regulator’s direction, a standard, a contract or the organisation’s own policy requires it. A compliance register: A list of a project's compliance requirements, each with its category, its source, one owner, the evidence that will show it is met, a due date and whether that evidence is accepted. lists each one with its category, its source, one owner, the evidence that will show it is met and a due date. PMI’s 2026 outline describes the work in steps that the register records:

  • Confirm the requirements; the outline’s own examples are security, health and safety, sustainability and regulatory compliance.
  • Classify them into categories and find the threats to each.
  • Choose the methods that support them, and analyse what non-compliance would cost.
  • Decide the actions, then measure how far the project complies.

On a software project, add accessibility (the W3C’s WCAG 2.2, usually at level AA), records and their retention, audit trails, and the places where data and logs may be stored. Treat every row as scope. On an agile team it becomes a backlog item with acceptance criteria: The conditions a deliverable must meet before it can be accepted, written so that any result is a clear pass or a clear fail. More in “Quality planning, assurance and control” that name the evidence, for example “the notice appears in English and the state’s language before any field is filled, and the screen test is attached”, so it is planned, built and finished like any other item instead of in a launch-week scramble.

Indian government sites and logs

The Government of India publishes the Guidelines for Indian Government Websites and Apps (GIGW 3.0), with tools for checking accessibility. CERT-In’s directions ask service providers, data centres and government organisations to hold 180 days of ICT system logs, on a rolling basis, inside Indian jurisdiction.

A register is only as good as its weakest row, and a row without an owner is the one that fails quietly.

Key idea

A compliance requirement is managed like scope: one owner, named evidence, a due date and acceptance criteria, and compliance is measured as the share of due rows whose evidence has been accepted.

Checkpoint

Check: Compliance as scope in a register

  1. Question 1 of 2 Which of these register rows are gaps that the project must fix before the row can be managed?

    Choose every answer that is right.

    Show the answer: Question 1 of 2

    Answer:

    • Breach procedure: no owner, evidence rehearsal record, due week 14
    • Keep system logs for 180 days inside India: owner vendor operations lead, evidence not named, due week 12

    A row is ready when it has one owner, named evidence and a due date. Evidence not yet accepted on a row that is not due is normal progress, not a gap.

  2. Question 2 of 2 At week 12, 7 rows are due and 5 have accepted evidence. By week 14 two more rows fall due, and one of the new rows and one of the two open rows get their evidence accepted. What share of the due rows is in compliance at week 14, to the nearest whole per cent?

    Type a number.

    A hint

    Count the due rows first, then the accepted ones.

    Show the answer: Question 2 of 2

    Answer: 78 % (anything from 77 to 79 counts)

    Due rows: 7 + 2 = 9. Accepted rows: 5 + 1 + 1 = 7. The share is 7 of 9, which is 77.8 %, or 78 % to the nearest whole per cent.

India’s DPDP law turns personal data into a workstream

Each year the portal collects names, phone numbers, bank details, marks and income certificates from about 120,000 students, and some first-year students are 17. In India that brings the department under the Digital Personal Data Protection Act, 2023, and the DPDP Rules, 2025, which give organisations an eighteen-month period to come into compliance in phases.

The Act names three roles. The data fiduciary: Under India's DPDP Act 2023, the person or organisation that decides, alone or with others, why and how personal data is processed, and answers for that processing. decides why and how personal data is processed: here the department. The data principal: Under India's DPDP Act 2023, the individual the personal data is about; for a child, the parent or lawful guardian is included. is the person the data is about: each student, and for a child the parent or lawful guardian as well. A data processor: A person or organisation that processes personal data on behalf of another, which under India's data protection law may be engaged only under a valid contract. processes the data on the fiduciary’s behalf, here the system integrator, and may be engaged only under a valid contract. For a project, the Act and the Rules turn into work items:

  • A lawful ground for each purpose: consent given after a notice, or one of the legitimate uses in section 7, one of which covers the State providing a subsidy or benefit under the conditions the Act sets.
  • A consent notice that says what data is processed and why, how to withdraw consent and how to complain to the Data Protection Board, available in English or a language of the Constitution’s Eighth Schedule; the Rules ask for a separate notice in plain words.
  • Withdrawal that is as easy as giving consent, and erasure once the purpose is served, unless a law requires the data to be kept.
  • Verifiable consent of a parent or lawful guardian before a child’s data is processed, a child being anyone under 18, unless one of the Rules’ exceptions applies; the summary of the Rules names healthcare and education among them.
  • Reasonable security safeguards, including for processing done by the processor.
  • A procedure for a personal data breach: Under India's DPDP Act 2023, any unauthorised processing of personal data, or its accidental disclosure, use, change, destruction or loss of access, that harms its confidentiality, integrity or availability. that tells the Board and each affected person.
  • A published contact for questions, a way to settle grievances, and answers to access, correction and erasure requests within ninety days.

A breach procedure is real only once it has been rehearsed. Step through the portal’s drill, from the vendor’s alert to the people who must be told:

Interactive · step by step A breach drill on the scholarship portal Step through a rehearsed breach, from the vendor's alert to the people the law says must be told.
A breach drill on the scholarship portal, step 6 of 6. Showing Vendor, CERT-In, Department, The Board, Students, Registers. In focus: Registers.alert6 hoursintimationtoldlessonsVendordata processorCERT-In6-hour reportDepartmentdata fiduciaryThe BoardData Protection BoardStudentsaffected principalsRegistersrisks, compliance

The drawing shows the whole scene; its 6 steps are listed below.

Every step as text
  1. The alert. In the drill, the vendor's monitoring finds that uploaded income certificates could be read without logging in. The vendor processes the data for the department under contract, so its first duty is to tell the department at once.
  2. The department stays accountable. The department decides why and how the students' data is processed, which makes it the data fiduciary. A breach at its processor is still its breach, and the Act asks the fiduciary to protect data held on its behalf.
  3. Six hours for CERT-In. A cyber incident of this kind is reported to CERT-In within 6 hours of noticing it, under its 2022 directions, which also ask for 180 days of system logs kept inside India. The drill checks that the contact and the report form are ready.
  4. The students are told. The Act asks the fiduciary to tell each affected person, and the Rules ask for it without delay and in plain language, saying what happened, the likely impact, the steps taken and whom to contact.
  5. The Board is told. The Data Protection Board receives an intimation of the breach in the form and manner the Rules prescribe. The drill names the person who sends it and the facts it needs, so nobody gathers them for the first time during a real breach.
  6. What the drill changes. The drill ends in the registers. Row C04 gets the owner it lacked, the log retention of row C08 gets its evidence, and the risk register records how long each notification took.

The drill met a second law on the way. CERT-In’s 2022 directions ask service providers, data centres, companies and government organisations to report the listed cyber incidents within 6 hours of noticing them, so two clocks start from the same alert, and the plan has to name who starts each one.

Penalties counted in crores

The heaviest penalty in the Act’s schedule, as much as ₹250 crore, applies when a fiduciary has not taken reasonable security safeguards. Failing to notify a breach, or to meet the duties for children’s data, can each cost up to ₹200 crore, and other breaches of the Act or the Rules up to ₹50 crore.

Plan the work from the first week. Each duty becomes a row of the compliance register with an owner and evidence, a backlog item with acceptance criteria, and a line in the gate pack before go-live. The DPDP compliance checklist walks through the same areas, and the decision about under-18 applicants goes in the decision log with the legal view behind it.

Checkpoint

Check: DPDP duties on a project

  1. Question 1 of 2 Under the DPDP Act, which role does the system integrator that runs the portal for the department hold?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: Data processor

    The fiduciary decides why and how personal data is processed, the principal is the person it is about, and the processor processes it on the fiduciary's behalf under a valid contract.

  2. Question 2 of 2 A 17-year-old first-year student applies on the portal. What must the project settle before her data is processed?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: Whether one of the Rules' exceptions covers this processing, and if none does, how a parent or guardian gives verifiable consent

    The Act asks for verifiable consent of a parent or lawful guardian before a child's data is processed, and the Rules list exceptions; the summary of the Rules names healthcare and education among them. The project records which applies, with the legal view, in its decision log.

Practise

Every question below comes from the portal: its committee and sponsor, its 22 decisions, its PMO, its register and its students’ data. Settle on an answer first, then check it:

Practice that adapts to you

Practise this lesson

9 questions about 5 ideas of this lesson. Each answer is explained at once, and what you get right is kept in this browser.

  1. Question 1 of 9 The state IT agency's member of the committee says the agency should decide whether to stop the portal, because it hosts the servers. What is the best reply?

    Choose one answer.

    Show the answer: Question 1 of 9

    Answer: Stopping is a decision on the business case, so it belongs to the committee under the sponsor's chair, with the agency's view heard

    Each body has one job. The sponsor answers for the case and chairs the committee, which decides at gates and on anything beyond the sponsor's tolerance; the agency brings the supplier's view to that decision.

  2. Question 2 of 9 Rebuilding the upload service costs 1,400 thousand rupees and 20 days. Why did it wait 5 days under design B instead of 29 under design A?

    Choose one answer.

    Show the answer: Question 2 of 9

    Answer: It blocked work, so it went to the committee on a short extra call instead of the monthly meeting

    Tolerances decide who may take a decision; cadence decides how long it waits. Design B kept the decision at the committee but gave blocking decisions a quick extra call, so work stopped for 5 days instead of 29.

  3. Question 3 of 9 Which of these is not one of the four ways a stage gate can end?

    Choose one answer.

    Show the answer: Question 3 of 9

    Answer: Go, and let the project lead reset the next stage's tolerances

    A gate ends in go, go with conditions, hold or stop, and each decision is recorded with its reasons. A go also sets the next stage's tolerances, which is the committee's job.

  4. Question 4 of 9 What does a supportive PMO offer projects?

    Choose one answer.

    Show the answer: Question 4 of 9

    Answer: Templates, training, advice and lessons from earlier projects, while requiring little

    Supportive, controlling and directive PMOs hold rising amounts of control: advice, then required methods, then the projects themselves.

  5. Question 5 of 9 A month after it starts, a new PMO hears from one lead who wants templates and coaching and another who wants fewer reports. What should the PMO do first?

    Choose one answer.

    Show the answer: Question 5 of 9

    Answer: Write down its mandate, what it requires, offers, reports and decides, and get the committee to agree it

    A PMO is defined by what it is asked to do. Writing its mandate first decides whether it is supportive, controlling or directive, and which reports are worth anyone's time.

  6. Question 6 of 9 Which four categories of compliance requirement does PMI's 2026 outline give as examples?

    Choose one answer.

    Show the answer: Question 6 of 9

    Answer: Security, health and safety, sustainability and regulatory compliance

    The outline's examples are security, health and safety, sustainability and regulatory compliance. A software project usually adds accessibility, records and retention, audit trails and data residency.

  7. Question 7 of 9 On a Scrum team, how should the requirement that the application form meets WCAG 2.2 level AA be handled?

    Choose one answer.

    Show the answer: Question 7 of 9

    Answer: As a backlog item whose acceptance criteria name the evidence, the external audit report, finished like any item

    A compliance requirement is managed like scope: an item in the backlog with acceptance criteria that name the evidence, an owner and a due date.

  8. Question 8 of 9 In the breach drill, whom must the department tell under the DPDP Act?

    Choose every answer that is right.

    Show the answer: Question 8 of 9

    Answer:

    • Each affected student
    • The Data Protection Board

    Section 8(6) of the Act names the Board and each affected data principal. CERT-In's 6-hour report runs on a second clock, under a different law, from the same alert.

  9. Question 9 of 9 A student withdraws her consent after her scholarship is paid, and the state's finance rules require payment records to be kept. What does the portal do?

    Choose one answer.

    Show the answer: Question 9 of 9

    Answer: Erase what is no longer needed, keep what the finance rules require, and have the processor erase its copies too

    Withdrawal leads to erasure unless retention is necessary under another law, and the fiduciary must make its processor erase the data it was given. The register row for erasure is where this rule gets its owner.

Interview questions

Interviews for project lead and PMO roles test governance by asking for distinctions first and judgement after. Two distinctions, answered:

Warm-up: how does project governance differ from project management?

Governance is the frame and management is the work inside it. Governance settles who may decide what, on what evidence, how often and where a decision goes when it is too big: the sponsor, the steering committee, the stage gates, the tolerances and the reports they rely on. Management plans, assigns, tracks and corrects the work within those limits, and that is the project lead’s job. A quick test is to ask who could stop the project: the answer is a governance body, never the lead. When the two blur, a lead takes decisions beyond the lead’s authority or a committee starts managing tasks, and both slow the project down.

Warm-up: what separates supportive, controlling and directive PMOs?

The control each one holds over projects. A supportive PMO advises, with templates, training and lessons from earlier projects, and suits experienced leads on varied work. A controlling PMO also requires compliance with its methods, gate packs and status rules, and suits organisations whose board or auditor needs the same evidence from every project. A directive PMO manages the projects itself, with the project managers on its staff, and suits the few critical projects that leadership wants run centrally. None of the three takes the board’s decisions; a PMO makes the evidence comparable for the people who decide.

The next two ask for judgement under pressure, on cases unlike the portal’s:

Model answers open with any pass: ₹79 for 1 week ($2.99), one payment that never renews.

  1. Mid to staff

    At the go-live gate of a public portal, the penetration test still shows two high-severity findings. The sponsor wants to launch anyway, because a minister announces the portal next week. You run the PMO. What do you recommend, and who decides?

    Model answer, Pro. Model answers open with any pass; prices are in the notice on this page. First step and follow-ups

  2. Mid to senior

    Three weeks before launch you take over a clinic chain's appointment app. It stores patients' names, phone numbers and visit reasons, but nobody has written a consent notice, a retention rule or a breach procedure, and marketing wants the date kept. What do you do, and who decides on the launch?

    Model answer, Pro. First step and follow-ups

Flashcards · 6 cards

Recall it, then check

Say the answer to yourself before you look: recalling it is what makes it stick.

  1. How does project governance differ from project management?

    Governance is the frame: who may decide what, on what evidence, how often, where a decision goes when it is too big. Management is the work inside those limits: planning, assigning, tracking and correcting. A quick test: who could stop the project? Always a governance body, never the lead.

  2. What are tolerances and management by exception?

    A tolerance is the deviation from plan a level may absorb or decide without going up (such as 200 thousand and 5 days for the lead, 1,000 thousand and 15 days for the sponsor). Management by exception: a level reports up only when a forecast breaks its tolerance, and then at once, with an exception report.

  3. What four endings must a real stage gate allow?

    Go, go with conditions, hold or stop. A gate that can only say go is a review. The committee decides on a pack of evidence at the end of each stage whether the project has earned the next stage; that protects the money the next stage would spend.

  4. What three kinds of PMO does the PMBOK Guide name, and how do they differ?

    Supportive (templates, training and advice; requires little), controlling (also requires projects to follow its methods, templates and gate reviews), and directive (manages the projects itself; project managers are its staff). Choose by what the organisation needs and who should employ the PMs.

  5. How should a project treat a compliance requirement?

    Like scope. Each row of a compliance register has one owner, named evidence, a due date and acceptance criteria. On an agile team it becomes a backlog item whose criteria name the evidence, so it is planned, built and finished like any other item, not a launch-week scramble.

  6. What three roles does India's DPDP Act name, and what is the heaviest penalty?

    Data fiduciary (decides why and how personal data is processed), data principal (the person the data is about; for a child, parent/guardian too), data processor (processes data on the fiduciary's behalf, under a valid contract). Heaviest penalty: up to ₹250 crore for failing reasonable security safeguards.

Key takeaways

  • Governance settles who may decide what, on what evidence and when; management does the work inside those decisions, and a sponsor who chairs the steering committee keeps one person answerable for the whole.
  • Tolerances let the lead and the sponsor decide inside written limits, and management by exception sends up only the forecasts that break them; on the portal that cut the average wait for a decision from 15.2 days to 3.6.
  • A stage gate is a planned decision on evidence that can end in go, go with conditions, hold or stop, and a gate that can only say go is a review.
  • Supportive, controlling and directive PMOs hold rising amounts of control; choose by the evidence the organisation needs and by who should employ the project managers.
  • Compliance is scope: each requirement has one owner, named evidence and a due date in a register, and the share of due rows with accepted evidence measures it.
  • India’s DPDP Act and Rules give a data fiduciary work to plan: notices and consent, children’s data, safeguards at processors, erasure, breach notice to the Board and the people affected, and answers to requests within ninety days.

Terms in this lesson

compliance register
A list of a project's compliance requirements, each with its category, its source, one owner, the evidence that will show it is met, a due date and whether that evidence is accepted.
compliance requirement
A condition a project must meet because a law, a regulator's direction, a standard, a contract or the organisation's own policy requires it.
consent notice
The notice given before asking for consent to use personal data, saying what data will be processed and why, and how the person can withdraw consent and complain.
controlling PMO
A PMO that supports projects and also requires them to follow its methods, templates, reporting rules and gate reviews, so it holds a moderate degree of control.
data fiduciary
Under India's DPDP Act 2023, the person or organisation that decides, alone or with others, why and how personal data is processed, and answers for that processing.
data principal
Under India's DPDP Act 2023, the individual the personal data is about; for a child, the parent or lawful guardian is included.
directive PMO
A PMO that manages projects directly: the project managers are its staff and report to it, so it holds a high degree of control.
exception report
A short report sent up when a forecast breaks a tolerance: what happened, the options with their cost and delay, and a recommendation for the level that must decide.
management by exception
A way of directing a project in which each level decides within its tolerance and reports up only when a forecast breaks it, so senior people see only the decisions that need them.
personal data breach
Under India's DPDP Act 2023, any unauthorised processing of personal data, or its accidental disclosure, use, change, destruction or loss of access, that harms its confidentiality, integrity or availability.
PMO
Project management office: a unit that sets and supports how an organisation's projects are run, through methods, templates, reporting and training, and sometimes by managing the projects itself.
project governance
The framework of bodies, rules and evidence that directs a project: who may decide what, on what evidence and when, and where a decision goes when it is too big for the person who meets it.
stage gate
A planned decision point at the end of a stage where a governance body decides, on evidence, whether the project goes on, goes on with conditions, holds or stops.
steering committee
The group, chaired by the sponsor, that directs a project for the organisation: it decides at stage gates and on anything beyond the sponsor's tolerance, and speaks for the users and suppliers the project depends on.
supportive PMO
A PMO that offers templates, training, advice and lessons from earlier projects but requires little, so it holds a low degree of control over projects.
tolerance
The deviation from plan, in cost, time or another measure, that a level may absorb or decide on without referring it up; a decision beyond it goes to the next level.

References

Related tools

Report a problem with this lesson

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.