Markdown Editor

System Design Review Checklist and Scoring Rubric Template

Design review checklist in 13 areas, evidence-based scoring rubric, weighted score, red flags, findings register, decision record, 45-minute interview rubric

Thiết kế hệ thốngĐầy đủsystemdesignreviewchecklistmath
Mở trong editorTải .md

Cách dùng: Use it when you review someone else's system design or run a system design interview. Agree the area weights and send the checklist to the author before the meeting, then score only on evidence. The main pitfall is scoring confidence instead of evidence, or redesigning the system in the meeting instead of recording findings.

Xem trước

System Design Review Checklist: [System or design name]

Checklist and scoring rubric for reviewing a system design, for design reviewers in engineering organisations and for interviewers running a system design interview. It covers thirteen areas: requirements and scope, estimation, API, data model and access patterns, consistency per write path, single points of failure, scalability, failure modes, security and privacy, operations and SLOs, cost, migration and rollout, and evolvability. Each area is scored on a four-level rubric defined by observable evidence, red flags block approval, and the review ends with a recorded decision. Section 8 gives a 45-minute interview variant. The checklist draws on common industry practice and on public methods such as the SEI Architecture Tradeoff Analysis Method (ATAM) and the AWS Well-Architected Framework. Replace every [bracketed] value and every row marked Example.

Document control

FieldValue
Document ID[SDR-2026-001]
Version[0.1]
Status[Draft / In review / Decision recorded]
Owner (lead reviewer)[@lead-reviewer]
Approvers / reviewers[@reviewer-1], [@reviewer-2], [@security-reviewer]
Last updatedYYYY-MM-DD
Classification[Internal]
Design under review[Title], [document ID], [version or commit]
Design author(s)[@author]
Review mode[Design review / Interview (section 8)]
Review dateYYYY-MM-DD

Approvals

RoleNameDecisionDate
Lead reviewer[@name][Approved / Approved with conditions / Changes required]YYYY-MM-DD
Security reviewer[@name][Decision]YYYY-MM-DD
Operations / SRE reviewer[@name][Decision]YYYY-MM-DD
Design owner (acknowledges findings)[@name][Acknowledged]YYYY-MM-DD

Revision history

VersionDateAuthorChange summary
0.1YYYY-MM-DD[@name]Pre-read scores
0.2YYYY-MM-DD[@name]Example: Scores after review meeting; findings SDR-F-001 to SDR-F-006
1.0YYYY-MM-DD[@name]Example: Decision recorded: approved with conditions

Contents

1. Review scope and inputs

ItemValue
Decision this review supports[Example: Start implementation of the payment ledger in Q1]
In scope[Example: Write path, ledger storage, reconciliation, rollout]
Out of scope[Example: UI, pricing, vendor contract]
Inputs received[Design document link, ADRs, load test results, threat model]
Pre-read deadlineYYYY-MM-DD
Reviewers and focus[Example: @a data model, @b reliability, @c security]

Rules for this review:

  1. Reviewers score each area independently before the meeting, then agree on one score per area in the meeting.
  2. A reviewer who cannot find evidence for a check marks it "No evidence" rather than guessing.
  3. Checks that do not apply are marked N/A with a one-line reason; an N/A area is removed from the weighted total (section 4).

2. Scoring rubric

Every area in section 3 is scored on one scale:

LevelNameObservable evidence
0MissingThe area is not addressed in the document or the review
1AssertedThe area is mentioned, but claims have no reasoning, numbers or alternatives ("it will scale", "we use retries")
2ReasonedClaims are backed by numbers, a named mechanism and at least one rejected alternative with the reason
3EvidencedLevel 2 plus evidence that the claim holds: a prototype, load test, failure drill, measurement from a comparable system, or a cited and applicable reference

Area-specific anchors, so reviewers calibrate the same way:

