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 2 – Initiating: business case, charter and stakeholders

RACI charts, decision rights and escalation

Build a RACI chart with one owner per row, find the faults first drafts share, and set decision rights and escalation thresholds so decisions never stall.

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

What you will learn

  • Build a RACI chart with exactly one Accountable person for each deliverable or decision
  • Diagnose common RACI faults such as a missing owner, two owners or one person overloaded
  • Record decision rights and escalation thresholds so that decisions do not wait
  • Apply RACI in agile teams without taking away their self-management

Before you start

What you’ll learn · Before you start

What you will learn

  • Build a RACI chart with exactly one Accountable person for each deliverable or decision
  • Diagnose common RACI faults such as a missing owner, two owners or one person overloaded
  • Record decision rights and escalation thresholds so that decisions do not wait
  • Apply RACI in agile teams without taking away their self-management

Before you start

On this page

The first RACI chart of a payroll migration made the project lead accountable for 9 of its 10 rows, gave the go-live decision two owners and left staff communication with nobody at all. A checker run on it below finds 5 faults, and every one of them would have shown up later as a decision that waited or a job that nobody did.

You will build a chart with one owner per row, diagnose the faults first drafts share, set decision rights with thresholds so that small decisions never queue behind big ones, and adapt the chart for a team that manages its own work.

RACI names who does the work and the one person who answers for it

A RACI chart: A table of deliverables or decisions against people or roles, marking who is responsible (does the work), accountable (owns the outcome, one per row), consulted (asked before) and informed (told after). lists the deliverables and decisions of a project as rows and the people or roles as columns, and puts one letter in each cell that matters:

  • R, responsible: does the work; several people may share it.
  • A, accountable: owns the outcome and answers for it; exactly one per row.
  • C, consulted: asked before the work or the decision, a two-way exchange.
  • I, informed: told afterwards, a one-way message.

The rule of one A per row is the point of the chart. A guide from the U.S. Office of Population Affairs puts it as success requiring only one person to be accountable, so that the buck stops there. When the owner also does the work, the cell reads A/R. Here are three rows of the payroll migration’s fixed chart:

Row Sponsor Lead HR IT Vendor Audit
Data mapping C C A R
Controls testing I C C C A/R
Go-live decision A R C C I C

Variants add letters rather than change the idea. RASCI adds S for people who support the work, and DACI, used for decisions, names a driver who runs the decision, one person who makes it, contributors and the informed.

Markdown Table Generator Draft your own chart as a table: one row per deliverable or decision, one column per role.

Accountable for everything

Wrong: making the project lead A on every row because the lead is answerable for the project. Right: give each row’s A to the person closest to that outcome, and let the lead be A where the lead truly owns the result.

Four faults show up in most first RACI charts

The payroll migration’s first chart has ten rows and six roles. The program below holds that draft and the corrected chart, and checks both against four rules: exactly one A per row, at least one R per row, no row without owners, and nobody with more than 4 of the chart’s A’s:

A faulty RACI chart and its fix, checked Python · raci_check.py
"""Checks two RACI charts for an invented payroll-system migration: a first draft with faults, and its fix.

R: responsible (does the work), A: accountable (owns the outcome), C: consulted (asked before, two-way),
I: informed (told after, one-way); A/R: the owner also does the work. The rules: every row has exactly one A, at least
one R, and nobody holds more than 4 of the chart's A's (an overload warning for a 10-row chart).
"""

ROLES = ["Sponsor", "Project lead", "HR lead", "IT lead", "Vendor", "Audit"]
MAX_AS = 4

DRAFT = {
    "Business requirements":  ["I", "A", "R", "C", "C", ""],
    "Data mapping":           ["", "A", "C", "R", "R", ""],
    "Data cleansing":         ["", "A", "R", "", "", ""],
    "Parallel payroll run":   ["I", "A", "R", "R", "R", "C"],
    "Controls testing":       ["", "A", "", "", "", "R"],
    "Go-live decision":       ["A", "A", "C", "C", "", "C"],
    "Staff communication":    ["", "", "", "", "", ""],
    "Vendor contract change": ["C", "A", "", "", "R", ""],
    "Cutover runbook":        ["", "A", "", "R", "R", ""],
    "Old system shutdown":    ["", "A", "", "", "", ""],
}

