learn

Functional And Non Functional Requirements

Explore this topic in Graph →

Functional Requirements — What the system should do?

Mnemonic: CUJWDI - Can Users Journey, Work, Data, Integrate?

Capabilities → Users & Access → User Journeys → Workflows → Data → Integrations

  1. Capabilities: What capabilities should the new solution provide?
  2. Users & Access: Who will use the system, and what functionality should they be able to access?
  3. User Journeys: What are the most important user journeys?
  4. Workflows: What workflows need to be automated?
  5. Data: What types of data will the system process?
  6. Integrations: What systems or services need to be integrated?

Non-Functional Requirements — How well the system should do it?

Mnemonic: PSPO - Perfect Systems Protect Operations

Performance → Scale → Protection → Operations

1. Performance

  • Users: How many users do you expect?
  • Traffic: What is the expected transaction/request volume?
  • Latency: What response time or latency is required?
  • Availability: What level of availability is required?

2. Scale

  • Scalability: How much should the system scale?
  • Growth: How much future growth do you anticipate?

3. Protection

  • Security: What security requirements apply?
  • Compliance: What compliance and regulatory requirements apply?
  • Backup & DR: What are the backup and disaster-recovery requirements?
  • RTO/RPO: What are the RTO and RPO requirements?

4. Operations

  • Observability: What monitoring, logging, and tracing requirements exist?
  • SLA/SLO: What SLA/SLO expectations apply?

Quick Recall

Functional — CUJWDI - Can Users Journey, Work, Data, Integrate?

Capabilities → Users → Journeys → Workflows → Data → Integrations

Non-Functional — PSPO

Performance → Scale → Protection → Operations

Learning checkpoint

Mark this guide complete to include it in your local Engineering Journey.

Knowledge path

Connected concepts

Explore the knowledge graph →