AreaLevel 1 looks likeLevel 3 looks like
Estimation"Millions of users"Inputs, formulas, results and the design consequence of each number, checked against measured traffic
Consistency"Strongly consistent database"Each write path named with its guarantee, isolation level and the anomaly it prevents, with a test that shows it
Failure modes"Highly available"Failure table with detection, blast radius, mitigation and RTO, and a game day result for the top two
Security"Uses TLS and auth"Threat model with trust boundaries, data classification, and controls traced to threats
Cost"Should be cheap"Unit cost model per request or per tenant, with the largest line item and how it scales

3. Checklist by area

3.1 Requirements and scope (A1)

IDCheckEvidence expectedNotes
SDR-A1-01Problem and users stated, with the business driverProblem statement, success metric[Section ref]
SDR-A1-02Core functional requirements separate from below-the-line itemsTwo explicit lists
SDR-A1-03Non-functional requirements have numbers and a measurement methodTable with target and "measured as"
SDR-A1-04Assumptions and constraints listed (team, deadline, existing systems)Assumptions table
SDR-A1-05Decisions requested from reviewers are explicitQuestion list with recommended option

3.2 Estimation (A2)

IDCheckEvidence expectedNotes
SDR-A2-01Peak rate, not only average, for reads and writesPeak-to-average factor stated
SDR-A2-02Storage growth over the planning horizon, with replicationFormula and result
SDR-A2-03Each number ends in a design consequence"So we ..." sentence per estimate
SDR-A2-04Orders of magnitude sanity-checked against a known systemComparison or measurement

See Back-of-Envelope Estimation and Capacity Model Template (system-design/back-of-envelope-estimation).

3.3 API (A3)

IDCheckEvidence expectedNotes
SDR-A3-01Operations, inputs, outputs and errors definedAPI table or schema
SDR-A3-02Idempotency for retried writesIdempotency key or natural key semantics
SDR-A3-03Pagination, limits and rate limitsStated limits
SDR-A3-04Versioning and compatibility policyVersioning rule
SDR-A3-05Authentication and authorization per operationScope or permission per call

3.4 Data model and access patterns (A4)

IDCheckEvidence expectedNotes
SDR-A4-01Entities and relationships drawnER diagram or schema
SDR-A4-02Access-pattern table: query, key or index, partition key rationaleTable covering every hot query
SDR-A4-03Hot partitions and skew consideredNamed hot keys and mitigation
SDR-A4-04Store choice justified by access pattern, not habitComparison of at least two stores
SDR-A4-05Retention, deletion and archival definedRetention table

3.5 Consistency per write path (A5)

IDCheckEvidence expectedNotes
SDR-A5-01Every write path listed with its consistency guaranteeTable: path, guarantee, mechanism
SDR-A5-02Multi-step writes have a defined atomicity strategy (transaction, outbox, saga)Sequence diagram with failure between steps
SDR-A5-03Read-after-write expectations stated per clientWhich reads may be stale and for how long
SDR-A5-04Concurrency control for contended recordsLocking, conditional writes or version checks
SDR-A5-05Duplicate and out-of-order events handledDeduplication key, ordering scope

3.6 Single points of failure (A6)

IDCheckEvidence expectedNotes
SDR-A6-01Every component on the critical path has redundancy or an accepted riskComponent list with redundancy column
SDR-A6-02Shared dependencies (DNS, identity, secrets, config) identifiedDependency list
SDR-A6-03Leader or coordinator failover described and timedFailover mechanism and duration
SDR-A6-04Human single points (one person who can deploy or recover)Ownership and runbooks

3.7 Scalability (A7)

IDCheckEvidence expectedNotes
SDR-A7-01Scaling unit of each component named (replicas, shards, partitions)Table "scales by"
SDR-A7-02First bottleneck identified with the load at which it appears"Limit before redesign"
SDR-A7-03Behaviour at 10x and at 0.1x discussedTrade-off row
SDR-A7-04Latency budget per hop for the main pathBudget table

3.8 Failure modes (A8)

