<< back to Guides

🧠 System Design: Requirements Clarification (Deep Dive)

Clarifying requirements is the first and most critical step in system design. It ensures the system you architect solves the right problem, satisfies the users' needs, and aligns with business goals.


🎯 Why Requirements Clarification Matters


βœ… Types of Requirements

1. Functional Requirements

Define what the system should do.

- Users can register and log in.
- Admins can view usage analytics.
- System sends a daily summary email.

2. Non-Functional Requirements (NFRs)

Define how the system should behave under constraints.

- Availability: 99.99% uptime.
- Latency: 95% of responses < 300ms.
- Scalability: Support 10x growth in traffic.
- Security: Data must be encrypted in transit and at rest.

3. Domain Constraints

Rules and constraints that apply to the business or use case.

- Age must be β‰₯ 18 for sign-up.
- Payment must be captured within 24 hours of order.

πŸ” Key Questions to Ask

πŸ§‘β€πŸ’Ό Stakeholder-Oriented

πŸ”§ Functional Clarification

🚦 Constraints and Edge Cases

πŸ“ Scale and Load


🧱 Requirements Clarification Framework

Use this checklist before starting design:

1. Gather functional requirements.
2. Capture non-functional requirements (SLAs, SLIs).
3. Identify key business goals and KPIs.
4. Understand the data lifecycle and sensitivity.
5. Sketch basic user flows and data flows.
6. Identify potential integrations (APIs, databases, 3rd parties).
7. Validate requirements with stakeholders.

πŸ§ͺ Tools and Techniques


πŸ’‘ Pro Tips

<< back to Guides