# Checklist Yêu cầu phi chức năng (NFR)

> NFR là thứ hay bị bỏ sót nhất và tốn kém nhất khi phát hiện muộn.
> Chạy qua checklist này cho mọi tính năng có giao dịch hoặc dữ liệu nhạy cảm.
> Nguồn: Khoá NextGen Business Analyst.

---

## Nguyên tắc vàng

> "Hệ thống phải nhanh" là một **mong muốn**.
> "Phản hồi ≤ 3 giây ở p95, chịu 5.000 giao dịch/phút" mới là một **yêu cầu**.

Mỗi mục dưới đây chỉ được tick khi đã có **con số** kèm **cách đo**.

---

## 1. Hiệu năng (Performance)

- [ ] Thời gian phản hồi tối đa cho thao tác chính: ______ giây (đo ở p95 hay p99?)
- [ ] Thời gian tải trang đầu tiên: ______ giây
- [ ] Thời gian xử lý tác vụ nền (báo cáo, đối soát): ______

## 2. Khả năng mở rộng (Scalability)

- [ ] Số người dùng đồng thời cần chịu được: ______
- [ ] Số giao dịch/phút ở **giờ cao điểm** (Flash Sale, cuối tháng): ______
- [ ] Dự phóng tăng trưởng 12 tháng tới: ______
- [ ] Hệ thống co giãn tự động hay phải cấp phát thủ công?

## 3. Bảo mật (Security)

- [ ] Dữ liệu nhạy cảm nào được xử lý (số thẻ, CCCD, sinh trắc học, số dư)?
- [ ] Dữ liệu được mã hoá khi lưu trữ và khi truyền chưa?
- [ ] Có yêu cầu tuân thủ chuẩn nào (PCI-DSS, ISO 27001)?
- [ ] Xác thực nhiều lớp áp dụng cho thao tác nào?
- [ ] Ai được xem dữ liệu gì - đã có Permission Matrix chưa?

## 4. Khả dụng & Tin cậy (Availability / Reliability)

- [ ] Cam kết uptime: ______ % (99,9% = ~43 phút gián đoạn/tháng)
- [ ] Khung giờ được phép bảo trì
- [ ] Điều gì xảy ra khi hệ thống bên thứ 3 chết - có phương án dự phòng không?
- [ ] Thời gian phục hồi tối đa sau sự cố (RTO): ______
- [ ] Mức mất dữ liệu tối đa chấp nhận được (RPO): ______

## 5. Khả dụng người dùng (Usability)

- [ ] Số bước tối đa để hoàn tất tác vụ chính: ______
- [ ] Có cần hỗ trợ người dùng lớn tuổi / ít rành công nghệ không?
- [ ] Hỗ trợ ngôn ngữ nào?
- [ ] Yêu cầu về khả năng tiếp cận (accessibility)?

## 6. Tuân thủ & Lưu vết (Compliance / Auditability)

- [ ] Quy định pháp lý nào áp dụng?
- [ ] Log giao dịch lưu tối thiểu bao lâu: ______
- [ ] Những hành động nào bắt buộc phải ghi lại ai làm, lúc nào?
- [ ] Báo cáo định kỳ nào phải nộp cho cơ quan quản lý?

## 7. Vận hành (Operability)

- [ ] Đội vận hành theo dõi sức khoẻ hệ thống bằng gì?
- [ ] Cảnh báo được bắn khi nào, gửi cho ai?
- [ ] Có cần công cụ để xử lý thủ công khi tự động thất bại không?

---

## Mức ưu tiên NFR thay đổi theo lĩnh vực

| Lĩnh vực | Ưu tiên cao nhất | Có thể nới hơn |
|---|---|---|
| Ngân hàng / Tài chính | Bảo mật, Tuân thủ, Lưu vết | Tốc độ ra tính năng mới |
| Thương mại điện tử | Hiệu năng giờ cao điểm, Khả dụng | Độ chặt của quy trình phê duyệt |
| Nội bộ doanh nghiệp | Dễ dùng, Tích hợp hệ thống cũ | Khả năng mở rộng quy mô lớn |

**Đừng bê nguyên bộ NFR từ dự án này sang dự án khác** - trọng số khác nhau hoàn toàn.
