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.
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:
The drawing shows the whole scene; its 8 steps are listed below.
Every step as text
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
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:
"""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:
The drawing shows the whole scene; its 7 steps are listed below.
Every step as text
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
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:
Answer the questions above: the table then marks what fits your case and says why the rest does not.
| 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
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:
"""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
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:
The drawing shows the whole scene; its 6 steps are listed below.
Every step as text
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
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.
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.
-
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?
-
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?
Flashcards · 6 cards
Recall it, then check
Say the answer to yourself before you look: recalling it is what makes it stick.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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
- Project Management Professional (PMP) Examination Content Outline (2026 edition) (Project Management Institute)
- PMBOK Guide, Eighth Edition, and The Standard for Project Management (Project Management Institute)
- PRINCE2 Project Management Foundation (Version 7) (PeopleCert)
- Government Functional Standard GovS 002: Project Delivery (Government Project Delivery and Cabinet Office, UK Government)
- Identifying the structure that underlies the extreme variety found among PMOs (Project Management Institute (PMI Research Conference paper by Brian Hobbs and Monique Aubry))
- The Digital Personal Data Protection Act, 2023 (No. 22 of 2023) (Ministry of Electronics and Information Technology, Government of India)
- DPDP Rules, 2025 notified: a citizen-centric framework for privacy protection (Press Information Bureau, Government of India)
- CERT-In directions under section 70B(6) of the Information Technology Act, 2000 (Indian Computer Emergency Response Team (CERT-In), Government of India)
- Web Content Accessibility Guidelines (WCAG) 2.2 (W3C)
- Guidelines for Indian Government Websites and Apps (GIGW) (National Informatics Centre, Ministry of Electronics and Information Technology, Government of India)
Related tools
Report a problem with this lesson
Kept only in this browser. Your Learn progress