Mọi người có bao giờ thắc mắc: Khi lên production một tính năng mới thì các công ty thường làm thế nào không?
Có thể bạn đã từng gặp rủi ro khi deploy, hoặc đã nghe ai đó kể chuyện “lên tính năng mà toang cả hệ thống”. Thực tế, việc đưa một tính năng mới ra cho toàn bộ khách hàng không phải muốn là lên ngay, đặc biệt trong những sản phẩm có tác động trực tiếp đến doanh thu:
💥 Booking (mình đang làm)
💥 Tài chính – ngân hàng
💥 Bảo hiểm, y tế,…
Bởi vì mỗi tính năng mới đều tiềm ẩn rủi ro:
- Lỗi nghiệp vụ chưa lường hết
- Chưa hiểu rõ hành vi người dùng
- Chi phí phát sinh (hỗ trợ, hoàn tiền, downtime)
- Hoặc đơn giản: ưu tiên nhóm khách hàng đặc biệt trước
👉 Vậy nên các công ty thường triển khai theo nhóm quyền hoặc theo nhóm khách hàng ưu tiên thay vì “bung hàng toàn thị trường” ngay lập tức.
✅ Triển khai theo nhóm quyền là gì?
Tính năng mới sẽ chỉ mở cho một tập người dùng dựa trên:
- Role / Permission: admin, nội bộ, cấp 1, cấp 2
- Agency / Công ty: đại lý VIP, khách hàng chiến lược
- Hành vi: ví dụ người dùng có tần suất giao dịch cao
(Và tất nhiên: phải có dữ liệu hành vi trước!)
Đây là bước thử nghiệm an toàn để vừa kiểm chứng nghiệp vụ, vừa đo chất lượng trải nghiệm.
✅ Cần làm những gì?
1️⃣ Xác định đúng tập khách hàng pilot
Ví dụ:
Đại lý VIP + nhân viên nội bộ
→ Những người phản hồi nhanh và hiểu nghiệp vụ sâu
2️⃣ Mở quyền cho họ
Có 2 cách phổ biến:
Cách 1 — UI dựa trên quyền từ API
- Client gọi lại GetPermissions → UI cập nhật tự động (ẩn/hiện)
- Có thể cần reload hoặc đẩy phiên bản mới cho client detect
⛔ Nhược điểm:
Nếu chỉ check UI mà API không check quyền, bảo mật rất kém 😅
✅ Khuyến nghị:
Những API quan trọng luôn phải tự xác minh quyền
Cách 2 — Lưu quyền trong token (JWT)
- Cần cơ chế refresh token → mượt mà, không bắt đăng nhập lại
- Hoặc dùng Feature Flag để API tự nhận diện & bật/tắt tính năng theo user/tenant
✅ Đây là cách chuyên nghiệp & linh hoạt nhất
3️⃣ Theo dõi Logs / Metrics
Những chỉ số quan trọng:
- Error rate
- Latency p95/p99
- Conversion rate (nếu có UI/UX mới)
4️⃣ Thu thập phản hồi người dùng thật
- Họ gặp khó chỗ nào?
- Hành vi thay đổi ra sao?
- Có rối mắt không? Nhầm thao tác không?
5️⃣ Rollback cực nhanh khi có sự cố
Flag off = trở lại trạng thái an toàn ngay lập tức ✅
Không cần rollback code
Không cần chờ deploy lại
Không downtime
“Triển khai theo nhóm quyền không chỉ để tránh lỗi sản xuất, mà còn để hiểu rõ người dùng, tối ưu hiệu suất và ra quyết định dựa trên dữ liệu thật — thay vì hy vọng mọi thứ đều suôn sẻ.”
Bạn có đang dùng Feature Flag trong dự án của mình không?
Hãy chia sẻ trải nghiệm của bạn nhé!
