Skip to content

Who Owns What

Ownership is settled in three layers, and most arguments happen because people reach for the wrong one.

flowchart TD
  Q["Who owns this?"] --> RC{"A role's core<br/>accountability?"}
  RC -- Yes --> A["Role Cards"]
  RC -- No --> T{"One of the six recurring<br/>cross-boundary decisions?"}
  T -- Yes --> B["Decision Rights — DACI"]
  T -- No --> C["This table"]
  C --> N{"Not listed?"}
  N -- delivery or client --> PM["PM breaks the tie"]
  N -- technical --> CTO["CTO breaks the tie"]
  PM --> ADD["Add the row — same day"]
  CTO --> ADD

Role cards cover accountabilities. Decision rights cover the six recurring calls. This page covers the third category: small, concrete things that fall between roles and cost ten minutes of argument every few weeks.

Thing Owner Note
DB migration script Backend Lead Even when a junior wrote it — the data model is what’s being signed off.
API contract: shape, versioning, breaking changes Backend Lead Shape is fixed by API Design. Frontend and Mobile consume it; they don’t change it unilaterally.
Shared components / UI patterns Frontend Lead Includes when not to add a new one.
A new third-party library or SDK Team Lead — CTO if it changes the stack Tech-stack change is a DACI call.
AGENTS.md and repo docs Team Lead of that repo DoD item 5 — updated in the same PR as the behaviour change.
A flaky test on main Team Lead of that repo Explicitly not “whoever notices it”.
CI pipeline for a repo Team Lead of that repo Template comes from provisioning.
Thing Owner Note
Telling the client a date slipped PM Never a developer, and never first heard in a demo.
Answering a client’s technical question PM routes, Team Lead answers Requests don’t go to individual developers’ DMs.
Acceptance criteria BA A developer who needs them written is blocked, not stuck.
Deciding something is out of scope PM BA flags it, PM decides, CEO if it’s commercial.
A scope change that adds cost PM proposes, CEO approves Becomes a change request, not a favour.
Notes and decisions from a meeting Whoever called the meeting If it isn’t written, it didn’t happen.
Thing Owner Note
Production credentials and secrets CTO Key Vault. Never in this wiki, never in the repo.
Standing up a new Azure DevOps project Backend Lead Runs the provisioning checklist.
Granting access to a repo or environment Team Lead, least-privilege Provisioning step 7.
Client-owned third-party accounts PM requests, client owns We don’t hold the client’s vendor credentials.
Handover of code and credentials PM confirms final payment first Warranty Boundary.
Thing Owner Note
Bug severity QA Lead Not the reporter, not the developer who wrote it.
Go / no-go to production PM and QA Lead — both The deliberate two-key gate. DACI.
Declaring a bug “won’t fix” QA Lead with PM Client-visible ones go through the PM.
Regression suite upkeep QA Engineer builds, QA Lead signs off
Definition of Done for a story QA verifies, PM accepts Lifecycle.
Thing Owner Note
First response to a production issue L1 Technical Support Support Model.
Deciding warranty vs. billable PM, at triage L1 flags it; L1 does not decide it.
A production issue outside business hours Nobody — we don’t offer it Business-hours SLA, no pager rotation. Don’t let it become an informal promise.
Postmortem write-up Team Lead who owned the fix Postmortem template.
Deciding a hotfix goes straight to prod Team Lead proposes, PM + QA Lead approve Same two-key gate as any release.

Decide it in the moment — PM for anything delivery- or client-facing, CTO for anything technical — then add the row the same day. A disagreement that happens twice and never becomes a row is exactly what this page exists to prevent.

👤 Owner: Wahid Bitar🗓 Last reviewed: 2026-07-25

اقرأ هذه الصفحة بالعربية