IDCheckEvidence expectedNotes
SDR-A8-01Failure-mode table: component, failure, detection, blast radius, mitigation, RTOTable
SDR-A8-02Timeouts, retries with backoff and jitter, circuit breakersValues per dependency
SDR-A8-03Overload behaviour: load shedding, back-pressure, prioritiesMechanism
SDR-A8-04Fail-open versus fail-closed decided per dependencyTable with rationale
SDR-A8-05Backup, restore and disaster recovery with RPO and RTOTargets and test plan

See Resilience and Load Shedding Design Template (system-design/resilience-load-shedding-design).

3.9 Security and privacy (A9)

IDCheckEvidence expectedNotes
SDR-A9-01Threat model with trust boundariesLink to threat model
SDR-A9-02Data classified; personal data minimised and mappedData inventory
SDR-A9-03Authentication and authorization model, including service-to-serviceIdentity design reference
SDR-A9-04Secrets, keys and encryption in transit and at restKey management description
SDR-A9-05Abuse cases and rate limitsAbuse table
SDR-A9-06Audit logging for security-relevant actionsEvent list

Run the detailed analysis in Threat Model Template (security/threat-model) and, where the design changes trust boundaries, Zero Trust Architecture Plan Template (security/zero-trust-architecture).

3.10 Operations and SLOs (A10)

IDCheckEvidence expectedNotes
SDR-A10-01SLIs and SLOs defined for user-facing behaviourSLO table
SDR-A10-02Dashboards and alerts tied to SLOs, not only to resourcesAlert list
SDR-A10-03Runbooks for the top failure modesRunbook links
SDR-A10-04Deployment strategy (canary, blue-green) and rollback timeDeploy plan
SDR-A10-05On-call ownership and escalationTeam and rotation

3.11 Cost (A11)

IDCheckEvidence expectedNotes
SDR-A11-01Cost estimate by componentCost table
SDR-A11-02Unit economics (cost per request, per user or per tenant)Formula
SDR-A11-03Largest cost driver and how it scalesNamed driver

3.12 Migration and rollout (A12)

IDCheckEvidence expectedNotes
SDR-A12-01Migration plan for existing data and clientsBackfill, dual-write or dual-read plan
SDR-A12-02Milestones with exit criteriaMilestone table
SDR-A12-03Feature flags and rollback for each stepRollback per step
SDR-A12-04Verification during migration (shadow traffic, diff reports)Method

3.13 Evolvability (A13)

IDCheckEvidence expectedNotes
SDR-A13-01Decisions recorded as ADRs with revisit triggersADR links
SDR-A13-02Schema and API evolution pathCompatibility rules
SDR-A13-03Known limits and the next redesign pointLimits table
SDR-A13-04Fitness functions or automated checks protect key qualitiesCheck list

See Architecture Fitness Functions Catalogue Template (architecture/fitness-functions).

4. Score summary

The weighted score is

S=100∑iwi×∑iwi×leveli3S = \frac{100}{\sum_i w_i} \times \sum_i w_i \times \frac{level_i}{3}

where wiw_i is the weight of each applicable area and levelilevel_i its score from 0 to 3. With all thirteen areas applicable, ∑iwi=100\sum_i w_i = 100.

AreaWeightScore (0 to 3)Weighted (w x score)Main finding
A1 Requirements and scope10Example: 330
A2 Estimation6Example: 212
A3 API6Example: 212
A4 Data model and access patterns10Example: 330
A5 Consistency per write path10Example: 110SDR-F-001
A6 Single points of failure8Example: 216
A7 Scalability8Example: 216
A8 Failure modes10Example: 220SDR-F-003
A9 Security and privacy10Example: 220SDR-F-002
A10 Operations and SLOs8Example: 18SDR-F-004
A11 Cost4Example: 28
A12 Migration and rollout6Example: 212
A13 Evolvability4Example: 28
Total100202

Example: S=202/3≈67S = 202 / 3 \approx 67.

Decision bands (Example, agree locally; apply the first row that matches, from the top):