FIXED = {
    "Business requirements":  ["I", "C", "A/R", "C", "C", ""],
    "Data mapping":           ["", "C", "C", "A", "R", ""],
    "Data cleansing":         ["", "I", "A", "C", "R", ""],
    "Parallel payroll run":   ["I", "A", "R", "R", "R", "C"],
    "Controls testing":       ["I", "C", "C", "C", "", "A/R"],
    "Go-live decision":       ["A", "R", "C", "C", "I", "C"],
    "Staff communication":    ["I", "C", "A/R", "", "", ""],
    "Vendor contract change": ["A", "R", "", "", "C", ""],
    "Cutover runbook":        ["", "A", "C", "R", "R", ""],
    "Old system shutdown":    ["I", "C", "", "A", "R", ""],
}


def faults(chart):
    found = []
    for row, cells in chart.items():
        if not any(cells):
            found.append(f"{row}: nobody owns this row")
            continue
        accountable = [ROLES[i] for i, cell in enumerate(cells) if "A" in cell]
        if len(accountable) == 0:
            found.append(f"{row}: no A")
        elif len(accountable) > 1:
            found.append(f"{row}: {len(accountable)} A's ({', '.join(accountable)})")
        if not any("R" in cell for cell in cells):
            found.append(f"{row}: no R, so nobody does the work")
    for i, role in enumerate(ROLES):
        count = sum("A" in cells[i] for cells in chart.values())
        if count > MAX_AS:
            found.append(f"{role}: {count} A's, more than {MAX_AS}")
    return found


for title, chart in (("First draft", DRAFT), ("Fixed chart", FIXED)):
    found = faults(chart)
    print(f"{title}: {len(found)} faults")
    for line in found:
        print(f"  - {line}")
    counts = {role: sum("A" in cells[i] for cells in chart.values()) for i, role in enumerate(ROLES)}
    print("  A's per role: " + ", ".join(f"{role} {n}" for role, n in counts.items()))

Output

First draft: 5 faults
  - Go-live decision: 2 A's (Sponsor, Project lead)
  - Go-live decision: no R, so nobody does the work
  - Staff communication: nobody owns this row
  - Old system shutdown: no R, so nobody does the work
  - Project lead: 9 A's, more than 4
  A's per role: Sponsor 1, Project lead 9, HR lead 0, IT lead 0, Vendor 0, Audit 0
Fixed chart: 0 faults
  A's per role: Sponsor 2, Project lead 2, HR lead 3, IT lead 2, Vendor 0, Audit 1

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

The draft fails in four different ways. The go-live decision has two A’s, so the sponsor and the lead could each wait for the other, and it has no R, so nobody prepares the decision. Staff communication has no letters at all, the row most likely to be forgotten until go-live day. The old system’s shutdown has an owner but nobody to do it. And the project lead holds 9 of the 10 A’s, so every decision queues behind one person.

The fix moves each A to the person closest to the outcome: the HR lead owns requirements, cleansing and staff communication, the IT lead owns mapping and the shutdown, audit owns controls testing as A/R, and the sponsor owns the go-live decision and the vendor contract. The lead keeps two A’s and is R where a decision needs preparing. The fixed chart passes every rule, with no role above 3 A’s.

Checkpoint

Check: What R, A, C and I mean · Faults in a RACI chart

  1. Question 1 of 2 A hospital's chart gives the launch of a new booking system an A for both the head of nursing and the head of IT. What is likely to happen?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: Each may wait for the other to decide, so the launch decision stalls

    One A per row means one person who decides and answers. Give the launch to one of them and make the other C.

  2. Question 2 of 2 In the draft chart the project lead holds 9 of the 10 A's. What is the best fix?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: Move each A to the person closest to that outcome, and keep the lead as R where a decision needs preparing

    Spread ownership by outcome: HR owns the HR rows, IT the technical rows, audit the controls, the sponsor the go-live decision and the contract.

Decision rights and thresholds stop decisions from waiting

A RACI chart says who owns a decision, but not how big a decision each owner may take alone. That is the job of decision rights: The written limits that say how big a decision each level may take alone, for example by extra cost and by how far a milestone moves, and where a larger decision goes instead., written as thresholds: the impact up to which each level decides and the point at which it must pass the decision up. PMI’s 2026 examination outline includes “outline governance escalation paths and thresholds” in its first business-environment task. The program below routes six decisions of the migration by the charter’s thresholds, by the larger of each decision’s cost and its slip in weeks:

Six decisions, routed by their impact Python · decision_rights.py
"""Routes six invented decisions of the payroll migration to the level that may take them, by their impact.

The thresholds are the charter's decision rights: the project lead decides up to 50 thousand of extra cost when no
milestone moves; the sponsor decides up to 1 million or a milestone moving by up to 2 weeks; anything larger goes to
the steering committee. Each decision is routed by the larger of its two impacts.
"""

LEVELS = [
    ("Project lead", 50_000, 0),
    ("Sponsor", 1_000_000, 2),
    ("Steering committee", float("inf"), float("inf")),
]

DECISIONS = [
    ("Extra test environment for two weeks", 30_000, 0),
    ("Contractor for data cleansing", 120_000, 0),
    ("Vendor change: a new tax report", 400_000, 1),
    ("Go-live moved for audit's tests", 0, 4),
    ("Switch to a different payroll vendor", 2_500_000, 8),
    ("Rename two report columns", 0, 0),
]


def route(cost, weeks):
    for level, max_cost, max_weeks in LEVELS:
        if cost <= max_cost and weeks <= max_weeks:
            return level
    raise ValueError("no level")


print(f"{'Decision':<38}{'Extra cost':>11}{'Weeks':>6}  Decided by")
for name, cost, weeks in DECISIONS:
    print(f"{name:<38}{cost:>11,}{weeks:>6}  {route(cost, weeks)}")
tally = {}
for _, cost, weeks in DECISIONS:
    level = route(cost, weeks)
    tally[level] = tally.get(level, 0) + 1
print("Decisions per level: " + ", ".join(f"{level} {tally.get(level, 0)}" for level, _, _ in LEVELS))

Output

Decision                               Extra cost Weeks  Decided by
Extra test environment for two weeks       30,000     0  Project lead
Contractor for data cleansing             120,000     0  Sponsor
Vendor change: a new tax report           400,000     1  Sponsor
Go-live moved for audit's tests                 0     4  Steering committee
Switch to a different payroll vendor    2,500,000     8  Steering committee
Rename two report columns                       0     0  Project lead
Decisions per level: Project lead 2, Sponsor 2, Steering committee 2

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

Each level takes two of the six decisions. The contractor costs 120 thousand with no slip, more than the lead’s 50 thousand, so it goes to the sponsor; moving go-live by 4 weeks costs nothing extra, but its slip exceeds the sponsor’s 2 weeks, so it goes to the steering committee. Step through how two of these decisions travel:

Interactive · stage by stage A decision climbs only as far as its impact Step through two decisions of the payroll migration and see which level may take each one, and what is recorded.
A decision climbs only as far as its impact, step 6 of 6. Showing A decision is needed (0 extra, 4 weeks), Project lead (passes it up), Sponsor (decides: accept), Steering committee (decides the slip), Decision log.A decision is needed0 extra, 4 weeksProject leadpasses it upSponsordecides: acceptSteering committeedecides the slipDecision logwho, what, when, options

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

Every step as text
  1. A decision is needed. The vendor offers a new tax report for 400 thousand, and go-live would move by 1 week. Before anyone argues about it, its impact decides who may take the decision.
  2. Too big for the lead. The project lead may decide up to 50 thousand when no milestone moves. This change exceeds both limits, so the lead prepares the options and passes it up the same day.
  3. Within the sponsor's rights. The sponsor may decide up to 1 million or a slip of up to 2 weeks. Both impacts fit, so the sponsor decides within days instead of waiting for a monthly meeting.
  4. Recorded once. The decision goes into the log with who took it, when, the options considered and where the record is kept, so nobody reopens it next month.
  5. A larger decision. Moving go-live by 4 weeks for audit's tests costs nothing extra, but the slip exceeds the sponsor's 2 weeks, so it goes straight to the steering committee.
  6. Each level gets its share. Of the six decisions in the program, the lead takes 2, the sponsor 2 and the committee 2, so the committee's agenda holds only the decisions that need it.

Every decision, whoever takes it, goes into a decision log: A record of a project's decisions: what was decided, by whom, when, the options considered and where the full record is kept.: what was decided, by whom, when, the options considered and where the record lives. A log stops settled questions from being reopened and shows a new member why the project looks the way it does.

Writing thresholds in rupees

An Indian project would write these thresholds as ₹50,000 for the project lead and ₹10 lakh for the sponsor, with anything above ₹10 lakh, or a slip of more than 2 weeks, going to the steering committee.

