Non-Functional Requirements Checklist
NFR Categories
Scalability
| Question |
Common Targets |
| Expected concurrent users? |
100 / 1K / 10K / 100K |
| Requests per second? |
10 / 100 / 1000 / 10000 |
| Data volume? |
GB / TB / PB |
| Growth rate? |
10% / 50% / 100% per year |
| Peak vs average load? |
2x / 5x / 10x |
Performance
| Question |
Common Targets |
| API response time? |
< 100ms / 200ms / 500ms p95 |
| Page load time? |
< 1s / 2s / 3s |
| Database query time? |
< 10ms / 50ms / 100ms |
| Batch processing throughput? |
1K / 10K / 100K records/hour |
Availability
| Target |
Downtime/Year |
Use Case |
| 99% |
3.65 days |
Internal tools |
| 99.9% |
8.76 hours |
Business apps |
| 99.95% |
4.38 hours |
E-commerce |
| 99.99% |
52.6 minutes |
Financial systems |
| 99.999% |
5.26 minutes |
Life-critical |
Security
| Question |
Considerations |
| Authentication required? |
JWT, OAuth, SAML, MFA |
| Authorization model? |
RBAC, ABAC, ACL |
| Data sensitivity? |
Public, internal, confidential, PII |
| Compliance requirements? |
GDPR, HIPAA, PCI DSS, SOC 2 |
| Encryption needs? |
At rest, in transit, end-to-end |
Reliability
| Question |
Considerations |
| Acceptable data loss? |
RPO: 0 / 1hr / 24hr |
| Recovery time target? |
RTO: 1hr / 4hr / 24hr |
| Backup frequency? |
Real-time / hourly / daily |
| Disaster recovery? |
Single region / multi-region |
Maintainability
| Question |
Considerations |
| Deployment frequency? |
Daily / weekly / monthly |
| Deployment strategy? |
Blue-green, canary, rolling |
| Monitoring requirements? |
Logs, metrics, traces, alerts |
| On-call requirements? |
24/7, business hours |
Cost
| Question |
Considerations |
| Infrastructure budget? |
$/month, $/user, $/request |
| Operational budget? |
FTE for maintenance |
| Cost optimization? |
Reserved instances, spot instances |
| Cost alerts? |
Thresholds for notification |
Template
## Non-Functional Requirements
### Performance
- API response time: < 200ms p95
- Page load time: < 2s
- Database query time: < 50ms
### Scalability
- Concurrent users: 10,000
- Requests per second: 1,000
- Data volume: 1TB
### Availability
- Target: 99.9% (8.76 hours/year downtime)
- RPO: 1 hour
- RTO: 4 hours
### Security
- Authentication: JWT with refresh tokens
- Authorization: Role-based (admin, user, guest)
- Compliance: GDPR, SOC 2
### Observability
- Logging: Structured JSON to ELK
- Metrics: Prometheus + Grafana
- Tracing: OpenTelemetry
- Alerts: PagerDuty integration
Quick Reference
| Category |
Key Metric |
| Performance |
Response time (p95) |
| Scalability |
Concurrent users, RPS |
| Availability |
Uptime percentage |
| Reliability |
RPO, RTO |
| Security |
Compliance requirements |
| Cost |
$/month budget |
1---2name: 622-nfr-checklist-37b9b0f03description: Non-Functional Requirements Checklist4---5# Non-Functional Requirements Checklist67## NFR Categories89### Scalability1011| Question | Common Targets |12|----------|----------------|13| Expected concurrent users? | 100 / 1K / 10K / 100K |14| Requests per second? | 10 / 100 / 1000 / 10000 |15| Data volume? | GB / TB / PB |16| Growth rate? | 10% / 50% / 100% per year |17| Peak vs average load? | 2x / 5x / 10x |1819### Performance2021| Question | Common Targets |22|----------|----------------|23| API response time? | < 100ms / 200ms / 500ms p95 |24| Page load time? | < 1s / 2s / 3s |25| Database query time? | < 10ms / 50ms / 100ms |26| Batch processing throughput? | 1K / 10K / 100K records/hour |2728### Availability2930| Target | Downtime/Year | Use Case |31|--------|---------------|----------|32| 99% | 3.65 days | Internal tools |33| 99.9% | 8.76 hours | Business apps |34| 99.95% | 4.38 hours | E-commerce |35| 99.99% | 52.6 minutes | Financial systems |36| 99.999% | 5.26 minutes | Life-critical |3738### Security3940| Question | Considerations |41|----------|----------------|42| Authentication required? | JWT, OAuth, SAML, MFA |43| Authorization model? | RBAC, ABAC, ACL |44| Data sensitivity? | Public, internal, confidential, PII |45| Compliance requirements? | GDPR, HIPAA, PCI DSS, SOC 2 |46| Encryption needs? | At rest, in transit, end-to-end |4748### Reliability4950| Question | Considerations |51|----------|----------------|52| Acceptable data loss? | RPO: 0 / 1hr / 24hr |53| Recovery time target? | RTO: 1hr / 4hr / 24hr |54| Backup frequency? | Real-time / hourly / daily |55| Disaster recovery? | Single region / multi-region |5657### Maintainability5859| Question | Considerations |60|----------|----------------|61| Deployment frequency? | Daily / weekly / monthly |62| Deployment strategy? | Blue-green, canary, rolling |63| Monitoring requirements? | Logs, metrics, traces, alerts |64| On-call requirements? | 24/7, business hours |6566### Cost6768| Question | Considerations |69|----------|----------------|70| Infrastructure budget? | $/month, $/user, $/request |71| Operational budget? | FTE for maintenance |72| Cost optimization? | Reserved instances, spot instances |73| Cost alerts? | Thresholds for notification |7475## Template7677```markdown78## Non-Functional Requirements7980### Performance81- API response time: < 200ms p9582- Page load time: < 2s83- Database query time: < 50ms8485### Scalability86- Concurrent users: 10,00087- Requests per second: 1,00088- Data volume: 1TB8990### Availability91- Target: 99.9% (8.76 hours/year downtime)92- RPO: 1 hour93- RTO: 4 hours9495### Security96- Authentication: JWT with refresh tokens97- Authorization: Role-based (admin, user, guest)98- Compliance: GDPR, SOC 299100### Observability101- Logging: Structured JSON to ELK102- Metrics: Prometheus + Grafana103- Tracing: OpenTelemetry104- Alerts: PagerDuty integration105```106107## Quick Reference108109| Category | Key Metric |110|----------|------------|111| Performance | Response time (p95) |112| Scalability | Concurrent users, RPS |113| Availability | Uptime percentage |114| Reliability | RPO, RTO |115| Security | Compliance requirements |116| Cost | $/month budget |