<< back to Guides
β System Design: Design Review Checklist
A design review checklist ensures that your system design is comprehensive, robust, and aligned with business goals. Itβs a tool for team alignment, quality assurance, and future maintainability.
π When to Use This Checklist
- Before implementing a new service or system
- During architecture reviews or RFCs
- As part of design documentation
π§ 1. Requirements
- [ ] Are functional requirements clear?
- [ ] Are non-functional requirements (latency, scale, uptime, etc.) identified?
- [ ] Are SLAs/SLOs defined and realistic?
π 2. High-Level Architecture
- [ ] Are major components/services well defined?
- [ ] Are responsibilities of each component clear?
- [ ] Are boundaries and data flow between components documented?
ποΈ 3. Data Modeling
- [ ] Is the data model aligned with the domain?
- [ ] Are trade-offs (e.g., normalization vs denormalization) addressed?
- [ ] Is schema evolution considered?
π 4. Scalability
- [ ] Can the system scale horizontally if needed?
- [ ] Are there any single points of failure?
- [ ] Are resource bottlenecks identified and mitigated?
β»οΈ 5. Reliability & Resilience
- [ ] Are failure modes and retries addressed?
- [ ] Is circuit breaking / backoff / fallback in place?
- [ ] Are timeouts configured reasonably?
π 6. Security
- [ ] Is authentication handled securely?
- [ ] Is authorization enforced consistently?
- [ ] Are secrets and sensitive data managed safely?
- [ ] Is traffic encrypted (TLS)?
π¦ 7. Observability
- [ ] Are logs, metrics, and traces defined and implemented?
- [ ] Are alerts configured for failure scenarios?
- [ ] Can issues be debugged quickly in production?
π 8. Maintainability
- [ ] Is the design modular and testable?
- [ ] Are key decisions well documented?
- [ ] Are naming conventions and patterns consistent?
- [ ] Are there areas of overengineering?
π§ͺ 9. Testing Strategy
- [ ] Are unit, integration, and load tests planned?
- [ ] Are edge cases and failure modes covered?
- [ ] Is chaos testing or fault injection considered?
π 10. Deployment & CI/CD
- [ ] Is deployment safe and automated (CI/CD)?
- [ ] Is rollback or canary deployment possible?
- [ ] Is configuration externalized?
π 11. Cost & Operations
- [ ] Is the cost of compute, storage, and traffic considered?
- [ ] Are cloud resources scalable and optimized?
- [ ] Is operational effort sustainable?
π§ 12. Trade-Offs and Alternatives
- [ ] Are design decisions justified with trade-offs?
- [ ] Are rejected alternatives documented?
β Final Step
- [ ] Did the team review the design together?
- [ ] Are open questions or risks documented?