ConditionOutcome
Any blocking red flag (section 5)Changes required, whatever the score
Any area weighted 10 scored 0Changes required
S≥75S \ge 75 and no area below 2Approved
S≥60S \ge 60 and none of the rows above applyApproved with conditions: each area below 2 gets a finding with a due date
S<60S < 60Changes required

In the Example, the score is 67 and two areas are at level 1, so the outcome is "approved with conditions".

5. Red flags

IDRed flagBlockingWhy it matters
RF-01No numbers anywhere: no load, no data size, no latency targetYesEvery later decision is unfounded
RF-02Money, inventory or permissions written without a stated consistency guaranteeYesSilent double spend, oversell or exposure
RF-03Retries on non-idempotent writesYesDuplicates under the most common failure
RF-04A single component whose loss stops the service with no failover and no accepted riskYesUnplanned full outage
RF-05Personal or secret data with no classification or ownerYesRegulatory and breach exposure
RF-06No rollback path for a schema or data migrationYesIrreversible incident
RF-07Distributed transactions across services assumed to "just work"AdvisoryUsually a hidden saga with no compensation
RF-08Cache treated as source of truth without a rebuild pathAdvisoryData loss on eviction or restart
RF-09Alerts only on CPU and memory, none on user-facing SLIsAdvisoryOutages found by customers
RF-10Technology chosen before the access patterns were writtenAdvisoryStore fights the workload
[RF-nn][Red flag][Yes / Advisory][Reason]

6. Findings register

IDAreaSeverityFindingExpected evidence to closeOwnerDueStatus
SDR-F-001 (Example)A5HighThe refund path writes ledger and order tables in two calls without an outbox; a crash between them leaves them inconsistentAtomicity strategy for refunds and a failure-injection test[@author]YYYY-MM-DDOpen
SDR-F-002 (Example)A9MediumService-to-service calls use a shared static tokenWorkload identity design or rotation plan[@author]YYYY-MM-DDOpen
SDR-F-003 (Example)A8MediumNo RTO for the reconciliation jobRTO target and restart test[@author]YYYY-MM-DDOpen
SDR-F-004 (Example)A10MediumSLOs defined, but alerts are on host metrics onlyBurn-rate alerts on the two main SLOs[@sre]YYYY-MM-DDOpen
[SDR-F-nnn][Area][High / Medium / Low][Finding][Evidence][@owner]YYYY-MM-DD[Open / Closed / Accepted]

Severity guide: High blocks launch until closed; Medium must close before general availability; Low is tracked in the backlog. An accepted risk needs an owner who has the authority to accept it and a review date.

7. Review record and decision

7.1 Meeting record

FieldValue
Date and durationYYYY-MM-DD, [60] min
Attendees[@names]
Design version reviewed[Version or commit]
Areas discussed[Example: A5, A8, A9, A10]
Questions resolved[Example: Q-02 per-region shares accepted]
Questions deferred[Example: Q-04 build or adopt, to the architecture board]

7.2 Decision

FieldValue
Outcome[Approved / Approved with conditions / Changes required]
Weighted score[Example: 67]
Blocking red flags[Example: None]
Conditions[Example: Close SDR-F-001 before implementation of refunds; SDR-F-004 before GA]
Re-review needed[Example: No; lead reviewer verifies closure]
Decision recorded in[ADR or board minutes link]

7.3 Re-review triggers

Re-open this review when any of the following happens:

  • Load or data size estimates change by more than [2x].
  • A write path changes its consistency mechanism.
  • A new trust boundary or new category of personal data is introduced.
  • The store, queue or other core technology is replaced.
  • A High finding is accepted as a risk instead of fixed.

8. Interview mode: 45-minute rubric

8.1 Time plan

MinutesPhaseWhat a strong candidate does
0 to 5RequirementsAsks about users, scale, core features; states below-the-line items
5 to 10EstimationComputes two or three numbers and says what each changes
10 to 15API and data modelDefines the main calls and the access patterns that drive keys
15 to 25High-level designDraws the request path end to end and names where state lives
25 to 38Deep divePicks the hardest problem, gives options, chooses with a reason
38 to 45Wrap-upNames failure modes, bottlenecks at 10x, and what they would do next

