Ai được xem giá vốn? Câu hỏi mà doanh nghiệp phải tự trả lời, không phải lập trình viên
Trong một công ty dược 80 người có trình dược viên, thủ kho, kế toán, quản lý vùng — mỗi vai trò cần thấy một phần khác nhau. Đây là cách chúng tôi biến phân quyền từ việc của lập trình viên thành việc của người quản trị.

Có một câu hỏi mà mọi doanh nghiệp đều gặp sau vài tháng dùng ERP: "Cho anh này xem thêm màn hình kia được không?"
Trong phần lớn dự án ERP, câu trả lời là: "Để em báo bên kỹ thuật, tuần sau có bản cập nhật." Một yêu cầu năm phút trở thành một chu trình bảy ngày — vì quyền được viết cứng trong mã nguồn.
Chúng tôi cho rằng đó là một sai lầm thiết kế, và đã đi con đường ngược lại.
Vì sao doanh nghiệp dược cần phân quyền chi tiết hơn ngành khác
Một nhà phân phối dược tầm trung có thể có tám mươi người dùng, chia thành nhiều vai trò với nhu cầu rất khác nhau:
- Trình dược viên cần thấy khách hàng của mình, đơn hàng của mình, chỉ tiêu của mình — và không nên thấy giá vốn, cũng không nên thấy đơn của đồng nghiệp.
- Quản lý vùng cần thấy toàn bộ đội của mình, nhưng không phải cả công ty.
- Thủ kho cần thấy hàng, lô, hạn dùng — không cần thấy công nợ hay lương.
- Kế toán cần sổ sách và hoá đơn — nhưng không phải kế toán nào cũng được xem báo cáo chi phí toàn doanh nghiệp.
- Ban giám đốc cần bức tranh tổng thể, và cần biết chắc rằng bức tranh đó không ai khác xem được.
Cộng thêm dữ liệu nhạy cảm đặc thù: lương, hồ sơ nhân sự, số căn cước, tài khoản ngân hàng của nhân viên. Trong ngành mà đội ngũ thị trường biến động thường xuyên, phân quyền lỏng lẻo không phải chuyện lý thuyết.
Chúng tôi từng đo trên một hệ thống thật, trước khi siết lại: gần như toàn bộ người dùng đều có quyền của kế toán. Không ai cố ý làm vậy — nó là kết quả tích tụ của hàng chục lần "cấp tạm cho anh ấy quyền này" trong hai năm.
Ma trận quyền: bảng tích, không phải dòng lệnh
Cách làm của chúng tôi là đưa toàn bộ quyền lên một ma trận mà quản trị viên của doanh nghiệp tự tích.
Mỗi vai trò là một cột. Mỗi cụm chức năng — Đơn hàng, Kho, Lô và hạn dùng, Hoá đơn, Công nợ, Khuyến mãi, Nhân sự, Báo cáo — là một dòng. Ở mỗi ô, quản trị viên tích năm loại quyền: Xem, Tạo, Sửa, Xoá, Duyệt.
Và thêm một chiều nữa mà chúng tôi cho là quan trọng nhất: phạm vi dữ liệu. Cùng quyền "Xem đơn hàng", nhưng có thể là chỉ của tôi, của nhóm tôi, hay toàn công ty. Đây là chỗ phân biệt giữa trình dược viên và giám đốc kinh doanh — cùng một màn hình, hai bức tranh khác nhau.
Tích xong, bấm Đồng bộ quyền. Người dùng đăng nhập lại là có hiệu lực. Không cần bản cập nhật, không cần gọi kỹ thuật, không có thời gian chờ.
Ba nguyên tắc kỹ thuật đằng sau
Để một ma trận như vậy chạy được an toàn, chúng tôi tự đặt ra vài nguyên tắc và tuân thủ nghiêm ngặt trong mọi module:
Không viết cứng quyền ở bất kỳ đâu. Không gắn quyền trực tiếp vào menu, nút bấm hay trường dữ liệu trong mã nguồn. Ai được đụng vào cái gì là quyết định vận hành, không phải quyết định của người viết mã. Mỗi module tự khai báo phần quyền của mình vào ma trận, để doanh nghiệp thấy và tự bật tắt.
Nhóm quyền không kéo theo nhóm quyền khác. Đây là bài học đắt giá của cả ngành: một nhóm quyền âm thầm bao hàm nhóm khác chính là cách mà "quyền xem báo cáo" biến thành "quyền sửa sổ kế toán" mà không ai nhận ra.
Mọi thay đổi quyền đều đo được trước và sau. Khi siết quyền trên một hệ thống đang chạy thật, rủi ro lớn nhất không phải là để lọt ai đó, mà là chặn nhầm người đang làm việc. Chúng tôi đã học điều này theo cách khó: mỗi lần điều chỉnh quyền trên hệ thống vận hành thật, chúng tôi chụp lại trạng thái trước, áp thay đổi, rồi đối chiếu từng người từng menu để chắc chắn không ai mất thứ họ cần.
Điều doanh nghiệp nhận được
Kết quả cuối cùng đơn giản đến mức dễ bị xem nhẹ: người quản trị của doanh nghiệp tự làm được việc phân quyền, trong vài phút, mà không cần chúng tôi.
Nhân viên mới vào — gán vai trò, xong. Một người chuyển từ kinh doanh sang chăm sóc khách hàng — đổi vai trò, xong. Giám đốc muốn giới hạn lại ai xem được báo cáo chi phí — tích lại ô đó, xong.
Nhà cung cấp phần mềm tốt không phải là bên bạn phải gọi mỗi tuần. Là bên bạn không cần gọi.
Bạn có biết chính xác trong hệ thống của mình, ai đang xem được số liệu kế toán không? Nếu chưa chắc chắn, đó là câu hỏi nên trả lời sớm. Nói chuyện với Fable-X.