SD/TL: The system design diagram and the importance of a RACI
How to stop worrying and learn to love the RACI
This is a post in my “system design applied to tech leadership” series.
In this series I compare elements of tech leadership with elements of system design.
*
In system design, the system design diagram, data model ERD, and list of API endpoints are used to demonstrate the relationship of parts in a system architecture.
As these elements of system design focus on the relationship between parts, they’re critical to demonstrating and discussing the way parts relate to one another in order to create a cohesive whole accomplishing the goals of the overall system.
They can be high-level and hands-wavy, like in a system design interview, or formal, versioned, and approved by key stakeholders.
It is difficult to imagine doing serious architecture work without one.
*
And then there’s the system design diagram for teams, the RACI…
Definition:
A RACI is a document in which roles and their expectations are given atomic clarity.
When I’ve encountered RACIs, they consist of a left-most column containing descriptions of deliverables and the columns are roles who interact with those deliverables.
The magic occurs within each cell.
RACI stands for:
Responsible: People who perform the work.
Accountable: The person who signs off on the work and vouches for it.
Consulted: People who who are asked about the work and who provide input on the work.
Informed: People who need to receive updates on the work: progress and outcome.
Each cell contains one of the four letters, designating what the role does with regard to the deliverable.
As an example: the RACI for “Develop user acceptance tests” might look like:
QA Manager: Accountable
QA Engineer: Responsible
Business Analyst: Consulted
Program Manager: Informed
But why is this magic?
You just saw one row.
Imagine a chart with fifty to seventy rows: this is “who does what” clarity.
This doesn’t immediately move a team to “Performing”. There will still be work to be done in making sure the team is aligned on who does what— and the process to get a team to alignment is challenging people-management work. But the RACI is your cheat sheet.
The RACI provides a visible way to track the current state of decisions, it can be used to highlight decisions which are still in flux, and offers a reference point when questions are inevitably raised.
But what about the job descriptions?
I get it. You and HR and corporate recruiting crafted the best job descriptions for each role. However:
they are stale within a week of the new employee onboarding
they aren’t designed to cover broad ground at an atomic level
they aren’t tooled for conflict resolution and clarity
The JD was designed to get the right candidate in the door. The RACI is designed to retain the right candidate.
But isn’t a RACI limiting?
Only if you make it so:
a RACI can be modified at any time
a RACI can be for at the team level, the company level [think orgs instead of person roles], or even at the level of each epic or project.
a RACI can be as broad or detailed as needed to serve its purpose
Think of the RACI as the system design whiteboard for your organization. A white board is a place to work, an open door for constructive discussion, not a limiting factor.
And, finally, isn’t a RACI work?
Well, sure. It also doesn’t need to be so much work it never gets done.
But, in my experience, it is less work than resolving conflicts between employees after resentment and ambiguity have reached a certain point.
It also guards your most collaborative employees from those who are more political.

