Decision register
Các quyết định nghiệp vụ đã chốt và còn mở của dự án — source of truth cho behavior đã khóa.
Decision register này là source of truth cho behavior đã khóa (data/decisions.yaml). Sau khi chốt, team implement mà không quay lại hỏi; thay đổi behavior đã khóa phải qua change request/version mới.
Quy ước ID
- Mỗi decision một mã
D-xxduy nhất; không tái sử dụng mã đã bỏ — giữ ID lịch sử để bảo toàn truy vết. - Status: Mở (đang chờ — điểm chặn nghiệm thu của yêu cầu liên quan), Đã chốt (baseline hiện hành), Deferred (cố ý hoãn).
- Giá trị cấu hình thật (dữ liệu, giá, VAT, credentials…) là deployment data, không phải decision — không tạo decision card cho chúng.
Nguyên tắc khi code
- Không hỏi lại client về behavior đã có trong decision register (status Đã chốt).
- Nếu thiếu deployment value, dùng fixture/config default để build và để client nhập dữ liệu thật trước release.
- Nếu chi tiết thuần kỹ thuật không đổi behavior nghiệp vụ, tech lead được chọn phương án an toàn, đơn giản, testable và ghi trong ADR/runbook khi cần.
- Nếu yêu cầu mới mâu thuẫn freeze hoặc thuộc non-goals, tạo change request/version mới.
Decision register của dự án. Mục status 'Mở' là điểm chặn nghiệm thu; 'Đã chốt' là baseline hiện hành. Giá trị cấu hình thật (catalog, giá, VAT…) là deployment data, không phải decision.
D-00 — [VÍ DỤ] Tên quyết định
Đã ghi nhận: Nội dung quyết định cụ thể, đủ tường minh để code/test mà không hỏi lại.
Cần trả lời: Câu hỏi nghiệp vụ mà decision này trả lời.
Vai trò chốt: Người quyết định (client / product owner / tech lead…) · Thời điểm: Ngày chốt — hoặc 'Chưa chốt' nếu đang Mở.
Mỗi quyết định được chốt cần ghi ngày, người quyết định, nội dung, lý do, yêu cầu bị ảnh hưởng và phiên bản chính sách. Thay đổi sau đó cần đánh giá ảnh hưởng đến đơn đang xử lý trước khi áp dụng.