In an agile team, RACI covers the edges, not the Sprint

The 2020 Scrum Guide describes a Scrum Team as self-managing: its members “internally decide who does what, when, and how”. A chart that assigns Sprint tasks to a manager contradicts that, so in a Scrum team RACI moves to the edges of the team, the decisions that involve people outside it. The guide also makes the Product Owner accountable for managing the Product Backlog, and one person, not a committee, which is the one-A rule in Scrum’s own words.

Decision Who owns it in a Scrum team
Who picks up which task in the Sprint The Developers, among themselves; no RACI row
The order of the Product Backlog The Product Owner, the A; stakeholders C
Releasing to payroll users A named owner outside the team, such as the sponsor; the Product Owner C
Changing the payroll vendor’s contract The sponsor, the A; the Product Owner and audit C

So a chart for agile work has fewer rows, and every row is a decision that crosses the team’s boundary: a release, a contract, a compliance check. Inside the Sprint the team needs no chart, because its members decide together.

Key idea

Keep RACI for decisions that cross the team’s boundary and leave the Sprint’s work to the Developers; one A per row still holds, as Scrum’s single Product Owner shows.

Checkpoint

Check: Decision rights, thresholds and the decision log · RACI in an agile team

  1. Question 1 of 2 Using the migration's thresholds, who decides on a change that costs 80 thousand and moves no milestone?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: The sponsor, because 80 thousand exceeds the lead's 50 thousand

    Route each decision by the larger of its impacts. 80 thousand with no slip sits inside the sponsor's range.

  2. Question 2 of 2 A manager wants a RACI chart that names which Developer takes each task of the coming Sprint. What should you advise?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: Leave task choice to the Developers and keep RACI for decisions that cross the team's boundary

    In agile work RACI covers releases, contracts and compliance decisions; the Sprint's work belongs to the Developers.

Practise: owners, faults and thresholds

New charts and new decisions follow, from a hospital, a school and a software team. A hint is there before you answer, and a question you miss comes back once at the end:

Practice that adapts to you

Practise this lesson

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

  1. Question 1 of 11 What is the difference between C and I in a RACI chart?

    Choose one answer.

    Show the answer: Question 1 of 11

    Answer: C is asked before, in a two-way exchange; I is told afterwards, one way

    Consult before, inform after. Mixing them up either floods people with requests or surprises them with results.

  2. Question 2 of 11 Audit both owns controls testing and does the tests. How is its cell written?

    Choose one answer.

    Show the answer: Question 2 of 11

    Answer: A/R

    The fixed chart marks three rows A/R: requirements and staff communication for the HR lead, controls testing for audit.

  3. Question 3 of 11 What does DACI add for decisions?

    Choose one answer.

    Show the answer: Question 3 of 11

    Answer: A driver who runs the decision, beside the one person who makes it, contributors and the informed

    Variants add letters but keep the core idea of RACI: one person makes the call.

  4. Question 4 of 11 How many faults does the program find in the first draft?

    Type a number.

    A hint

    Count the lines under "First draft" in the output.

    Show the answer: Question 4 of 11

    Answer: 5 faults

    Two A's on the go-live decision, no R on the go-live decision, an empty staff communication row, no R on the old system's shutdown, and 9 A's for the project lead: 5 faults.

  5. Question 5 of 11 Why is an empty row, such as the draft's staff communication, the most dangerous fault?

    Choose one answer.

    Show the answer: Question 5 of 11

    Answer: Nobody owns it or does it, so it is usually discovered only when it is already late

    The fix gives staff communication to the HR lead as A/R, with the project lead consulted and the sponsor informed.

  6. Question 6 of 11 A school's chart marks the principal A for "parents' evening" and nobody R. The principal says they will do it themselves. What should the chart show?

    Choose one answer.

    Show the answer: Question 6 of 11

    Answer: A/R for the principal, or an R for the person who will really do it

    Every row needs someone who does the work. When the owner does it, write A/R; otherwise name the R.

  7. Question 7 of 11 What do decision rights add to a RACI chart?

    Choose one answer.

    Show the answer: Question 7 of 11

    Answer: How big a decision each level may take alone before passing it up

    With thresholds, small decisions are taken at once and only large ones climb, which PMI's outline calls escalation paths and thresholds.

  8. Question 8 of 11 A decision costs nothing extra but moves go-live by 3 weeks. Who decides, using the migration's thresholds?

    Choose one answer.

    Show the answer: Question 8 of 11

    Answer: The steering committee, because 3 weeks exceeds the sponsor's 2

    Both limits must hold at a level. The go-live move for audit's tests in the program is routed the same way.

  9. Question 9 of 11 Which of these does a decision log entry record?

    Choose every answer that is right.

    Show the answer: Question 9 of 11

    Answer:

    • The options considered
    • Who decided, and when
    • What was decided

    What, who, when, the options and where the record lives: enough for a newcomer to see why the project looks the way it does.

  10. Question 10 of 11 What does the Scrum Guide say about the Product Owner that matches RACI's one-A rule?

    Choose one answer.

    Show the answer: Question 10 of 11

    Answer: The Product Owner is one person, not a committee

    Scrum keeps a single accountable person for the Product Backlog, and leaves the Sprint's work to the self-managing Developers.

  11. Question 11 of 11 Which of these belongs in a RACI chart for a Scrum team's project?

    Choose one answer.

    Show the answer: Question 11 of 11

    Answer: Releasing the new payroll screens to all staff

    RACI rows in agile work are releases, contracts and compliance decisions, the edges where the team meets the rest of the organisation.