8.2 Dimensions and levels

Score each dimension 1 to 4 on what the candidate showed.

Dimension1: Insufficient2: Developing3: Solid4: Strong
Problem navigationStarts drawing without clarifyingClarifies when promptedDrives scope, states assumptionsPrioritises scope by impact and revisits it as constraints appear
Estimation and requirementsNo numbersNumbers without consequencesNumbers that shape the designSpots which estimate the design is most sensitive to
High-level designMissing components on the main pathComplete but genericComplete and fitted to the requirementsSimple first, adds parts only when a requirement demands them
Deep diveStays at box levelGoes deep only when ledOptions, choice and reason for one hard problemTwo hard problems, including consistency or failure, with trade-offs quantified
Trade-offs and communicationDefends one optionLists alternatives without weighing themWeighs alternatives against stated requirementsChanges the design when the interviewer changes a constraint, explaining why
Operations and failureNot mentionedMentions monitoring genericallyNames failure modes and detectionBlast radius, fail-open or closed, rollout and recovery

8.3 Signal by level (Example calibration)

Target levelExpected profile
[Mid-level engineer]Mostly 3 on navigation, high-level design and communication; 2 acceptable on deep dive
[Senior engineer]3 or above on all dimensions; at least one 4
[Staff engineer]4 on deep dive and trade-offs; 3 or above elsewhere; raises organisational and migration concerns unprompted

8.4 Interview record

DimensionScore (1 to 4)Evidence (what the candidate said or drew)
Problem navigation[n][Example: Asked about read/write ratio and global users before drawing]
Estimation and requirements[n][Evidence]
High-level design[n][Evidence]
Deep dive[n][Evidence]
Trade-offs and communication[n][Evidence]
Operations and failure[n][Evidence]
Overall recommendation[Strong no / No / Yes / Strong yes][One paragraph, written before discussing with other interviewers]

Write evidence during or right after the interview. Do not compare notes with other interviewers before submitting your own score.

9. Glossary and references

9.1 Glossary

TermMeaning
Access patternA query the system must serve, with its key, frequency and latency need
Below the lineRequirements explicitly excluded from this design
Blast radiusThe users, data or services affected by one failure
RTO / RPORecovery time objective / recovery point objective
SLI / SLOService level indicator / objective
Red flagA design defect that blocks or must be tracked before approval
Sensitivity pointA design parameter that strongly affects a quality attribute (ATAM term)

9.2 References

ReferenceUse
Kazman, Klein and Clements, "ATAM: Method for Architecture Evaluation", CMU/SEI-2000-TR-004, August 2000Scenario-based evaluation, risks and sensitivity points
AWS Well-Architected Framework, six pillars (operational excellence, security, reliability, performance efficiency, cost optimization, sustainability)Cross-check of A6 to A11
Beyer et al. (eds.), "Site Reliability Engineering", O'Reilly 2016, chapters on service level objectives and production readinessA10 inspiration
Kleppmann, "Designing Data-Intensive Applications", O'ReillyA4 and A5 inspiration only
Xu, "System Design Interview", volumes 1 and 2Section 8 inspiration only
System Design Document Template (system-design/system-design-document)The document under review
Architecture Review Board Request Template (architecture/architecture-review-request)Board submission
Architecture Evaluation Report Template (ATAM) (architecture/atam-evaluation)Deeper quality-attribute evaluation
Threat Model Template (security/threat-model)A9 evidence
Zero Trust Architecture Plan Template (security/zero-trust-architecture)A9 for trust boundaries

Standard and licence note

Based on common industry practice for design reviews and system design interviews, informed by the public SEI ATAM report and the AWS Well-Architected Framework cited in 9.2. Books listed in 9.2 are inspiration only; no text, diagrams or figures are copied from them. The weights, levels and decision bands are illustrative and should be calibrated by each organisation. This is original text; check the current versions of the cited frameworks. Template licence: MIT.

Template liên quan