Interview questions

Warm-up (fresher to 2–5 years): how do responsible and accountable differ in a RACI chart?

Responsible people do the work of a row, and there may be several of them. The accountable person owns the outcome and answers for it, and there is exactly one per row, so that someone always decides and nobody can wait for someone else. When the owner also does the work, the cell is marked A/R. Consulted people are asked before the work or the decision, a two-way exchange, while informed people are only told afterwards. A row with an A and no R has an owner but nobody to do the job; a row with two A’s has two people who can each wait for the other.

Two harder questions follow, about two directors who both want the A and a committee that every decision waits for. Settle your answer before you open each first step:

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

  1. Mid to senior

    A new booking system serves both the outpatient and the radiology departments of a hospital. Each director insists on being accountable for the go-live decision, and neither will accept being consulted. How do you resolve it?

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

  2. Senior to staff

    On your programme every change, even a 10 thousand purchase or a renamed report, waits for a steering committee that meets once a month. Teams sit idle for weeks. What do you change, and how do you get the committee to agree?

    Model answer, Pro. First step and follow-ups

Flashcards · 4 cards

Recall it, then check

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

  1. What do R, A, C and I stand for in a RACI chart?

    R responsible (does the work; may be several), A accountable (owns the outcome and answers for it; exactly one per row), C consulted (asked beforehand, two-way), I informed (told afterwards, one-way). When one person is both, the cell reads A/R.

  2. Which four faults appear in most first RACI drafts?

    Two A's in a row (nobody knows who decides), no R in a row (nobody prepares or does the work), empty rows (owners forgotten), and one person overloaded with the A's (every decision queues behind them).

  3. What are decision rights with thresholds, and why do they matter?

    Written limits on the impact each level may decide alone, by cost and schedule slip. They stop small decisions from queueing behind big ones. Every decision, whoever takes it, goes into a decision log with its options and record location.

  4. Where does RACI apply in a Scrum team, and where does it not?

    Only to decisions that cross the team's boundary, such as a release, a contract or a compliance check. The 2020 Scrum Guide calls the Scrum Team self-managing, deciding internally who does what, when and how, so a chart that assigns Sprint tasks to a manager contradicts it.

Key takeaways

  • A RACI chart gives every deliverable or decision people who do the work, exactly one accountable owner, and the people to consult beforehand and inform afterwards.
  • First drafts fail in the same ways, two A’s, no R, empty rows and one person overloaded, and a short checker finds them all before they turn into stalled decisions.
  • Decision rights with thresholds say how big a decision each level may take, so small decisions are made at once and every decision is recorded in a log.
  • In agile teams RACI covers only the decisions that cross the team’s boundary, because the Developers decide among themselves who does what in the Sprint.

Terms in this lesson

decision log
A record of a project's decisions: what was decided, by whom, when, the options considered and where the full record is kept.
decision rights
The written limits that say how big a decision each level may take alone, for example by extra cost and by how far a milestone moves, and where a larger decision goes instead.
RACI chart
A table of deliverables or decisions against people or roles, marking who is responsible (does the work), accountable (owns the outcome, one per row), consulted (asked before) and informed (told after).

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.