Tài liệu 01 · Bối cảnh

Tổng quan & định hướng hệ thống

ERP Nhân Hòa là hệ thống quản trị nội bộ hợp nhất nhân sự, công việc, khách hàng tiềm năng và đánh giá hiệu quả trên một nền dữ liệu duy nhất — có ứng dụng web, máy tính để bàn và di động, kèm một trợ lý AI trả lời câu hỏi trong đúng phạm vi quyền của người hỏi.

Vấn đề đang giải quyết

Công việc của Nhân Hòa hiện chạy trên một nền Bitrix24 (xerp.nhanhoa.com) và một vành đai công cụ vệ tinh được viết thêm để bù những chỗ nền đó không với tới. Cách bố trí này vẫn vận hành được, nhưng sinh ra năm khoản chi phí lặp lại hằng tuần:

  • Phân công thủ công. Một lead hoặc một task vào hệ thống phải chờ người điều phối mở danh sách, ước lượng ai đang rảnh, rồi gán tay. Việc này chậm, phụ thuộc trí nhớ và tạo lệch tải giữa các nhân sự trong cùng nhóm.
  • Đánh giá hiệu quả nằm ngoài hệ thống. KPI đang được tổng hợp qua công cụ riêng rồi kết xuất ra Excel. Số liệu không quay ngược lại được vào nơi ra quyết định, và mỗi kỳ đánh giá lại là một lần gom tay.
  • Mỗi phòng ban đo một kiểu, nhưng không có chỗ khai báo cái kiểu đó. Team kỹ thuật đo đúng hạn và chất lượng xử lý; team kinh doanh đo doanh số và tốc độ chạm khách. Hệ thống hiện tại chỉ có một bộ tiêu chí, nên phần chênh được xử lý bằng thoả thuận miệng.
  • Dữ liệu phân mảnh. Hồ sơ nhân sự, kỹ năng, lịch trực, đơn nghỉ, task, lead và kết quả đánh giá nằm ở bốn nơi khác nhau. Một câu hỏi đơn giản như “tháng vừa rồi nhóm Hạ tầng xử lý bao nhiêu việc quá hạn, ai là người tải nặng nhất” cần ba lần mở công cụ và một lần ghép tay.
  • Không có kênh tra cứu bằng ngôn ngữ tự nhiên. Người cần số liệu phải biết trước số liệu nằm ở màn hình nào; ai không biết thì đi hỏi người khác, tạo tải cho chính những người đang bận nhất.

Định vị hệ thống

Định vị một câu

Một nền dữ liệu vận hành duy nhất cho toàn bộ Nhân Hòa, trong đó việc đến đúng người nhờ engine phân công theo tải và kỹ năng, hiệu quả được đo bằng bộ tiêu chí riêng của từng team khai báo trực tiếp trong hệ thống, và mọi câu hỏi về dữ liệu đó được trả lời trong đúng phạm vi quyền của người hỏi.

Ba điểm phân biệt so với việc tiếp tục dùng Bitrix24 nguyên trạng:

Việc tự tìm người

Lead và task vừa xuất hiện là hệ thống đã có đề xuất người phụ trách kèm điểm số và lý do. Quản lý duyệt một chạm; tải được chia đều theo công thức khai báo được, không theo cảm tính.

Mỗi team một thước đo

Bộ tiêu chí đánh giá là dữ liệu, không phải mã nguồn. Trưởng đơn vị khai báo tiêu chí, trọng số và ngưỡng xếp loại cho team mình; hệ thống tự chấm phần đo được và để lại phần cần con người nhận định.

Hỏi gì cũng có quyền chặn

Trợ lý AI không truy cập kho dữ liệu thô. Nó gọi đúng những API mà tài khoản người hỏi được phép gọi, nên câu trả lời không bao giờ vượt quá thứ người đó tự mở màn hình ra xem được.

Phạm vi phiên bản đầu

Trong phạm vi (v1)Ngoài phạm vi (v1)
Hồ sơ nhân sự, kỹ năng, phòng ban, cây đơn vị, workgroupTính lương, bảo hiểm, thuế thu nhập cá nhân
Lịch trực, đơn xin nghỉ, ngày côngChấm công bằng thiết bị vân tay / khuôn mặt
Quản lý công việc, phân công tự động theo tải và kỹ năngQuản lý dự án theo phương pháp đường găng (CPM), quản trị nguồn lực đa dự án
Quản lý lead, định tuyến và chia lead theo cấu hình từng teamTổng đài, ghi âm cuộc gọi, chiến dịch marketing tự động
Báo cáo kỳ và đánh giá KPI cấu hình theo teamHoạch định nguồn lực tài chính, sổ cái, hoá đơn điện tử
Trợ lý AI hỏi đáp số liệu có kiểm soát quyềnTrợ lý AI tự ra quyết định thay người quản lý
Ứng dụng web đáp ứng đa kích thước, đóng gói cho Windows / macOS / iOS / AndroidỨng dụng cho khách hàng bên ngoài (cổng khách hàng)
Nhập một lần toàn bộ dữ liệu lịch sử từ hệ thống cũ tại thời điểm cắt chuyểnĐồng bộ hai chiều hoặc vận hành song song với hệ thống cũ

Chỉ số thành công

Sáu chỉ số dưới đây là căn cứ nghiệm thu giá trị của hệ thống, đo sau sáu tháng kể từ khi phân hệ tương ứng vận hành thật. Cột hiện trạng là số ước lượng từ khảo sát, cần chốt lại bằng một đợt đo nền trong giai đoạn khởi động.

Chỉ sốHiện trạng (ước lượng)Mục tiêu sau 6 thángCách đo
Thời gian từ lúc việc xuất hiện đến khi có người phụ tráchVài giờ đến một ngày làm việcDưới 15 phút trong giờ hành chínhChênh lệch giữa mốc tạo và mốc gán được ghi trong nhật ký phân công
Độ lệch tải giữa các nhân sự cùng nhómKhông đo đượcĐộ lệch chuẩn số việc đang mở dưới 25% giá trị trung bình nhómẢnh chụp bảng tải hằng ngày
Tỉ lệ đề xuất phân công được duyệt mà không đổi ngườiKhông áp dụngTừ 80% trở lênĐối chiếu người được đề xuất và người được duyệt
Công sức tổng hợp một kỳ đánh giá KPIKhoảng 2–3 ngày công mỗi kỳ mỗi teamDưới 2 giờ mỗi kỳ mỗi teamGhi nhận thời gian từ lúc mở kỳ đến lúc chốt
Tỉ lệ lead bị bỏ quên quá 24 giờ không có tương tácKhông đo đượcDưới 2%Truy vấn lead đang mở không có hoạt động trong 24 giờ
Tỉ lệ câu hỏi số liệu được trợ lý AI trả lời đúng và đủKhông áp dụngTừ 85% trở lên trên bộ câu hỏi kiểm chuẩnBộ 200 câu hỏi mẫu chấm tay mỗi quý

Nguyên tắc thiết kế

Năm nguyên tắc dưới đây được áp cho mọi quyết định kỹ thuật và nghiệp vụ trong hồ sơ này. Khi hai phương án cùng khả thi, phương án phù hợp nguyên tắc hơn được chọn.

  1. Con người giữ quyền quyết định cuối

    Máy đề xuất, người duyệt. Mọi cơ chế tự động — phân công, chấm điểm, cảnh báo — đều phải kèm lý do đọc được và phải có đường để người dùng bác bỏ. Chế độ tự động hoàn toàn chỉ được bật sau khi đo đủ độ tin cậy trên dữ liệu thật.

  2. Cấu hình là dữ liệu, không phải mã nguồn

    Trọng số chấm điểm, ngưỡng quá tải, quy tắc chia lead, bộ tiêu chí KPI, ngưỡng xếp loại — tất cả nằm trong bảng cấu hình và sửa được qua giao diện quản trị. Thêm một team mới với cách đo mới không được phép kéo theo một lần phát hành mã.

  3. Quyền được kiểm ở tầng dữ liệu

    Phạm vi dữ liệu một người nhìn thấy được tính một lần ở tầng truy vấn và áp cho mọi lối vào: giao diện, API, kết xuất báo cáo và trợ lý AI. Không có lối nào bỏ qua được lớp này.

  4. Mọi con số truy ngược được về nguồn

    Điểm KPI trỏ về các bản ghi đã tạo ra nó; đề xuất phân công trỏ về các thành phần điểm; câu trả lời của trợ lý AI trỏ về truy vấn đã chạy. Số liệu không truy ngược được thì không được hiển thị như một kết luận.

  5. Độc lập hoàn toàn với hệ thống cũ

    ERP Nhân Hòa làm chủ dữ liệu của mình ngay từ dòng mã đầu tiên. Không đồng bộ, không ghi ngược, không vận hành song song. xerp.nhanhoa.com chỉ giữ hai vai trò: bản tham chiếu tính năng trong lúc xây, và nguồn của một đợt nhập dữ liệu duy nhất khi cắt chuyển. Xong việc thì tắt.

Bản đồ tài liệu

Hồ sơ gồm 14 tài liệu chia năm nhóm. Bảng dưới đây gợi ý thứ tự đọc theo vai trò để không phải đọc tuần tự từ đầu đến cuối.

#Tài liệuTrả lời câu hỏiNgười đọc chính
01Tổng quan & định hướngChúng ta xây cái gì và vì saoToàn bộ
02Hiện trạng & kết quả khảo sátĐang có gì, dùng lại được gì, thiếu gìKỹ thuật, quản lý dự án
03Đối chiếu năng lực với Bitrix24Bỏ Bitrix24 thì mất gì, được gìBan điều hành, trưởng phòng ban
04Yêu cầu nghiệp vụ & phi chức năngHệ thống phải làm được những gìNghiệp vụ, kiểm thử
05Đặc tả chức năng theo phân hệTừng màn hình hoạt động ra saoNghiệp vụ, phát triển, kiểm thử
06Engine phân công tự độngViệc được chia cho ai theo công thức nàoĐiều phối, trưởng nhóm, phát triển
07Khung KPI & báo cáo theo teamMỗi team được đo bằng thước nàoTrưởng đơn vị, nhân sự
08Trợ lý AI & kiểm soát truy xuấtBot đọc được gì của aiBan điều hành, bảo mật, phát triển
09Kiến trúc & phương án đa nền tảngXây bằng gì, chạy ở đâuKỹ thuật
10Mô hình dữ liệu & giao diện lập trìnhDữ liệu tổ chức thế nàoPhát triển, tích hợp
11Phân quyền & bảo mậtAi được thấy gì, bảo vệ ra saoBảo mật, nhân sự, phát triển
12Lộ trình triển khai & ước lượngBao lâu, bao nhiêu người, chia mấy chặngBan điều hành, quản lý dự án
13Vận hành, rủi ro & nghiệm thuChạy thật thì lo gì, nghiệm thu bằng gìVận hành, quản lý dự án
14Thuật ngữ & quy ướcMột chữ nghĩa là gìToàn bộ

Đường đọc rút gọn

Ban điều hành
Tài liệu 01 → 03 → 12 → phần đăng ký rủi ro trong 13. Khoảng 25 phút.
Trưởng phòng ban, trưởng nhóm
Tài liệu 01 → 05 → 06 → 07. Đây là bốn tài liệu quyết định trải nghiệm hằng ngày của đơn vị.
Kỹ thuật
Tài liệu 02 → 09 → 10 → 11 → 06, rồi quay lại 05 khi bắt tay vào từng phân hệ.
Nhân sự
Tài liệu 05 (phân hệ M01–M05) → 07 → 11.
Trạng thái tài liệu

Đây là bản 1.0, dựng trên kết quả khảo sát mã nguồn và dữ liệu sẵn có tính đến ngày 25/08/2026. Những chỗ cần đối chiếu lại với thực tế vận hành được đánh dấu rõ trong từng tài liệu — chủ yếu nằm ở khối lượng dữ liệu di trú (tài liệu 10) và số liệu nền của các chỉ số thành công ở trên.

Tài liệu 02 · Bối cảnh

Hiện trạng & kết quả khảo sát

Khảo sát năm hệ thống đang vận hành hoặc đang dựng dở của Nhân Hòa, để trả lời một câu hỏi duy nhất: hệ thống mới phải làm được những gì, và trong số mã nguồn đã có, cái gì mang sang được.

Vị trí của khảo sát trong dự án

Quan hệ với hệ thống cũ

ERP Nhân Hòa được xây độc lập hoàn toàn. xerp.nhanhoa.com giữ đúng hai vai trò trong dự án này: là bản tham chiếu tính năng — nơi soi ra danh sách những gì hệ thống mới phải làm được — và là nguồn của một đợt nhập dữ liệu duy nhất khi cắt chuyển. Không đồng bộ, không ghi ngược, không vận hành song song. Xong việc thì tắt.

Khảo sát vì vậy không nhằm thiết kế một lớp tích hợp, mà nhằm ba việc cụ thể:

  • Lập danh mục tính năng phải có trước khi được phép tắt hệ thống cũ — kết quả nằm ở tài liệu 03.
  • Tìm mã nguồn và logic nghiệp vụ đã kiểm chứng có thể mang thẳng sang, thay vì viết lại từ con số không.
  • Hiểu cấu trúc dữ liệu cũ đủ để viết công cụ nhập dữ liệu ở giai đoạn cuối.
  ĐANG CHẠY, SẼ BỊ THAY THẾ                  MÃ NGUỒN MANG SANG ĐƯỢC
  ┌───────────────────────────┐              ┌──────────────────────────┐
  │  xerp.nhanhoa.com         │              │  xerp-4s                 │
  │  (nền Bitrix24)           │              │  engine phân công        │
  │  · nhân sự, phòng ban     │  đọc 1 lần   │  chấm KPI, chỉ tiêu      │
  │  · task, workgroup        │─ ─ ─ ─ ─ ─ ▶ │  lược đồ dữ liệu, RBAC   │
  │  · lead (CRM)             │  khi cắt     │                          │
  │  · đơn nghỉ (Lists)       │  chuyển      └──────────────────────────┘
  └───────────────────────────┘                          ▲ đã hấp thụ
        │ tham chiếu tính năng                ┌──────────────────────────┐
        ▼                                     │  report-web4s (PHP)      │
  ┌───────────────────────────┐               │  bộ tiêu chí KPI 100 đ   │
  │  ERP NHÂN HÒA             │               └──────────────────────────┘
  │  xây mới, độc lập,        │
  │  làm chủ dữ liệu từ đầu   │   ĐỘC LẬP, KHÔNG TRONG PHẠM VI v1
  └───────────────────────────┘   ┌──────────────┐  ┌──────────────────┐
                                  │meeting-report│  │  wiki-nhanhoa    │
                                  │họp → đầu việc│  │  chưa khởi tạo   │
                                  └──────────────┘  └──────────────────┘

Kiểm kê từng hệ thống

xerp.nhanhoa.com — nền Bitrix24

Vai trò trong dự án
Bản tham chiếu tính năng, và nguồn dữ liệu cho một đợt nhập duy nhất. Đây là hệ thống sẽ bị thay thế, không phải hệ thống sẽ được tích hợp.
Đang chứa gì
Nhân sự, phòng ban, công việc, nhóm làm việc, lead và đơn xin nghỉ. Đây là toàn bộ danh sách dữ liệu cần nhập sang hệ thống mới ở giai đoạn cuối.
Cách trích xuất dữ liệu
REST qua inbound webhook. Bí mật xác thực nằm ngay trong đường dẫn dạng /rest/{userId}/{code}/. Mỗi phạm vi (task, crm, user, lists) có mã webhook riêng. Công cụ di trú là nơi duy nhất trong hệ thống được phép dùng các mã này.
Điểm cần lưu ý khi nhập dữ liệu
Định danh nhân sự là mã người dùng Bitrix. Task dùng RESPONSIBLE_ID, lead dùng ASSIGNED_BY_ID. Phòng ban lấy từ UF_DEPARTMENT, một người có thể thuộc nhiều phòng. Trường tuỳ biến khu vực UF_CRM dùng mã số (194 Hà Nội, 196 Hồ Chí Minh) nên cần bảng quy đổi sang danh mục mới.
Ràng buộc kỹ thuật
Có giới hạn tần suất gọi, nên đợt trích xuất phải chạy theo lô và có cơ chế thử lại. Không có webhook báo sự kiện — điều này từng là vấn đề lớn với phương án tích hợp, nhưng không còn liên quan khi hệ thống mới xây độc lập.

xerp-4s — lớp điều phối viết bằng NestJS

Vai trò trong dự án
Kho mã nguồn để mang sang. Đây là tài sản kỹ thuật giá trị nhất của khảo sát — nó chứa phần lớn logic nghiệp vụ khó của hệ thống mới, đã chạy trên dữ liệu thật.
Công nghệ
NestJS · Prisma · PostgreSQL · Redis · Docker. Lược đồ dữ liệu 1.151 dòng với hơn 50 thực thể và 20 kiểu liệt kê.
Phân hệ đã có
Phân công, duyệt, nhân sự, đội nhóm, kỹ năng, công việc, lead, nghỉ phép, báo cáo ngày, báo cáo kỳ, đánh giá, chỉ tiêu, hoa hồng, thông báo, thư điện tử, phân quyền, cấu hình, AI.
Phân quyền
Đã chuyển từ vai trò cứng sang nhóm quyền có danh mục khoá quyền — khảo sát đếm được 53 khoá đang dùng, trải trên 18 miền nghiệp vụ.
Cấu hình động
Bảng khoá–giá trị JSON với hơn 50 khoá: trọng số chấm điểm, ngưỡng quá tải, quy tắc chia lead, bộ tiêu chí KPI, cấu hình AI, cấu hình thư.
Hạn chế cần loại bỏ khi mang sang
Toàn bộ hệ thống này được thiết kế như lớp phụ trợ đặt bên cạnh Bitrix24: nội dung công việc và lead luôn do Bitrix24 làm chủ và bị ghi đè mỗi lần đồng bộ; không có giao diện làm việc trực tiếp; không có ứng dụng máy tính hay di động. Phần mang sang là logic nghiệp vụ, không phải giả định kiến trúc.

report-web4s — công cụ chấm KPI viết bằng PHP

Vai trò trong dự án
Tham chiếu cho bộ tiêu chí KPI và mẫu kết xuất Excel mà các đơn vị đã quen dùng.
Trạng thái
Công thức chấm thang 100 điểm cho khối IT Dịch vụ Web đã được chuyển sang xerp-4s. Bản PHP còn giá trị như tài liệu về mẫu kết xuất và các trường hợp biên đã gặp trong thực tế.
Bài học rút ra
Bộ tiêu chí này chỉ đúng cho một khối. Việc phải viết hẳn một công cụ riêng cho một khối chính là bằng chứng cho yêu cầu “mỗi đơn vị một bộ tiêu chí” ở tài liệu 07.

meeting-report — hệ thống biên bản họp

Vai trò trong dự án
Hệ thống độc lập, không nằm trong phạm vi thay thế. Liên quan tới ERP ở một điểm: nó sinh ra đầu việc từ cuộc họp, nên ERP cần một đầu vào nhận đầu việc đó (yêu cầu BR-19, giai đoạn sau).
Công nghệ
Kho mã đơn khối dùng pnpm và Turborepo, chia thành ứng dụng API, web, worker, recorder và các gói dùng chung. ERP kế thừa trực tiếp cấu trúc và chuẩn kỹ thuật này.

wiki-nhanhoa

Thư mục đã tạo nhưng chưa có nội dung. Trong hồ sơ này, wiki được coi là hệ thống tri thức tương lai — nguồn tài liệu cho trợ lý AI trả lời câu hỏi quy trình, và là nơi đặt hướng dẫn sử dụng ERP. Không nằm trong phạm vi v1.

Tài sản mang sang được

Đây là kết quả có giá trị nhất của khảo sát. Bảng dưới liệt kê những gì mang thẳng sang ERP mới được, kèm mức độ phải sửa. Tổng cộng, phần dùng lại được rút ngắn khoảng ba đến bốn tháng so với dựng mới hoàn toàn.

Tài sảnNguồnGiá trị mang sangMức độ phải sửa
Lược đồ dữ liệu nhân sự, đơn vị, kỹ năng, phòng ban, nhóm làm việcxerp-4sMô hình đã qua thực tế, có cây đơn vị tự tham chiếu và quan hệ nhiều–nhiều giữa người và đơn vịThấp Bỏ các trường phục vụ đồng bộ; ERP làm chủ dữ liệu ngay từ đầu
Công thức chấm điểm phân công công việcxerp-4sĐiểm tổ hợp kỹ năng, tải, độ ưu tiên và tín hiệu AI; đã có bộ kiểm thử đơn vịThấp Giữ nguyên công thức, mở rộng nguồn tín hiệu
Luồng chia lead theo vị trí, trọng số và hàng ưu tiênxerp-4sXoay vòng theo đơn vị có trọng số, tạm dừng nhận, bù lượt, ưu tiên khi báo dữ liệu rácTrung bình Tách quy tắc định tuyến thành cấu hình theo đơn vị
Bộ tiêu chí KPI thang 100 điểmreport-web4s → xerp-4sMột bộ tiêu chí đã dùng thật, làm khuôn cho thư viện tiêu chíCao Phải khái quát hoá thành nhiều bộ theo đơn vị
Danh mục khoá quyền và mô hình nhóm quyềnxerp-4s53 khoá quyền phủ 18 miền, cùng cơ chế nhóm quyền thay vai trò cứngTrung bình Bổ sung chiều phạm vi dữ liệu
Mẫu thiết kế bảng cấu hình khoá–giá trị JSONxerp-4sCho phép đổi hành vi hệ thống mà không phát hành mãThấp Mang nguyên mẫu thiết kế
Thư viện gọi REST Bitrix24 và kịch bản trích xuất theo lôxerp-4sXử lý giới hạn tần suất, phân trang, thử lại — dùng lại cho công cụ di trú một lầnTrung bình Bỏ toàn bộ phần ghi ngược và con trỏ đồng bộ; giữ phần đọc
Mẫu kết xuất báo cáo Excelreport-web4sĐịnh dạng các đơn vị đã quen dùngTrung bình Chuyển sang bộ sinh tài liệu mới
Chuẩn kho mã đơn khối và chuẩn tài liệumeeting-reportCấu trúc thư mục, quy ước, quy trình phát hành, khuôn tài liệu thiết kếThấp Kế thừa trực tiếp
Cái không mang sang

Toàn bộ lớp đồng bộ hai chiều của xerp-4s — con trỏ đồng bộ tăng dần, đối soát toàn phần định kỳ, quy tắc xử lý xung đột, cơ chế đẩy người phụ trách ngược lên Bitrix24 — bị bỏ hoàn toàn. Đây là phần chiếm nhiều mã nguồn và nhiều rủi ro nhất của hệ thống cũ, và nó tồn tại chỉ vì xerp-4s không được phép làm chủ dữ liệu. ERP Nhân Hòa không có ràng buộc đó.

Khoảng trống phải bù

So danh mục chức năng mong muốn với những gì đã có mã, chín khoảng trống dưới đây là phần phải làm mới. Cột công sức phản ánh khối lượng ước lượng, không phải độ ưu tiên nghiệp vụ.

Khoảng trốngHiện có gìCần cóCông sức
Giao diện làm việc trực tiếp trên công việcKhông có; xerp-4s chỉ đọc và đề xuấtMàn hình tạo, giao, bình luận, đính kèm, ghi giờ, đổi trạng thái — toàn bộ vòng đời trong ERPCao
Bộ tiêu chí KPI theo từng đơn vịMột bộ tiêu chí duy nhấtThư viện chỉ số + bộ tiêu chí gắn với từng đơn vị + quy trình chấm và chốtCao
Cấu hình chia lead theo từng đơn vịQuy tắc ở mức toàn hệ thống, một phần còn nằm trong mãMỗi đơn vị khai báo nguồn lead nhận, cách xoay vòng, trọng số, điều kiện loại trừTrung bình
Trợ lý AI hỏi đáp có kiểm soát quyềnChưa có; AI hiện chỉ suy ra kỹ năng và soạn nội dung báo cáoCổng hỏi đáp gọi công cụ truy vấn bị ràng buộc phạm vi quyền, có nhật ký kiểm toánCao
Ứng dụng máy tính và di độngChỉ có giao diện web nội bộBản đóng gói cho Windows, macOS, iOS, Android với thông báo đẩyTrung bình
Phạm vi dữ liệu theo cây đơn vịCó khoá quyền nhưng chiều phạm vi xử lý rải rácMột lớp tính phạm vi duy nhất áp cho mọi truy vấnTrung bình
Quản lý kỹ năng ở mức vận hành đượcBảng kỹ năng và mức 1–5, nhập tay bởi quản trịTự đánh giá, xác nhận của quản lý, lịch sử thay đổi, ma trận năng lực theo đơn vịTrung bình
Lịch trực và đơn nghỉ đầy đủLịch trực tối giản; đơn nghỉ chỉ đọc một chiềuXếp lịch theo mẫu lặp, đổi ca, cảnh báo trống ca; nộp – duyệt nhiều cấp – quỹ phép – ngày côngTrung bình
Nhật ký kiểm toán thống nhấtCó nhật ký rời theo từng phân hệMột dòng thời gian truy vết mọi thay đổi và mọi lần đọc dữ liệu nhạy cảmTrung bình

Kết luận khảo sát

Hướng đi được chọn

Dựng kho mã mới erp-nhanhoa theo cấu trúc đơn khối của meeting-report, mang sang lược đồ dữ liệu và các engine nghiệp vụ đã kiểm chứng của xerp-4s, và bỏ toàn bộ giả định kiến trúc rằng có một hệ thống khác làm chủ dữ liệu. ERP Nhân Hòa làm chủ dữ liệu của mình từ dòng mã đầu tiên. Hệ thống cũ chạy tiếp bình thường cho tới ngày cắt chuyển, hoàn toàn không bị chạm vào.

Ba lý do dẫn tới lựa chọn này:

  • Không viết lại cái đã đúng. Công thức chấm điểm, mô hình xoay vòng lead và mô hình nhóm quyền đã chạy trên dữ liệu thật và có bộ kiểm thử. Viết lại chúng chỉ thêm rủi ro mà không thêm giá trị.
  • Không mang theo ràng buộc đã hết hiệu lực. Phần lớn độ phức tạp của xerp-4s sinh ra từ việc nó không được phép làm chủ dữ liệu. Bỏ ràng buộc đó là bỏ được lớp đồng bộ, quy tắc xử lý xung đột và toàn bộ nhóm lỗi đi kèm — ước tính rút được khoảng sáu tuần công việc và ba rủi ro mức nghiêm trọng.
  • Đổi lại, phải trả giá ở khâu kiểm chứng. Xây độc lập nghĩa là hệ thống không có dữ liệu vận hành thật để tự chứng minh cho tới ngày cắt chuyển. Bù lại bằng một giai đoạn chạy thử có kiểm soát dài sáu tuần với người dùng thật trên dữ liệu thật đã nhập — chi tiết ở tài liệu 12 và 13. Đây là đánh đổi có ý thức, không phải điểm bị bỏ sót.
Cần xác minh trước giai đoạn khởi động

Bốn số liệu sau chưa có trong khảo sát và ảnh hưởng trực tiếp tới kế hoạch nhập dữ liệu ở tài liệu 10: tổng số bản ghi lead, tổng số công việc theo năm, dung lượng tệp đính kèm, và số tài khoản đang hoạt động. Cần một lần trích xuất đối soát trong tháng 9/2026.

Tài liệu 03 · Bối cảnh

Đối chiếu năng lực với Bitrix24

Hệ thống mới phải làm được mọi việc Nhân Hòa đang thực sự dùng ở Bitrix24 trước khi được phép tắt nó. Tài liệu này là danh sách đối chiếu đó — kèm phần trả lời thẳng: bỏ Bitrix24 thì mất gì, được gì, và những gì cố tình không làm.

Bảng đối chiếu năng lực

Cột mức độ dùng bốn nhãn: Vượt làm tốt hơn đáng kể, Bằng đáp ứng ngang mức dùng thực tế, Rút gọn làm ít hơn nhưng đủ dùng cho Nhân Hòa, Không làm chủ động bỏ trong v1.

Nhân sự & cơ cấu tổ chức

Năng lựcBitrix24ERP Nhân HòaMức độ
Hồ sơ nhân sự, phòng ban, sơ đồ tổ chứcĐầy đủ, cây phòng ban một chiềuĐầy đủ, thêm cây đơn vị nội bộ độc lập với cây phòng ban hành chínhVượt
Quản lý kỹ năng và mức thành thạoKhông có sẵn, phải dùng trường tuỳ biếnThực thể riêng: danh mục kỹ năng theo nhóm, mức 1–5, lịch sử thay đổi, ma trận năng lực theo đơn vịVượt
Đơn xin nghỉQuy trình duyệt cấu hình được, khá nặngNộp – duyệt nhiều cấp – trừ quỹ phép – nối thẳng vào tính ngày công cho KPIBằng
Lịch trựcKhông có khái niệm trực; phải mô phỏng bằng lịchLịch trực theo đơn vị, theo loại trực, xếp theo mẫu lặp, cảnh báo trống ca và trùng với đơn nghỉVượt
Chấm công, tính lương, bảo hiểmCó phân hệ chấm công và báo cáo giờ làmChỉ tính ngày công phục vụ KPI; không tính lươngKhông làm

Công việc & cộng tác

Năng lựcBitrix24ERP Nhân HòaMức độ
Quản lý công việc, việc con, phụ thuộc, hạn, ghi giờRất đầy đủ, nhiều tuỳ chọnĐầy đủ ở mức dùng thật: việc cha con, hạn, ưu tiên, người theo dõi, ghi giờ, đính kèm, bình luậnBằng
Nhóm làm việc và dự ánĐầy đủ, kèm mạng xã hội nội bộNhóm làm việc gắn với công việc và báo cáo; không có bảng tin xã hộiRút gọn
Phân công tự độngChỉ có quy tắc đơn giản và xoay vòng cơ bản trong CRMEngine chấm điểm theo kỹ năng, tải hiện tại, áp lực hạn và tín hiệu AI, kèm lý do và hộp duyệtVượt
Bảng Kanban, biểu đồ Gantt, lịch công việcCó đủ ba dạng xemCó Kanban và lịch; Gantt ở giai đoạn sauRút gọn
Trò chuyện, gọi thoại, họp trực tuyếnCó sẵn trong sản phẩmKhông làm; giữ công cụ chuyên dụng hiện cóKhông làm
Kho tài liệu, chỉnh sửa trực tuyếnCó ổ đĩa và soạn thảo trực tuyếnChỉ lưu tệp đính kèm theo bản ghiRút gọn

Khách hàng tiềm năng & bán hàng

Năng lựcBitrix24ERP Nhân HòaMức độ
Quản lý lead, phễu, giai đoạn, chuyển đổiRất đầy đủ, nhiều phễuĐầy đủ ở mức dùng thật: nguồn, loại, khu vực, giai đoạn, lịch sử chăm sócBằng
Chia lead tự độngXoay vòng đơn giản theo danh sách ngườiĐịnh tuyến theo quy tắc nhiều chiều (khu vực, nguồn, loại) rồi xoay vòng theo vị trí và trọng số trong team, có hàng ưu tiên và cơ chế bù lượtVượt
Chỉ tiêu doanh số và hoa hồngCó báo cáo doanh số, hoa hồng phải tự dựngKế hoạch chỉ tiêu theo kỳ và theo đơn vị, tiến độ tự cập nhật, tính hoa hồng theo cấu hìnhVượt
Tổng đài, ghi âm cuộc gọi, gửi thư hàng loạtCó tích hợp sẵnKhông làm trong v1Không làm
Trang đích, biểu mẫu thu thập leadCó bộ dựng trangChỉ nhận lead qua giao diện lập trình từ nguồn bên ngoàiRút gọn

Báo cáo, đánh giá & quản trị

Năng lựcBitrix24ERP Nhân HòaMức độ
Báo cáo hiệu suất công việcBáo cáo dựng sẵn, tuỳ biến hạn chếBộ chỉ số khai báo được, báo cáo theo kỳ tuần / tháng / quý theo đơn vị hoặc nhóm dự ánVượt
Đánh giá KPI nhân sựKhông có phân hệ KPI đúng nghĩaThư viện chỉ số, bộ tiêu chí riêng từng team, chấm tự động phần đo được, quy trình chốt và xếp loạiVượt
Phân quyềnPhân quyền theo vai trò và phòng ban, cấu hình phức tạpNhóm quyền theo khoá quyền, nhân với phạm vi dữ liệu tính theo cây đơn vịBằng
Trợ lý hỏi đáp dữ liệu nội bộCó trợ lý AI nhưng không gắn với mô hình quyền nội bộ của tổ chứcTrợ lý gọi công cụ truy vấn bị ràng buộc phạm vi quyền của chính người hỏi, có nhật ký kiểm toán từng truy vấnVượt
Nhật ký kiểm toánCó ở mức cơ bảnMột dòng thời gian thống nhất cho mọi thay đổi và mọi lần đọc dữ liệu nhạy cảmVượt

Nền tảng & ứng dụng

Năng lựcBitrix24ERP Nhân HòaMức độ
Ứng dụng webCó, giao diện nặng và khó tuỳ biếnCó, thiết kế theo đúng luồng việc của Nhân HòaVượt
Ứng dụng máy tính (Windows, macOS)Có, đóng gói từ chính lõi webBằng
Ứng dụng di động (iOS, Android)Có, tính năng phong phúCó, tập trung vào việc của tôi, duyệt, thông báo, chấm nhanhRút gọn
Giao diện lập trình mởREST đầy đủ nhưng xác thực bằng bí mật trong đường dẫnREST theo phiên bản, xác thực theo chuẩn, quyền theo khoá, có giới hạn tần suấtVượt
Chợ ứng dụng bên thứ baRất lớnKhông cóKhông làm

Ba điểm vượt lên đáng để đầu tư

Phần lớn bảng trên là ngang bằng hoặc rút gọn. Toàn bộ luận điểm đầu tư nằm ở ba năng lực dưới đây — đây cũng là ba tài liệu chuyên sâu 06, 07 và 08.

Phân công theo tải và năng lực

Bitrix24 chia việc theo danh sách. ERP Nhân Hòa chia việc theo một điểm số tổ hợp kỹ năng khớp, số việc đang mở, áp lực hạn sắp tới và tín hiệu đọc hiểu nội dung. Trọng số khai báo được cho từng đơn vị.

Thước đo riêng cho từng team

Không có sản phẩm đóng gói nào biết trước rằng team Kinh doanh đo bằng doanh số còn team Hạ tầng đo bằng thời gian khôi phục sự cố. Đây là chỗ hệ thống tự xây thắng tuyệt đối.

Hỏi đáp gắn với quyền

Giá trị của một trợ lý dữ liệu nội bộ tỉ lệ thuận với mức độ tin cậy rằng nó không lộ thứ không nên lộ. Điều đó chỉ đạt được khi mô hình quyền và trợ lý được thiết kế cùng nhau.

Ba điểm chủ động không làm

Ghi rõ ở đây để tránh kỳ vọng sai. Vì cắt chuyển một lần, ba hạng mục này phải được các đơn vị liên quan chấp nhận bằng văn bản ngay trong tháng 9/2026 — không có cơ hội thương lượng lại sau khi Bitrix24 đã tắt.

  1. Tổng đài và ghi âm cuộc gọi

    Đây là hạ tầng viễn thông, không phải bài toán quản trị. Nếu cần, hướng đi là tích hợp với tổng đài chuyên dụng qua giao diện lập trình ở giai đoạn sau, không phải tự dựng.

  2. Tài chính, kế toán và tính lương

    Ràng buộc pháp lý và quy định thay đổi thường xuyên. Phần mềm chuyên ngành làm tốt hơn. ERP chỉ cung cấp dữ liệu đầu vào là ngày công và kết quả đánh giá.

  3. Trò chuyện và mạng nội bộ

    Nhân Hòa đã có công cụ trao đổi đang dùng ổn định. Dựng thêm một kênh trò chuyện nữa chỉ làm phân mảnh giao tiếp. ERP gửi thông báo sang kênh sẵn có thay vì thay thế nó.

So sánh chi phí sở hữu

So sánh dưới đây mang tính định hướng, chưa phải bài toán tài chính chi tiết. Điểm cần lưu ý là chi phí của hệ thống tự xây dồn vào giai đoạn đầu, còn chi phí của giải pháp đóng gói trải đều và tăng theo số người dùng.

Khoản mụcTiếp tục dùng Bitrix24ERP tự xây
Chi phí ban đầuGần như khôngKhoảng 83 người-tháng phát triển (xem tài liệu 12)
Chi phí định kỳPhí thuê bao theo số người dùng, tăng khi mở rộngHạ tầng máy chủ, lưu trữ, mô hình AI; gần như không đổi khi tăng người dùng
Chi phí tuỳ biếnCao — mỗi yêu cầu riêng là một lần viết ứng dụng bên ngoài, đúng như hiện trạngThấp — phần lớn nhu cầu mới xử lý bằng cấu hình
Chi phí bảo trìNhà cung cấp chịu, nhưng phần viết thêm vẫn phải tự bảo trìTự chịu toàn bộ; cần đội duy trì thường trực
Rủi ro phụ thuộcCao — dữ liệu vận hành nằm trên nền của bên thứ baThấp — dữ liệu và mã nguồn thuộc sở hữu Nhân Hòa
Tốc độ đáp ứng yêu cầu mớiPhụ thuộc lộ trình nhà cung cấpDo Nhân Hòa quyết định
Nhận định

Điểm hoà vốn không nằm ở phí thuê bao mà ở chi phí tuỳ biến. Nhân Hòa đã phải viết ít nhất hai hệ thống bổ trợ để bù chỗ Bitrix24 không với tới, và mỗi hệ thống đó lại phát sinh chi phí bảo trì riêng. ERP tự xây gộp các khoản đó về một chỗ.

Danh sách phải có trước khi tắt Bitrix24

Vì hệ thống mới xây độc lập và chỉ cắt chuyển một lần, không có cơ hội “thiếu thì bổ sung sau”. Bảng đối chiếu ở trên được rút thành một danh sách kiểm tra bắt buộc: mọi dòng phải ở trạng thái đạt thì mới được phép ấn nút tắt.

Quy tắc cứng

Một tính năng bị đánh giá là Rút gọn hoặc Không làm trong bảng trên chỉ hợp lệ khi đơn vị đang dùng nó đã xác nhận bằng văn bản rằng họ chấp nhận. Không có xác nhận đó thì nó tự động trở thành hạng mục bắt buộc. Danh sách này được chốt vào cuối tháng 9/2026 và rà lại ở giai đoạn 9.

NhómĐiều kiện bắt buộcAi xác nhậnRà ở GĐ
Nhân sựToàn bộ nhân sự đang hoạt động có hồ sơ đầy đủ và đăng nhập đượcNhân sự1, 9
Sơ đồ tổ chức và cây đơn vị khớp thực tế, được từng trưởng đơn vị xác nhậnTrưởng đơn vị1, 9
Quỹ phép và lịch sử nghỉ trong năm khớp sổ của phòng Nhân sựNhân sự9
Công việcVòng đời công việc thao tác trọn vẹn trong ERP, không cần công cụ nào khácĐơn vị thí điểm2, 9
Toàn bộ công việc đang mở đã có mặt trong ERP với đúng người phụ trách và đúng hạnTrưởng đơn vị9
Lịch sử công việc đã đóng nhập đủ theo mốc thời gian đã thoả thuậnTrưởng phòng ban9
Tệp đính kèm mở được, kiểm tra ngẫu nhiên đạtĐơn vị thí điểm9
LeadToàn bộ lead đang mở đã nhập, đúng giai đoạn và đúng người phụ tráchTrưởng phòng kinh doanh9
Quy tắc chia lead của từng đơn vị đã khai báo và chạy thử đúngTrưởng phòng kinh doanh4, 9
Lịch sử chăm sóc lead nhập đủ theo mốc thời gian đã thoả thuậnTrưởng phòng kinh doanh9
Nhóm làm việcNhóm và dự án đang hoạt động đã có mặt, đúng thành viênChủ dự án9
Công việc gắn đúng nhóm sau khi nhậpChủ dự án9
Đo lườngMỗi đơn vị đã có bộ tiêu chí đánh giá được duyệt và chạy thử trọn một kỳTrưởng phòng ban6, 9
Kết xuất Excel khớp mẫu các đơn vị đang dùngNhân sự6, 9
Nền tảngBốn bản ứng dụng (web, Windows, macOS, di động) cài và đăng nhập đượcQuản trị hệ thống8, 9
Thông báo tới đúng người trên đúng thiết bịĐơn vị thí điểm8, 9
Kiểm thử phân quyền theo bảy vai trò đạt tuyệt đốiKiểm thử1, 9
Chấp nhận thiếuMọi tính năng đánh dấu Rút gọn có văn bản chấp nhận của đơn vị đang dùngTrưởng đơn vị liên quan1, 9
Mọi tính năng đánh dấu Không làm có phương án thay thế đã sẵn sàngBan điều hành1, 9

Cách rời khỏi Bitrix24

Nguyên tắc

Xây xong hẳn, nhập dữ liệu một lần, tắt. Trong suốt thời gian xây, Bitrix24 chạy bình thường và không bị chạm vào. Không có giai đoạn nào nhân viên phải nhập liệu vào hai nơi.

  THÁNG 1 → 8        Bitrix24  ██████████████████  chạy bình thường
                     ERP mới   ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  đang xây, chưa ai dùng thật
                                    ↑ chỉ đọc để tham chiếu tính năng

  THÁNG 8 → 9,5      Bitrix24  ██████████████████  vẫn chạy bình thường
                     ERP mới   ░░░░░░░░░░░░░░░░░░  CHẠY THỬ có kiểm soát
                                                   người dùng thật · dữ liệu thật
                                                   trên môi trường tiền vận hành

  CUỐI TUẦN CẮT      Bitrix24  ─── chuyển sang CHỈ ĐỌC ───────────────
  CHUYỂN             ERP mới   ─── nhập dữ liệu lần cuối · kiểm tra ──

  SAU ĐÓ             Bitrix24  ▓▓▓▓  chỉ đọc, giữ 90 ngày làm lưới an toàn
                     ERP mới   ██████████████████  hệ thống duy nhất
                               ↓ sau 90 ngày
                     Bitrix24  ✕ TẮT HẲN
  1. Xây kín, không chạm vào hệ thống cũ

    Suốt các giai đoạn phát triển, ERP chỉ đọc Bitrix24 đúng hai lần: một lần cuối tháng 9/2026 để đo khối lượng dữ liệu, và các lần chạy thử công cụ nhập ở giai đoạn 9. Không có kết nối thường trực nào.

  2. Chạy thử có kiểm soát

    Sáu tuần trước khi cắt, nhập bản sao dữ liệu thật vào môi trường tiền vận hành và cho người dùng thật làm việc trên đó song song với công việc hằng ngày của họ. Đây không phải vận hành song song — dữ liệu tạo ra trong lúc chạy thử bị bỏ đi; mục đích duy nhất là tìm lỗi và đo phản ứng người dùng.

  3. Cắt chuyển trong một cuối tuần

    Chiều thứ Sáu chuyển Bitrix24 sang chỉ đọc. Chạy đợt nhập dữ liệu cuối cùng, đối soát, kiểm tra khói. Sáng thứ Hai toàn bộ nhân sự vào hệ thống mới. Thông báo trước hai tuần, kèm hướng dẫn và đầu mối hỗ trợ.

  4. Giữ lưới an toàn 90 ngày

    Bitrix24 ở chế độ chỉ đọc thêm 90 ngày để tra cứu khi nghi ngờ dữ liệu nhập sai. Đây là tra cứu, không phải làm việc — không ai được ghi vào đó nữa.

  5. Tắt hẳn và lưu trữ

    Hết 90 ngày, xuất một bản sao lưu toàn bộ theo chính sách lưu trữ dài hạn, rồi ngừng dịch vụ. Gỡ công cụ di trú và các trường ma_nguon_cu khỏi ERP.

Điều kiện quay lui

Đường lui duy nhất

Vì cắt chuyển một lần, đường lui cũng chỉ có một: mở lại quyền ghi trên Bitrix24 và tạm dừng ERP. Quyết định này phải được đưa ra trong vòng 72 giờ kể từ khi cắt, vì sau đó dữ liệu mới phát sinh trên ERP đã quá nhiều để chép ngược. Ba điều kiện kích hoạt: dữ liệu nhập sai không khắc phục được trong 8 giờ; hơn 30% người dùng không thao tác được; hoặc phát hiện lỗ hổng phân quyền. Thao tác quay lui phải được diễn tập trước ngày cắt, không phải lần đầu làm là lúc có sự cố.

Vì sao chọn cách này

Ưu điểmCái phải trả giá
Bỏ được toàn bộ lớp đồng bộ hai chiều — phần nhiều mã và nhiều lỗi nhấtHệ thống không được kiểm chứng bằng vận hành thật cho tới ngày cắt
Không có quy tắc xử lý xung đột, không có nguy cơ dữ liệu lệch giữa hai nơiGiai đoạn chạy thử phải làm nghiêm túc, không được rút ngắn
Nhân viên học một hệ thống một lần, không phải nhớ việc nào ở đâuNgày cắt chuyển là sự kiện áp lực cao, cần chuẩn bị kỹ
Không có nguy cơ dùng song song kéo dài rồi dữ liệu phân mảnh trở lạiĐường lui hẹp, chỉ khả dụng trong 72 giờ đầu
Rút khoảng sáu tuần công việc và loại bỏ ba rủi ro mức nghiêm trọngPhải chốt đủ tính năng trước khi cắt, không có cơ hội bổ sung dần
Tài liệu 04 · Yêu cầu

Yêu cầu nghiệp vụ & phi chức năng

Tập hợp đầy đủ các yêu cầu mà hệ thống phải đáp ứng, viết ở mức có thể kiểm chứng được. Mỗi yêu cầu có mã riêng để tài liệu đặc tả, kế hoạch kiểm thử và biên bản nghiệm thu trỏ ngược về.

Vai trò người dùng

Bảy vai trò dưới đây là các nhóm quyền mặc định của hệ thống. Một người có thể mang nhiều vai trò; quyền hiệu lực là hợp của các nhóm cộng với phạm vi dữ liệu tính theo vị trí trong cây đơn vị (tài liệu 11).

Vai tròMối quan tâm chínhViệc làm hằng ngày trên hệ thốngPhạm vi dữ liệu mặc định
Nhân viênBiết mình phải làm gì hôm nayXem việc của mình, cập nhật tiến độ, ghi giờ, nộp báo cáo ngày, xin nghỉ, xem lịch trựcBản thân
Trưởng nhómNhóm chạy đúng tiến độ và không lệch tảiDuyệt đề xuất phân công, theo dõi bảng tải, xếp lịch trực, chấm điểm phần nhận định trong kỳ đánh giáNhóm mình và các nhóm cấp dưới
Trưởng phòng banKết quả của cả khối và chất lượng đánh giáXem báo cáo tổng hợp, khai báo bộ tiêu chí KPI cho các nhóm trực thuộc, duyệt kỳ đánh giáToàn bộ nhánh cây đơn vị của mình
Điều phốiKhông có việc nào bị bỏ quênXử lý hộp duyệt phân công, xử lý tồn đọng, phân công lại, theo dõi việc và lead mồ côiCác đơn vị được giao điều phối
Nhân sựHồ sơ đúng và quy trình được tuân thủQuản lý hồ sơ, phòng ban, quỹ phép, duyệt đơn nghỉ cấp cuối, theo dõi kỳ đánh giá toàn công tyToàn hệ thống, trừ dữ liệu nhạy cảm bị che theo cấu hình
Ban điều hànhBức tranh tổng thể và điểm nghẽnXem bảng điều khiển, hỏi trợ lý AI, xem kết quả đánh giá đã chốtToàn hệ thống ở mức tổng hợp
Quản trị hệ thốngHệ thống chạy đúng và cấu hình chuẩnQuản lý nhóm quyền, cấu hình engine, danh mục kỹ năng, kết nối AI, giám sát hệ thốngToàn hệ thống, kể cả cấu hình

Yêu cầu nghiệp vụ

Độ ưu tiên theo thang bốn mức: Bắt buộc không có thì hệ thống vô nghĩa, Nên có ảnh hưởng lớn tới giá trị nhưng lùi được, Có thì tốt làm khi còn dư địa, Sau v1 đã xác định nhưng không nằm trong phạm vi hiện tại.

Yêu cầuGiá trị mang lạiƯu tiênGiai đoạn
BR-01Quản lý hồ sơ nhân sự, phòng ban và cây đơn vị nội bộ, cho phép một người thuộc nhiều đơn vịNền tảng cho mọi phạm vi dữ liệu và mọi báo cáoBắt buộc1
BR-02Quản lý danh mục kỹ năng và mức thành thạo của từng nhân sự, có quy trình xác nhận và lịch sử thay đổiĐầu vào bắt buộc của engine phân công theo năng lựcBắt buộc2
BR-03Quản lý nhóm làm việc và dự án, gắn công việc vào nhómCơ sở để báo cáo theo dự án thay vì chỉ theo cá nhânNên có1
BR-04Quản lý toàn bộ vòng đời công việc trong hệ thống: tạo, giao, cập nhật, ghi giờ, đóng, đánh giá chất lượngĐiều kiện để ERP trở thành hệ thống chủ thay vì lớp phụ trợBắt buộc1–2
BR-05Tự động đề xuất người phụ trách cho công việc mới dựa trên kỹ năng khớp, tải hiện tại, áp lực hạn và độ ưu tiên, kèm lý do đọc đượcRút thời gian chờ phân công xuống dưới 15 phút và làm đều tảiBắt buộc3
BR-06Cho phép quản lý duyệt, đổi người hoặc bỏ qua từng đề xuất; ghi nhận mọi quyết định làm dữ liệu hiệu chỉnh engineGiữ quyền quyết định ở con người và tạo vòng phản hồi cải thiệnBắt buộc3
BR-07Quản lý lead với nguồn, loại, khu vực, giai đoạn và lịch sử chăm sócĐưa dữ liệu bán hàng về cùng một nền với dữ liệu vận hànhBắt buộc4
BR-08Chia lead tự động theo quy tắc khai báo được cho từng team: nguồn nhận, thứ tự vị trí, trọng số, tạm dừng nhận, hàng ưu tiên và bù lượtMỗi team bán hàng có cách chia riêng mà không cần sửa mãBắt buộc4
BR-09Quản lý lịch trực theo đơn vị và loại trực, có mẫu lặp, đổi ca và cảnh báo trống caXoá điểm mù lớn nhất của hệ thống hiện tạiNên có5
BR-10Quản lý đơn xin nghỉ với duyệt nhiều cấp, quỹ phép và liên kết tới tính ngày côngNgày công đúng là điều kiện để điểm KPI khối lượng có nghĩaNên có5
BR-11Cho phép mỗi đơn vị khai báo bộ tiêu chí đánh giá riêng: chọn chỉ số từ thư viện, đặt trọng số, đặt ngưỡng xếp loạiGiải quyết trực diện vấn đề mỗi team đo một kiểuBắt buộc6
BR-12Tự động tính phần điểm đo được từ dữ liệu vận hành, để phần nhận định cho người chấm, có quy trình chốt kỳ và khoá số liệuRút công sức mỗi kỳ đánh giá từ vài ngày công xuống dưới hai giờBắt buộc6
BR-13Sinh báo cáo kỳ theo tuần, tháng, quý cho đơn vị hoặc nhóm dự án, kết xuất được ra Excel và PDFThay thế toàn bộ luồng tổng hợp bằng bảng tính hiện nayNên có6
BR-14Trợ lý AI trả lời câu hỏi bằng tiếng Việt về nhân sự, công việc, lead, báo cáo và tài chính vận hànhMọi người tự lấy được số liệu mà không cần biết trước màn hình nào chứa nóBắt buộc7
BR-15Trợ lý AI chỉ được đọc dữ liệu trong phạm vi quyền của tài khoản đang hỏi, mọi truy vấn đều được ghi nhật ký kiểm toánĐiều kiện tiên quyết để cho phép trợ lý chạm vào dữ liệu thậtBắt buộc7
BR-16Cung cấp ứng dụng máy tính cho Windows và macOS, ứng dụng di động cho iOS và Android, có thông báo đẩyViệc và yêu cầu duyệt tới được người phụ trách ngoài giờ ngồi máyNên có8
BR-17Công cụ nhập dữ liệu một lần từ hệ thống cũ: trích xuất, quy đổi danh mục, nạp, đối soát và báo cáo sai lệch. Chỉ đọc, không bao giờ ghi ngượcGiữ lại toàn bộ lịch sử nhân sự, công việc và lead khi chuyển sang hệ thống mớiBắt buộc9
BR-18Quản trị nhóm quyền và cấu hình engine qua giao diện, không cần phát hành mãĐơn vị mới hoặc chính sách mới không tạo phụ thuộc vào đội phát triểnBắt buộc1
BR-19Nhận đầu việc từ hệ thống biên bản họp và đưa vào luồng phân côngKhép vòng từ cuộc họp tới việc được giaoCó thì tốtĐệm
BR-20Quản lý chỉ tiêu doanh số và tính hoa hồng theo cấu hìnhGom nốt phần đang nằm ngoài hệ thống của khối kinh doanhCó thì tốtĐệm
BR-21Trợ lý AI thực hiện hành động thay người dùng sau khi xác nhận (tạo việc, đổi hạn, gán người)Chuyển trợ lý từ công cụ tra cứu sang công cụ vận hànhSau v1
BR-22Cổng thông tin cho khách hàng bên ngoàiMở rộng phạm vi sang phục vụ khách hàngSau v1

Câu chuyện người dùng tiêu biểu

Danh sách dưới đây không nhằm liệt kê đủ mọi thao tác — đặc tả chi tiết nằm ở tài liệu 05. Đây là các câu chuyện định hình trải nghiệm, dùng làm căn cứ thiết kế giao diện và làm kịch bản nghiệm thu người dùng.

Nhân viên

  • Là nhân viên, tôi mở ứng dụng và thấy ngay việc hôm nay của tôi xếp theo mức khẩn, để không phải tự lọc từ một danh sách dài. BR-04
  • Là nhân viên, tôi ghi giờ làm cho một việc ngay khi vừa xong, để số liệu khối lượng trong kỳ đánh giá phản ánh đúng công sức bỏ ra. BR-04 BR-12
  • Là nhân viên, tôi nộp đơn xin nghỉ trên điện thoại và thấy trạng thái duyệt, để không phải nhắn hỏi từng cấp. BR-10 BR-16
  • Là nhân viên, tôi xem lịch trực của mình trong tháng và xin đổi ca với đồng nghiệp, để chủ động sắp xếp việc cá nhân. BR-09
  • Là nhân viên, tôi tự khai kỹ năng và mức thành thạo để hệ thống giao đúng loại việc; quản lý xác nhận lại phần tôi khai. BR-02
  • Là nhân viên, tôi xem điểm KPI kỳ vừa rồi kèm số liệu tạo ra từng phần điểm, để biết cần cải thiện chỗ nào thay vì chỉ nhận một con số. BR-12

Trưởng nhóm & điều phối

  • Là trưởng nhóm, tôi mở hộp duyệt phân công và thấy từng đề xuất kèm điểm và lý do, duyệt hoặc đổi người trong một chạm. BR-05 BR-06
  • Là trưởng nhóm, tôi xem bảng tải của nhóm để biết ai đang quá tải trước khi giao thêm việc. BR-05
  • Là trưởng nhóm, tôi tạm dừng nhận việc cho một thành viên đang tập trung vào một dự án gấp, và hệ thống tự bỏ qua người đó trong các vòng chia tiếp theo. BR-08
  • Là điều phối, tôi thấy danh sách việc chưa có người phụ trách quá ngưỡng thời gian để xử lý tồn đọng trước khi nó thành vấn đề. BR-06
  • Là trưởng nhóm, tôi xếp lịch trực cả tháng từ một mẫu lặp rồi chỉnh vài ngày ngoại lệ, thay vì điền thủ công từng ô. BR-09

Kinh doanh

  • Là nhân viên kinh doanh, tôi nhận lead ngay khi nó vào hệ thống theo đúng lượt của mình, và biết được vì sao lead đó đến tay tôi. BR-08
  • Là nhân viên kinh doanh, tôi báo một lead là dữ liệu không dùng được và được ưu tiên nhận lead mới, để không bị thiệt vì rủi ro nguồn dữ liệu. BR-08
  • Là trưởng phòng kinh doanh, tôi khai báo quy tắc chia lead cho team mình: nhận nguồn nào, thứ tự ai trước, ai nhận trọng số bao nhiêu. BR-08
  • Là trưởng phòng kinh doanh, tôi theo dõi tiến độ chỉ tiêu doanh số của từng nhân sự trong kỳ. BR-20

Quản lý & nhân sự

  • Là trưởng phòng ban, tôi khai báo bộ tiêu chí đánh giá riêng cho khối mình: chọn chỉ số, đặt trọng số, đặt ngưỡng xếp loại — và áp dụng từ kỳ tiếp theo. BR-11
  • Là trưởng phòng ban, tôi mở một kỳ đánh giá, hệ thống đã điền sẵn phần điểm tính được, tôi chỉ chấm phần nhận định và viết nhận xét. BR-12
  • Là nhân sự, tôi kết xuất kết quả đánh giá toàn công ty ra Excel theo mẫu đã dùng lâu nay. BR-13
  • Là nhân sự, tôi xem quỹ phép còn lại của từng người và lịch sử nghỉ trong năm. BR-10

Ban điều hành

  • Là thành viên ban điều hành, tôi hỏi trợ lý bằng tiếng Việt: “tháng trước khối kỹ thuật xử lý bao nhiêu việc quá hạn, ai tải nặng nhất” và nhận câu trả lời kèm số liệu nguồn. BR-14
  • Là thành viên ban điều hành, tôi tin rằng trợ lý không trả lời quá phạm vi quyền của người hỏi, và kiểm tra được điều đó bằng nhật ký truy vấn. BR-15
  • Là thành viên ban điều hành, tôi xem bảng điều khiển tổng hợp cập nhật theo thời gian thực thay vì chờ báo cáo cuối tháng. BR-13

Yêu cầu phi chức năng

Mỗi yêu cầu dưới đây có một chỉ tiêu đo được và một cách đo. Yêu cầu phi chức năng không có cách đo thì không được coi là yêu cầu.

NhómYêu cầuChỉ tiêuCách đo
NFR-01Hiệu năngThời gian phản hồi của các màn hình danh sách chínhPhân vị 95 dưới 800 mili giây với 500 bản ghi mỗi trangĐo tại tầng ứng dụng, môi trường thật, giờ cao điểm
NFR-02Hiệu năngThời gian sinh đề xuất phân công cho một công việcDưới 3 giây khi không gọi mô hình AI, dưới 8 giây khi có gọiĐo trên hàng đợi xử lý
NFR-03Hiệu năngThời gian tính lại toàn bộ điểm KPI của một kỳDưới 2 phút cho 300 nhân sựChạy thử trên dữ liệu di trú
NFR-04Tải đồng thờiSố người dùng hoạt động đồng thời300 phiên đồng thời không suy giảm quá 20% so với chỉ tiêu NFR-01Kiểm thử tải trước mỗi mốc nghiệm thu lớn
NFR-05Khả năng mở rộngSức chứa dữ liệu5 triệu công việc và 2 triệu lead không cần đổi kiến trúcSinh dữ liệu giả và đo truy vấn tiêu biểu
NFR-06Sẵn sàngMức sẵn sàng trong giờ làm việc99,5% trong khung 07:00–21:00 giờ Việt NamGiám sát ngoài, kiểm tra sức khoẻ mỗi phút
NFR-07Sao lưuMục tiêu điểm khôi phục và thời gian khôi phụcMất tối đa 15 phút dữ liệu, khôi phục trong 4 giờDiễn tập khôi phục mỗi quý
NFR-08Bảo mậtKiểm soát truy cậpMọi lối vào dữ liệu đều đi qua một lớp tính phạm vi duy nhất; không có truy vấn nào bỏ qua đượcRà soát mã và kiểm thử xâm nhập theo vai trò
NFR-09Bảo mậtBảo vệ dữ liệu khi truyền và khi lưuMã hoá toàn tuyến; các trường nhạy cảm mã hoá ở tầng ứng dụngRà soát cấu hình và quét lỗ hổng
NFR-10Kiểm toánTruy vết thay đổiMọi thay đổi dữ liệu nghiệp vụ và mọi lần đọc dữ liệu nhạy cảm đều có bản ghi ai, khi nào, từ đâu, giá trị trước và sauTruy vấn thử trên nhật ký kiểm toán
NFR-11Kiểm toánThời gian lưu nhật kýNhật ký kiểm toán giữ tối thiểu 24 thángKiểm tra chính sách lưu trữ
NFR-12Khả dụngNgôn ngữ giao diệnTiếng Việt là ngôn ngữ chính, có sẵn cơ chế đa ngữ để bổ sung sauRà soát chuỗi hiển thị không bị viết cứng trong mã
NFR-13Khả dụngTiếp cậnĐạt mức AA của tiêu chuẩn WCAG 2.1 cho các luồng chínhKiểm tra tự động cộng rà soát tay bàn phím và tương phản
NFR-14Khả dụngĐa nền tảngToàn bộ luồng chính dùng được trên màn hình từ 360 điểm ảnh chiều ngangKiểm thử trên thiết bị thật của bốn nền tảng
NFR-15Vận hànhKhả năng quan sátBốn chỉ số vàng (độ trễ, lưu lượng, lỗi, bão hoà) có bảng theo dõi và cảnh báoRà soát bảng giám sát trước khi lên môi trường thật
NFR-16Vận hànhPhát hànhPhát hành không gián đoạn dịch vụ; quay lui được trong 10 phútDiễn tập quay lui mỗi giai đoạn
NFR-17Chất lượng mãĐộ phủ kiểm thửTừ 70% trở lên ở tầng nghiệp vụ; 100% cho engine chấm điểm và engine chia leadBáo cáo độ phủ trong quy trình tích hợp liên tục
NFR-18Di trúĐộ chính xác của đợt nhập dữ liệuSai lệch số lượng bản ghi bằng 0; sai lệch các giá trị tổng hợp dưới 0,1%Báo cáo đối soát tự động theo từng đối tượng dữ liệu
NFR-19AIChi phí mô hìnhDưới 15 triệu đồng mỗi tháng ở quy mô 150 người dùng hoạt độngNhật ký sử dụng token theo từng lần gọi
NFR-20AIKhả năng chạy khi tắt AIToàn bộ chức năng nghiệp vụ vẫn hoạt động khi tắt mô hình, chỉ mất phần gợi ýKịch bản kiểm thử chạy với cờ tắt AI

Ràng buộc & giả định

Ràng buộc

  • Hệ thống cũ vẫn chạy bình thường trong suốt thời gian xây. ERP không được chạm vào nó dưới bất kỳ hình thức nào ngoài việc đọc để trích xuất dữ liệu ở đợt di trú. Hệ quả: hệ thống mới không có dữ liệu vận hành thật để kiểm chứng cho tới giai đoạn chạy thử, nên giai đoạn đó phải được thiết kế nghiêm túc chứ không phải làm cho có.
  • Trích xuất dữ liệu từ hệ thống cũ dùng bí mật nằm trong đường dẫn. Bí mật này phải được đối xử như mật khẩu: chỉ nằm trong kho bí mật, không bao giờ trả về giao diện. Công cụ di trú là nơi duy nhất trong hệ thống được phép dùng nó, và bị gỡ bỏ sau khi cắt chuyển.
  • Dữ liệu cá nhân của người lao động chịu điều chỉnh của Nghị định 13/2023/NĐ-CP. Kéo theo yêu cầu về mục đích xử lý, thời hạn lưu trữ, quyền truy cập và nhật ký.
  • Cắt chuyển gói gọn trong một cuối tuần. Nhân viên nghỉ chiều thứ Sáu trên hệ thống cũ và sáng thứ Hai vào hệ thống mới. Không chấp nhận phương án bắt người dùng nhập liệu vào hai nơi trong bất kỳ khoảng thời gian nào.
  • Đội phát triển đồng thời duy trì các hệ thống hiện có. Kế hoạch nguồn lực ở tài liệu 12 phải trừ phần công sức duy trì này.

Giả định

  • Quy mô nhân sự dùng hệ thống trong 24 tháng tới nằm trong khoảng 150–300 người.
  • Số đơn vị cần bộ tiêu chí đánh giá riêng nằm trong khoảng 5–12.
  • Nhân sự đã quen thao tác trên hệ thống nội bộ, nên chi phí đào tạo tập trung vào cái mới (phân công tự động, đánh giá, trợ lý) chứ không phải kiến thức cơ bản.
  • Hạ tầng máy chủ do Nhân Hòa tự vận hành, không phụ thuộc nhà cung cấp đám mây bên ngoài cho dữ liệu nghiệp vụ.
  • Mô hình AI được gọi qua giao diện lập trình bên ngoài; dữ liệu gửi đi là kết quả truy vấn đã lọc quyền chứ không phải bản sao cơ sở dữ liệu.

Tiêu chí chấp nhận tổng thể

Hệ thống được coi là đạt khi đồng thời thoả sáu điều kiện dưới đây. Tiêu chí nghiệm thu chi tiết theo từng giai đoạn nằm ở tài liệu 13.

#Điều kiệnBằng chứng
1Toàn bộ yêu cầu mức Bắt buộc đã được nghiệm thu trên môi trường thậtBiên bản nghiệm thu từng yêu cầu có chữ ký đơn vị nghiệp vụ
2Sáu chỉ số thành công ở tài liệu 01 đạt mục tiêu hoặc có kế hoạch đạt được ghi rõBáo cáo đo lường sau sáu tháng vận hành
3Không còn yêu cầu phi chức năng nào ở trạng thái chưa đoBảng theo dõi NFR-01 đến NFR-20 đầy đủ kết quả
4Kiểm thử phân quyền theo từng vai trò không phát hiện lối rò dữ liệuBáo cáo kiểm thử xâm nhập nội bộ theo vai trò
5Dữ liệu di trú khớp với hệ thống nguồn trong ngưỡng sai số đã thoả thuậnBáo cáo đối soát từng đối tượng dữ liệu
6Tài liệu vận hành và tài liệu người dùng đã bàn giao, đội vận hành đã được đào tạoBiên bản bàn giao và danh sách đã đào tạo
Tài liệu 05 · Yêu cầu

Đặc tả chức năng theo phân hệ

Mô tả chi tiết mười hai phân hệ của hệ thống: mục tiêu, màn hình, quy tắc nghiệp vụ, dữ liệu, quyền và tiêu chí nghiệm thu. Ba phân hệ có độ phức tạp cao — phân công, đánh giá và trợ lý AI — được tách riêng sang các tài liệu 06, 07 và 08.

Bản đồ phân hệ

Phân hệPhụ thuộcGiai đoạnĐặc tả chi tiết
M01Nhân sự & hồ sơ1Tài liệu này
M02Kỹ năng & ma trận năng lựcM012Tài liệu này
M03Phòng ban & cây đơn vịM011Tài liệu này
M04Nhóm làm việc & dự ánM01, M031Tài liệu này
M05Lịch trực & đơn xin nghỉM01, M035Tài liệu này
M06Quản lý công việcM01, M03, M041–2Tài liệu này
M07Phân công công việc tự độngM02, M063Tài liệu 06
M08Quản lý leadM01, M034Tài liệu này
M09Chia lead tự độngM084Tài liệu 06
M10Báo cáo kỳ & đánh giá KPIM05, M06, M086Tài liệu 07
M11Trợ lý AITất cả7Tài liệu 08
M12Quản trị hệ thống & cấu hình1–2Tài liệu này

M01 · Nhân sự & hồ sơ

M01

Nhân sự & hồ sơ

Giai đoạn 1 · BR-01

Một hồ sơ duy nhất cho mỗi người, là điểm neo của mọi thứ khác trong hệ thống: quyền, việc, kỹ năng, lịch trực, điểm đánh giá.

Màn hình

  • Danh sách nhân sự — lọc theo đơn vị, phòng ban, trạng thái hoạt động, kỹ năng; cột hiển thị cấu hình được; kết xuất Excel.
  • Hồ sơ chi tiết — bốn thẻ: Thông tin chung, Kỹ năng, Công việc & tải, Lịch sử đánh giá.
  • Hồ sơ của tôi — bản rút gọn cho nhân viên tự cập nhật phần thông tin cá nhân và tự khai kỹ năng.
  • Sơ đồ tổ chức — dạng cây, thu gọn được, tìm nhanh theo tên.

Quy tắc nghiệp vụ

  • Một người có một phòng ban chính và có thể thuộc nhiều phòng ban phụ; đồng thời có thể là thành viên của nhiều đơn vị trong cây đơn vị nội bộ.
  • Trạng thái hoạt động do quản trị đặt trong ERP. Đây là dữ liệu do ERP làm chủ hoàn toàn: không hệ thống nào bên ngoài được phép thay đổi nó.
  • Nhân sự ngừng hoạt động không bị xoá: hồ sơ chuyển sang trạng thái lưu trữ, không xuất hiện trong vòng phân công, nhưng lịch sử công việc và điểm đánh giá vẫn truy vấn được.
  • Người dùng mới nhận mật khẩu khởi tạo theo cấu hình và bị buộc đổi ở lần đăng nhập đầu.
  • Ngưỡng quá tải riêng của từng người ghi đè ngưỡng chung; để trống thì dùng ngưỡng chung.

Dữ liệu chính

  • Định danh nội bộ, tên, tên đăng nhập, thư điện tử, ảnh đại diện. Trường ma_nguon_cu chỉ tồn tại tạm thời để truy vết đợt nhập dữ liệu ban đầu, xoá sau khi đối soát xong.
  • Phòng ban chính, danh sách phòng ban, danh sách đơn vị, nhóm quyền.
  • Hồ sơ cá nhân mở rộng: chức danh, ngày sinh, địa chỉ, thông tin liên hệ khẩn — lưu dạng JSON và chịu kiểm soát che trường theo tài liệu 11.
  • Trạng thái hoạt động, trạng thái sẵn sàng nhận việc, ngưỡng quá tải riêng.

Quyền

  • staff.view xem danh sách và hồ sơ trong phạm vi; staff.manage tạo, sửa, đổi trạng thái; staff.overload đặt ngưỡng quá tải riêng.
  • Nhân viên luôn xem và sửa được hồ sơ của chính mình ở các trường được đánh dấu tự khai.

Tiêu chí nghiệm thu

  • Tạo mới, sửa, ngừng hoạt động một nhân sự và thấy thay đổi phản ánh đúng trong phạm vi dữ liệu của các vai trò khác.
  • Nhân sự ngừng hoạt động không còn xuất hiện trong bất kỳ vòng phân công nào trong vòng một chu kỳ xử lý.
  • Trường nhạy cảm trong hồ sơ không hiển thị với vai trò không có quyền tương ứng, kiểm chứng cả trên giao diện và trên giao diện lập trình.

M02 · Kỹ năng & ma trận năng lực

M02

Kỹ năng & ma trận năng lực

Giai đoạn 2 · BR-02

Biến năng lực nhân sự thành dữ liệu dùng được cho engine phân công, thay vì kiến thức nằm trong đầu người quản lý.

Màn hình

  • Danh mục kỹ năng — cây hai cấp: nhóm kỹ năng (Lập trình, Giao diện, Hỗ trợ kỹ thuật, Triển khai dự án, Kinh doanh…) và kỹ năng cụ thể.
  • Ma trận năng lực — bảng nhân sự × kỹ năng của một đơn vị, ô là mức thành thạo, tô màu theo mức; thấy ngay điểm mù năng lực của đơn vị.
  • Khai báo kỹ năng của tôi — nhân viên tự chọn kỹ năng và tự chấm mức, gửi để quản lý xác nhận.

Quy tắc nghiệp vụ

  • Mức thành thạo theo thang 1 đến 5: 1 mới biết, 2 làm được có hướng dẫn, 3 làm độc lập, 4 làm tốt và hướng dẫn được người khác, 5 chuyên gia trong tổ chức.
  • Một kỹ năng của một người có hai giá trị: mức tự khai và mức đã xác nhận. Engine phân công chỉ dùng mức đã xác nhận; mức tự khai chỉ để quản lý đối chiếu.
  • Mọi thay đổi mức đều ghi lịch sử: ai đổi, khi nào, từ mức nào sang mức nào, lý do.
  • Xoá một kỹ năng khỏi danh mục bị chặn nếu còn nhân sự gắn với nó; phải gộp hoặc gỡ trước.
  • Kỹ năng có thể đánh dấu hết hiệu lực sau N tháng (áp dụng cho chứng chỉ) — hết hạn thì mức tụt về chưa xác nhận và có cảnh báo.

Tiêu chí nghiệm thu

  • Ma trận năng lực của một đơn vị 20 người hiển thị dưới 1 giây và kết xuất được ra Excel.
  • Thay đổi một mức đã xác nhận làm thay đổi thứ tự ứng viên trong đề xuất phân công ở lần chạy kế tiếp, và điều đó nhìn thấy được trong phần lý do.

M03 · Phòng ban & cây đơn vị

M03

Phòng ban & cây đơn vị

Giai đoạn 1 · BR-01

Tách bạch hai cấu trúc thường bị nhầm lẫn: phòng ban hành chính và đơn vị vận hành. Phạm vi dữ liệu và báo cáo chạy trên cây đơn vị.

Vì sao tách hai cấu trúc

Phòng ban hành chính phản ánh sơ đồ tổ chức chính thức và ít thay đổi. Đơn vị vận hành phản ánh cách công việc thực sự được chia — một đơn vị có thể gom người từ nhiều phòng ban, và một người có thể tham gia nhiều đơn vị. Ép hai thứ này vào một cây là nguyên nhân phổ biến khiến báo cáo không khớp với thực tế.

Quy tắc nghiệp vụ

  • Cây đơn vị là cây tự tham chiếu, không giới hạn số cấp. Trưởng một đơn vị cha thấy được số liệu cuộn lên từ toàn bộ đơn vị con cháu.
  • Xoá một đơn vị còn đơn vị con bị chặn ở cả tầng dịch vụ lẫn tầng cơ sở dữ liệu.
  • Mỗi đơn vị khai báo: trưởng đơn vị, danh sách thành viên, danh sách phòng ban gợi ý, và phạm vi nhận việc — nhận công việc, nhận lead, hoặc cả hai.
  • Tắt cờ nhận công việc của một đơn vị làm thành viên đơn vị đó không được chia việc qua đơn vị này, nhưng vẫn nhận được qua đơn vị khác nếu họ là thành viên nhiều nơi.
  • Đơn vị khai báo danh sách thành viên tạm dừng nhận việctạm dừng nhận lead riêng biệt.

Tiêu chí nghiệm thu

  • Một trưởng đơn vị cấp hai thấy đúng dữ liệu của toàn bộ nhánh dưới mình và không thấy gì ngoài nhánh đó.
  • Chuyển một người sang đơn vị khác làm thay đổi phạm vi dữ liệu của cả hai trưởng đơn vị liên quan ngay ở phiên tiếp theo.

M04 · Nhóm làm việc & dự án

M04

Nhóm làm việc & dự án

Giai đoạn 1 · BR-03

Gom công việc theo bối cảnh dự án hoặc theo mảng dịch vụ, để báo cáo trả lời được câu hỏi “dự án này đang thế nào” chứ không chỉ “người này đang thế nào”.

Màn hình

  • Danh sách nhóm — phân biệt nhóm thường và dự án có thời hạn; hiển thị số thành viên, số việc đang mở, tiến độ.
  • Bảng điều khiển nhóm — việc theo trạng thái, việc quá hạn, tải theo thành viên, dòng thời gian hoạt động.
  • Thành viên nhóm — thêm, gỡ, đặt vai trò trong nhóm.

Quy tắc nghiệp vụ

  • Một công việc thuộc tối đa một nhóm. Việc không thuộc nhóm nào vẫn hợp lệ và được gom vào báo cáo cá nhân.
  • Dự án có ngày bắt đầu và ngày kết thúc dự kiến; quá hạn kết thúc mà còn việc mở thì có cảnh báo trên bảng điều khiển của trưởng đơn vị.
  • Đóng một nhóm chuyển nhóm sang trạng thái lưu trữ; việc trong nhóm không bị đóng theo mà phải xử lý riêng.
  • Báo cáo kỳ có thể lập theo phạm vi nhóm làm việc, song song với phạm vi đơn vị (xem tài liệu 07).

M05 · Lịch trực & đơn xin nghỉ

M05

Lịch trực & đơn xin nghỉ

Giai đoạn 5 · BR-09, BR-10

Trả lời hai câu hỏi vận hành cơ bản mà hệ thống hiện tại không trả lời được: hôm nay ai trực, và ngày công thực tế của mỗi người trong kỳ là bao nhiêu.

Lịch trực — màn hình

  • Lịch tháng theo đơn vị — hàng là loại trực, cột là ngày, ô là người trực; kéo thả để đổi.
  • Xếp lịch từ mẫu — chọn mẫu lặp (xoay vòng theo danh sách, cố định theo thứ trong tuần, luân phiên hai tuần), sinh cả tháng rồi chỉnh ngoại lệ.
  • Lịch trực của tôi — hiển thị trên trang chủ cá nhân và trên ứng dụng di động, có nhắc trước ca.
  • Yêu cầu đổi ca — nhân viên đề nghị, người nhận đồng ý, trưởng đơn vị duyệt.

Lịch trực — quy tắc nghiệp vụ

  • Mỗi đơn vị, mỗi ngày, mỗi loại trực chỉ có đúng một người chịu trách nhiệm chính. Loại trực khai báo được trong danh mục (trực hệ thống, trực hỗ trợ, trực kênh trao đổi…).
  • Hệ thống chặn xếp trực cho người có đơn nghỉ đã duyệt trùng ngày, và cảnh báo nếu người đó đang có đơn nghỉ chờ duyệt.
  • Ngày chưa có người trực trong vòng bảy ngày tới hiện cảnh báo trên bảng điều khiển của trưởng đơn vị.
  • Số ca trực đã đảm nhiệm là một chỉ số có sẵn trong thư viện chỉ số của phân hệ đánh giá.

Đơn xin nghỉ — màn hình

  • Nộp đơn — chọn loại nghỉ, khoảng thời gian (hỗ trợ nửa buổi), lý do, người bàn giao công việc.
  • Hộp duyệt — danh sách đơn chờ duyệt của cấp quản lý, duyệt hàng loạt được.
  • Quỹ phép — số ngày được hưởng, đã dùng, còn lại, đã ứng trước; theo năm.
  • Lịch nghỉ đơn vị — xem ai nghỉ ngày nào để tránh trùng.

Đơn xin nghỉ — quy tắc nghiệp vụ

  • Loại nghỉ khai báo được, mỗi loại có thuộc tính: có trừ quỹ phép hay không, có tính là ngày công hay không, có yêu cầu chứng từ hay không.
  • Luồng duyệt hai cấp mặc định: trưởng đơn vị trực tiếp, rồi nhân sự. Số cấp và người duyệt từng cấp cấu hình được theo đơn vị.
  • Đơn được duyệt tự động trừ quỹ phéptự động giảm ngày công kỳ vọng dùng cho chấm điểm khối lượng: nghỉ cả ngày trừ trọn số giờ chuẩn, nghỉ nửa buổi trừ một nửa.
  • Nghỉ quá quỹ phép vẫn nộp được nhưng bị đánh dấu vượt quỹ và cần cấp duyệt cao hơn.
  • Hủy đơn đã duyệt phải hoàn lại quỹ phép và tính lại ngày công của kỳ tương ứng; nếu kỳ đánh giá đã chốt thì chặn và yêu cầu mở lại kỳ.

Tiêu chí nghiệm thu

  • Xếp lịch trực một tháng cho đơn vị 10 người từ mẫu lặp mất dưới 2 phút và không sinh ca trùng với đơn nghỉ đã duyệt.
  • Duyệt một đơn nghỉ cả ngày làm giảm đúng số giờ kỳ vọng của người đó trong kỳ và làm điểm khối lượng được tính lại.

M06 · Quản lý công việc

M06

Quản lý công việc

Giai đoạn 1 (cơ bản) – 2 (đầy đủ) · BR-04

Nơi nhân viên thực sự làm việc. Đây là phân hệ nặng nhất, và cũng là phân hệ quyết định hệ thống có thay thế được công cụ cũ hay không.

Màn hình

  • Việc của tôi — mặc định khi đăng nhập; ba nhóm: quá hạn, hôm nay, sắp tới; sắp xếp theo mức khẩn.
  • Danh sách công việc — bộ lọc đầy đủ (đơn vị, nhóm, người phụ trách, trạng thái, ưu tiên, hạn, nhãn), lưu được bộ lọc thành khung nhìn cá nhân.
  • Bảng Kanban — theo trạng thái hoặc theo người phụ trách, kéo thả đổi trạng thái.
  • Lịch công việc — theo hạn hoàn thành.
  • Chi tiết công việc — mô tả, việc con, người theo dõi, tệp đính kèm, bình luận, ghi giờ, lịch sử thay đổi, đề xuất phân công (nếu có).
  • Bảng tải — số việc đang mở, việc sắp tới hạn, việc quá hạn theo từng người trong phạm vi.

Quy tắc nghiệp vụ

  • Trạng thái theo vòng đời: Mới → Đang làm → Chờ kiểm tra → Hoàn thành, cộng hai nhánh Tạm hoãnHuỷ. Tập trạng thái coi là “đang mở” khai báo được trong cấu hình.
  • Mức ưu tiên ba bậc: Thấp, Thường, Cao. Ưu tiên tham gia vào công thức chấm điểm phân công.
  • Công việc có giờ ước lượnggiờ thực tế ghi nhận. Tỉ số giữa hai giá trị này là một chỉ số đánh giá (T/E) — xem tài liệu 07.
  • Việc cha con: đóng việc cha bị chặn khi còn việc con đang mở. Tải của một người tính trên việc lá, không đếm trùng việc cha.
  • Kiểm tra nội dung khi tạo — theo phân loại công việc, hệ thống yêu cầu những thông tin bắt buộc tương ứng (ví dụ việc gia hạn tên miền cần mã dịch vụ và ngày hết hạn). Việc thiếu thông tin bị trả lại cho người tạo kèm ghi chú, không đưa vào vòng phân công.
  • Đánh giá chất lượng — người giao hoặc người kiểm tra chấm điểm 1–5 khi đóng việc; điểm này là đầu vào của chỉ số chất lượng.
  • Mở lại — một việc đã hoàn thành bị mở lại sẽ được ghi nhận và tính vào chỉ số tỉ lệ mở lại của người phụ trách.
  • Quá hạn do duyệt trễ — việc nằm ở trạng thái Chờ kiểm tra quá N ngày sẽ nhắc người kiểm tra và không tính là quá hạn của người thực hiện. Quy tắc này ngăn việc chấm sai trách nhiệm.

Quyền

  • task.view, task.create, task.edit, task.assign, task.comment, task.rate.
  • Người phụ trách và người theo dõi luôn xem và bình luận được việc của mình bất kể phạm vi.

Tiêu chí nghiệm thu

  • Toàn bộ vòng đời một công việc — tạo, kiểm tra nội dung, phân công, làm, ghi giờ, kiểm tra, chấm điểm, đóng — thực hiện trọn vẹn trong ERP, không cần bất kỳ công cụ nào khác.
  • Bảng tải khớp với số việc đang mở đếm trực tiếp từ cơ sở dữ liệu, kiểm chứng trên ba đơn vị mẫu.
  • Việc bị treo ở Chờ kiểm tra quá ngưỡng không làm giảm tỉ lệ đúng hạn của người thực hiện.

M07 · Phân công công việc tự động

Đặc tả đầy đủ nằm ở tài liệu 06. Tóm tắt phạm vi: engine sinh đề xuất người phụ trách cho công việc mới hoặc công việc đang nằm ở tài khoản gom, chấm điểm theo kỹ năng khớp, tải hiện tại, áp lực hạn và tín hiệu AI; hộp duyệt cho quản lý; ghi nhận mọi quyết định làm dữ liệu hiệu chỉnh.

M08 · Quản lý lead

M08

Quản lý lead

Giai đoạn 4 · BR-07

Đưa dữ liệu khách hàng tiềm năng về cùng một nền với dữ liệu vận hành, để tốc độ chăm sóc và tỉ lệ chuyển đổi trở thành chỉ số đo được của từng nhân sự.

Màn hình

  • Danh sách lead — lọc theo nguồn, loại, khu vực, giai đoạn, người phụ trách, khoảng thời gian; đánh dấu lead chưa có tương tác quá ngưỡng.
  • Chi tiết lead — thông tin liên hệ, nguồn, nhu cầu dịch vụ, dòng thời gian chăm sóc, lịch sử chia lead kèm lý do.
  • Phễu bán hàng — số lead theo từng giai đoạn, tỉ lệ chuyển đổi giữa các giai đoạn.
  • Lead của tôi — bản rút gọn cho nhân viên kinh doanh, có nút ghi nhận tương tác nhanh.

Quy tắc nghiệp vụ

  • Lead có ba chiều phân loại độc lập: nguồn (kênh cụ thể lead đến từ đâu), loại (nhóm nguồn theo chất lượng, ví dụ dữ liệu Nhân Hòa và dữ liệu nguồn khác), và khu vực. Cả ba đều tham gia vào quy tắc định tuyến.
  • Giai đoạn khai báo được; tập giai đoạn coi là “đang mở” cấu hình được, tương tự công việc.
  • Mốc chạm đầu tiên được ghi tự động khi người phụ trách ghi nhận tương tác đầu tiên. Chênh lệch giữa mốc nhận và mốc chạm đầu là chỉ số tốc độ phản hồi.
  • Báo dữ liệu không dùng được — nhân viên đánh dấu lead là dữ liệu rác kèm lý do. Nếu báo trong ngưỡng thời gian cấu hình được, người đó được ghi một lượt ưu tiên nhận lead mới (xem tài liệu 06).
  • Lead đang mở không có tương tác quá 24 giờ xuất hiện trong danh sách cảnh báo của trưởng đơn vị.
  • Chuyển đổi lead thành khách hàng ghi nhận doanh số, là đầu vào của chỉ số doanh số và tính hoa hồng.

Tiêu chí nghiệm thu

  • Một lead mới đi trọn vòng: vào hệ thống, được định tuyến, được chia, được ghi nhận tương tác, chuyển giai đoạn, và xuất hiện đúng trong phễu cùng trong chỉ số của người phụ trách.
  • Danh sách lead bỏ quên quá 24 giờ khớp với truy vấn kiểm chứng trực tiếp.

M09 · Chia lead tự động

Đặc tả đầy đủ nằm ở tài liệu 06. Tóm tắt phạm vi: định tuyến lead tới đơn vị phù hợp theo quy tắc nhiều chiều, xoay vòng trong đơn vị theo vị trí và trọng số, hàng ưu tiên cho các trường hợp bù lượt và báo dữ liệu rác, cùng toàn bộ cấu hình theo từng team.

M10 · Báo cáo kỳ & đánh giá KPI

Đặc tả đầy đủ nằm ở tài liệu 07. Tóm tắt phạm vi: thư viện chỉ số dùng chung, bộ tiêu chí khai báo riêng cho từng đơn vị, quy trình mở kỳ, thu thập tự động, chấm, chốt và kết xuất.

M11 · Trợ lý AI

Đặc tả đầy đủ nằm ở tài liệu 08. Tóm tắt phạm vi: cổng hỏi đáp tiếng Việt, bộ công cụ truy vấn bị ràng buộc phạm vi quyền, cơ chế chống rò rỉ dữ liệu, nhật ký kiểm toán và định tuyến mô hình theo độ khó câu hỏi.

M12 · Quản trị hệ thống & cấu hình

M12

Quản trị hệ thống & cấu hình

Giai đoạn 1–2 · BR-18

Cho phép thay đổi hành vi hệ thống mà không cần phát hành mã. Đây là phân hệ hiện thực hoá nguyên tắc “cấu hình là dữ liệu”.

Nhóm cấu hình

NhómNội dung khai báoAi được sửa
Phân công công việcTrọng số bốn thành phần điểm, ngưỡng quá tải, mốc sắp tới hạn và trọng số áp lực hạn, thứ tự sắp xếp hàng chờ, bật/tắt tự động duyệtQuản trị
Chia leadQuy tắc định tuyến, danh mục loại lead, tham số hàng ưu tiên và bù lượt, ngưỡng quá tải leadQuản trị; trưởng đơn vị sửa phần thuộc đơn vị mình
Đánh giáThư viện chỉ số, bộ tiêu chí theo đơn vị, ngưỡng xếp loại, số giờ làm việc chuẩn mỗi ngàyQuản trị; trưởng phòng ban sửa bộ tiêu chí của khối mình
Vòng đờiTập trạng thái coi là đang mở cho công việc và lead, danh mục loại nghỉ, danh mục loại trựcQuản trị
Kiểm tra nội dungPhân loại công việc và các trường bắt buộc tương ứngQuản trị
Nhập dữ liệu ban đầuNguồn nhập, bảng quy đổi trạng thái và danh mục, phạm vi và mốc thời gian nhập. Chỉ dùng ở đợt di trú, tắt sau khi cắt chuyểnQuản trị
Trí tuệ nhân tạoBật/tắt, khoá kết nối, chọn mô hình cho từng loại tác vụ, hạn mức chi phíQuản trị
Thông báoCấu hình thư điện tử, mẫu thư, kênh đẩy, quy tắc gửi theo sự kiệnQuản trị
Phân quyềnNhóm quyền, khoá quyền trong nhóm, gán nhóm cho nhân sựQuản trị

Quy tắc nghiệp vụ

  • Mọi thay đổi cấu hình đều ghi nhật ký kiểm toán: ai đổi, khi nào, giá trị trước và sau.
  • Các giá trị bí mật (khoá kết nối, mật khẩu thư, mã webhook) được che khi trả về giao diện; gửi giá trị rỗng khi lưu nghĩa là giữ nguyên giá trị cũ.
  • Thay đổi cấu hình có hiệu lực ở chu kỳ xử lý tiếp theo, không cần khởi động lại dịch vụ.
  • Cấu hình ảnh hưởng tới điểm số đã chốt (bộ tiêu chí, trọng số KPI) không được áp hồi tố cho kỳ đã khoá; hệ thống lưu bản chụp bộ tiêu chí tại thời điểm chốt.

Tiêu chí nghiệm thu

  • Thêm một đơn vị mới với bộ tiêu chí đánh giá riêng và quy tắc chia lead riêng, hoàn tất bằng giao diện, không có thay đổi mã nguồn nào.
  • Đổi một trọng số chấm điểm và thấy đề xuất phân công thay đổi ở chu kỳ kế tiếp mà không cần khởi động lại.
  • Mở lại một kỳ đánh giá đã chốt vẫn dùng bộ tiêu chí tại thời điểm chốt, không dùng bộ tiêu chí hiện hành.
Tài liệu 06 · Nghiệp vụ lõi

Engine phân công tự động

Đặc tả cơ chế đưa công việc và lead đến đúng người: định nghĩa tải, công thức chấm điểm, luồng định tuyến và xoay vòng, các trường hợp biên bắt buộc xử lý, và toàn bộ tham số khai báo được cho từng đơn vị.

Nguyên tắc vận hành

Mô hình ba bước

Đề xuất → Duyệt → Ghi nhận. Engine không bao giờ gán thẳng trong giai đoạn đầu. Nó sinh đề xuất kèm điểm số và lý do; quản lý duyệt, đổi người hoặc bỏ qua; mọi quyết định được ghi lại và trở thành dữ liệu để hiệu chỉnh trọng số.

  việc mới ────▶ HÀNG CHỜ ────▶ ENGINE ────▶ ĐỀ XUẤT ────▶ HỘP DUYỆT
                    │              │          người        ├─ Duyệt      ─▶ gán
                    │              │          điểm         ├─ Đổi người  ─▶ gán + ghi nhận lệch
                    │              │          lý do        └─ Bỏ qua     ─▶ trả lại hàng chờ
                    │              │
                    │              └── đọc: kỹ năng · tải · hạn · ưu tiên · tín hiệu AI
                    │
                    └── lọc: đang mở · chưa có người thật · đơn vị nhận việc

Bốn nguyên tắc ràng buộc mọi quyết định thiết kế trong tài liệu này:

  • Luôn có lý do đọc được. Mỗi đề xuất kèm câu giải thích bằng tiếng Việt liệt kê các thành phần điểm. Một đề xuất không giải thích được thì không được hiển thị.
  • Luôn chạy được khi tắt AI. Tín hiệu AI là một thành phần cộng thêm với trọng số riêng. Đặt trọng số đó về 0, engine vẫn hoạt động đầy đủ bằng quy tắc.
  • Công bằng có thể đo. Mục tiêu không phải là chia đều tuyệt đối mà là giữ độ lệch tải trong ngưỡng. Độ lệch được đo và hiển thị, không phải giả định.
  • Không giành việc đã có chủ. Việc đã có người phụ trách thật thì engine không đề xuất lại, trừ khi có yêu cầu phân công lại tường minh. Quyết định của con người luôn thắng quyết định của engine.

Ba định nghĩa nền

Ba khái niệm dưới đây phải được chốt trước mọi công thức, vì mọi tranh cãi về “engine chia sai” trong thực tế đều quy về việc hai bên hiểu khác nhau ba khái niệm này.

Việc cần phân công

Một công việc được đưa vào hàng chờ phân công khi thoả đồng thời ba điều kiện:

  1. Trạng thái thuộc tập đang mở (khai báo trong cấu hình).
  2. Người phụ trách hiện tại là tài khoản gom — nghĩa là chưa có người thật. Trong ERP, tài khoản gom mặc định là trưởng đơn vị tiếp nhận; với lead, danh sách tài khoản gom khai báo riêng.
  3. Đơn vị tiếp nhận có cờ nhận công việc (hoặc nhận lead) đang bật.

Việc đã gán cho một người thật không quay lại hàng chờ. Đây là quy tắc chống vòng lặp quan trọng nhất: nếu bỏ qua nó, engine sẽ liên tục đề xuất lại những việc quản lý vừa gán tay.

Đang mở

Tập trạng thái coi là đang mở là dữ liệu cấu hình, không viết cứng trong mã. Mặc định gồm mọi trạng thái chưa kết thúc: Mới, Đang làm, Chờ kiểm tra, Tạm hoãn. Không gồm Hoàn thành và Huỷ. Lý do để cấu hình: các đơn vị dùng vòng đời khác nhau, và tập này thay đổi khi quy trình thay đổi.

Tải

Tải không phải là số việc. Tải là số việc đang mở cộng với áp lực từ các hạn sắp tới, vì một người đang giữ ba việc đến hạn ngày mai chịu áp lực lớn hơn người giữ năm việc đến hạn tháng sau.

tải(người) = số_việc_đang_mở
           + Σ  trọng_số_áp_lực(việc)   với mỗi việc đang mở

trọng_số_áp_lực(việc) =
    2,0   nếu đã quá hạn
    1,0   nếu còn ≤ 1 ngày tới hạn
    0,5   nếu còn ≤ 3 ngày tới hạn
    0,0   nếu còn > 3 ngày tới hạn hoặc không có hạn

Các mốc ngày và hệ số trên là giá trị mặc định, khai báo được trong cấu hình duePressure. Người có tải vượt ngưỡng quá tải bị loại khỏi vòng phân công; ngưỡng đặt chung cho toàn hệ thống và ghi đè được cho từng người.

Phân công công việc — công thức chấm điểm

Với mỗi công việc trong hàng chờ, engine lập danh sách ứng viên đủ điều kiện rồi chấm điểm từng người. Người điểm cao nhất được đề xuất; hoà điểm thì ưu tiên người tải thấp hơn.

Điều kiện lọc ứng viên

  1. Thuộc ít nhất một đơn vị có cờ nhận công việc và đơn vị đó phù hợp với bối cảnh của việc (nhóm làm việc, phòng ban).
  2. Đang hoạt động và ở trạng thái sẵn sàng nhận việc.
  3. Không nằm trong danh sách tạm dừng nhận việc của đơn vị.
  4. Không có đơn nghỉ đã duyệt phủ ngày hiện tại.
  5. Tải chưa vượt ngưỡng quá tải.

Công thức

điểm = w_kỹnăng × điểm_kỹ_năng
     + w_tải     × thành_phần_tải
     + w_ưutiên  × thành_phần_ưu_tiên
     + w_ai      × tín_hiệu_ai

điểm_kỹ_năng    = trung bình( mức_thành_thạo / 5 ) trên các kỹ năng việc yêu cầu
                  (bằng 0 nếu việc không khai báo kỹ năng yêu cầu)

thành_phần_tải  = 1 / (1 + tải)          → tải nhẹ cho điểm cao, giảm dần

thành_phần_ưu_tiên = 1,0 nếu ưu tiên Cao
                     0,6 nếu ưu tiên Thường
                     0,3 nếu ưu tiên Thấp

tín_hiệu_ai     ∈ [0; 1]  — độ phù hợp do mô hình ước lượng từ nội dung việc
                  (bằng 0 khi tắt AI)
Trọng sốKhoá cấu hìnhMặc địnhÝ nghĩa khi tăng
Kỹ năng khớpweights.skill0,45Ưu tiên đúng người biết việc, chấp nhận lệch tải hơn
Tải nhẹweights.load0,30Ưu tiên chia đều, chấp nhận người ít kinh nghiệm hơn nhận việc
Độ ưu tiên việcweights.priority0,15Việc gấp đẩy điểm chung lên, làm engine quyết đoán hơn khi các ứng viên sát nhau
Tín hiệu AIweights.ai0,10Cho phép nội dung mô tả tự do ảnh hưởng nhiều hơn tới lựa chọn
Lưu ý khi chỉnh trọng số

Thành phần ưu tiên là hằng số với mọi ứng viên của cùng một công việc, nên nó không đổi thứ hạng giữa các ứng viên — nó chỉ nâng điểm tuyệt đối. Giá trị của nó nằm ở chỗ làm ngưỡng tin cậy có ý nghĩa: khi bật chế độ tự động duyệt, chỉ những đề xuất vượt ngưỡng điểm mới được gán thẳng, và việc gấp dễ vượt ngưỡng hơn.

Vai trò của AI trong phân công công việc

Mô hình đọc tiêu đề và mô tả để trả về một cấu trúc gồm: danh sách kỹ năng suy ra được, ước lượng độ phức tạp, và mức khẩn cảm nhận từ ngôn ngữ. Kết quả được quy về một giá trị trong khoảng 0 đến 1 cho từng ứng viên.

  • Khi tắt AI, hệ thống dùng so khớp từ khoá giữa mô tả việc và tên kỹ năng trong danh mục. Kém tinh tế hơn nhưng đủ dùng.
  • Mọi lần gọi mô hình đều ghi nhật ký số token để kiểm soát chi phí.
  • Mô hình phải trả về dữ liệu có cấu trúc kèm lý do; kết quả không đúng cấu trúc bị bỏ qua và engine chạy tiếp bằng quy tắc.

Ví dụ chấm điểm một công việc

Công việc: “Cài chứng chỉ SSL cho tên miền khách hàng, khách báo lỗi trình duyệt cảnh báo” — ưu tiên Cao, kỹ năng yêu cầu: SSLHosting. Trọng số dùng giá trị mặc định.

Ứng viênSSLHostingĐiểm kỹ năngTảiTP tảiTP ưu tiênTín hiệu AIĐiểm cuối
Nguyễn A450,907,00,1251,00,200,613
Trần B530,802,00,3331,00,100,620
Lê C240,601,00,5001,00,000,570

Đề xuất là Trần B, hơn Nguyễn A đúng 0,007 điểm. Lý do hiển thị cho quản lý:

Lý do đề xuất

Trần B — điểm 0,62. Khớp kỹ năng SSL ở mức 5/5 và Hosting ở mức 3/5. Đang giữ 2 việc mở, tải nhẹ nhất trong nhóm ứng viên đủ điều kiện. Nguyễn A khớp kỹ năng tốt hơn (0,90 so với 0,80) nhưng đang giữ 7 việc mở, trong đó 2 việc quá hạn.

Ví dụ này minh hoạ đúng hành vi mong muốn: engine không mù quáng chọn người giỏi nhất, mà cân bằng giữa năng lực và khả năng thực sự nhận thêm việc. Nếu tổ chức muốn nghiêng hẳn về năng lực, chỉ cần nâng weights.skill lên 0,60 và hạ weights.load xuống 0,15 — khi đó Nguyễn A thắng với 0,690 so với 0,630.

Chia lead — định tuyến và xoay vòng

Lead khác công việc ở chỗ nội dung thường ngắn và ít cần hiểu sâu, nhưng tính công bằng lại quan trọng hơn nhiều vì lead gắn trực tiếp với thu nhập của nhân viên kinh doanh. Vì vậy cơ chế là xoay vòng có quy tắc chứ không phải chấm điểm.

  lead mới
     │
     ▼
  ① ĐỊNH TUYẾN ─── đối chiếu quy tắc: khu vực × nguồn × loại lead
     │             ↳ ra danh sách đơn vị đủ điều kiện + trọng số đơn vị
     ▼
  ② HÀNG ƯU TIÊN ── có ai đang chờ lượt ưu tiên trong đơn vị này?
     │              ├─ CÓ  → cấp lead cho người đó, kết thúc
     │              └─ KHÔNG → sang bước ③
     ▼
  ③ XOAY VÒNG ──── trong đơn vị: theo thứ tự vị trí đã khai báo,
     │              bỏ qua người tạm dừng / nghỉ / quá tải,
     │              áp trọng số cá nhân
     ▼
  ④ GHI NHẬN ───── lưu: ai nhận, đơn vị nào, quy tắc nào khớp,
                   vị trí thứ mấy, vòng thứ mấy, lý do

Bước ① — Định tuyến theo quy tắc

Một quy tắc định tuyến gồm năm phần: nhãn, tập khu vực, tập nguồn hoặc loại lead, danh sách đơn vị nhận kèm trọng số, và cờ bật/tắt. Quy tắc được duyệt theo thứ tự; quy tắc đầu tiên khớp sẽ thắng.

Nhãn quy tắcKhu vựcNguồn / loạiĐơn vị nhậnTrạng thái
Dữ liệu Nhân Hòa – Hà NộiHà NộiLoại: dữ liệu Nhân HòaKinh doanh HN (trọng số 1,0)Bật
Dữ liệu Nhân Hòa – HCMHồ Chí MinhLoại: dữ liệu Nhân HòaKinh doanh HCM (trọng số 1,0)Bật
Nguồn ngoài – chia hai miềnMọi khu vựcLoại: nguồn khácKinh doanh HN (0,6), Kinh doanh HCM (0,4)Bật
Dịch vụ doanh nghiệpMọi khu vựcNguồn: biểu mẫu gói doanh nghiệpKhách hàng lớn (1,0)Bật
Mặc địnhMọi khu vựcMọi nguồnKinh doanh HN (1,0)Dự phòng

Quy tắc mặc định ở cuối danh sách là bắt buộc: nó bảo đảm không lead nào rơi ra ngoài mọi quy tắc và bị bỏ quên.

Bước ② — Hàng ưu tiên

Hàng ưu tiên xử lý hai tình huống mà xoay vòng thuần không giải quyết được:

Loại lượt ưu tiênSinh ra khi nàoTham số
Bù dữ liệu không dùng đượcNhân viên báo lead là dữ liệu rác trong ngưỡng thời gian cấu hình được, và báo cáo được chấp nhậnNgưỡng thời gian báo (mặc định 2 ngày kể từ khi nhận)
Bù lượt bị bỏNhân viên quay lại nhận lead sau thời gian tạm dừng, những lượt bị bỏ qua trong thời gian đó được ghi nợSố lượt tối đa mỗi người, thời hạn hết hiệu lực, khoảng giãn cách giữa hai lượt bù

Giãn cách giữa các lượt bù là chi tiết quan trọng: nếu trả hết nợ một lúc, người đó nhận dồn năm lead trong một phút và không kịp chăm sóc lead nào. Mặc định giãn cách là 5 phút mỗi lượt.

Bước ③ — Xoay vòng theo vị trí và trọng số

Mỗi đơn vị khai báo thứ tự vị trí nhận lead (danh sách người theo thứ tự) và trọng số nhận cho từng người. Con trỏ xoay vòng lưu bền vững theo đơn vị, nên khởi động lại hệ thống không làm lệch vòng.

  • Trọng số 1,0 nghĩa là nhận đủ mỗi vòng một lead. Trọng số 0,5 nghĩa là hai vòng mới nhận một lead — dùng cho nhân viên mới hoặc nhân viên kiêm nhiệm.
  • Người không có trong danh sách vị trí được xếp cuối theo thứ tự tên, với trọng số 1,0.
  • Người bị bỏ qua vì tạm dừng, nghỉ hoặc quá tải không làm dịch chuyển con trỏ — vòng tiếp theo họ vẫn đứng đúng chỗ cũ.

Ví dụ chia lead một vòng

Đơn vị Kinh doanh HN có bốn người. Thứ tự vị trí: Nguyễn A → Trần B → Lê C → Phạm D. Trọng số: A 1,0 · B 1,0 · C 0,5 · D 1,0. Lê C đang tạm dừng nhận lead từ lead thứ tư. Phạm D có một lượt bù đang chờ.

LeadNgười nhậnLý doVòng
1Nguyễn AVị trí 1, vòng 11
2Trần BVị trí 2, vòng 11
3Phạm DLượt bù đang chờ, cấp trước xoay vòng1
4Lê CVị trí 3, vòng 1 — trọng số 0,5 nên đủ điều kiện nhận ở vòng lẻ1
5Phạm DVị trí 4, vòng 11
6Nguyễn AVị trí 1, vòng 22
7Trần BVị trí 2, vòng 22
8Phạm DVị trí 4, vòng 2 — Lê C bị bỏ qua do trọng số 0,5 ở vòng chẵn2

Sau tám lead: A nhận 2, B nhận 2, C nhận 1, D nhận 3 (trong đó 1 là lượt bù). Tỉ lệ khớp với trọng số đã khai báo. Nếu Lê C chuyển sang tạm dừng hoàn toàn từ lead thứ 9, con trỏ vẫn giữ vị trí của C và những lượt bị bỏ sẽ được ghi nợ để bù khi C quay lại.

Trường hợp biên bắt buộc xử lý

Tình huốngXử lýHiển thị cho người dùng
Không ứng viên nào khớp kỹ năng yêu cầuChọn người tải nhẹ nhất trong nhóm đủ điều kiệnĐánh dấu Cần chú ý kèm ghi chú “không có người khớp kỹ năng”
Mọi ứng viên đều quá tảiKhông sinh đề xuất; đưa việc vào danh sách tồn đọngCảnh báo trên bảng điều khiển của trưởng đơn vị và điều phối
Đơn vị không có thành viên nào đủ điều kiệnChuyển sang đơn vị tiếp theo trong quy tắc; nếu hết thì rơi vào quy tắc dự phòngGhi rõ trong lý do là đã chuyển đơn vị và vì sao
Việc đã có người phụ trách thậtKhông đề xuất lạiKhông hiển thị trong hộp duyệt
Người phụ trách nghỉ dài ngàyViệc đang mở của người đó xuất hiện trong danh sách đề nghị phân công lại, không tự động chuyểnDanh sách riêng “cần phân công lại do nghỉ”
Đề xuất bị đổi ngườiGhi nhận người được đề xuất và người thực nhận, cùng chênh lệch điểmThống kê tỉ lệ đổi người theo đơn vị
Việc còn ở tài khoản gom nhưng trạng thái đã đóngBỏ qua, không đề xuấtKhông hiển thị
Lead không khớp quy tắc nàoRơi vào quy tắc dự phòng bắt buộc ở cuối danh sáchĐánh dấu Chia theo quy tắc dự phòng
Toàn bộ thành viên đơn vị tạm dừng nhận leadLead giữ ở hàng chờ, không chia; cảnh báo sau 15 phútCảnh báo “đơn vị không có ai nhận lead”
Hai tiến trình cùng chia một leadKhoá bản ghi ở tầng cơ sở dữ liệu; thao tác gán là bất biến theo khoá leadKhông nhìn thấy; kiểm chứng bằng kiểm thử đồng thời

Bảng cấu hình engine

KhoáÝ nghĩaMặc địnhPhạm vi
weightsBốn trọng số chấm điểm công việc0,45 / 0,30 / 0,15 / 0,10Toàn hệ thống
taskOverloadThresholdNgưỡng tải coi là quá tải với công việc12Toàn hệ thống, ghi đè theo người
leadOverloadThresholdNgưỡng lead đang mở coi là quá tải30Toàn hệ thống, ghi đè theo người
duePressureMốc ngày và hệ số áp lực hạn2,0 / 1,0 / 0,5 theo mốc quá hạn, 1 ngày, 3 ngàyToàn hệ thống
openStagesTập trạng thái coi là đang mở, tách riêng công việc và leadBốn trạng thái chưa kết thúcToàn hệ thống
assignmentSortThứ tự ưu tiên xử lý hàng chờưu tiên → hạn → thời điểm tạoToàn hệ thống
autoApproveBật gán thẳng không cần duyệt, kèm ngưỡng điểm tối thiểuTắtToàn hệ thống, bật dần theo đơn vị
leadRoutingRulesDanh sách quy tắc định tuyến leadRỗng, phải khai báoToàn hệ thống
leadTypesDanh mục loại lead và các nguồn thuộc từng loạiRỗng, tuỳ chọnToàn hệ thống
leadPriorityTham số hàng ưu tiên: ngưỡng báo dữ liệu rác, số lượt bù tối đa, giãn cách, thời hạn2 ngày / 5 lượt / 5 phút / 30 ngàyToàn hệ thống
Thứ tự vị trí nhận leadDanh sách người theo thứ tự trong đơn vịTheo tênTừng đơn vị
Trọng số nhận leadHệ số nhận của từng thành viên1,0Từng đơn vị
Tạm dừng nhận việc / nhận leadDanh sách thành viên tạm không nhậnRỗngTừng đơn vị
Cờ nhận việc / nhận lead của đơn vịĐơn vị có tham gia vòng phân công hay khôngBật cả haiTừng đơn vị
Nguồn và loại lead đơn vị nhậnGiới hạn loại lead đơn vị được nhậnRỗng = nhận mọi loạiTừng đơn vị

Đo lường & hiệu chỉnh

Engine phải tự chứng minh nó đang hoạt động tốt. Bốn chỉ số dưới đây hiển thị trên bảng điều khiển vận hành và được xem xét hằng tháng.

≥ 80%

Tỉ lệ duyệt không đổi người

Đo chất lượng đề xuất. Xuống dưới ngưỡng ở một đơn vị là dấu hiệu trọng số của đơn vị đó cần chỉnh, hoặc dữ liệu kỹ năng chưa cập nhật.

< 25%

Độ lệch tải trong nhóm

Độ lệch chuẩn số việc đang mở chia cho giá trị trung bình nhóm. Vượt ngưỡng nghĩa là trọng số tải đang quá thấp so với trọng số kỹ năng.

< 15′

Thời gian tới khi có người phụ trách

Trung vị khoảng cách giữa mốc việc vào hàng chờ và mốc được duyệt gán, tính trong giờ làm việc.

≈ 0

Việc và lead mồ côi

Số bản ghi đang mở, không có người thật, quá ngưỡng thời gian. Bất kỳ giá trị nào khác 0 kéo dài đều cần truy nguyên.

Quy trình hiệu chỉnh trọng số

  1. Thu thập lệch

    Mỗi lần quản lý đổi người, hệ thống lưu người được đề xuất, người thực nhận và chênh lệch điểm giữa hai người. Đây là dữ liệu duy nhất cần để hiệu chỉnh.

  2. Xem xét hằng tháng theo đơn vị

    Nếu một đơn vị có tỉ lệ đổi người vượt 20%, xem xét mẫu lệch: đổi sang người khớp kỹ năng hơn thì tăng trọng số kỹ năng; đổi sang người rảnh hơn thì tăng trọng số tải.

  3. Thử trên bản sao trước khi áp

    Chạy lại engine với trọng số mới trên dữ liệu 30 ngày gần nhất và so tỉ lệ trùng khớp với quyết định thực tế của quản lý. Chỉ áp khi tỉ lệ trùng tăng.

  4. Bật tự động duyệt theo từng đơn vị

    Khi một đơn vị giữ tỉ lệ duyệt không đổi người trên 90% liên tục ba tháng, bật chế độ gán thẳng cho các đề xuất vượt ngưỡng điểm, giữ hộp duyệt cho phần còn lại.

Rủi ro cần theo dõi

Engine chia đều tải có một tác dụng phụ đã biết: người làm nhanh đóng việc sớm nên tải luôn thấp, dẫn tới nhận thêm việc liên tục — trong khi người làm chậm giữ tải cao và được che chắn. Biện pháp là đưa thông lượng đã hoàn thành vào bảng tải để quản lý nhìn thấy cả hai chiều, và đưa chỉ số khối lượng vào bộ tiêu chí đánh giá (tài liệu 07) để công sức bỏ ra được ghi nhận.

Tài liệu 07 · Nghiệp vụ lõi

Khung KPI & báo cáo theo team

Mỗi đơn vị ở Nhân Hòa đo hiệu quả bằng một thước khác nhau, và đó là điều đúng đắn. Tài liệu này đặc tả cấu trúc cho phép khai báo thước đo riêng của từng đơn vị như dữ liệu, đồng thời giữ được khả năng so sánh ở cấp công ty.

Vấn đề cần giải

Hệ thống hiện tại có đúng một bộ tiêu chí, xây cho khối IT Dịch vụ Web, thang 100 điểm. Bộ này đo tỉ lệ đúng hạn, mức độ hài lòng, lỗi nội dung, khối lượng và tỉ số giờ thực tế trên giờ ước lượng. Nó hoạt động tốt cho khối đó.

Nó không hoạt động cho các khối khác, vì lý do rất đơn giản:

  • Nhân viên kinh doanh không có “tỉ lệ đúng hạn công việc” theo nghĩa có ý nghĩa. Thứ họ được đo là doanh số, tỉ lệ chuyển đổi và tốc độ chạm khách hàng.
  • Nhân viên hạ tầng có thể cả tháng không đóng việc nào đáng kể nhưng giữ hệ thống chạy liên tục. Thước đo của họ là mức sẵn sàng dịch vụ, thời gian khôi phục sự cố và tuân thủ cam kết dịch vụ.
  • Nhân viên hỗ trợ khách hàng được đo bằng thời gian phản hồi đầu tiên và tỉ lệ giải quyết ngay ở lần chạm đầu, chứ không phải số giờ ghi nhận.

Cách xử lý hiện nay là viết công cụ riêng cho từng khối, hoặc dùng chung bộ tiêu chí rồi bù trừ bằng nhận định của quản lý. Cách thứ nhất tốn kém; cách thứ hai làm điểm số mất ý nghĩa.

Nguyên tắc thiết kế

Chỉ số là tài sản chung, bộ tiêu chí là tài sản riêng. Hệ thống cung cấp một thư viện chỉ số được định nghĩa và tính toán thống nhất cho toàn công ty. Mỗi đơn vị chọn từ thư viện đó những chỉ số phù hợp, đặt trọng số riêng và ngưỡng xếp loại riêng. Thêm một đơn vị mới với cách đo mới không được kéo theo một lần phát hành mã.

Mô hình ba tầng

  ┌─ TẦNG 1 ─ THƯ VIỆN CHỈ SỐ ────────────────────────────────────────┐
  │  Định nghĩa và công thức tính, dùng chung toàn công ty.           │
  │  MT-01 tỉ lệ đúng hạn · MT-09 tỉ lệ chuyển đổi · MT-15 mức sẵn    │
  │  sàng dịch vụ · … · mỗi chỉ số có nguồn dữ liệu và cách chuẩn hoá │
  └──────────────────────────┬────────────────────────────────────────┘
                             │  chọn + đặt trọng số + đặt ngưỡng
  ┌─ TẦNG 2 ─ BỘ TIÊU CHÍ ───▼────────────────────────────────────────┐
  │  Gắn với MỘT đơn vị và có hiệu lực từ MỘT kỳ.                     │
  │  Nhóm → Mục → Tiêu chí (điểm tối đa, tự chấm hay chấm tay)        │
  │  Ví dụ: "KPI Kinh doanh 2027" · "KPI Hạ tầng 2027"                │
  └──────────────────────────┬────────────────────────────────────────┘
                             │  áp cho một kỳ cụ thể
  ┌─ TẦNG 3 ─ KỲ ĐÁNH GIÁ ───▼────────────────────────────────────────┐
  │  Tuần / tháng / quý × đơn vị hoặc nhóm dự án.                     │
  │  Chứa: danh sách nhân sự, số liệu đã chốt, điểm từng người,       │
  │  nhận xét, xếp loại, bản chụp bộ tiêu chí tại thời điểm chốt      │
  └───────────────────────────────────────────────────────────────────┘

Tách ba tầng giải quyết ba vấn đề khác nhau:

  • Tầng 1 giữ tính so sánh được. “Tỉ lệ đúng hạn” chỉ có một định nghĩa trong toàn công ty. Hai đơn vị dùng cùng chỉ số thì con số của họ so sánh được, kể cả khi trọng số khác nhau.
  • Tầng 2 giữ tính đặc thù. Đơn vị toàn quyền chọn đo gì và nặng nhẹ ra sao.
  • Tầng 3 giữ tính bất biến của lịch sử. Kỳ đã chốt lưu bản chụp bộ tiêu chí, nên đổi tiêu chí năm nay không làm thay đổi điểm năm ngoái.

Thư viện chỉ số

Hai mươi hai chỉ số dưới đây là bộ khởi đầu, đủ phủ các khối hiện có. Thư viện mở rộng được qua giao diện quản trị. Cột chuẩn hoá cho biết cách quy giá trị thô về thang điểm.

Nhóm công việc

Chỉ sốCông thứcChuẩn hoá về điểmNguồn
MT-01Tỉ lệ đúng hạnSố việc đóng đúng hạn ÷ số việc đóng trong kỳTuyến tính: điểm = tối đa × tỉ lệM06
MT-02Khối lượng xử lýSố việc đóng trong kỳSo với chuẩn đơn vị: điểm = tối đa × min(1; thực tế ÷ chuẩn)M06
MT-03Giờ ghi nhận trên ngày côngTổng giờ ghi nhận ÷ ngày công thực tếSo với giờ chuẩn: điểm = tối đa × min(1; thực tế ÷ giờ chuẩn)M05, M06
MT-04Tỉ số thực tế trên ước lượngTổng giờ thực tế ÷ tổng giờ ước lượngBậc thang: gần 1,0 điểm cao nhất; lệch nhiều về hai phía đều trừ điểmM06
MT-05Tỉ lệ việc bị mở lạiSố việc bị mở lại ÷ số việc đóngNghịch: mỗi việc mở lại trừ một mức, có sàn 0M06
MT-06Điểm chất lượng trung bìnhTrung bình điểm 1–5 do người kiểm tra chấmTuyến tính từ thang 1–5 về thang điểm tiêu chíM06
MT-07Tỉ lệ việc thiếu thông tin bắt buộcSố việc bị trả lại do thiếu thông tin ÷ số việc tạoNghịch, có sàn 0M06
MT-08Thời gian xử lý trung vịTrung vị khoảng cách từ lúc nhận đến lúc đóngSo với ngưỡng đơn vị đặtM06

Nhóm khách hàng tiềm năng & bán hàng

Chỉ sốCông thứcChuẩn hoá về điểmNguồn
MT-09Tỉ lệ chuyển đổi leadSố lead chuyển thành khách ÷ số lead nhận trong kỳSo với ngưỡng mục tiêu của đơn vịM08
MT-10Doanh số ghi nhậnTổng giá trị hợp đồng ghi nhận trong kỳSo với chỉ tiêu cá nhânM08
MT-11Tỉ lệ đạt chỉ tiêuDoanh số ÷ chỉ tiêu được giaoBậc thang: dưới 70% không điểm, 100% đủ điểm, trên 120% có điểm thưởngM08
MT-12Số lead đã xử lýSố lead chuyển khỏi trạng thái mới trong kỳSo với chuẩn đơn vịM08
MT-13Tốc độ chạm đầu tiênTrung vị khoảng cách từ lúc nhận lead tới tương tác đầuNghịch theo ngưỡng: dưới 30 phút đủ điểm, trên 4 giờ không điểmM08
MT-14Tỉ lệ lead bỏ quênSố lead đang mở không có tương tác quá 24 giờ ÷ số lead đang giữNghịch, có sàn 0M08

Nhóm vận hành & dịch vụ

Chỉ sốCông thứcChuẩn hoá về điểmNguồn
MT-15Mức sẵn sàng dịch vụ phụ tráchThời gian dịch vụ hoạt động ÷ tổng thời gian trong kỳBậc thang quanh cam kết dịch vụNhập tay hoặc tích hợp giám sát
MT-16Tỉ lệ xử lý trong cam kết dịch vụSố yêu cầu xử lý trong thời hạn cam kết ÷ tổng số yêu cầuTuyến tínhM06
MT-17Số sự cố nghiêm trọngSố sự cố mức nghiêm trọng phát sinh thuộc trách nhiệmNghịch: mỗi sự cố trừ một mứcM06
MT-18Thời gian khôi phục trung bìnhTrung bình khoảng cách từ lúc phát hiện đến lúc khôi phụcNghịch theo ngưỡng đơn vị đặtM06

Nhóm kỷ luật & đóng góp

Chỉ sốCông thứcChuẩn hoá về điểmNguồn
MT-19Ngày công thực tếNgày làm việc trong kỳ trừ ngày nghỉ đã duyệtDùng làm mẫu số cho các chỉ số khác, không chấm điểm trực tiếpM05
MT-20Tỉ lệ nộp báo cáo ngày đúng hạnSố ngày nộp đúng hạn ÷ ngày công thực tếTuyến tínhM06
MT-21Số ca trực đã đảm nhiệmSố ca trực hoàn thành trong kỳSo với phân bổ dự kiến của đơn vịM05
MT-22Đóng góp tri thứcSố tài liệu, bài hướng dẫn hoặc buổi chia sẻ được ghi nhậnBậc thang, có trầnNhập tay có xác nhận

Cấu trúc một bộ tiêu chí

Bộ tiêu chí là một cây ba cấp: nhómmụctiêu chí. Điểm tối đa của mục là tổng điểm tối đa của các tiêu chí trong mục, tương tự với nhóm.

Thành phầnThuộc tínhGhi chú
Bộ tiêu chíTên, đơn vị áp dụng, kỳ bắt đầu hiệu lực, trạng thái (nháp / hiệu lực / đã thay thế)Một đơn vị chỉ có một bộ hiệu lực tại một thời điểm
NhómNhãn, điểm tối đa (tính từ dưới lên)Ví dụ: Chuyên môn, Kỷ luật, Phát triển
MụcNhãn, điểm tối đaCấp gom để bảng điểm dễ đọc
Tiêu chíKhoá, nhãn, điểm tối đa, nguồn điểm, tham số chuẩn hoá, mô tả cách chấmĐơn vị nhỏ nhất được chấm

Ba nguồn điểm của một tiêu chí

Tự chấm từ chỉ số

Gắn với một mã chỉ số trong thư viện. Hệ thống tính và điền sẵn. Người chấm sửa được nhưng phải nhập lý do, và lần sửa được ghi nhật ký.

Chấm tay

Người chấm nhập điểm dựa trên mô tả tiêu chí. Dùng cho những thứ không đo được bằng dữ liệu: thái độ hợp tác, chất lượng đề xuất cải tiến.

Công thức tổ hợp

Kết hợp nhiều chỉ số bằng một biểu thức khai báo được, ví dụ điểm hiệu quả bằng tỉ lệ đúng hạn nhân trọng số cộng điểm chất lượng nhân trọng số.

Ba bộ tiêu chí mẫu

Ba bộ dưới đây minh hoạ mức độ khác biệt mà cấu trúc phải chịu được. Cả ba đều dùng thang 100 điểm để so sánh được ở cấp công ty, nhưng thành phần hoàn toàn khác nhau.

Bộ A · Khối kỹ thuật dịch vụ web

Kế thừa bộ tiêu chí đang dùng, giữ nguyên công thức để kết quả liên tục với lịch sử.

NhómTiêu chíĐiểmNguồn điểm
Chuyên môn
55 điểm
Tỉ lệ đúng hạn15MT-01, tự chấm
Mức độ hài lòng về kết quả10MT-05 + MT-06, công thức tổ hợp
Lỗi nội dung công việc10MT-07, tự chấm
Khối lượng công việc10MT-03, tự chấm
Tỉ số thực tế trên ước lượng10MT-04, tự chấm
Kỷ luật & tuân thủ
20 điểm
Nộp báo cáo ngày đúng hạn5MT-20, tự chấm
Hoàn thành ca trực được phân5MT-21, tự chấm
Tuân thủ quy trình xử lý5Chấm tay
Chuyên cần5MT-19, tự chấm
Phát triển & đóng góp
15 điểm
Đóng góp tri thức5MT-22, tự chấm
Hỗ trợ đồng đội5Chấm tay
Đề xuất cải tiến được áp dụng5Chấm tay
Nhận định quản lý
10 điểm
Đánh giá tổng thể của quản lý trực tiếp10Chấm tay, bắt buộc kèm nhận xét

Bộ B · Khối kinh doanh

NhómTiêu chíĐiểmNguồn điểm
Kết quả
60 điểm
Tỉ lệ đạt chỉ tiêu doanh số35MT-11, tự chấm, có điểm thưởng khi vượt
Tỉ lệ chuyển đổi lead15MT-09, tự chấm
Số hợp đồng ký mới10MT-10, tự chấm
Quy trình chăm sóc
25 điểm
Tốc độ chạm khách lần đầu10MT-13, tự chấm
Tỉ lệ lead bỏ quên8MT-14, tự chấm
Chất lượng cập nhật thông tin khách hàng7Chấm tay theo bảng kiểm
Kỷ luật
10 điểm
Nộp báo cáo ngày đúng hạn5MT-20, tự chấm
Chuyên cần5MT-19, tự chấm
Nhận định quản lý
5 điểm
Đánh giá tổng thể của quản lý trực tiếp5Chấm tay, bắt buộc kèm nhận xét

Bộ C · Khối hạ tầng & vận hành

NhómTiêu chíĐiểmNguồn điểm
Ổn định dịch vụ
45 điểm
Mức sẵn sàng dịch vụ phụ trách20MT-15, tự chấm
Tỉ lệ xử lý trong cam kết dịch vụ15MT-16, tự chấm
Sự cố nghiêm trọng10MT-17, tự chấm
Xử lý công việc
30 điểm
Tỉ lệ đúng hạn15MT-01, tự chấm
Thời gian khôi phục trung bình8MT-18, tự chấm
Chất lượng xử lý7MT-06, tự chấm
Trực & ứng cứu
15 điểm
Hoàn thành ca trực được phân10MT-21, tự chấm
Tham gia ứng cứu ngoài giờ5Chấm tay
Nhận định quản lý
10 điểm
Đánh giá tổng thể của quản lý trực tiếp10Chấm tay, bắt buộc kèm nhận xét
Điều rút ra từ ba bộ

Chỉ có ba tiêu chí xuất hiện ở cả ba bộ: chuyên cần, nộp báo cáo ngày, và nhận định quản lý. Mọi thứ còn lại đều đặc thù. Đó chính là lý do một bộ tiêu chí dùng chung không thể hoạt động, và là bằng chứng cho việc phải khai báo được theo đơn vị.

Quy trình một kỳ đánh giá

  1. Mở kỳ

    Chọn loại kỳ (tuần, tháng, quý), phạm vi (đơn vị hoặc nhóm dự án) và khoảng thời gian. Hệ thống sinh nhãn kỳ tự động và nạp bộ tiêu chí đang hiệu lực của đơn vị. Danh sách nhân sự được điền sẵn từ thành viên đơn vị, cho phép loại trừ người không thuộc phạm vi đánh giá kỳ này.

  2. Thu thập tự động

    Hệ thống chạy toàn bộ chỉ số của bộ tiêu chí trên dữ liệu trong khoảng thời gian kỳ và điền điểm cho các tiêu chí tự chấm. Mỗi con số kèm đường dẫn tới danh sách bản ghi tạo ra nó.

  3. Nhân sự tự nhìn lại

    Trước khi quản lý chấm, mỗi người xem số liệu của mình và có quyền ghi phản hồi: bổ sung bối cảnh, chỉ ra số liệu sai. Bước này là tuỳ chọn theo cấu hình đơn vị, nhưng khuyến nghị bật vì nó bắt được phần lớn lỗi dữ liệu trước khi thành tranh cãi.

  4. Quản lý chấm

    Quản lý điền các tiêu chí chấm tay, sửa các tiêu chí tự chấm nếu cần (bắt buộc kèm lý do), viết nhận xét. Bảng chấm hiển thị đồng thời số liệu nguồn và phản hồi của nhân sự.

  5. Duyệt

    Trưởng phòng ban xem toàn bộ kỳ, đối chiếu phân bố điểm giữa các nhóm trong khối, yêu cầu chấm lại nếu thấy lệch chuẩn bất thường.

  6. Chốt kỳ

    Khoá số liệu, lưu bản chụp bộ tiêu chí, tính xếp loại và mức thưởng theo ngưỡng. Sau khi chốt, số liệu không thay đổi kể cả khi dữ liệu gốc thay đổi.

  7. Công bố & kết xuất

    Nhân sự xem được điểm và nhận xét của mình. Kết xuất Excel hoặc PDF theo mẫu cho các mục đích ngoài hệ thống.

Quy tắc mở lại kỳ đã chốt

Mở lại một kỳ đã chốt là thao tác cần quyền riêng, phải nhập lý do, và được ghi nhật ký kiểm toán. Khi mở lại, hệ thống dùng bản chụp bộ tiêu chí tại thời điểm chốt, không dùng bộ tiêu chí hiện hành — nếu không, việc sửa tiêu chí năm nay sẽ âm thầm làm thay đổi kết quả của kỳ cũ.

Xếp loại & mức thưởng

Ngưỡng xếp loại khai báo theo từng đơn vị, vì phân bố điểm tự nhiên của các bộ tiêu chí không giống nhau. Bảng dưới là giá trị mặc định đề xuất.

Xếp loạiNhãnNgưỡng điểmHệ số thưởng đề xuấtGhi chú
AXuất sắc≥ 901,5Giới hạn tỉ lệ tối đa mỗi đơn vị, khai báo được
BTốt80 – 891,2
CKhá70 – 791,0Mức tham chiếu
DĐạt60 – 690,8Kèm ghi chú cần cải thiện cụ thể
ECần cải thiện< 600Bắt buộc có kế hoạch cải thiện và mốc xem lại

Bảo đảm công bằng giữa các đơn vị

Cho phép mỗi đơn vị tự đặt thước đo mở ra một rủi ro rõ ràng: đơn vị đặt tiêu chí dễ sẽ có điểm cao hơn. Bốn cơ chế dưới đây kiểm soát rủi ro đó mà không lấy lại quyền tự chủ của đơn vị.

Cơ chếCách hoạt độngAi chịu trách nhiệm
Phê duyệt bộ tiêu chíBộ tiêu chí mới hoặc thay đổi trọng số phải được trưởng phòng ban duyệt trước khi có hiệu lực, và chỉ áp từ kỳ tiếp theo — không áp cho kỳ đang mởTrưởng phòng ban
Đối chiếu phân bố điểmBảng so sánh phân bố điểm giữa các đơn vị trong cùng khối. Một đơn vị có trung vị lệch quá 10 điểm so với các đơn vị khác sẽ hiện cảnh báo để xem lại tiêu chí, không tự động điều chỉnhNhân sự
Trần tỉ lệ xếp loại cao nhấtKhai báo tỉ lệ tối đa nhân sự đạt loại A trong một đơn vị mỗi kỳ. Vượt trần thì quản lý phải xếp hạng và giải trìnhNhân sự
Nhật ký thay đổi tiêu chíMọi sửa đổi bộ tiêu chí đều lưu ai sửa, khi nào, sửa gì. Bảng so sánh hai phiên bản hiển thị đượcHệ thống
Điều hệ thống cố tình không làm

Hệ thống không tự động chuẩn hoá điểm giữa các đơn vị bằng phép biến đổi thống kê. Ép điểm về cùng phân bố nghe có vẻ công bằng nhưng thực chất giả định rằng chất lượng nhân sự các đơn vị giống nhau — một giả định sai và không kiểm chứng được. Thay vào đó, hệ thống hiển thị chênh lệch và để con người giải thích.

Báo cáo & kết xuất

Các loại báo cáo

Báo cáoNội dungNgười xemChu kỳ
Báo cáo kỳ đơn vịDanh sách công việc trong kỳ và kỳ tới, điểm từng nhân sự, nhận xét, đề xuấtTrưởng đơn vị, trưởng phòng banTuần, tháng, quý
Báo cáo kỳ theo dự ánTiến độ dự án, việc hoàn thành, việc tồn, rủi roChủ dự án, ban điều hànhTheo mốc dự án
Bảng điểm cá nhânĐiểm từng tiêu chí kèm số liệu nguồn, so sánh với kỳ trướcCá nhân, quản lý trực tiếpTheo kỳ
Tổng hợp toàn công tyPhân bố xếp loại theo đơn vị, xu hướng theo kỳ, cảnh báo lệch chuẩnNhân sự, ban điều hànhQuý, năm
Báo cáo cuối ngàyViệc đã làm hôm nay, kế hoạch ngày mai — có gợi ý soạn sẵn từ dữ liệu hoạt độngCá nhân, quản lý trực tiếpNgày

Kết xuất

  • Excel theo mẫu đang dùng, để bảo đảm liên tục với thói quen hiện tại của các đơn vị. Mẫu khai báo được, không viết cứng.
  • PDF cho bản chốt cần lưu trữ hoặc gửi ra ngoài hệ thống.
  • Giao diện lập trình cho các hệ thống khác lấy dữ liệu điểm đã chốt, chịu cùng lớp kiểm soát quyền.

Vai trò của AI trong báo cáo

AI tham gia ở ba chỗ, tất cả đều ở vị trí gợi ý, không quyết định:

  • Soạn nháp báo cáo cuối ngày từ hoạt động thực tế của nhân sự trong ngày. Người dùng sửa và xác nhận trước khi nộp.
  • Tóm tắt kỳ — viết đoạn nhận xét tổng quan cho một kỳ dựa trên số liệu đã chốt, để quản lý sửa lại thay vì viết từ đầu.
  • Phát hiện điểm bất thường — chỉ ra những trường hợp số liệu lệch mạnh so với kỳ trước để người chấm chú ý, không tự điều chỉnh điểm.

Nhận xét do AI sinh ra luôn được đánh dấu là nháp cho tới khi người chấm xác nhận, và bản đã xác nhận lưu lại nội dung cuối cùng chứ không lưu bản gốc của mô hình.

Tài liệu 08 · Nghiệp vụ lõi

Trợ lý AI & kiểm soát truy xuất

Một trợ lý trả lời được mọi câu hỏi về dữ liệu nội bộ chỉ có giá trị nếu tổ chức tin rằng nó không trả lời quá phạm vi quyền của người hỏi. Tài liệu này đặc tả kiến trúc bảo đảm điều đó ở tầng dữ liệu, không phải ở tầng câu lệnh.

Nguyên tắc số một

Không thoả hiệp

Quyền của người hỏi quyết định dữ liệu được đọc, và điều đó được thực thi ở tầng truy vấn. Mô hình ngôn ngữ không bao giờ được trao quyền truy cập rộng hơn tài khoản đang hỏi. Không có câu lệnh hệ thống nào, không có chỉ dẫn nào trong lời nhắc được phép là lớp phòng vệ duy nhất — vì lời nhắc có thể bị lách, còn ràng buộc ở tầng truy vấn thì không.

Cách diễn đạt khác của cùng nguyên tắc: trợ lý không được biết nhiều hơn thứ người dùng tự mở màn hình ra xem được. Nếu một câu trả lời chứa thông tin mà người hỏi không thể tự tra cứu trong giao diện, đó là một lỗi bảo mật, không phải một tính năng.

Kiến trúc năm lớp

  Người dùng hỏi bằng tiếng Việt
        │
        ▼
  ① CỔNG HỎI ĐÁP ────────────── xác thực phiên, giới hạn tần suất,
        │                        lọc nội dung độc hại
        ▼
  ② BỘ ĐỊNH PHẠM VI ─────────── từ danh tính → tập khoá quyền
        │                        + tập đơn vị nhìn thấy được
        │                        + tập nhân sự nhìn thấy được
        │                        (tính một lần, không nhận từ mô hình)
        ▼
  ③ MÔ HÌNH + BỘ CÔNG CỤ ────── mô hình CHỌN công cụ và tham số,
        │                        nhưng phạm vi bị TIÊM CỐ ĐỊNH ở tầng
        │                        thực thi, không lấy từ tham số mô hình
        ▼
  ④ TỔNG HỢP CÂU TRẢ LỜI ────── diễn giải kết quả, dẫn nguồn số liệu,
        │                        từ chối khi không đủ quyền
        ▼
  ⑤ NHẬT KÝ KIỂM TOÁN ───────── ai hỏi gì, gọi công cụ nào, chạm dữ liệu
                                 nào, trả về bao nhiêu bản ghi, chi phí

Lớp ② — Bộ định phạm vi

Đây là lớp quan trọng nhất. Với mỗi phiên hỏi đáp, hệ thống tính một lần và giữ nguyên trong suốt phiên:

Thành phần phạm viCách tínhVí dụ
Tập khoá quyềnHợp các khoá quyền của mọi nhóm quyền người dùng thuộc vềtask.view, workload.view, report.view
Tập đơn vị nhìn thấyĐơn vị người dùng làm trưởng, cộng toàn bộ nhánh con cháu; hợp với đơn vị người dùng là thành viênTrưởng nhóm Hỗ trợ thấy nhóm Hỗ trợ và hai tổ trực thuộc
Tập nhân sự nhìn thấyThành viên của các đơn vị nhìn thấy được, cộng chính người dùng18 người
Tập trường bị cheCác trường nhạy cảm mà nhóm quyền không mởSố tài khoản ngân hàng, ngày sinh, địa chỉ, mức thưởng
Ngưỡng ẩn danhSố bản ghi tối thiểu để trả về một con số tổng hợp5 — dưới ngưỡng thì từ chối để tránh suy ngược ra cá nhân

Lớp ③ — Tiêm phạm vi ở tầng thực thi

Mô hình được mô tả các công cụ với tham số nghiệp vụ (khoảng thời gian, đơn vị, trạng thái). Nó không có tham số nào để chỉ định người hỏi hay phạm vi. Khi tầng thực thi nhận lời gọi công cụ, nó ghép phạm vi đã tính ở lớp ② vào truy vấn:

// mô hình gọi:
đếm_công_việc({ khoảng: "tháng trước", trạng_thái: "quá hạn", đơn_vị: "Hạ tầng" })

// tầng thực thi chạy:
SELECT ... FROM công_việc
WHERE khoảng thời gian ∈ (tháng trước)
  AND trạng thái ∈ (quá hạn)
  AND đơn_vị_id = (giải nghĩa "Hạ tầng")
  AND đơn_vị_id ∈ ⟨tập đơn vị nhìn thấy của phiên⟩   ← tiêm cố định
  AND người_phụ_trách ∈ ⟨tập nhân sự nhìn thấy⟩       ← tiêm cố định

Nếu đơn vị người dùng yêu cầu nằm ngoài tập nhìn thấy, truy vấn không trả về tập rỗng — nó trả về một mã từ chối rõ ràng, để trợ lý nói “bạn không có quyền xem dữ liệu của đơn vị này” thay vì nói “không có dữ liệu”. Phân biệt này quan trọng: một câu trả lời “không có dữ liệu” cũng là một rò rỉ thông tin, vì nó khẳng định đơn vị đó tồn tại và đang rỗng.

Vì sao không nhúng toàn bộ dữ liệu vào một kho vector

Cách làm phổ biến cho trợ lý dữ liệu nội bộ là chuyển toàn bộ dữ liệu thành vector rồi tìm kiếm theo ngữ nghĩa. Cách đó không phù hợp với bài toán này, vì ba lý do:

Không lọc quyền được chặt chẽ

Một đoạn văn bản đã nhúng không mang theo ngữ cảnh quyền đầy đủ. Lọc sau khi tìm kiếm dễ sót, và một đoạn lọt lưới là một lần rò rỉ. Phạm vi dữ liệu ở đây thay đổi theo cây đơn vị và theo thời gian, thứ mà chỉ mục vector không theo kịp.

Trả lời sai kiểu câu hỏi

Phần lớn câu hỏi vận hành là câu hỏi đếm, tổng, xếp hạng, so sánh theo kỳ. Đó là việc của truy vấn có cấu trúc, không phải của tìm kiếm ngữ nghĩa. Tìm kiếm ngữ nghĩa cho ra những đoạn văn “trông giống câu hỏi” chứ không cho ra con số đúng.

Dữ liệu thay đổi liên tục

Số việc đang mở thay đổi từng phút. Duy trì một chỉ mục vector đồng bộ với dữ liệu vận hành là một hệ thống phụ tốn kém, và mọi độ trễ đều biến thành câu trả lời sai.

Phương án được chọn

Gọi công cụ trên chính các giao diện lập trình nội bộ đã phân quyền. Mô hình đóng vai người phiên dịch giữa câu hỏi tiếng Việt và các truy vấn có sẵn; toàn bộ việc lấy dữ liệu vẫn đi qua đúng lớp kiểm soát mà giao diện người dùng đi qua. Tìm kiếm ngữ nghĩa chỉ dùng cho tài liệu quy trình và hướng dẫn — loại nội dung tĩnh, phân loại được theo nhãn công khai hoặc nội bộ, và không chứa dữ liệu cá nhân.

Bộ công cụ truy vấn

Mỗi công cụ tương ứng với một loại câu hỏi và một khoá quyền. Không có khoá quyền tương ứng thì công cụ không được nạp vào phiên — mô hình thậm chí không biết công cụ đó tồn tại.

Công cụTrả lời câu hỏi dạngKhoá quyềnPhạm vi tiêm
tra_cuu_nhan_suAi đang làm ở đâu, kỹ năng gì, thuộc đơn vị nàostaff.viewTập nhân sự nhìn thấy; che trường nhạy cảm
thong_ke_cong_viecBao nhiêu việc, theo trạng thái, theo kỳ, theo đơn vị hoặc ngườitask.viewTập đơn vị và tập nhân sự nhìn thấy
chi_tiet_cong_viecViệc cụ thể này đang thế nào, ai làm, hạn khi nàotask.viewViệc trong phạm vi, hoặc việc người hỏi là người phụ trách / theo dõi
bang_taiAi đang tải nặng, ai đang rảnhworkload.viewTập nhân sự nhìn thấy
thong_ke_leadBao nhiêu lead, tỉ lệ chuyển đổi, lead bỏ quênlead.viewTập đơn vị nhìn thấy
ket_qua_danh_giaĐiểm KPI kỳ nào, của ai, xếp loại gìreport.view hoặc kpi.viewChỉ kỳ đã chốt; tập nhân sự nhìn thấy; điểm cá nhân người khác cần kpi.manage
lich_trucHôm nay ai trực, tháng này tôi trực ngày nàoleave.viewTập đơn vị nhìn thấy
don_nghiAi nghỉ ngày nào, quỹ phép còn bao nhiêuleave.viewBản thân, hoặc tập nhân sự nhìn thấy nếu có leave.manage
tien_do_chi_tieuDoanh số so với chỉ tiêu, đạt bao nhiêu phần trămtarget.viewTập đơn vị nhìn thấy
tim_tai_lieuQuy trình xử lý việc này thế nàoKhông cần khoá riêngChỉ tài liệu gắn nhãn công khai hoặc nội bộ

Ràng buộc kỹ thuật của mọi công cụ

  • Chỉ thao tác đọc. Không công cụ nào ghi dữ liệu trong phiên bản này (xem lộ trình cuối tài liệu).
  • trần số bản ghi trả về (mặc định 200). Vượt trần thì trả tóm tắt kèm gợi ý thu hẹp câu hỏi, không trả toàn bộ.
  • sàn ẩn danh: kết quả tổng hợp tính trên dưới 5 bản ghi bị từ chối, tránh suy ngược về cá nhân.
  • Trả về dữ liệu có cấu trúc, không trả về văn bản tự do lấy nguyên từ cơ sở dữ liệu — giảm bề mặt tấn công tiêm lệnh qua nội dung.
  • Mỗi lần gọi ghi một dòng nhật ký kiểm toán, kể cả lần gọi bị từ chối vì thiếu quyền.

Bảy cơ chế chống rò rỉ

  1. Tiêm phạm vi bắt buộc

    Phạm vi không phải tham số mà mô hình điền, mà là điều kiện tầng thực thi ghép vào mọi truy vấn. Không có đường nào để lời nhắc thay đổi nó.

  2. Từ chối mặc định

    Công cụ không được khai báo tường minh cho một khoá quyền thì không tồn tại trong phiên. Trường không nằm trong danh sách cho phép thì không được trả về. Mọi thứ không được phép rõ ràng đều bị chặn.

  3. Che trường nhạy cảm

    Danh sách trường nhạy cảm khai báo trong cấu hình. Chúng bị loại bỏ khỏi kết quả trước khi dữ liệu rời khỏi tầng truy vấn, nên không bao giờ nằm trong ngữ cảnh gửi tới mô hình.

  4. Sàn ẩn danh cho số liệu tổng hợp

    Chặn kiểu tấn công gộp: hỏi “trung bình điểm của nhóm 6 người” rồi hỏi “trung bình của 5 người trừ anh A” để suy ra điểm anh A. Kết quả tính trên dưới ngưỡng bản ghi bị từ chối.

  5. Chống tiêm lệnh qua dữ liệu

    Nội dung do người dùng nhập (mô tả việc, bình luận, tên khách hàng) có thể chứa câu lệnh giả dạng. Toàn bộ dữ liệu trả về từ công cụ được đánh dấu rõ là dữ liệu, không phải chỉ dẫn, và trợ lý được hướng dẫn tường minh không thực hiện chỉ dẫn xuất hiện bên trong dữ liệu.

  6. Giới hạn tần suất và hạn mức

    Mỗi người có trần số câu hỏi mỗi giờ và trần chi phí mỗi tháng. Chặn cả việc lạm dụng lẫn việc dò dữ liệu bằng cách hỏi hàng loạt câu hỏi hẹp.

  7. Nhật ký kiểm toán đầy đủ

    Mỗi phiên lưu: câu hỏi, các công cụ đã gọi kèm tham số, số bản ghi trả về, câu trả lời cuối, số token và chi phí. Nhật ký này là bằng chứng để trả lời câu hỏi “trợ lý đã đọc gì của ai”, và giữ tối thiểu 24 tháng.

Ví dụ hỏi đáp theo vai trò

Cùng một câu hỏi, ba người hỏi khác nhau, ba câu trả lời khác nhau — đó là hành vi đúng.

Câu hỏiNgười hỏiCông cụ được gọiKết quả
“Tháng trước ai xử lý nhiều việc quá hạn nhất?”Nhân viên nhóm Hỗ trợthong_ke_cong_viecChỉ trả về số liệu của chính người hỏi, kèm câu giải thích rằng phạm vi của bạn chỉ gồm dữ liệu cá nhân
Trưởng nhóm Hỗ trợthong_ke_cong_viecXếp hạng 18 người trong nhóm và hai tổ trực thuộc
Trưởng phòng Kỹ thuậtthong_ke_cong_viecXếp hạng toàn bộ nhánh Kỹ thuật, tách theo từng nhóm
“Điểm KPI quý trước của anh Nguyễn Văn A là bao nhiêu?”Đồng nghiệp cùng nhómket_qua_danh_giaTừ chối: xem điểm cá nhân của người khác cần quyền quản lý đánh giá
“Nhóm tôi tháng này còn bao nhiêu ngày trống trực?”Trưởng nhómlich_trucDanh sách ngày chưa có người trực, kèm gợi ý người ít ca nhất
“Team Kinh doanh HN tháng này đạt bao nhiêu phần trăm chỉ tiêu?”Ban điều hànhtien_do_chi_tieuTỉ lệ đạt của đơn vị và tách theo từng nhân sự
“Quy trình xử lý yêu cầu gia hạn tên miền thế nào?”Nhân viên mớitim_tai_lieuTrích đoạn tài liệu quy trình kèm đường dẫn tới bản đầy đủ
“Cho tôi xem lương của cả phòng”Bất kỳ aiTừ chối: hệ thống không lưu dữ liệu lương; trường tài chính cá nhân nằm trong danh sách che
Nguyên tắc trả lời khi thiếu quyền

Trợ lý nói rõ là không đủ quyền, chứ không nói là không có dữ liệu, và không im lặng bỏ qua phần bị chặn. Người dùng cần biết rằng có dữ liệu nhưng họ không được xem, để đi hỏi đúng người thay vì kết luận sai.

Mô hình & chi phí

Định tuyến theo độ khó

Không phải câu hỏi nào cũng cần mô hình mạnh nhất. Hệ thống phân loại ý định trước rồi định tuyến, giúp giữ chi phí ở mức chấp nhận được mà không hạ chất lượng ở những câu thực sự khó.

Loại câu hỏiTỉ trọng ước tínhMô hìnhLý do
Tra cứu một chỉ số, một bản ghi, một lịch trực80%Claude Haiku 4.5 claude-haiku-4-5Chọn công cụ và diễn giải kết quả đơn giản; nhanh và rẻ
Tổng hợp nhiều nguồn, so sánh theo kỳ, giải thích nguyên nhân20%Claude Opus 5 claude-opus-5Cần lập kế hoạch nhiều bước gọi công cụ và suy luận trên kết quả

Ước lượng chi phí hằng tháng

Tính trên giả định 150 người dùng hoạt động, mỗi người 8 câu hỏi mỗi ngày làm việc, 22 ngày mỗi tháng — tương đương 26.400 câu hỏi mỗi tháng. Mỗi câu tiêu tốn khoảng 9.000 token đầu vào (trong đó 6.000 là phần tiền tố ổn định được lưu đệm) và 700 token đầu ra.

KhoảnSố câuĐơn giá vàoĐơn giá raChi phí tháng
Claude Haiku 4.5 — câu tra cứu21.1201 USD / 1M5 USD / 1M≈ 150 USD
Claude Opus 5 — câu tổng hợp5.2805 USD / 1M25 USD / 1M≈ 187 USD
Ghi đệm tiền tố và dự phòng biến động≈ 60 USD
Tổng cộng26.400≈ 400 USD

Quy đổi khoảng 10 triệu đồng mỗi tháng, nằm dưới ngưỡng NFR-19. Ba yếu tố ảnh hưởng mạnh nhất tới con số này, theo thứ tự:

  • Lưu đệm phần tiền tố ổn định. Mô tả công cụ và câu lệnh hệ thống không đổi giữa các câu hỏi, nên phần này đọc từ bộ đệm với giá bằng khoảng một phần mười. Bỏ lưu đệm làm chi phí tăng khoảng 60%.
  • Tỉ lệ định tuyến. Đẩy tỉ trọng câu dùng mô hình mạnh từ 20% lên 50% làm chi phí gần gấp đôi.
  • Kích thước kết quả truy vấn. Trần 200 bản ghi giữ phần đầu vào không phình. Bỏ trần là nguyên nhân phổ biến nhất khiến chi phí vượt dự toán.

Cơ chế kiểm soát chi phí

  • Ghi số token và chi phí ước tính cho từng lần gọi, gom theo người dùng và theo đơn vị.
  • Hạn mức tháng cấu hình được ở ba cấp: toàn hệ thống, đơn vị, cá nhân. Chạm 80% hạn mức thì cảnh báo, chạm 100% thì chuyển toàn bộ về mô hình rẻ và thông báo cho quản trị.
  • Bảng theo dõi chi phí theo ngày, tách theo loại tác vụ (hỏi đáp, gợi ý phân công, soạn báo cáo).

Khi tắt AI

Toàn bộ chức năng nghiệp vụ vẫn hoạt động. Cụ thể, khi cờ AI tắt:

  • Trợ lý hỏi đáp chuyển sang chế độ tra cứu theo mẫu: người dùng chọn loại câu hỏi từ danh sách và điền tham số. Kém tiện hơn nhưng vẫn lấy được số liệu.
  • Engine phân công dùng so khớp từ khoá thay cho suy luận nội dung; trọng số tín hiệu AI về 0.
  • Gợi ý soạn báo cáo cuối ngày biến mất; người dùng tự viết như trước.

Lộ trình năng lực

MứcNăng lựcĐiều kiện để mởGiai đoạn
1Tra cứu số liệu — trả lời câu hỏi về nhân sự, công việc, lead, lịch trực, kết quả đánh giá trong phạm vi quyềnBộ công cụ hoàn tất và vượt bộ kiểm chuẩn 200 câu hỏi7
2Tổng hợp & giải thích — so sánh giữa các kỳ, chỉ ra xu hướng, tóm tắt tình hình một đơn vịMức 1 chạy ổn định ba tháng, tỉ lệ trả lời đúng từ 85%7
3Chủ động cảnh báo — tự phát hiện bất thường (lệch tải, lead bỏ quên, dự án trễ) và thông báo cho người phụ tráchMức 2 ổn định; định nghĩa bất thường được chốt cùng các đơn vị9
4Thực hiện hành động — tạo việc, đổi hạn, gán người theo yêu cầu bằng lời, luôn kèm bước xác nhậnNgoài phạm vi v1. Cần thiết kế lại lớp công cụ với quyền ghi và cơ chế hoàn tácSau v1

Bộ kiểm chuẩn

Điều kiện mở từng mức là vượt một bộ câu hỏi kiểm chuẩn, không phải cảm nhận chủ quan. Bộ này gồm 200 câu hỏi thật thu thập từ các đơn vị, mỗi câu có đáp án đúng đã xác minh bằng truy vấn tay, và được chấm lại mỗi quý. Ba tiêu chí chấm:

  • Đúng — con số trả về khớp đáp án. Mục tiêu từ 85%.
  • Đủ — trả lời trọn vẹn câu hỏi, không bỏ sót phần nào. Mục tiêu từ 80%.
  • Không vượt quyền — không câu nào trả về dữ liệu ngoài phạm vi. Mục tiêu 100%, và đây là tiêu chí duy nhất không có ngưỡng chấp nhận thấp hơn.
Tài liệu 09 · Thiết kế

Kiến trúc & phương án đa nền tảng

Chọn kiến trúc theo quy mô thật của bài toán chứ không theo xu hướng: một khối ứng dụng có ranh giới phân hệ rõ ràng, một lõi giao diện dùng chung cho bốn nền tảng, và một công cụ di trú tách hẳn khỏi ứng dụng để hệ thống cũ không để lại dấu vết nào trong phần lõi.

Sơ đồ tổng thể

 ┌─ ỨNG DỤNG ────────────────────────────────────────────────────────────┐
 │  Web (trình duyệt)   Desktop (Windows/macOS)   Di động (iOS/Android)  │
 │         └──────────────────┬──────────────────────────┘               │
 │                   LÕI GIAO DIỆN DÙNG CHUNG                            │
 │              (thành phần · trạng thái · client API)                   │
 └────────────────────────────┬──────────────────────────────────────────┘
                              │ HTTPS · REST v1 · JWT
 ┌─ DỊCH VỤ ỨNG DỤNG ─────────▼──────────────────────────────────────────┐
 │  Cổng vào: xác thực · giới hạn tần suất · nhật ký · phiên bản API     │
 │  ┌──────────────────────────────────────────────────────────────────┐ │
 │  │ LỚP KIỂM SOÁT PHẠM VI  ← mọi truy vấn bắt buộc đi qua            │ │
 │  └──────────────────────────────────────────────────────────────────┘ │
 │  Nhân sự │ Tổ chức │ Công việc │ Lead │ Phân công │ Trực-Nghỉ         │
 │  Đánh giá │ Báo cáo │ Trợ lý AI │ Cấu hình │ Thông báo                │
 └──────┬──────────────────┬───────────────────┬─────────────────────────┘
        │                  │                   │
 ┌──────▼─────┐   ┌────────▼────────┐   ┌──────▼──────────────────────┐
 │ PostgreSQL │   │ Redis + hàng đợi│   │ Lưu trữ đối tượng (tệp)     │
 │ dữ liệu    │   │ việc nền, đệm   │   │ đính kèm, kết xuất báo cáo  │
 └────────────┘   └─────────────────┘   └─────────────────────────────┘
                           │
                  ┌────────▼───────────────────────────────────────┐
                  │ TIẾN TRÌNH NỀN                                 │
                  │ sinh đề xuất phân công · chia lead ·           │
                  │ tính chỉ số kỳ · gửi thông báo · cảnh báo      │
                  └────────┬───────────────────────────────────────┘
                           │
                  ┌────────▼───────────────┐
                  │ Mô hình ngôn ngữ       │
                  │ (Claude API)           │
                  └────────────────────────┘

  Không có kết nối thường trực nào tới hệ thống cũ. Công cụ di trú nằm
  ngoài sơ đồ này — chạy tay vài lần rồi bị gỡ khỏi kho mã.
  ngoài sơ đồ này, chạy tay vài lần rồi bị gỡ bỏ.

Chọn kiến trúc

Quyết định

Một khối ứng dụng có mô-đun hoá chặt, không tách vi dịch vụ. Các phân hệ là mô-đun trong cùng một tiến trình, giao tiếp qua giao diện dịch vụ tường minh, dùng chung một cơ sở dữ liệu với ranh giới bảng rõ ràng theo miền.

Tiêu chíMột khối mô-đun hoáVi dịch vụ
Quy mô người dùng (150–300)Thừa sứcThừa mức cần thiết
Quy mô đội phát triển (5–8 người)Phù hợp: một kho mã, một quy trình phát hànhChi phí điều phối vượt lợi ích ở quy mô này
Toàn vẹn dữ liệu xuyên miềnGiao dịch cơ sở dữ liệu bảo đảm; quan trọng cho phân công và đánh giáCần giao dịch phân tán hoặc chấp nhận nhất quán chậm
Kiểm soát phạm vi quyềnMột lớp duy nhất, dễ chứng minh không có lối vòngPhải lặp lại ở mỗi dịch vụ, bề mặt sai sót lớn hơn
Vận hànhMột dịch vụ để giám sát, phát hành, quay luiCần hạ tầng điều phối và quan sát phân tán
Khả năng tách sau nàyTách được nếu ranh giới mô-đun giữ sạch

Ba mô-đun được giữ ranh giới đặc biệt sạch để tách ra thành dịch vụ riêng nếu tải tăng: tiến trình nền (phân công, chia lead, tính chỉ số), trợ lý AI (đặc tính tải và chi phí khác hẳn phần còn lại), và kết xuất báo cáo (tác vụ nặng, chạy theo đợt).

Công nghệ theo lớp

LớpCông nghệLý do chọn
Kho mãpnpm workspace + TurborepoĐã dùng ở meeting-report; chia sẻ gói giữa máy chủ, web, di động và máy tính mà không cần xuất bản gói riêng
Ngôn ngữTypeScript toàn tuyếnMột ngôn ngữ cho cả máy chủ và giao diện; kiểu dữ liệu dùng chung giữa hai đầu, giảm hẳn lỗi sai hợp đồng API
Dịch vụ ứng dụngNestJSCấu trúc mô-đun sẵn có khớp với kiến trúc đã chọn; đội đã thành thạo qua xerp-4s
Truy cập dữ liệuPrismaLược đồ khai báo, di trú có phiên bản, kiểu sinh tự động; kế thừa trực tiếp lược đồ xerp-4s
Cơ sở dữ liệuPostgreSQL 16Giao dịch mạnh, JSONB cho cấu hình và hồ sơ mở rộng, truy vấn phân tích đủ tốt ở quy mô này
Bộ đệm & hàng đợiRedis + BullMQViệc nền có lịch, thử lại, ưu tiên; đệm phạm vi quyền và kết quả truy vấn nặng
Lưu trữ tệpMinIO (tương thích S3)Tự vận hành, không phụ thuộc nhà cung cấp ngoài; đã có kinh nghiệm từ meeting-report
Giao diện webReact + Vite + TanStack QueryHệ sinh thái trưởng thành; quản lý trạng thái máy chủ tách bạch với trạng thái giao diện
Hệ thiết kếTailwind + thư viện thành phần nội bộMột bộ thành phần dùng chung cho cả bốn nền tảng
Ứng dụng máy tínhTauri 2Gói cài nhỏ (khoảng 10 MB so với 100 MB của giải pháp nhúng trình duyệt đầy đủ), tiêu tốn bộ nhớ thấp, dùng lại nguyên lõi web
Ứng dụng di độngCapacitorĐóng gói chính lõi web; truy cập được thông báo đẩy, máy ảnh, sinh trắc học. Chuyển sang giao diện gốc chỉ khi đo được nhu cầu thật
Trí tuệ nhân tạoClaude API — claude-opus-5claude-haiku-4-5Định tuyến theo độ khó câu hỏi; hỗ trợ tiếng Việt tốt; có cơ chế lưu đệm tiền tố giúp kiểm soát chi phí
Xác thựcJWT ngắn hạn + phiên làm mớiHoạt động đồng nhất trên cả bốn nền tảng; sẵn sàng gắn đăng nhập một lần ở giai đoạn sau
Quan sátNhật ký có cấu trúc + số liệu Prometheus + GrafanaBốn chỉ số vàng và các chỉ số nghiệp vụ trên cùng một bảng
Kiểm thửVitest, PlaywrightKiểm thử đơn vị và kiểm thử đầu cuối trên cùng hệ công cụ với kho mã hiện có

Chiến lược đa nền tảng

Nguyên tắc

Một lõi web, ba lớp vỏ đóng gói. Toàn bộ logic nghiệp vụ, thành phần giao diện và luồng màn hình viết một lần. Máy tính và di động là lớp vỏ mỏng bổ sung năng lực gốc của thiết bị.

So sánh các phương án đã cân nhắc

Tiêu chíWeb + Tauri + CapacitorReact Native + ElectronFlutterỨng dụng gốc riêng từng nền tảng
Số lõi mã phải duy trì121 (nhưng khác web)4
Tận dụng lõi web đã viếtToàn bộChỉ logic, phải viết lại giao diện di độngKhôngKhông
Công sức thêm cho bốn nền tảngKhoảng 8–10 tuầnKhoảng 20–24 tuầnKhoảng 28–32 tuầnTrên 40 tuần
Chất lượng trải nghiệm di độngKhá — đủ cho luồng duyệt, xem, thông báoTốtTốtTốt nhất
Kích thước gói cài máy tínhNhỏ (~10 MB)Lớn (~100 MB)Trung bìnhNhỏ
Kỹ năng đội cần bổ sungThấpTrung bìnhCao — ngôn ngữ và hệ sinh thái mớiRất cao
Rủi ro công nghệTrung bình — Tauri 2 còn trẻ nhưng phần máy tính đã ổn địnhThấpThấpThấp

Phương án được chọn: Web + Tauri + Capacitor. Lý do quyết định là bản chất của các luồng cần dùng trên di động: xem việc của tôi, duyệt đề xuất, nộp và duyệt đơn nghỉ, xem lịch trực, nhận thông báo. Đây đều là luồng đọc và thao tác đơn giản, không đòi hỏi đồ hoạ nặng hay tương tác phức tạp — chính là vùng mà giải pháp đóng gói web đáp ứng tốt.

Điều kiện xem lại quyết định

Nếu sau ba tháng vận hành, số liệu cho thấy trên 40% thao tác hằng ngày diễn ra trên di động, hoặc phản hồi người dùng chỉ ra vấn đề trải nghiệm không khắc phục được bằng tối ưu, thì xem xét viết lại phần di động bằng giao diện gốc. Quyết định này được đặt lịch xem lại tường minh, không để trôi.

Phân bổ chức năng theo nền tảng

Nhóm chức năngWebMáy tínhDi động
Việc của tôi, cập nhật tiến độ, ghi giờ
Hộp duyệt phân công
Lead của tôi, ghi nhận tương tác
Đơn nghỉ, lịch trực
Trợ lý AI
Bảng điều khiển, báo cáoXem rút gọn
Chấm điểm kỳ đánh giá
Khai báo bộ tiêu chí, cấu hình engine
Quản trị hệ thống, phân quyền
Ma trận năng lực, xếp lịch trực hàng loạt

Nguyên tắc phân bổ: di động phục vụ người đang di chuyển (xem, duyệt, cập nhật nhanh); máy tính và web phục vụ người đang làm việc tập trung (cấu hình, chấm điểm, phân tích). Không cố ép mọi màn hình lên mọi nền tảng.

Thông báo & chế độ ngoại tuyến

Thông báo

KênhNền tảngDùng cho
Trong ứng dụngCả bốnMọi sự kiện; là nguồn chân lý của trung tâm thông báo
Đẩy hệ thốngDi động (FCM, APNs), máy tính (thông báo hệ điều hành), web (Web Push)Việc được giao, đề xuất chờ duyệt, đơn nghỉ được duyệt, sắp tới ca trực, việc sắp quá hạn
Thư điện tửTóm tắt ngày, kỳ đánh giá mở, kết quả đã chốt, cảnh báo cần hành động
Kênh trao đổi nội bộCảnh báo vận hành gửi vào nhóm phụ trách, thay vì dựng kênh trò chuyện riêng

Mỗi loại sự kiện có cấu hình riêng cho từng kênh, và người dùng tự bật tắt trong phần cài đặt cá nhân. Nguyên tắc chống nhiễu: gộp thông báo cùng loại trong cửa sổ 15 phút, và không đẩy ngoài khung giờ người dùng khai báo, trừ nhóm sự kiện khẩn.

Ngoại tuyến

Không đặt mục tiêu hoạt động ngoại tuyến hoàn toàn — đó là bài toán đồng bộ hai chiều phức tạp và không tương xứng với nhu cầu thực. Mức hỗ trợ:

  • Đọc ngoại tuyến — dữ liệu đã tải được giữ trong bộ đệm cục bộ; mở ứng dụng khi mất mạng vẫn xem được việc của mình và lịch trực, kèm nhãn ghi rõ thời điểm cập nhật gần nhất.
  • Ghi có hàng đợi — các thao tác đơn giản (đổi trạng thái việc, ghi giờ, ghi nhận tương tác lead) xếp vào hàng đợi cục bộ và gửi lại khi có mạng. Xung đột được phát hiện bằng phiên bản bản ghi và hiển thị cho người dùng quyết định.
  • Không hỗ trợ ngoại tuyến cho các thao tác cần tính toán phía máy chủ: chấm điểm kỳ, cấu hình, trợ lý AI.

Công cụ di trú một lần

Ranh giới kiến trúc

Hệ thống không có lớp tích hợp với Bitrix24. Thứ tồn tại là một công cụ di trú chạy tay, nằm ngoài đường xử lý của ứng dụng, dùng đúng vài lần rồi bị gỡ bỏ. Không mô-đun nghiệp vụ nào biết tới sự tồn tại của Bitrix24.

  ┌─ CÔNG CỤ DI TRÚ (chạy tay, gỡ sau khi cắt chuyển) ────────────┐
  │                                                                │
  │  ① TRÍCH XUẤT ──▶ ② QUY ĐỔI ──▶ ③ NẠP ──▶ ④ ĐỐI SOÁT          │
  │     REST theo lô    bảng map      ghi vào    so số lượng       │
  │     ghi ra tệp      danh mục      CSDL       và giá trị tổng   │
  │     trung gian      + làm sạch    ERP        → báo cáo lệch    │
  │                                                                │
  └────────────────────────────────────────────────────────────────┘
        ▲                                          │
        │ đọc, không bao giờ ghi                   ▼
  ┌──────────────┐                        ┌────────────────────┐
  │  Bitrix24    │                        │  ERP NHÂN HÒA      │
  │  (hệ thống   │                        │  không hề biết tới │
  │   sẽ bị tắt) │                        │  Bitrix24 tồn tại  │
  └──────────────┘                        └────────────────────┘

Bốn bước

  1. Trích xuất ra tệp trung gian

    Gọi REST theo lô, xử lý phân trang và giới hạn tần suất, ghi kết quả thô ra tệp. Tách hẳn bước này khỏi các bước sau để chạy lại phần quy đổi và nạp mà không phải gọi lại hệ thống nguồn — điều này rút mỗi lần chạy thử từ nhiều giờ xuống vài phút.

  2. Quy đổi và làm sạch

    Ánh xạ trạng thái, độ ưu tiên, mã khu vực, mã nguồn lead sang danh mục của hệ thống mới theo bảng quy đổi khai báo được. Chuẩn hoá số điện thoại và thư điện tử. Bản ghi không quy đổi được không bị bỏ im lặng — chúng vào danh sách ngoại lệ để người xử lý tay.

  3. Nạp

    Ghi vào cơ sở dữ liệu ERP theo đúng thứ tự phụ thuộc: nhân sự → phòng ban → đơn vị → nhóm làm việc → công việc → ghi giờ → lead → tương tác. Bất biến theo khoá nguồn, nên chạy lại không sinh bản ghi trùng.

  4. Đối soát

    So số lượng bản ghi và các giá trị tổng hợp giữa hai hệ thống theo từng chiều (trạng thái, người phụ trách, khoảng thời gian). Kết quả là một báo cáo lệch — đây là bằng chứng nghiệm thu ở mốc M3.

Ràng buộc bắt buộc

  • Chỉ đọc. Công cụ không có bất kỳ đường ghi nào tới Bitrix24. Đây là ràng buộc kiểm chứng được bằng rà soát mã: mã webhook cấp cho công cụ chỉ có phạm vi đọc.
  • Nằm ngoài ứng dụng. Chạy như một tiến trình riêng, không nằm trong dịch vụ ứng dụng, không có điểm cuối nào gọi được từ giao diện người dùng ngoài trang quản trị di trú.
  • Có ngày hết hạn. Toàn bộ mã của công cụ, các trường ma_nguon_cu, du_lieu_goc và bảng nhật ký di trú bị xoá khỏi kho mã sau khi cắt chuyển được nghiệm thu. Việc gỡ này là một hạng mục công việc có người chịu trách nhiệm, không phải lời hứa.
  • Bí mật kết nối tách riêng. Mã webhook của Bitrix24 chỉ nằm trong cấu hình của công cụ di trú, không nằm trong cấu hình ứng dụng.

Nhận dữ liệu từ nguồn ngoài sau khi cắt chuyển

Sau khi Bitrix24 tắt, ERP vẫn cần nhận dữ liệu từ bên ngoài ở hai chỗ. Hai chỗ này là giao diện lập trình của ERP, không phải tích hợp ngược:

NguồnDữ liệuCách nhận
Biểu mẫu và kênh thu thập lead trên websiteLead mớiGọi POST /api/v1/lead với khoá ứng dụng riêng, giới hạn tần suất, ghi nhật ký nguồn
Hệ thống biên bản họpĐầu việc bóc tách từ cuộc họpGọi POST /api/v1/cong-viec với khoá ứng dụng riêng; việc tạo ra đi thẳng vào hàng chờ phân công

Cả hai đều là luồng một chiều đi vào, dùng đúng giao diện lập trình công khai, chịu đúng lớp kiểm soát quyền. Không có ngoại lệ kiến trúc nào cho chúng.

Hạ tầng & quy trình phát hành

Môi trường

Môi trườngMục đíchDữ liệuAi truy cập
Phát triểnMáy cá nhân của lập trình viênDữ liệu giả sinh tự độngĐội phát triển
Kiểm thửChạy kiểm thử tự động và kiểm thử tayDữ liệu giả, làm mới mỗi lần triển khaiĐội phát triển, kiểm thử
Tiền vận hànhNghiệm thu người dùng, diễn tập di trúBản sao dữ liệu thật đã che thông tin cá nhânĐội dự án, đại diện các đơn vị
Vận hànhChạy thậtDữ liệu thậtToàn bộ người dùng; đội phát triển chỉ qua quy trình có kiểm soát

Quy trình phát hành

  • Tích hợp liên tục — mỗi lần gộp mã chạy kiểm tra kiểu, kiểm tra định dạng, kiểm thử đơn vị và kiểm thử tích hợp; không đạt thì không gộp được.
  • Triển khai xanh–lam — chạy song song hai bản, chuyển lưu lượng sau khi bản mới qua kiểm tra sức khoẻ; quay lui bằng cách chuyển lưu lượng ngược, mất dưới 10 phút.
  • Di trú cơ sở dữ liệu tương thích ngược — mọi thay đổi lược đồ phải chạy được với cả bản mã cũ và mới, để quay lui không kẹt ở tầng dữ liệu. Thay đổi phá vỡ tương thích được tách thành hai lần phát hành.
  • Cờ tính năng — tính năng lớn phát hành ở trạng thái tắt, bật dần theo đơn vị. Cách này khớp với chiến lược chuyển đổi bốn trạng thái ở tài liệu 03.

Sao lưu

  • Sao lưu toàn phần cơ sở dữ liệu hằng ngày, giữ 30 ngày; sao lưu nhật ký giao dịch liên tục cho phép khôi phục về một thời điểm bất kỳ với sai số dưới 15 phút.
  • Sao lưu tệp đính kèm hằng ngày sang vị trí lưu trữ tách biệt về mặt vật lý.
  • Diễn tập khôi phục mỗi quý trên môi trường tiền vận hành, có ghi biên bản thời gian thực tế.
Tài liệu 10 · Thiết kế

Mô hình dữ liệu & giao diện lập trình

Cấu trúc dữ liệu theo miền nghiệp vụ, quy ước chung áp cho mọi bảng, nguyên tắc thiết kế giao diện lập trình, danh mục sự kiện nội bộ, và kế hoạch di trú dữ liệu từ hệ thống hiện tại.

Quan hệ chính

                       ┌──────────────┐
                       │  PHÒNG BAN   │
                       └──────┬───────┘
                              │ nhiều–nhiều
   ┌──────────────┐    ┌──────▼───────┐    ┌──────────────┐
   │  NHÓM QUYỀN  │───▶│   NHÂN SỰ    │◀──▶│   ĐƠN VỊ     │──┐ cha–con
   └──────────────┘ 1:n└──┬───┬───┬───┘n:m └──────┬───────┘◀─┘
                          │   │   │               │
             ┌────────────┘   │   └──────────┐    │ nhận việc / nhận lead
             │                │              │    │
      ┌──────▼──────┐  ┌──────▼──────┐ ┌─────▼────▼──┐
      │  KỸ NĂNG    │  │  CÔNG VIỆC  │ │    LEAD     │
      │  (n:m mức)  │  └──────┬──────┘ └──────┬──────┘
      └─────────────┘         │               │
                       ┌──────▼───────────────▼──────┐
                       │  PHÂN CÔNG · ĐỀ XUẤT · LỊCH │
                       │  SỬ CHIA — bất biến, có lý do│
                       └─────────────────────────────┘

   ┌──────────────┐   ┌──────────────┐   ┌──────────────┐
   │  LỊCH TRỰC   │   │  ĐƠN NGHỈ    │   │ NHÓM LÀM VIỆC│
   └──────┬───────┘   └──────┬───────┘   └──────┬───────┘
          └──────────────────┼──────────────────┘
                             │  đầu vào chỉ số
                      ┌──────▼───────┐      ┌──────────────┐
                      │   KỲ ĐÁNH    │─────▶│  ĐIỂM ĐÁNH   │
                      │     GIÁ      │      │   GIÁ /NGƯỜI │
                      └──────┬───────┘      └──────────────┘
                             │ dùng
                      ┌──────▼───────┐
                      │ BỘ TIÊU CHÍ  │◀── gắn với ĐƠN VỊ
                      │ (bản chụp khi│
                      │  chốt kỳ)    │
                      └──────────────┘

Danh mục thực thể

Miền tổ chức

Thực thểMô tảQuan hệ chính
nhan_suHồ sơ người dùng, gồm thông tin đăng nhập, hồ sơ mở rộng dạng JSON, trạng thái hoạt động và sẵn sàngThuộc nhiều phòng ban, nhiều đơn vị; có một nhóm quyền
phong_banPhòng ban hành chínhNhiều–nhiều với nhân sự
don_viĐơn vị vận hành, cây tự tham chiếu; mang cấu hình nhận việc, nhận lead, thứ tự và trọng số chia leadCha–con với chính nó; nhiều–nhiều với nhân sự
nhom_quyenNhóm quyền chứa danh sách khoá quyềnMột–nhiều với nhân sự
ky_nangDanh mục kỹ năng theo nhóm, có thời hạn hiệu lực tuỳ chọnNhiều–nhiều với nhân sự qua bảng mức
muc_ky_nangMức thành thạo của một người với một kỹ năng: mức tự khai và mức đã xác nhậnNối nhân sự và kỹ năng
lich_su_ky_nangLịch sử thay đổi mức: ai đổi, khi nào, từ đâu tới đâu, lý doThuộc mức kỹ năng
nhom_lam_viecNhóm làm việc hoặc dự án có thời hạnNhiều–nhiều với nhân sự; một–nhiều với công việc

Miền công việc

Thực thểMô tảQuan hệ chính
cong_viecCông việc: tiêu đề, mô tả, trạng thái, ưu tiên, hạn, giờ ước lượng, phân loạiCha–con với chính nó; thuộc nhóm làm việc; có người phụ trách
nguoi_theo_doiDanh sách người theo dõi một công việcNối công việc và nhân sự
ghi_gioBản ghi thời gian làm việc: người, công việc, số giờ, ngày, ghi chúThuộc công việc và nhân sự
binh_luanTrao đổi trên công việc hoặc leadĐa hình theo loại thực thể
tep_dinh_kemSiêu dữ liệu tệp; nội dung nằm ở lưu trữ đối tượngĐa hình theo loại thực thể
danh_gia_chat_luongĐiểm 1–5 do người kiểm tra chấm khi đóng việcThuộc công việc
kiem_tra_noi_dungNhật ký kiểm tra thông tin bắt buộc khi tạo việc, kèm kết quả và lý do trả lạiThuộc công việc

Miền khách hàng tiềm năng

Thực thểMô tảQuan hệ chính
leadKhách hàng tiềm năng: liên hệ, nguồn, loại, khu vực, giai đoạn, nhu cầu dịch vụ, mốc chạm đầuCó người phụ trách; thuộc đơn vị nhận
tuong_tac_leadDòng thời gian chăm sóc: loại tương tác, thời điểm, nội dungThuộc lead
lich_su_chia_leadBản ghi bất biến mỗi lần chia: ai nhận, đơn vị nào, quy tắc nào khớp, vị trí, vòng, lý doThuộc lead
luot_uu_tienLượt ưu tiên nhận lead đang chờ: loại, trạng thái, thời điểm khả dụng, thời hạnThuộc nhân sự và đơn vị
con_tro_xoay_vongVị trí con trỏ xoay vòng của từng đơn vị, lưu bền vữngThuộc đơn vị

Miền phân công

Thực thểMô tảQuan hệ chính
de_xuatĐề xuất phân công: thực thể đích, người được đề xuất, điểm, các thành phần điểm, lý do, phương pháp, trạng tháiĐa hình theo loại thực thể
phan_congBản ghi bất biến mỗi lần gán: ai gán, gán cho ai, khi nào, theo phương pháp nào, người duyệtĐa hình theo loại thực thể
anh_chup_taiẢnh chụp tải của từng người theo ngày, dùng để đo độ lệch tải theo thời gianThuộc nhân sự

Miền lịch trực & nghỉ phép

Thực thểMô tảQuan hệ chính
ca_trucMột ca trực: đơn vị, ngày, loại trực, người trựcDuy nhất theo bộ ba đơn vị–ngày–loại
mau_lich_trucMẫu lặp dùng để sinh lịch: kiểu lặp, danh sách người, tham sốThuộc đơn vị
yeu_cau_doi_caĐề nghị đổi ca: người đề nghị, người nhận, ca, trạng thái duyệtThuộc ca trực
don_nghiĐơn xin nghỉ: loại, khoảng thời gian, lý do, trạng thái, người bàn giaoThuộc nhân sự
buoc_duyetTừng bước trong luồng duyệt: cấp, người duyệt, quyết định, thời điểmThuộc đơn nghỉ
quy_phepQuỹ phép theo năm: được hưởng, đã dùng, còn lại, ứng trướcThuộc nhân sự
ngay_congNgày công thực tế theo kỳ, đã trừ nghỉ; là mẫu số của nhiều chỉ sốThuộc nhân sự và kỳ

Miền đo lường

Thực thểMô tảQuan hệ chính
chi_soĐịnh nghĩa một chỉ số trong thư viện: mã, nhãn, công thức, nguồn dữ liệu, cách chuẩn hoáĐộc lập
bo_tieu_chiBộ tiêu chí của một đơn vị: cây nhóm–mục–tiêu chí, kỳ bắt đầu hiệu lực, trạng tháiThuộc đơn vị
tieu_chiMột tiêu chí: nhãn, điểm tối đa, nguồn điểm, mã chỉ số liên kết, tham số chuẩn hoáThuộc bộ tiêu chí
ky_danh_giaMột kỳ: loại, phạm vi, khoảng thời gian, trạng thái, bản chụp bộ tiêu chí khi chốtThuộc đơn vị hoặc nhóm làm việc
nhan_su_trong_kyDanh sách người được đánh giá trong kỳ, có cờ loại trừ và ngày côngNối kỳ và nhân sự
diem_danh_giaĐiểm của một người trong một kỳ: chi tiết từng tiêu chí, tổng điểm, xếp loại, nhận xétNối kỳ và nhân sự
phan_hoi_kyPhản hồi của nhân sự về số liệu trước khi quản lý chấmThuộc kỳ và nhân sự
noi_dung_bao_caoPhần nội dung tự do của báo cáo kỳ: công việc đã làm, kế hoạch, đề xuấtThuộc kỳ
bao_cao_ngayBáo cáo cuối ngày: nội dung, kế hoạch ngày mai, số liệu tổng hợp, trạng tháiDuy nhất theo nhân sự và ngày
chi_tieuKế hoạch chỉ tiêu theo kỳ và theo người hoặc đơn vịThuộc đơn vị

Miền hệ thống

Thực thểMô tả
cau_hinhKhoá–giá trị JSON cho toàn bộ tham số hệ thống
nhat_ky_kiem_toanMọi thay đổi dữ liệu nghiệp vụ và mọi lần đọc dữ liệu nhạy cảm: ai, khi nào, từ đâu, giá trị trước và sau
thong_baoThông báo trong ứng dụng: người nhận, loại, nội dung, trạng thái đọc, liên kết tới thực thể
nhat_ky_di_truKết quả mỗi lần chạy công cụ nhập dữ liệu: đối tượng, số bản ghi đọc và nạp, số lỗi, sai lệch đối soát. Bảng tạm, gỡ cùng công cụ di trú
phien_tro_lyPhiên hỏi đáp: câu hỏi, công cụ đã gọi kèm tham số, số bản ghi trả về, câu trả lời, số token, chi phí
mau_thuMẫu thư điện tử và nhật ký gửi

Quy ước chung

Quy ướcNội dungLý do
Khoá chínhSố nguyên tự tăng cho bảng nội bộ; định danh duy nhất toàn cục cho các thực thể lộ ra giao diện lập trình công khaiSố nguyên gọn cho khoá ngoại; định danh toàn cục tránh đoán được số lượng bản ghi
Mã nguồn cũThực thể có dữ liệu nhập từ hệ thống cũ giữ tạm ma_nguon_cudu_lieu_goc dạng JSONChỉ phục vụ đối soát đợt di trú. Xoá cả hai trường sau khi cắt chuyển được nghiệm thu — chúng không phải là một phần của mô hình dữ liệu lâu dài
Trường kiểm toánMọi bảng nghiệp vụ có tao_luc, cap_nhat_luc, tao_boi, cap_nhat_boiĐiều kiện tối thiểu để truy vết
Xoá mềmDữ liệu nghiệp vụ không xoá cứng; đánh dấu xoa_luc và loại khỏi truy vấn mặc địnhĐiểm đánh giá và báo cáo lịch sử phải giữ tham chiếu hợp lệ
Múi giờLưu mọi mốc thời gian theo UTC; quy đổi sang giờ Việt Nam ở tầng hiển thị. Trường chỉ có ngày lưu kiểu ngày thuầnTránh lệch một ngày ở các mốc kỳ báo cáo
Tiền tệLưu số nguyên đơn vị đồng, không dùng số thựcTránh sai số cộng dồn trong tính doanh số và hoa hồng
Cấu hình JSONCấu hình và hồ sơ mở rộng lưu JSONB, có lược đồ kiểm tra ở tầng ứng dụngThêm tham số mới không cần di trú lược đồ
Bảng bất biếnPhân công, lịch sử chia lead, nhật ký kiểm toán chỉ ghi thêm, không sửa, không xoáĐây là bằng chứng; sửa được thì mất giá trị
Đánh chỉ mụcBắt buộc chỉ mục trên khoá ngoại, trường trạng thái, trường thời gian dùng lọc kỳ, và các bộ cột dùng trong truy vấn phạm viTruy vấn phạm vi chạy trên mọi yêu cầu, là điểm nghẽn tiềm tàng lớn nhất
Đặt tênBảng và cột dùng tiếng Việt không dấu, chữ thường, nối bằng gạch dưới; mã nguồn dùng camelCaseThuật ngữ nghiệp vụ giữ nguyên nghĩa, tránh dịch sai sang tiếng Anh

Giao diện lập trình

Nguyên tắc

  • REST theo tài nguyên, đường dẫn dạng /api/v1/<tài-nguyên>. Phiên bản nằm trong đường dẫn để hai phiên bản chạy song song trong giai đoạn chuyển đổi ứng dụng.
  • Phân trang bằng con trỏ cho danh sách lớn, phân trang bằng số trang cho danh sách nhỏ có tổng số cố định. Trần mặc định 100 bản ghi mỗi trang, tối đa 500.
  • Lọc, sắp xếp, chọn trường qua tham số truy vấn chuẩn hoá, dùng chung cú pháp cho mọi tài nguyên.
  • Bất biến theo khoá cho mọi thao tác ghi có thể bị lặp: yêu cầu mang khoá bất biến, gọi lại cùng khoá trả về kết quả cũ thay vì tạo bản ghi mới.
  • Mã lỗi có cấu trúc: mã máy đọc được, thông điệp tiếng Việt cho người dùng, và mã truy vết để đối chiếu với nhật ký.
  • Giới hạn tần suất theo tài khoản và theo địa chỉ, trả về thông tin hạn mức còn lại trong đầu mục phản hồi.

Nhóm điểm cuối chính

NhómĐiểm cuối tiêu biểuKhoá quyền
Xác thựcPOST /auth/dang-nhap, POST /auth/lam-moi, POST /auth/doi-mat-khau
Nhân sựGET /nhan-su, GET /nhan-su/{id}, PATCH /nhan-su/{id}, GET /nhan-su/{id}/ky-nangstaff.view, staff.manage
Tổ chứcGET /don-vi, GET /don-vi/{id}/thanh-vien, PATCH /don-vi/{id}/cau-hinh-leadteam.view, team.edit
Công việcGET /cong-viec, POST /cong-viec, PATCH /cong-viec/{id}, POST /cong-viec/{id}/ghi-giotask.*
Phân côngGET /de-xuat, POST /de-xuat/{id}/duyet, POST /de-xuat/{id}/doi-nguoi, GET /bang-taiapproval.*, workload.view
LeadGET /lead, POST /lead, POST /lead/{id}/tuong-tac, POST /lead/{id}/bao-du-lieu-raclead.*
Trực & nghỉGET /ca-truc, POST /ca-truc/sinh-tu-mau, POST /don-nghi, POST /don-nghi/{id}/duyetleave.*
Đánh giáGET /bo-tieu-chi, POST /ky-danh-gia, POST /ky-danh-gia/{id}/thu-thap, POST /ky-danh-gia/{id}/chotkpi.*, report.*
Báo cáoGET /bao-cao/ky/{id}, POST /bao-cao/ky/{id}/ket-xuat, GET /bao-cao/tong-hopreport.view, report.export
Trợ lýPOST /tro-ly/hoi, GET /tro-ly/lich-suTheo công cụ được nạp
Cấu hìnhGET /cau-hinh, PUT /cau-hinh/{khoa}, GET /nhom-quyenconfig.*, perm.manage
Tích hợpPOST /tich-hop/dong-bo/chay, GET /tich-hop/nhat-kysync.run
Ràng buộc kiến trúc

Mọi điểm cuối trả về dữ liệu nghiệp vụ bắt buộc đi qua lớp kiểm soát phạm vi. Điều này được cưỡng chế bằng một lớp trung gian ở tầng khung ứng dụng: yêu cầu nào không khai báo phạm vi sẽ bị từ chối ngay ở giai đoạn khởi động dịch vụ, không phải ở lúc chạy. Cách này biến một lỗi bảo mật tiềm ẩn thành một lỗi biên dịch.

Sự kiện nội bộ

Các mô-đun trao đổi qua một kênh sự kiện nội bộ thay vì gọi thẳng nhau. Cách này giữ ranh giới mô-đun sạch và cho phép thêm người tiêu thụ mới mà không sửa nơi phát.

Sự kiệnPhát khiNgười tiêu thụ
cong_viec.taoCông việc mới được tạo hoặc đồng bộ vềKiểm tra nội dung, hàng chờ phân công
cong_viec.doi_trang_thaiTrạng thái thay đổiTính lại tải, thông báo, chỉ số kỳ
cong_viec.dongCông việc chuyển sang hoàn thànhChỉ số đúng hạn, chất lượng, khối lượng
cong_viec.mo_laiCông việc đã đóng bị mở lạiChỉ số tỉ lệ mở lại
de_xuat.sinhEngine sinh đề xuất mớiThông báo cho người duyệt
de_xuat.duyet / de_xuat.doi_nguoiQuản lý quyết địnhGhi phân công, đẩy sang hệ thống nguồn, thống kê chất lượng đề xuất
lead.nhanLead vào hệ thốngHàng chờ chia lead
lead.chiaLead được gán cho một ngườiThông báo, cập nhật con trỏ xoay vòng, ghi lịch sử
lead.bao_du_lieu_racNhân viên báo lead không dùng đượcSinh lượt ưu tiên nếu đủ điều kiện
don_nghi.duyetĐơn nghỉ được duyệt ở bước cuốiTrừ quỹ phép, cập nhật ngày công, kiểm tra xung đột lịch trực
ca_truc.trongPhát hiện ngày trống trực trong 7 ngày tớiCảnh báo cho trưởng đơn vị
ky.mo / ky.chotKỳ đánh giá mở hoặc chốtThu thập chỉ số, thông báo, khoá dữ liệu
nhap_lieu.hoan_tatMột lô dữ liệu nhập từ nguồn ngoài được nạp xong (di trú, hoặc lead từ biểu mẫu ngoài)Đưa bản ghi mới vào hàng chờ phân công, cập nhật bảng trạng thái
tai.vuot_nguongMột người vượt ngưỡng quá tảiCảnh báo cho trưởng đơn vị, loại khỏi vòng phân công

Di trú dữ liệu

Cần xác minh

Cột khối lượng dưới đây là ước lượng dựa trên quy mô tổ chức và các con số rời rạc thu được trong khảo sát. Cần một đợt trích xuất đối soát trong hai tuần đầu giai đoạn khởi động để chốt lại — con số thật ảnh hưởng trực tiếp tới thời lượng của giai đoạn 9.

Đối tượngKhối lượng ước lượngCách lấyQuy tắc chuyển đổiCách kiểm chứng
Nhân sự200–300REST theo phòng banMã Bitrix thành mã ngoài; sinh tên đăng nhập từ trường đăng nhập gốc; đặt mật khẩu khởi tạo buộc đổiĐếm tổng, đối chiếu danh sách tên với bảng nhân sự của phòng Nhân sự
Phòng ban15–30RESTGiữ nguyên cấu trúc câySo sánh sơ đồ tổ chức
Đơn vị vận hành10–20Khai báo tayKhông có nguồn tự động; dựng theo phỏng vấn các trưởng đơn vịXác nhận của từng trưởng đơn vị
Kỹ năng và mức60–120 kỹ năngTừ xerp-4s, bổ sung tayChuyển mức đã khai thành mức đã xác nhận; đặt lại lịch sử về mốc di trúTrưởng đơn vị rà soát ma trận năng lực
Nhóm làm việc30–80RESTPhân biệt nhóm và dự án theo cờ gốcĐếm tổng và đối chiếu danh sách đang hoạt động
Công việc50.000–200.000REST theo lô, lọc theo mốc ngày tạoÁnh xạ trạng thái và độ ưu tiên theo bảng quy đổi; giữ dữ liệu gốc; chỉ chuyển công việc từ mốc thời gian đã thoả thuậnĐối soát theo lô 5.000 bản ghi; kiểm tra tổng số theo trạng thái và theo người phụ trách
Ghi giờTỉ lệ với công việcREST theo công việcGiữ nguyên; quy đổi múi giờSo tổng số giờ theo tháng
Lead15.000–30.000Trích xuất REST theo lô, chạy một lầnÁnh xạ trường tuỳ biến khu vực và nguồn sang danh mục mới; chuẩn hoá số điện thoại và thư điện tửĐối soát theo lô; kiểm tra tổng theo nguồn và theo giai đoạn
Đơn nghỉ3.000–8.000REST từ danh sách tuỳ biếnÁnh xạ mã lý do và mã trạng thái sang danh mục mớiĐối chiếu quỹ phép cuối năm với sổ của phòng Nhân sự
Tệp đính kèmChưa xác định — cần đoTải theo lô, giữ nguyên tên và siêu dữ liệuĐưa vào lưu trữ đối tượng; giữ đường dẫn cũ để đối chiếuSo tổng dung lượng và tổng số tệp; kiểm tra ngẫu nhiên 100 tệp mở được
Điểm đánh giá lịch sửVài kỳ gần nhấtTừ công cụ chấm KPI hiện tại và bảng tínhChỉ nhập kết quả đã chốt, không tính lại theo bộ tiêu chí mớiĐối chiếu từng kỳ với bản Excel gốc

Quy trình di trú

  1. Chạy thử trên môi trường tiền vận hành

    Ít nhất ba lần, lần cuối cách mốc chuyển thật không quá một tuần. Mỗi lần đo thời gian thực tế của từng bước để lập lịch cho lần chạy thật.

  2. Đối soát tự động

    Kịch bản so sánh số lượng và tổng giá trị theo từng chiều (trạng thái, người phụ trách, khoảng thời gian) giữa hai hệ thống. Ngưỡng sai số chấp nhận được thoả thuận trước với từng đơn vị nghiệp vụ.

  3. Rà soát mẫu bằng người

    Mỗi đối tượng lấy ngẫu nhiên 50 bản ghi, đại diện đơn vị nghiệp vụ mở song song hai hệ thống và xác nhận khớp từng trường.

  4. Chuyển thật ngoài giờ

    Thực hiện vào cuối tuần. Bitrix24 chuyển sang chỉ đọc trong thời gian chuyển, có thông báo trước ba ngày.

  5. Giữ lưới an toàn

    Giữ Bitrix24 ở chế độ chỉ đọc tối thiểu 90 ngày sau khi chuyển, và giữ bản sao dữ liệu gốc theo chính sách lưu trữ dài hạn.

Tài liệu 11 · Thiết kế

Phân quyền & bảo mật

Mô hình quyền hai chiều — làm được gì nhân với làm được trên dữ liệu của ai — cùng danh mục khoá quyền, ma trận vai trò, và các biện pháp bảo vệ dữ liệu tương ứng với quy định hiện hành về dữ liệu cá nhân.

Mô hình hai chiều

Công thức quyền

Quyền hiệu lực = Tập khoá quyền × Phạm vi dữ liệu. Khoá quyền trả lời “được làm hành động gì”; phạm vi dữ liệu trả lời “trên bản ghi của ai”. Thiếu một trong hai thì thao tác bị từ chối. Hai chiều này độc lập và được kiểm ở hai chỗ khác nhau trong luồng xử lý.

  Yêu cầu vào
      │
      ▼
  ① Xác thực ─────────── phiên hợp lệ? → không thì 401
      │
      ▼
  ② Kiểm khoá quyền ──── điểm cuối này cần khoá gì?
      │                   tập khoá của người dùng có chứa không?
      │                   → không thì 403, ghi nhật ký
      ▼
  ③ Tính phạm vi ─────── tập đơn vị nhìn thấy
      │                   tập nhân sự nhìn thấy
      │                   (đọc từ bộ đệm, làm mới khi cơ cấu đổi)
      ▼
  ④ Ghép vào truy vấn ── điều kiện phạm vi TIÊM CỐ ĐỊNH
      │                   không có đường bỏ qua
      ▼
  ⑤ Lọc trường ───────── loại trường nhạy cảm khỏi kết quả
      │
      ▼
  ⑥ Nhật ký ──────────── ghi truy cập nếu chạm dữ liệu nhạy cảm

Ba lý do chọn mô hình này thay vì phân quyền theo vai trò cứng:

  • Vai trò cứng không mô tả được thực tế. Một người có thể vừa là trưởng nhóm của đơn vị A vừa là thành viên đơn vị B. Với vai trò cứng, phải sinh ra vai trò lai cho từng tổ hợp.
  • Cơ cấu tổ chức thay đổi thường xuyên hơn danh mục quyền. Tách phạm vi ra khỏi khoá quyền nghĩa là chuyển người sang đơn vị khác tự động thay đổi phạm vi mà không phải sửa nhóm quyền.
  • Chứng minh được không có lối vòng. Vì phạm vi tính ở một chỗ và ghép ở một chỗ, việc rà soát an toàn quy về rà soát một mô-đun thay vì rà soát toàn bộ truy vấn trong hệ thống.

Danh mục khoá quyền

Khoá quyền đặt theo dạng miền.hành_động. Danh mục kế thừa và mở rộng từ hệ thống hiện có, tổ chức theo 14 miền.

MiềnKhoá quyềnÝ nghĩa
Nhân sựstaff.viewXem danh sách và hồ sơ trong phạm vi
staff.manageTạo, sửa, đổi trạng thái hoạt động
staff.sensitiveXem các trường nhạy cảm trong hồ sơ
staff.overloadĐặt ngưỡng quá tải riêng cho từng người
Kỹ năngskill.viewXem danh mục và ma trận năng lực
skill.manageQuản lý danh mục kỹ năng
skill.confirmXác nhận mức thành thạo do nhân sự tự khai
Tổ chứcteam.viewXem đơn vị và thành viên
team.create / team.edit / team.deleteQuản lý cây đơn vị
team.configCấu hình nhận việc, nhận lead, thứ tự và trọng số chia lead của đơn vị
dept.manageQuản lý phòng ban hành chính
Công việctask.viewXem công việc trong phạm vi
task.create / task.editTạo và sửa công việc
task.assignGán người phụ trách trực tiếp
task.commentBình luận và đính kèm
task.rateChấm điểm chất lượng khi đóng việc
task.reopenMở lại việc đã hoàn thành
Phân côngapproval.viewXem hộp duyệt đề xuất
approval.approve / approval.reassign / approval.skipDuyệt, đổi người, bỏ qua
workload.viewXem bảng tải
assignment.configChỉnh trọng số và ngưỡng của engine
Leadlead.viewXem lead trong phạm vi
lead.editSửa thông tin và chuyển giai đoạn
lead.assignGán lại lead thủ công
lead.configCấu hình quy tắc định tuyến và danh mục loại lead
Trực & nghỉduty.view / duty.manageXem và xếp lịch trực
leave.viewXem đơn nghỉ và quỹ phép trong phạm vi
leave.approve / leave.manageDuyệt đơn và quản lý quỹ phép
Đánh giákpi.viewXem điểm đánh giá trong phạm vi
kpi.scoreChấm điểm trong một kỳ
kpi.approveDuyệt và chốt kỳ
kpi.reopenMở lại kỳ đã chốt
rubric.manageKhai báo và sửa bộ tiêu chí
Báo cáoreport.viewXem báo cáo kỳ
report.manageTạo, sửa nội dung báo cáo kỳ
report.exportKết xuất ra tệp
Chỉ tiêutarget.view / target.manageXem và giao chỉ tiêu
target.approveDuyệt kế hoạch chỉ tiêu
commission.view / commission.manageXem và tính hoa hồng
Trợ lýassistant.useDùng trợ lý hỏi đáp
assistant.auditXem nhật ký truy vấn của trợ lý
Hệ thốngconfig.view / config.manageXem và sửa cấu hình
perm.manageQuản lý nhóm quyền và gán quyền
audit.viewXem nhật ký kiểm toán
Di trúmigration.view / migration.runXem và chạy công cụ nhập dữ liệu ban đầu. Chỉ có hiệu lực tới khi cắt chuyển xong
migration.configCấu hình nguồn nhập và bảng quy đổi danh mục
Thông báonotify.templateQuản lý mẫu thông báo và thư
notify.sendGửi thông báo thủ công

Ma trận vai trò mặc định

Bảy nhóm quyền dựng sẵn, có thể sửa và nhân bản. Ký hiệu: có quyền, có quyền hạn chế (chỉ bản thân hoặc chỉ một phần), ô trống là không có quyền.

Nhóm khoá quyềnNhân viênTrưởng nhómTrưởng phòngĐiều phốiNhân sựĐiều hànhQuản trị
Xem nhân sự
Quản lý nhân sự
Trường nhạy cảm
Kỹ năng — xem
Kỹ năng — xác nhận mức
Tổ chức — cấu hình đơn vị
Công việc — xem
Công việc — tạo, sửa
Công việc — chấm chất lượng
Phân công — duyệt
Phân công — cấu hình engine
Bảng tải
Lead — xem, sửa
Lead — cấu hình định tuyến
Lịch trực — xếp lịch
Đơn nghỉ — duyệt
Đánh giá — xem điểm
Đánh giá — chấm
Đánh giá — chốt kỳ
Bộ tiêu chí — khai báo
Báo cáo — kết xuất
Trợ lý — sử dụng
Trợ lý — xem nhật ký truy vấn
Cấu hình hệ thống
Quản lý nhóm quyền
Nhật ký kiểm toán
Quy tắc bất biến

Nhóm Quản trị không được xem trường nhạy cảm chỉ vì là quản trị. Quyền staff.sensitive vẫn phải cấp tường minh, và mọi lần đọc đều ghi nhật ký. Lý do: quản trị hệ thống là vai trò kỹ thuật, không phải vai trò nhân sự. Gộp hai thứ vào nhau là cách nhanh nhất để mất khả năng giải trình khi có sự cố rò rỉ.

Tính phạm vi dữ liệu

Phạm vi tính từ vị trí của người dùng trong cây đơn vị, theo bốn mức:

MứcTênTập nhân sự nhìn thấyÁp dụng cho
1Bản thânChính người dùngNhân viên
2Đơn vịThành viên các đơn vị người dùng là thành viênNhân viên có nhu cầu phối hợp; cấu hình theo đơn vị
3Nhánh câyThành viên các đơn vị người dùng làm trưởng, cộng toàn bộ đơn vị con cháu ở mọi cấpTrưởng nhóm, trưởng phòng
4Toàn hệ thốngMọi nhân sựNhân sự, ban điều hành, quản trị

Thuật toán

tập_đơn_vị(người) =
    ⋃ { nhánh_con_cháu(đv) : đv ∈ đơn_vị_người_này_làm_trưởng }
  ∪   { đv                 : đv ∈ đơn_vị_người_này_là_thành_viên }

tập_nhân_sự(người) =
    { thành viên của mọi đv ∈ tập_đơn_vị(người) }
  ∪ { chính người đó }

Ba chi tiết triển khai quan trọng:

  • Đệm kết quả. Phạm vi tính một lần mỗi phiên và lưu đệm. Bộ đệm bị xoá khi cơ cấu tổ chức thay đổi, khi thành viên đơn vị thay đổi, hoặc khi nhóm quyền của người dùng thay đổi.
  • Ngoại lệ quyền cá nhân. Người phụ trách và người theo dõi luôn xem được bản ghi của mình, kể cả khi bản ghi nằm ngoài phạm vi (ví dụ một việc thuộc dự án ở đơn vị khác). Ngoại lệ này khai báo tường minh cho từng loại thực thể, không suy diễn ngầm.
  • Không kế thừa ngang. Trưởng đơn vị A không thấy dữ liệu đơn vị B chỉ vì hai đơn vị cùng cấp. Phạm vi chỉ mở rộng xuống, không mở rộng ngang.

Che trường nhạy cảm

Trường nhạy cảm bị loại bỏ ở tầng truy vấn, trước khi dữ liệu rời khỏi tầng dịch vụ. Hệ quả: chúng không bao giờ nằm trong phản hồi giao diện lập trình, không nằm trong tệp kết xuất, và không nằm trong ngữ cảnh gửi tới mô hình AI.

Nhóm trườngVí dụKhoá quyền cần cóAi luôn xem được
Định danh cá nhânSố căn cước, ngày sinh đầy đủ, quê quánstaff.sensitiveChính chủ
Liên hệ riêngĐịa chỉ nhà, số điện thoại cá nhân, liên hệ khẩn cấpstaff.sensitiveChính chủ
Tài chính cá nhânSố tài khoản ngân hàng, mức thưởng theo xếp loạistaff.sensitiveChính chủ
Điểm đánh giá chi tiếtĐiểm từng tiêu chí, nhận xét của quản lýkpi.view ở mức phạm vi phù hợpChính chủ và quản lý trực tiếp
Bí mật hệ thốngKhoá kết nối, mật khẩu thư, mã webhookconfig.manageKhông ai — luôn hiển thị dạng che, chỉ ghi được, không đọc lại được

Biện pháp bảo mật

Xác thực & phiên

  • Mật khẩu băm bằng thuật toán chậm có muối riêng; chính sách độ mạnh tối thiểu và chặn mật khẩu phổ biến.
  • Người dùng mới nhận mật khẩu khởi tạo và bị buộc đổi ở lần đăng nhập đầu.
  • Phiên dùng thẻ truy cập ngắn hạn (15 phút) và thẻ làm mới dài hạn có thể thu hồi. Đăng xuất thu hồi thẻ làm mới ở phía máy chủ, không chỉ xoá phía máy khách.
  • Xác thực hai yếu tố tuỳ chọn cho các nhóm quyền cao; bắt buộc cho nhóm Quản trị.
  • Khoá tài khoản tạm thời sau số lần đăng nhập sai liên tiếp; đếm theo cả tài khoản và địa chỉ nguồn.
  • Chuẩn bị sẵn điểm nối cho đăng nhập một lần ở giai đoạn sau, không triển khai trong v1.

Bảo vệ dữ liệu

  • Toàn tuyến mã hoá; chuyển hướng bắt buộc và bật cơ chế yêu cầu trình duyệt chỉ dùng kênh an toàn.
  • Mã hoá ổ đĩa cho máy chủ cơ sở dữ liệu và lưu trữ tệp; mã hoá ở tầng ứng dụng cho nhóm trường định danh cá nhân và tài chính.
  • Bí mật cấu hình nằm trong kho bí mật, không nằm trong mã nguồn, không nằm trong biến môi trường hiển thị được qua giao diện.
  • Bản sao dữ liệu dùng cho môi trường tiền vận hành bắt buộc che thông tin cá nhân trước khi nạp.

An toàn ứng dụng

  • Kiểm tra dữ liệu đầu vào theo lược đồ ở biên; không tin dữ liệu từ máy khách trong bất kỳ hoàn cảnh nào.
  • Truy vấn tham số hoá toàn bộ; không ghép chuỗi truy vấn.
  • Chính sách nguồn nội dung nghiêm ngặt; thoát nội dung do người dùng nhập ở tầng hiển thị.
  • Bảo vệ chống giả mạo yêu cầu liên trang cho các thao tác ghi dựa trên phiên.
  • Giới hạn tần suất theo tài khoản và theo địa chỉ trên toàn bộ điểm cuối, ngưỡng chặt hơn cho đăng nhập và cho trợ lý AI.
  • Quét phụ thuộc tự động trong quy trình tích hợp liên tục; lỗ hổng mức nghiêm trọng chặn phát hành.
  • Tệp tải lên: kiểm tra kiểu thật theo nội dung chứ không theo phần mở rộng, giới hạn dung lượng, quét mã độc, lưu ngoài thư mục phục vụ web.

Kiểm toán

Nhật ký kiểm toán ghi hai loại sự kiện với mức chi tiết khác nhau:

LoạiGhi gìThời gian lưu
Thay đổi dữ liệu nghiệp vụAi, khi nào, từ đâu, thực thể nào, giá trị trước và sau24 tháng
Đọc dữ liệu nhạy cảmAi, khi nào, từ đâu, đọc hồ sơ của ai, qua lối vào nào (giao diện, giao diện lập trình, trợ lý, kết xuất)24 tháng
Thay đổi quyền và cấu hìnhAi, khi nào, khoá nào, giá trị trước và sau36 tháng
Truy vấn của trợ lý AICâu hỏi, công cụ đã gọi, tham số, số bản ghi trả về, chi phí24 tháng

Nhật ký kiểm toán là bảng chỉ ghi thêm. Không có điểm cuối nào cho phép sửa hoặc xoá; việc dọn dẹp theo chính sách lưu trữ thực hiện bằng tác vụ vận hành có phê duyệt riêng.

Dữ liệu cá nhân

Hệ thống xử lý dữ liệu cá nhân của người lao động, thuộc phạm vi điều chỉnh của Nghị định 13/2023/NĐ-CP về bảo vệ dữ liệu cá nhân. Bốn nghĩa vụ có ảnh hưởng trực tiếp tới thiết kế:

  1. Xác định mục đích và phạm vi xử lý

    Mỗi nhóm trường dữ liệu cá nhân được gắn mục đích sử dụng rõ ràng trong tài liệu nội bộ. Trường không phục vụ mục đích nào trong danh sách thì không thu thập.

  2. Bảo đảm quyền của chủ thể dữ liệu

    Người lao động xem được toàn bộ dữ liệu cá nhân của mình trong hệ thống, biết được ai đã truy cập (qua nhật ký), và yêu cầu chỉnh sửa được phần thông tin tự khai.

  3. Hạn chế thời gian lưu trữ

    Chính sách lưu trữ khai báo theo từng nhóm dữ liệu. Hồ sơ nhân sự đã nghỉ việc chuyển sang trạng thái lưu trữ và bị che phần lớn trường sau thời hạn quy định, giữ lại phần tối thiểu cần cho nghĩa vụ pháp lý.

  4. Ghi nhận và thông báo sự cố

    Có quy trình phát hiện, đánh giá và báo cáo sự cố lộ lọt dữ liệu, kèm mốc thời gian và người chịu trách nhiệm. Quy trình này là một phần của tài liệu vận hành ở tài liệu 13.

Cần xác nhận

Nội dung mục này phản ánh cách hiểu kỹ thuật về nghĩa vụ tuân thủ và cần được bộ phận pháp chế của Nhân Hòa rà soát trước khi hệ thống xử lý dữ liệu thật. Đây là một mốc phụ thuộc trong giai đoạn khởi động.

Kiểm thử phân quyền

Phân quyền là hạng mục duy nhất trong hồ sơ này có tiêu chí đạt tuyệt đối. Ba lớp kiểm thử:

LớpNội dungTiêu chí đạtTần suất
Kiểm thử tự động theo vai tròMỗi điểm cuối chạy với cả bảy vai trò, kiểm tra mã trả về và nội dung phản hồi khớp ma trận quyền100% điểm cuối được phủ; không có sai lệchMỗi lần gộp mã
Kiểm thử phạm vi dữ liệuDựng cây đơn vị mẫu ba cấp với dữ liệu chéo, kiểm tra tập bản ghi trả về đúng bằng tập kỳ vọngKhông bản ghi nào ngoài phạm vi lọt lướiMỗi lần gộp mã
Kiểm thử xâm nhập nội bộThử vượt quyền có chủ đích: sửa định danh trong yêu cầu, gọi thẳng giao diện lập trình, khai thác trợ lý AI bằng câu hỏi được dàn dựngKhông phát hiện lối rò dữ liệuTrước mỗi mốc nghiệm thu lớn
Kịch bản bắt buộc có trong bộ kiểm thử

Bốn kịch bản dưới đây là các lối rò phổ biến nhất và phải nằm trong bộ kiểm thử tự động: (1) đổi định danh đơn vị trong tham số truy vấn để đọc dữ liệu đơn vị khác; (2) dùng điểm cuối kết xuất báo cáo để lấy dữ liệu ngoài phạm vi; (3) hỏi trợ lý AI bằng câu hỏi gộp để suy ngược ra số liệu cá nhân; (4) đọc trường nhạy cảm qua điểm cuối danh sách thay vì điểm cuối chi tiết.

Tài liệu 12 · Triển khai

Lộ trình triển khai & ước lượng

Mười giai đoạn chia hai luồng chạy song song. Bản chạy được đầu tiên — đăng nhập, nhân sự, phòng ban, nhóm làm việc và quản lý công việc — hoàn tất trong tháng 9/2026. Toàn bộ tính năng đóng băng ngày 25/04/2027. Cắt chuyển cuối tháng 6/2027.

Hai mốc chốt của lộ trình

30/09/26

Bản chạy được đầu tiên

Đăng nhập, nhân sự, phòng ban, cây đơn vị, nhóm làm việc, quản lý công việc ở mức cơ bản. Dùng được trong nội bộ đội dự án và nhóm thí điểm.

25/04/27

Đóng băng tính năng

Toàn bộ chức năng trong phạm vi v1 hoàn tất. Sau mốc này chỉ sửa lỗi, không thêm tính năng.

21/06/27

Cắt chuyển

Toàn bộ tổ chức vào hệ thống mới sáng thứ Hai 21/06/2027, sau một cuối tuần cắt chuyển.

~83

Người-tháng

Đội cao điểm 9 người, và phải đủ quân ngay từ ngày 01/09/2026 — đây là điều kiện của mốc tháng 9.

Mức độ nén của mốc tháng 9

Theo nhịp làm việc thông thường, khối lượng của tháng 9 (dựng nền kỹ thuật + nhân sự + tổ chức + nhóm làm việc + quản lý công việc) cần khoảng 14 tuần. Ép vào 4,5 tuần là nén khoảng ba lần. Điều này khả thi chỉ khi phạm vi tháng 9 được hiểu theo nghĩa hẹp đã liệt kê ở mục dưới, và năm điều kiện bắt buộc được đáp ứng. Thiếu bất kỳ điều kiện nào thì mốc này trượt, và trượt ở đây kéo theo trượt toàn bộ chuỗi phía sau.

Nguyên tắc phân kỳ

  1. Xây kín, cắt một lần

    Bitrix24 chạy bình thường suốt thời gian phát triển và không bị chạm vào. ERP chỉ đọc nó ở tuần đầu để đo dữ liệu, và ở giai đoạn 9 để chạy thử công cụ nhập. Không đồng bộ, không ghi ngược, không giai đoạn nào bắt nhân viên nhập liệu vào hai nơi.

  2. Cơ bản trước, đầy đủ sau — nhưng nền móng thì không

    Tháng 9 làm bản cơ bản của năm phân hệ, lùi phần đầy đủ sang tháng 10. Ngoại lệ duy nhất là lớp kiểm soát phạm vi dữ liệu: phải có ngay từ tuần đầu, vì gắn nó vào sau là viết lại toàn bộ tầng truy vấn.

  3. Hai luồng song song ngay sau tháng 9

    Từ 01/10, luồng thứ hai tách ra làm các phân hệ ít phụ thuộc: lịch trực, ứng dụng đa nền tảng, trợ lý AI. Cách này là điều kiện để kịp mốc đóng băng tính năng tháng 4.

  4. Chạy thử thay cho vận hành thật

    Xây độc lập có một cái giá: hệ thống không tự chứng minh được bằng dữ liệu vận hành thật cho tới ngày cắt. Bù lại bằng sáu tuần chạy thử có kiểm soát — người dùng thật, dữ liệu thật đã nhập, môi trường tiền vận hành. Đây là giai đoạn không được rút ngắn khi tiến độ căng.

  5. Nghỉ Tết nằm trong ước lượng

    Tết Nguyên Đán 2027 rơi vào khoảng 03–11/02/2027. Giai đoạn 6 và giai đoạn 7 đã được cộng thêm một tuần để hấp thụ kỳ nghỉ này. Không có giai đoạn nào đặt mốc bàn giao trong tháng 2.

Sơ đồ tiến độ

T9/26T10T11T12T1/27T2T3T4T5T6T7T8
GĐ 1Nền tảng & bản chạy được
4,5t
GĐ 2Hoàn thiện việc & kỹ năng
5,5t
GĐ 3Phân công công việc
5t
GĐ 4Lead & chia lead
6t
GĐ 6KPI & báo cáo theo team
8t
GĐ 5Lịch trực · Nghỉ phép
4,5t
GĐ 8Ứng dụng đa nền tảng
8t
8t
GĐ 7Trợ lý AI
7t
ĐệmDự phòng trước đóng băng
2t
GĐ 9Đối chiếu & chạy thử
6t
GĐ 10Di trú & cắt chuyển
4t
BHBảo hành & ổn định
8t
Luồng A — nghiệp vụ lõi Luồng B — phân hệ song song Kiểm chứng & cắt chuyển

Chi tiết tháng 9 — bản chạy được đầu tiên

GĐ 1

Nền tảng & bản chạy được đầu tiên

01/09 – 30/09/2026 · 4,5 tuần

Kết thúc tháng 9 có một hệ thống đăng nhập được và làm việc được trên năm phân hệ ở mức cơ bản, chạy trên môi trường kiểm thử với dữ liệu tổ chức thật.

Phạm vi tháng 9 — làm gì

TuầnHạng mụcKết quả cụ thể
1
01–06/09
Kho mã & hạ tầngKho mã đơn khối, tích hợp liên tục, ba môi trường dựng xong và chạy được
Lược đồ dữ liệuMang thẳng lược đồ nhân sự, phòng ban, đơn vị, nhóm làm việc, công việc từ xerp-4s; bỏ các trường đồng bộ; chạy di trú lược đồ lần đầu
Lớp kiểm soát phạm viLớp trung gian ở tầng khung: điểm cuối nào không khai báo phạm vi thì dịch vụ không khởi động được. Cơ chế đầy đủ; cách tính phạm vi ở bản đơn giản
Khung giao diệnBố cục, điều hướng, bảng, biểu mẫu, thông báo lỗi — lấy từ thư viện thành phần, không thiết kế mới
2
07–13/09
Đăng nhập & phiênĐăng nhập, thẻ truy cập, thẻ làm mới, đăng xuất thu hồi phía máy chủ, buộc đổi mật khẩu lần đầu
Nhóm quyềnDanh mục khoá quyền, nhóm quyền, gán nhóm cho nhân sự. Bảy nhóm mặc định seed sẵn
Nhân sựDanh sách có lọc, hồ sơ chi tiết, tạo – sửa – ngừng hoạt động, hồ sơ của tôi
3
14–20/09
Phòng banCây phòng ban hành chính, gán nhân sự vào phòng ban
Cây đơn vịCây đơn vị tự tham chiếu, trưởng đơn vị, thành viên, chặn xoá khi còn đơn vị con
Nhóm làm việcDanh sách, tạo – sửa – lưu trữ, thành viên, phân biệt nhóm và dự án có thời hạn
4
21–27/09
Quản lý công việcTạo, danh sách có lọc và lưu khung nhìn, chi tiết, việc cha con, gán người phụ trách bằng tay, đổi trạng thái, người theo dõi
Việc của tôiMàn hình mặc định khi đăng nhập: quá hạn / hôm nay / sắp tới
Nạp dữ liệu tổ chức thậtNhân sự, phòng ban, cây đơn vị thật do phòng Nhân sự cung cấp — không phải dữ liệu giả
4,5
28–30/09
Ổn định & bàn giaoSửa lỗi chặn, kiểm thử phân quyền theo bảy vai trò, buổi trình diễn cho nhóm thí điểm

Phạm vi tháng 9 — lùi gì sang giai đoạn 2

Danh sách này quan trọng ngang danh sách trên. Không chốt nó thì phạm vi tháng 9 sẽ tự phình ra và mốc trượt.

Hạng mục lùiVì sao lùi đượcLàm ở
Kỹ năng & ma trận năng lực (M02)Chỉ cần trước khi engine phân công chạy, tức là trước giai đoạn 3GĐ 2
Bảng Kanban, lịch công việc, bảng tảiDanh sách có lọc đủ dùng cho bản cơ bảnGĐ 2
Ghi giờ, bình luận, tệp đính kèmKhông chặn luồng tạo – giao – đóng việcGĐ 2
Chấm điểm chất lượng, kiểm tra nội dung khi tạoLà quy tắc bổ sung trên vòng đời đã cóGĐ 2
Trung tâm thông báo, gửi thư điện tửNhóm thí điểm ngồi cùng chỗ, chưa cần thông báoGĐ 2
Xác thực hai yếu tốBản tháng 9 chỉ chạy nội bộ trên môi trường kiểm thửGĐ 2
Hồ sơ cá nhân mở rộng & che trường nhạy cảmTháng 9 chỉ nạp trường cơ bản, chưa có dữ liệu nhạy cảmGĐ 2
Nhật ký kiểm toán đầy đủTháng 9 làm khung ghi; phần ghi chi tiết từng miền bổ sung sauGĐ 2
Phạm vi dữ liệu theo cây nhiều cấpTháng 9 dùng bản đơn giản (bản thân / đơn vị / toàn hệ thống); bản cuộn theo nhánh cây làm sau. Cơ chế chặn đã có sẵn nên đây chỉ là thay công thức tínhGĐ 2

Năm điều kiện bắt buộc để mốc tháng 9 không trượt

  1. Đội đủ quân từ ngày 01/09, không tuyển giữa chừng

    Tối thiểu 1 kiến trúc, 3 lập trình máy chủ, 2 lập trình giao diện làm toàn thời gian ngay tuần đầu. Nếu tới giữa tháng mới đủ người thì mốc mất khoảng hai tuần và không cứu được.

  2. Lược đồ dữ liệu mang thẳng, không thiết kế lại

    Lấy nguyên các thực thể đã có ở xerp-4s và chỉ cắt bớt. Mọi đề xuất “thiết kế lại cho đẹp hơn” trong tháng 9 đều bị hoãn sang giai đoạn sau.

  3. Danh sách nhân sự và cây đơn vị có sẵn trong tuần 1

    Phòng Nhân sự và các trưởng đơn vị phải bàn giao dữ liệu tổ chức ngay tuần đầu. Nếu phải phỏng vấn từng đơn vị trong lúc làm thì tuần 3 và 4 sẽ tắc.

  4. Không thiết kế giao diện từ đầu

    Dùng thư viện thành phần sẵn có, thống nhất một bảng màu và một thang chữ. Phần trau chuốt giao diện để giai đoạn 2.

  5. Bản tháng 9 là bản nội bộ, không phải bản cho toàn công ty

    Người dùng của nó là đội dự án và nhóm thí điểm (khoảng 10–15 người), chạy trên môi trường kiểm thử. Nếu kỳ vọng là toàn bộ 200 nhân sự dùng thật từ 01/10 thì mốc này không khả thi.

Cái phải chấp nhận

Nén ba lần ở giai đoạn nền tảng sinh ra nợ kỹ thuật — đây là điều chắc chắn xảy ra, không phải rủi ro. Giai đoạn 2 vì vậy dành hẳn một tuần đầu để trả nợ: rà soát mã, bổ sung kiểm thử, dọn những chỗ làm tắt trong tháng 9. Tuần này đã nằm trong 5,5 tuần của giai đoạn 2 và không được cắt đi để làm tính năng.

Các giai đoạn sau

GĐ 2

Hoàn thiện công việc & kỹ năng

01/10 – 07/11/2026 · 5,5 tuần

Trả nợ kỹ thuật của tháng 9, rồi đưa phân hệ công việc và kỹ năng lên mức đầy đủ theo đặc tả.

  • Tuần 1 — trả nợ: rà soát mã, bổ sung kiểm thử đơn vị, dọn các chỗ làm tắt, hoàn thiện lớp phạm vi dữ liệu theo cây nhiều cấp và nhật ký kiểm toán đầy đủ.
  • Phân hệ M02 kỹ năng: danh mục, mức tự khai và mức xác nhận, lịch sử thay đổi, ma trận năng lực.
  • Bảng Kanban, lịch công việc, bảng tải.
  • Ghi giờ, bình luận, tệp đính kèm, chấm điểm chất lượng, kiểm tra nội dung khi tạo.
  • Trung tâm thông báo trong ứng dụng và qua thư điện tử; xác thực hai yếu tố; hồ sơ mở rộng và che trường nhạy cảm.

Bàn giao: Mốc M1 phân hệ công việc và kỹ năng đạt đủ đặc tả ở tài liệu 05; kiểm thử phân quyền theo bảy vai trò và ba cấp cây đơn vị đạt 100%.

GĐ 3

Phân công công việc tự động

09/11 – 13/12/2026 · 5 tuần

Giá trị nổi bật thứ nhất. Engine chỉ chạy trong nội bộ ERP, không đẩy kết quả đi đâu cả.

  • Phân hệ M07: hàng chờ, engine chấm điểm, sinh lý do, hộp duyệt.
  • Tính tải theo số việc mở cộng áp lực hạn; ảnh chụp tải hằng ngày.
  • Tín hiệu AI suy ra kỹ năng từ nội dung việc, có đường lui bằng so khớp từ khoá.
  • Bảng đo bốn chỉ số chất lượng engine và quy trình hiệu chỉnh trọng số.

Bàn giao: Mốc M2 engine chạy trên dữ liệu mô phỏng quy mô thật; tỉ lệ đề xuất được nhóm thí điểm chấp nhận đạt từ 70%.

GĐ 4

Lead & chia lead tự động

14/12/2026 – 24/01/2027 · 6 tuần

Đưa khối kinh doanh vào hệ thống, với cơ chế chia lead khai báo được cho từng đơn vị.

  • Phân hệ M08 quản lý lead và M09 chia lead tự động.
  • Quy tắc định tuyến nhiều chiều, danh mục loại lead, cấu hình theo đơn vị.
  • Xoay vòng theo vị trí và trọng số, con trỏ lưu bền vững, hàng ưu tiên và bù lượt.
  • Phễu bán hàng, cảnh báo lead bỏ quên, ghi nhận mốc chạm đầu tiên.
  • Điểm cuối nhận lead từ nguồn ngoài — luồng một chiều đi vào.

Bàn giao: Mốc M3 quy tắc chia lead của từng đơn vị đã khai báo và chạy thử đúng tỉ lệ trọng số trên 500 lead mô phỏng.

GĐ 5

Lịch trực · Nghỉ phép · Báo cáo ngày

01/10 – 31/10/2026 · 4,5 tuần · luồng B

Ba phân hệ ít phụ thuộc nhất — luồng B khởi động ngay khi nền tảng tháng 9 xong.

  • Phân hệ M05: lịch trực theo mẫu lặp, đổi ca, cảnh báo trống ca.
  • Đơn xin nghỉ với duyệt nhiều cấp, quỹ phép, tính ngày công thực tế.
  • Báo cáo cuối ngày, có gợi ý soạn sẵn từ hoạt động trong ngày.

Bàn giao: ba phân hệ hoàn chỉnh, sẵn sàng đưa vào chạy thử ở giai đoạn 9.

GĐ 6

KPI & báo cáo theo team

25/01 – 21/03/2027 · 8 tuần (gồm nghỉ Tết)

Giai đoạn dài nhất, vì đây là phần có nhiều biến thể nghiệp vụ nhất và cần làm việc trực tiếp với từng đơn vị.

  • Thư viện chỉ số với 22 chỉ số khởi đầu và cơ chế mở rộng.
  • Trình khai báo bộ tiêu chí: cây nhóm–mục–tiêu chí, ba nguồn điểm, ngưỡng xếp loại.
  • Quy trình kỳ đánh giá bảy bước, bản chụp bộ tiêu chí khi chốt.
  • Ba bộ tiêu chí mẫu cho ba khối, dựng cùng chính các đơn vị đó.
  • Kết xuất Excel và PDF theo mẫu; bảng đối chiếu phân bố điểm giữa các đơn vị.
  • Tóm tắt kỳ và phát hiện điểm bất thường bằng AI, ở vị trí gợi ý.

Bàn giao: Mốc M4 ba khối chạy thử trọn một kỳ đánh giá trên dữ liệu lịch sử đã nhập, mỗi khối một bộ tiêu chí riêng.

GĐ 7

Trợ lý AI

28/12/2026 – 14/02/2027 · 7 tuần (gồm nghỉ Tết) · luồng B

Xây trợ lý trên nền dữ liệu đã có từ giai đoạn 1 đến 3, mở dần theo mức năng lực.

  • Cổng hỏi đáp, bộ định phạm vi, mười công cụ truy vấn với phạm vi tiêm cố định.
  • Bảy cơ chế chống rò rỉ, trong đó sàn ẩn danh và chống tiêm lệnh qua dữ liệu cần thiết kế riêng.
  • Định tuyến mô hình theo độ khó, lưu đệm tiền tố, hạn mức chi phí ba cấp.
  • Nhật ký kiểm toán truy vấn và bảng theo dõi chi phí.
  • Bộ kiểm chuẩn 200 câu hỏi thu thập từ các đơn vị.

Bàn giao: trợ lý ở mức năng lực 1 và 2, vượt bộ kiểm chuẩn với tiêu chí không vượt quyền đạt tuyệt đối.

GĐ 8

Ứng dụng đa nền tảng

02/11 – 27/12/2026 và 15/02 – 11/04/2027 · 8 + 8 tuần · luồng B

Chia hai đợt: đợt đầu dựng nền, đợt sau hoàn thiện khi các phân hệ nghiệp vụ đã đủ.

  • Đợt 1 — vỏ máy tính bằng Tauri, vỏ di động bằng Capacitor, đăng nhập, thông báo đẩy trên ba nền tảng, khung điều hướng và bố cục đáp ứng.
  • Đợt 2 — các luồng nghiệp vụ trên di động (việc của tôi, hộp duyệt, lead của tôi, đơn nghỉ, lịch trực, trợ lý), đọc ngoại tuyến và ghi có hàng đợi.
  • Quy trình đóng gói, ký số và phát hành lên kho ứng dụng — khởi động thủ tục tài khoản nhà phát triển ngay từ tháng 10, vì khâu duyệt của kho ứng dụng không kiểm soát được thời gian.

Bàn giao: Mốc M5 bốn bản cài đặt phát hành được. Đây là hạng mục cuối cùng trước khi đóng băng tính năng.

Đệm

Dự phòng trước đóng băng

12/04 – 25/04/2027 · 2 tuần

Hai tuần đệm duy nhất của lộ trình, đặt ngay trước mốc đóng băng tính năng.

  • Hoàn tất các hạng mục còn dở của mọi giai đoạn trước.
  • Sửa lỗi tích luỹ, thống nhất giao diện giữa các phân hệ làm ở thời điểm khác nhau.
  • Nếu không dùng tới, hai tuần này chuyển thành thời gian chuẩn bị cho giai đoạn 9.

Bàn giao: Đóng băng tính năng 25/04/2027 — sau mốc này chỉ sửa lỗi.

GĐ 9

Đối chiếu tính năng & chạy thử có kiểm soát

26/04 – 06/06/2027 · 6 tuần

Giai đoạn quan trọng nhất của phương án cắt một lần. Đây là nơi hệ thống phải tự chứng minh trước khi tổ chức đặt cược vào nó.

  • Rà lại danh sách tính năng bắt buộc ở tài liệu 03; dòng nào chưa đạt thì xử lý ngay hoặc lấy văn bản chấp nhận.
  • Ba lần chạy thử công cụ di trú, mỗi lần đo thời gian từng bước và chạy đối soát tự động.
  • Chạy thử có kiểm soát: nhập bản sao dữ liệu thật vào môi trường tiền vận hành, cho người dùng thật của từng đơn vị làm việc theo kịch bản thật, mỗi đơn vị tối thiểu một tuần. Dữ liệu sinh ra trong lúc chạy thử bị bỏ đi.
  • Kiểm thử tải, kiểm thử xâm nhập nội bộ, diễn tập khôi phục, diễn tập quay lui.
  • Đào tạo toàn bộ nhân sự theo nhóm vai trò.

Bàn giao: Mốc M6 danh sách tính năng bắt buộc đạt toàn bộ; đối soát đạt ngưỡng; biên bản nghiệm thu của từng đơn vị. Đây là cổng quyết định có cắt chuyển hay không.

GĐ 10

Di trú & cắt chuyển

07/06 – 04/07/2027 · 4 tuần

Chuyển toàn bộ tổ chức sang hệ thống mới trong một cuối tuần, rồi ổn định.

  • Tuần 1–2: chuẩn bị, thông báo trước hai tuần, nhập trước phần dữ liệu lịch sử đã đóng, phân công trực tăng cường.
  • Cuối tuần 18–20/06/2027: chiều thứ Sáu 18/06 Bitrix24 chuyển sang chỉ đọc; nhập phần dữ liệu đang mở; đối soát; kiểm tra khói; sáng thứ Hai 21/06 toàn bộ nhân sự vào hệ thống mới.
  • Trực tăng cường 72 giờ đầu với thời gian phản hồi 30 phút — đây cũng là cửa sổ quyết định quay lui.
  • Tuần 3–4: xử lý tồn đọng, tinh chỉnh trọng số và cấu hình theo phản hồi thật.
  • Bitrix24 giữ chế độ chỉ đọc thêm 90 ngày làm lưới an toàn tra cứu.

Bàn giao: Mốc M7 ERP là hệ thống duy nhất; Bitrix24 chỉ đọc; không sự cố mức nghiêm trọng trong 2 tuần cuối giai đoạn.

BH

Bảo hành & ổn định

05/07 – 29/08/2027 · 8 tuần

Không phải giai đoạn phát triển. Đội thu hẹp còn nhóm trực xử lý sự cố và tinh chỉnh.

  • Xử lý lỗi phát sinh theo mức ưu tiên đã thoả thuận.
  • Gỡ công cụ di trú, các trường ma_nguon_cu và bảng nhật ký di trú khỏi kho mã.
  • Chuyển giao hoàn toàn cho đội vận hành nội bộ.
  • Khoảng 19/09/2027 — hết 90 ngày lưới an toàn: sao lưu dài hạn Bitrix24 và tắt hẳn.

Mốc bàn giao chính

MốcNội dungThời điểmĐiều kiện đạt
M0Bản chạy được đầu tiên — đăng nhập, nhân sự, phòng ban, cây đơn vị, nhóm làm việc, quản lý công việc cơ bản30/09/2026Nhóm thí điểm đăng nhập và tạo – giao – đóng việc được trên dữ liệu tổ chức thật; kiểm thử phân quyền theo bảy vai trò đạt 100%
M1Công việc và kỹ năng đủ đặc tả07/11/2026Phân hệ M02 và M06 đạt đủ đặc tả tài liệu 05; nợ kỹ thuật tháng 9 đã trả xong
M2Phân công công việc tự động13/12/2026Tỉ lệ đề xuất được nhóm thí điểm chấp nhận từ 70%; không việc nào kẹt hàng chờ quá 2 giờ
M3Lead và chia lead theo cấu hình từng đơn vị24/01/2027Tỉ lệ nhận thực tế khớp trọng số khai báo trong sai số 10%; không lead nào rơi ngoài quy tắc
M4Đánh giá KPI theo bộ tiêu chí riêng từng team21/03/2027Ba khối chạy thử trọn một kỳ; công sức tổng hợp mỗi kỳ dưới hai giờ
M5Đóng băng tính năng — toàn bộ phạm vi v1 hoàn tất25/04/2027Trợ lý AI vượt bộ kiểm chuẩn; bốn bản cài đặt phát hành được; không hạng mục tính năng nào còn mở
M6Cổng quyết định cắt chuyển06/06/2027Danh sách tính năng bắt buộc đạt toàn bộ; đối soát di trú đạt ngưỡng; nghiệm thu đủ chữ ký; diễn tập quay lui thành công
M7Cắt chuyển xong, ERP là hệ thống duy nhất21/06/2027 (mở cửa)
04/07/2027 (nghiệm thu)
Toàn bộ nhân sự làm việc trên ERP; Bitrix24 chỉ đọc; không sự cố mức nghiêm trọng trong 2 tuần
M8Tắt hẳn Bitrix24≈ 19/09/2027Hết 90 ngày lưới an toàn; không yêu cầu tra cứu nào trong 30 ngày cuối; đã sao lưu dài hạn
Hai mốc là cổng chặn, không phải mốc báo cáo

M0 (30/09/2026) — nếu trượt quá hai tuần, toàn bộ chuỗi phía sau trượt theo và mốc đóng băng tháng 4 không giữ được. Cần đánh giá lại phạm vi ngay đầu tháng 10 chứ không đợi tới cuối giai đoạn 2.

M6 (06/06/2027) — nếu danh sách tính năng bắt buộc chưa đạt hoặc đối soát dữ liệu còn lệch, lùi ngày cắt chuyển chứ không cắt rồi vá sau. Phương án này không có giai đoạn chạy song song, nên một lần cắt hỏng chỉ có quay lui trong 72 giờ hoặc chịu đựng.

Nhân sự & công sức

Vai tròMức tham giaSố thángNgười-thángTham gia chủ yếu ở
Quản lý sản phẩm & phân tích nghiệp vụ1,010,010,0Toàn bộ; nặng nhất ở GĐ 1, 6, 9
Kiến trúc & trưởng nhóm kỹ thuật1,010,010,0Toàn bộ
Lập trình máy chủ3,09,027,0Toàn thời gian từ 01/09/2026
Lập trình giao diện web2,08,517,0Toàn thời gian từ 01/09/2026
Lập trình đa nền tảng1,05,55,5GĐ 8, hỗ trợ GĐ 9–10
Kỹ sư trí tuệ nhân tạo1,02,52,5GĐ 3 (tín hiệu AI), GĐ 7
Kiểm thử1,08,58,5Từ GĐ 2; nặng nhất ở GĐ 9
Vận hành hạ tầng0,310,03,0Toàn bộ; nặng nhất ở GĐ 1, 9, 10
Tổng~8,3 TB83,5Đội cao điểm 9 người ở GĐ 4–8
Khác biệt lớn nhất so với kế hoạch trước

Trước đây đội có thể tăng dần trong hai tháng đầu. Với mốc tháng 9, 6 người kỹ thuật phải làm toàn thời gian ngay ngày đầu tiên. Đây không phải mong muốn mà là điều kiện: mất một tuần khởi động là mất một phần tư thời gian của cả giai đoạn.

Ba giả định về nguồn lực

(1) Con số trên là công sức dành riêng cho dự án; nếu các thành viên đồng thời duy trì hệ thống hiện có, phải trừ phần đó ra khỏi mức tham gia. (2) Đại diện nghiệp vụ cần 2–4 giờ mỗi tuần trong giai đoạn liên quan tới đơn vị mình, riêng tuần 1 tháng 9 cần bàn giao dữ liệu tổ chức và giai đoạn 9 cần tối thiểu một tuần toàn thời gian mỗi đơn vị. (3) Ước lượng giả định đội đã quen với hệ công nghệ đã chọn; nếu phải học mới thì mốc tháng 9 không khả thi và cần lùi sang cuối tháng 10.

Phụ thuộc & điều kiện tiên quyết

Phụ thuộcCần trướcNgười chịu trách nhiệmRủi ro nếu trễ
Đội kỹ thuật đủ 6 người toàn thời gian01/09/2026Ban điều hànhCao — mốc M0 trượt, kéo theo toàn bộ chuỗi
Danh sách nhân sự, phòng ban, cây đơn vị dạng dữ liệuTuần 1 tháng 9Nhân sự, các trưởng đơn vịCao — tuần 3 và 4 của tháng 9 sẽ tắc
Danh sách tính năng bắt buộc, có văn bản chấp nhận cho hạng mục rút gọnCuối tháng 9Trưởng các đơn vị, Ban điều hànhCao — không biết khi nào đủ điều kiện tắt Bitrix24
Trích xuất đối soát khối lượng dữ liệu thậtCuối tháng 9Quản trị Bitrix24Trung bình — ảnh hưởng lịch GĐ 9–10
Khai báo danh mục kỹ năng và mức thành thạo ban đầuGĐ 3Các trưởng đơn vị kỹ thuậtCao — engine chấm điểm không có đầu vào
Chốt quy tắc chia lead của từng team kinh doanhGĐ 4Trưởng phòng kinh doanhCao — chặn phân hệ chia lead
Chốt bộ tiêu chí đánh giá của từng khốiGĐ 6Các trưởng phòng banCao — chặn mốc M4
Tài khoản nhà phát triển của hai kho ứng dụng di độngTháng 10/2026Quản trị hệ thốngTrung bình — khâu duyệt của kho ứng dụng không kiểm soát được thời gian
Cam kết thời gian của đại diện nghiệp vụ cho đợt chạy thửGĐ 9Ban điều hànhCao — chạy thử hời hợt thì mốc M6 mất ý nghĩa
Hạ tầng máy chủ môi trường vận hànhGĐ 9Vận hành hạ tầngCao — chặn cắt chuyển
Rà soát tuân thủ dữ liệu cá nhânGĐ 9Pháp chếTrung bình — chặn nghiệm thu

Phương án nén & giãn tiến độ

Phương ánThay đổiĐóng băng tính năngCông sứcĐánh đổi
Cơ sởNhư hồ sơ này: mốc tháng 9 và đóng băng tháng 425/04/2027~83 người-thángNén ba lần ở tháng 9, sinh nợ kỹ thuật phải trả ở giai đoạn 2
An toànGiãn mốc đầu tiên ra 6,5 tuần (tới 15/10), giữ nguyên các giai đoạn sau bằng cách rút đệm25/04/2027~83 người-thángMất hai tuần đệm cuối. Đổi lại nợ kỹ thuật ít hơn hẳn và mốc đầu tiên khả thi rõ ràng
Nén thêmThêm 2 lập trình máy chủ và 1 lập trình giao diện từ GĐ 221/03/2027~95 người-thángChi phí điều phối tăng; rủi ro chất lượng cao hơn. Không được nén GĐ 9
GiãnGiữ đội 5 người, chạy tuần tự không tách luồng BKhoảng 08/2027~76 người-thángKhông giữ được cả hai yêu cầu về mốc; rủi ro thay đổi yêu cầu giữa chừng tăng
Khuyến nghị

Chọn phương án cơ sở nếu đội đủ 6 người kỹ thuật từ 01/09 và dữ liệu tổ chức có sẵn trong tuần 1. Nếu một trong hai điều kiện đó chưa chắc chắn, chọn phương án an toàn: mốc đầu tiên lùi tới 15/10 nhưng mốc đóng băng tính năng tháng 4 vẫn giữ nguyên — đánh đổi ở đây là mất hai tuần đệm cuối, rẻ hơn nhiều so với việc trượt mốc đầu rồi kéo lệch cả chuỗi.

Tài liệu 13 · Triển khai

Vận hành, rủi ro & nghiệm thu

Cách hệ thống được giám sát và giữ ổn định sau khi lên vận hành, danh mục rủi ro kèm biện pháp ứng phó, chiến lược kiểm thử, kế hoạch quản lý thay đổi, và tiêu chí nghiệm thu cụ thể cho từng giai đoạn.

Mô hình vận hành

Giám sát

Bảng theo dõi chia hai tầng: chỉ số kỹ thuật cho đội vận hành, chỉ số nghiệp vụ cho đội dự án và các trưởng đơn vị.

TầngChỉ sốNgưỡng cảnh báoAi nhận cảnh báo
Kỹ thuậtĐộ trễ phản hồi (phân vị 95)Vượt 800 ms trong 5 phút liên tụcĐội vận hành
Tỉ lệ lỗi máy chủVượt 1% số yêu cầu trong 5 phútĐội vận hành
Lưu lượngGiảm đột ngột quá 50% so với cùng giờ tuần trướcĐội vận hành
Mức bão hoà tài nguyênBộ nhớ hoặc đĩa vượt 80%Đội vận hành
Nghiệp vụHàng chờ phân công tồn đọngTrên 20 bản ghi quá 30 phútĐiều phối
Việc và lead mồ côiBất kỳ bản ghi nào quá 2 giờ chưa có người phụ tráchĐiều phối, trưởng đơn vị
Hàng đợi việc nền ứ đọngTrên 100 việc chờ xử lý quá 15 phútQuản trị hệ thống
Độ lệch tải trong nhómVượt 25% giá trị trung bình nhómTrưởng đơn vị
Chi phí mô hình AIĐạt 80% hạn mức thángQuản trị hệ thống
Ngày trống lịch trựcCòn ngày trống trong 7 ngày tớiTrưởng đơn vị

Nhật ký

  • Nhật ký ứng dụng — có cấu trúc, mỗi dòng mang mã truy vết để nối các thao tác trong cùng một yêu cầu. Giữ 90 ngày.
  • Nhật ký kiểm toán — tách riêng, chỉ ghi thêm, giữ 24 tới 36 tháng theo loại (xem tài liệu 11).
  • Nhật ký di trú — mỗi lần chạy công cụ nhập dữ liệu ghi số bản ghi đọc và nạp, số lỗi, thời lượng, sai lệch đối soát. Là công cụ chẩn đoán chính ở giai đoạn 9 và 10, gỡ bỏ cùng công cụ di trú.
  • Không ghi dữ liệu cá nhân hay bí mật vào nhật ký ứng dụng; các trường nhạy cảm bị che ở tầng ghi.

Cam kết dịch vụ nội bộ

Cam kếtChỉ tiêuKhung đoHệ quả khi không đạt
Mức sẵn sàng99,5%07:00 – 21:00 giờ Việt Nam, tính theo thángRà soát nguyên nhân gốc, báo cáo trong cuộc họp vận hành tháng
Độ trễ phản hồiPhân vị 95 dưới 800 msCác màn hình danh sách chính, giờ cao điểmLập hạng mục tối ưu trong đợt phát triển kế tiếp
Độ trễ xử lý việc nềnDưới 3 phútTừ lúc việc vào hàng đợi tới lúc xử lý xong, ở tải bình thườngTăng số tiến trình xử lý hoặc rà soát truy vấn chậm
Điểm khôi phụcMất tối đa 15 phút dữ liệuMọi thời điểmRà soát cấu hình sao lưu nhật ký giao dịch
Thời gian khôi phụcDưới 4 giờTừ lúc quyết định khôi phụcDiễn tập lại và điều chỉnh quy trình
Thời gian quay lui một lần phát hànhDưới 10 phútTừ lúc quyết định quay luiRà soát quy trình triển khai

Xử lý sự cố

MứcĐịnh nghĩaThời gian phản hồiThời gian khắc phục mục tiêuAi được báo
P1Hệ thống không dùng được, hoặc mất mát dữ liệu, hoặc lộ lọt dữ liệu15 phút4 giờToàn bộ đội dự án, ban điều hành
P2Một phân hệ chính không dùng được, có đường vòng tạm thời1 giờ1 ngày làm việcĐội vận hành, quản lý dự án
P3Chức năng phụ lỗi, không chặn công việc1 ngày làm việc1 tuầnĐội vận hành
P4Lỗi hiển thị, đề nghị cải tiến3 ngày làm việcĐưa vào đợt phát triển kế tiếpĐội vận hành

Quy trình sự cố lộ lọt dữ liệu

Đây là loại sự cố duy nhất có quy trình riêng, vì nó kéo theo nghĩa vụ pháp lý:

  1. Chặn ngay

    Thu hồi phiên và khoá kết nối liên quan, tạm khoá tài khoản nghi ngờ. Ưu tiên chặn trước, điều tra sau.

  2. Xác định phạm vi

    Dùng nhật ký kiểm toán trả lời ba câu: dữ liệu nào bị chạm, của bao nhiêu người, qua lối vào nào. Nhật ký kiểm toán tồn tại chính là để trả lời được ba câu này.

  3. Báo cáo nội bộ

    Thông báo ban điều hành và bộ phận pháp chế trong vòng 24 giờ kể từ khi xác định được phạm vi.

  4. Thực hiện nghĩa vụ thông báo

    Theo hướng dẫn của bộ phận pháp chế, phù hợp quy định hiện hành về bảo vệ dữ liệu cá nhân.

  5. Khắc phục gốc và rà soát

    Vá lỗ hổng, bổ sung kịch bản vào bộ kiểm thử phân quyền để lỗi cùng loại không tái diễn.

Đăng ký rủi ro

Mức rủi ro tính từ khả năng xảy ra nhân với mức tác động. Cột theo dõi chỉ ra ai kích hoạt biện pháp, không phải ai có lỗi khi rủi ro xảy ra.

Bốn rủi ro đặc thù của phương án cắt một lần

Quyết định xây độc lập và cắt một lần loại bỏ được ba rủi ro lớn của phương án chuyển dần (xung đột đồng bộ, dữ liệu lệch giữa hai nơi, dùng song song kéo dài), nhưng sinh ra bốn rủi ro mới: R-06, R-15, R-16 và R-17. Bốn dòng này cần được theo dõi sát nhất trong toàn bộ danh sách.

#Rủi roKhả năngTác độngMứcBiện pháp phòng ngừa & ứng phóTheo dõi
R-01Các đơn vị không chốt được bộ tiêu chí đánh giá đúng hạn, làm trễ giai đoạn 6CaoCaoNghiêm trọngBắt đầu làm việc với từng khối từ giai đoạn 4, sớm hơn nhu cầu hai tháng. Chuẩn bị sẵn ba bộ mẫu để đơn vị sửa thay vì viết từ đầuQuản lý sản phẩm
R-02Dữ liệu kỹ năng không được khai báo đầy đủ, engine chấm điểm mất đầu vào chínhCaoCaoNghiêm trọngĐưa việc khai báo kỹ năng thành nhiệm vụ có hạn của từng trưởng đơn vị ở giai đoạn 1. Engine có đường lui bằng chia theo tải khi thiếu dữ liệu, kèm nhãn cảnh báo rõ ràngNhân sự
R-03Người dùng phản đối phân công tự động, quay lại giao việc thủ côngTrung bìnhCaoNghiêm trọngGiữ mô hình đề xuất – duyệt; quản lý luôn có quyền bác bỏ. Hiển thị lý do đầy đủ. Đo và công bố tỉ lệ duyệt không đổi người theo thángQuản lý dự án
R-04Khối lượng dữ liệu di trú lớn hơn ước lượng, đợt nhập không xong trong cuối tuần cắt chuyểnTrung bìnhCaoNghiêm trọngTrích xuất đối soát ngay trong tháng 9/2026. Tách bước trích xuất khỏi bước nạp để chạy trước phần lịch sử. Chỉ dữ liệu đang mở mới bắt buộc nhập trong cuối tuần cắt; lịch sử đã đóng nhập trước đó vài ngàyKiến trúc
R-05Giới hạn tần suất gọi làm đợt trích xuất chạy quá lâuTrung bìnhTrung bìnhĐáng kểTrích xuất theo lô, có giãn cách và thử lại tăng dần. Đo thời gian thực tế ở ba lần chạy thử tại giai đoạn 9 để lập lịch cho lần chạy thậtKiến trúc
R-06Hệ thống không được kiểm chứng bằng vận hành thật cho tới ngày cắt chuyển — lỗi chỉ lộ ra khi cả tổ chức đã chuyển sangTrung bìnhRất caoNghiêm trọngGiai đoạn 9 dành trọn sáu tuần cho chạy thử có kiểm soát với người dùng thật trên dữ liệu thật, mỗi đơn vị tối thiểu một tuần theo kịch bản công việc thật. Mốc M3 là cổng chặn: chưa đạt thì lùi ngày cắt. Giai đoạn này không được rút ngắn khi tiến độ căngBan điều hành
R-07Trợ lý AI trả lời vượt phạm vi quyềnThấpRất caoNghiêm trọngPhạm vi tiêm ở tầng thực thi, không ở lời nhắc; công cụ không có tham số phạm vi; sàn ẩn danh; kiểm thử xâm nhập bắt buộc với tiêu chí đạt tuyệt đối; nhật ký mọi truy vấnKiến trúc
R-08Chi phí mô hình AI vượt dự toánTrung bìnhThấpNhẹHạn mức ba cấp, trần bản ghi trả về, lưu đệm tiền tố, định tuyến theo độ khó. Chạm trần thì tự chuyển về mô hình rẻ thay vì ngắt dịch vụQuản trị hệ thống
R-09Trải nghiệm di động không đủ tốt do dùng giải pháp đóng gói webTrung bìnhTrung bìnhĐáng kểGiới hạn phạm vi di động vào các luồng đơn giản; đo phản hồi ngay trong đợt chạy thử ở giai đoạn 9; đặt lịch xem lại quyết định sau ba tháng vận hành với tiêu chí định lượngKiến trúc
R-10Nhân sự chủ chốt rời dự ánTrung bìnhCaoNghiêm trọngKhông để một người là nguồn hiểu biết duy nhất của một phân hệ; rà soát mã chéo bắt buộc; tài liệu quyết định kiến trúc cập nhật liên tụcTrưởng nhóm kỹ thuật
R-11Phạm vi phình ra trong quá trình làmCaoTrung bìnhĐáng kểDanh mục yêu cầu ở tài liệu 04 và danh sách tính năng bắt buộc ở tài liệu 03 là ranh giới. Yêu cầu mới vào danh sách chờ của phiên bản sau, trừ khi đánh đổi tường minh với một yêu cầu đang cóQuản lý sản phẩm
R-12Đại diện nghiệp vụ không dành đủ thời gian, quyết định bị treo và đợt chạy thử hời hợtCaoCaoNghiêm trọngCam kết thời gian bằng văn bản từ đầu, riêng giai đoạn 9 cần tối thiểu một tuần toàn thời gian mỗi đơn vị. Lịch họp cố định hằng tuần; quyết định treo quá 5 ngày làm việc chuyển lên cấp trênBan điều hành
R-13Hiệu năng suy giảm khi dữ liệu lịch sử được nhập vàoTrung bìnhTrung bìnhĐáng kểKiểm thử hiệu năng trên dữ liệu quy mô đích ngay từ giai đoạn 2, không đợi tới lúc nhập thật. Chỉ mục bắt buộc trên các cột dùng trong truy vấn phạm vi; đánh giá phương án phân vùng bảng công việc theo thời gianKiến trúc
R-14Vấn đề tuân thủ dữ liệu cá nhân phát hiện muộnThấpCaoĐáng kểRà soát cùng bộ phận pháp chế ngay trong tháng 9/2026, không để tới lúc nghiệm thu; thiết kế che trường và chính sách lưu trữ từ đầuQuản lý sản phẩm
R-15Cắt chuyển gặp sự cố mà cửa sổ quay lui chỉ có 72 giờThấpRất caoNghiêm trọngDiễn tập quay lui đầy đủ ở giai đoạn 9, không phải lần đầu làm là lúc có sự cố. Ba điều kiện kích hoạt quay lui chốt trước bằng văn bản. Trực tăng cường 72 giờ với thời gian phản hồi 30 phút. Bitrix24 giữ chỉ đọc 90 ngày để tra cứuBan điều hành
R-16Phát hiện thiếu tính năng sau khi đã tắt hệ thống cũ — không còn chỗ để quay vềTrung bìnhCaoNghiêm trọngDanh sách tính năng bắt buộc ở tài liệu 03 được rà hai lần: cuối tháng 9/2026 và giai đoạn 9. Mọi hạng mục rút gọn phải có văn bản chấp nhận của chính đơn vị đang dùng. Bitrix24 giữ chỉ đọc 90 ngày sau khi cắt để tra cứu dữ liệu, và chỉ tắt hẳn khi 30 ngày cuối không có yêu cầu tra cứu nàoQuản lý sản phẩm
R-17Áp lực tâm lý ngày cắt chuyển — toàn bộ tổ chức đổi công cụ cùng lúc, không có nhóm đi trước làm quenCaoTrung bìnhĐáng kểĐào tạo toàn bộ nhân sự trong giai đoạn 9, trong vòng một tuần trước ngày cắt. Mỗi đơn vị có một người dùng chủ chốt đã tham gia chạy thử làm đầu mối hỗ trợ tại chỗ. Thông báo trước hai tuần kèm hướng dẫn và đầu mối. Chọn ngày cắt tránh mùa cao điểm của các đơn vịQuản lý dự án

Chiến lược kiểm thử

LớpPhạm viAi thực hiệnKhi nàoTiêu chí thoát
Kiểm thử đơn vịHàm nghiệp vụ, đặc biệt engine chấm điểm và engine chia leadLập trình viênMỗi lần gộp mãĐộ phủ tầng nghiệp vụ từ 70%; hai engine đạt 100%
Kiểm thử tích hợpLuồng qua nhiều mô-đun, truy vấn cơ sở dữ liệu, hàng đợi việc nềnLập trình viênMỗi lần gộp mãToàn bộ luồng chính có ít nhất một kịch bản
Kiểm thử phân quyềnMọi điểm cuối chạy với bảy vai trò và ba cấp cây đơn vịTự độngMỗi lần gộp mãPhủ 100% điểm cuối, không sai lệch nào
Kiểm thử đầu cuốiCác luồng người dùng chính trên trình duyệtKiểm thửMỗi đêm và trước mỗi lần phát hànhKhông lỗi chặn ở luồng chính
Kiểm thử hiệu năngTải 300 phiên đồng thời trên dữ liệu quy mô đíchKiểm thử, vận hànhTrước mỗi mốc bàn giao lớnĐạt các chỉ tiêu NFR-01 tới NFR-05
Kiểm thử bảo mậtQuét lỗ hổng, quét phụ thuộc, thử vượt quyền có chủ đíchKiểm thử, bên ngoài nếu cầnTrước mốc M6Không lỗ hổng mức nghiêm trọng; không lối rò dữ liệu
Nghiệm thu người dùngKịch bản thật của từng đơn vị, chạy trên môi trường tiền vận hànhĐại diện các đơn vịCuối mỗi giai đoạnBiên bản nghiệm thu có chữ ký; không hạng mục chặn còn mở
Kiểm thử di trúĐối soát tự động và rà soát mẫu 50 bản ghi mỗi đối tượngKiểm thử, đại diện nghiệp vụGiai đoạn 9, ít nhất ba lầnSai lệch nằm trong ngưỡng đã thoả thuận
Kịch bản kiểm thử đặc thù cần chuẩn bị riêng

Bốn nhóm dưới đây khó phát hiện bằng kiểm thử thông thường và phải được viết kịch bản riêng: (1) chia lead đồng thời từ nhiều tiến trình, kiểm tra không lead nào bị chia hai lần; (2) chạy lại công cụ di trú trên cùng một lô, kiểm tra không sinh bản ghi trùng; (3) thay đổi cơ cấu tổ chức giữa kỳ đánh giá, kiểm tra điểm tính đúng phạm vi tại thời điểm; (4) hủy đơn nghỉ đã duyệt sau khi kỳ đánh giá đã chốt, kiểm tra hệ thống chặn đúng cách.

Quản lý thay đổi & đào tạo

Rủi ro R-03 và R-15 đều là rủi ro con người, không phải rủi ro kỹ thuật. Kế hoạch dưới đây là biện pháp chính đối phó với chúng.

Nguyên tắc

  • Mỗi đơn vị có một người dùng chủ chốt tham gia từ giai đoạn thiết kế phân hệ liên quan tới đơn vị mình. Người này là kênh phản hồi và là người hướng dẫn lại cho đồng nghiệp.
  • Không đào tạo trước quá lâu. Buổi đào tạo diễn ra trong vòng một tuần trước khi đơn vị bắt đầu dùng thật; đào tạo sớm hơn thì người học quên.
  • Đào tạo theo việc, không theo màn hình. Nội dung tổ chức quanh các việc người ta thực sự làm hằng ngày, không phải quanh menu của hệ thống.

Kế hoạch đào tạo

NhómNội dungThời lượngThời điểm
Toàn bộ nhân sựĐăng nhập, hồ sơ cá nhân, việc của tôi, ghi giờ, xin nghỉ, xem lịch trực1 giờTrước khi đơn vị chuyển sang dùng thật
Trưởng nhóm, điều phốiHộp duyệt, bảng tải, xếp lịch trực, duyệt đơn nghỉ, hiểu cách engine chấm điểm2 giờTrước mốc M2
Khối kinh doanhLead của tôi, ghi nhận tương tác, báo dữ liệu không dùng được, phễu bán hàng1,5 giờTrước mốc M3
Trưởng phòng ban, nhân sựKhai báo bộ tiêu chí, quy trình kỳ đánh giá, đọc bảng đối chiếu phân bố điểm3 giờTrước mốc M4
Quản trị hệ thốngToàn bộ cấu hình, phân quyền, đồng bộ, giám sát, xử lý sự cố1 ngàyGiai đoạn 9
Đội vận hànhBảng giám sát, quy trình sự cố, sao lưu và khôi phục, quy trình phát hành1 ngàyGiai đoạn 9

Tài liệu bàn giao

  • Hướng dẫn sử dụng theo vai trò, đặt trong hệ thống và tìm được bằng trợ lý AI.
  • Tài liệu vận hành: kiến trúc triển khai, quy trình phát hành, quy trình sự cố, danh sách cảnh báo và cách xử lý từng loại.
  • Tài liệu quyết định kiến trúc, cập nhật liên tục trong suốt dự án.
  • Hồ sơ này, cập nhật theo những gì thực sự được xây.

Tiêu chí nghiệm thu từng giai đoạn

Vì hệ thống chỉ vận hành thật từ ngày cắt chuyển, nghiệm thu các giai đoạn trước đó dựa trên dữ liệu mô phỏng quy mô thật và trên đợt chạy thử có kiểm soát ở giai đoạn 9. Hai giai đoạn là cổng chặn: giai đoạn 1 vì nó quyết định cả chuỗi phía sau có giữ được nhịp không, và giai đoạn 9 vì nó quyết định có cắt chuyển hay không.

Tiêu chí đạtBằng chứngAi ký
1Cổng chặn thứ nhất. Nhóm thí điểm đăng nhập được và thực hiện trọn luồng tạo – giao – đổi trạng thái – đóng một công việc; nhân sự, phòng ban, cây đơn vị và nhóm làm việc quản lý được trên dữ liệu tổ chức thật; kiểm thử phân quyền theo bảy vai trò đạt 100%; lớp kiểm soát phạm vi chặn được mọi điểm cuối không khai báo phạm viBuổi trình diễn cho nhóm thí điểm; báo cáo kiểm thử phân quyền; dữ liệu tổ chức đã nạpTrưởng nhóm kỹ thuật, Nhân sự
2Phân hệ công việc và kỹ năng đạt đủ đặc tả tài liệu 05; ma trận năng lực của một đơn vị 20 người hiển thị dưới 1 giây; nợ kỹ thuật tháng 9 đã trả xong — độ phủ kiểm thử tầng nghiệp vụ đạt 70%, phạm vi dữ liệu tính đúng theo cây nhiều cấpBáo cáo độ phủ kiểm thử; kết quả kiểm thử phạm vi ba cấp; danh sách nợ kỹ thuật đã đóngTrưởng nhóm kỹ thuật
3Engine chạy trên dữ liệu mô phỏng quy mô thật; tỉ lệ đề xuất được nhóm thí điểm chấp nhận từ 70%; không việc nào kẹt trong hàng chờ quá 2 giờ; bốn chỉ số chất lượng engine đo đượcBảng đo chỉ số engine; biên bản buổi rà soát đề xuất cùng nhóm thí điểmĐiều phối, Trưởng đơn vị
4Quy tắc chia lead của từng đơn vị đã khai báo; chạy 500 lead mô phỏng cho tỉ lệ nhận khớp trọng số trong sai số 10%; không lead nào rơi ngoài quy tắc; kiểm thử chia đồng thời không sinh lead bị chia hai lầnBáo cáo phân bổ lead; nhật ký chia lead; kết quả kiểm thử đồng thờiTrưởng phòng kinh doanh
5Lịch trực một tháng xếp từ mẫu lặp dưới 2 phút mỗi đơn vị, không sinh ca trùng đơn nghỉ; đơn nghỉ đi trọn luồng duyệt và trừ đúng quỹ phép; ngày công tính đúng cho một kỳ mẫuKịch bản kiểm thử; đối chiếu tính toán quỹ phépNhân sự
6Ba khối chạy thử trọn một kỳ đánh giá trên dữ liệu lịch sử đã nhập, mỗi khối một bộ tiêu chí riêng; công sức tổng hợp mỗi kỳ dưới 2 giờ; kết xuất Excel khớp mẫu đang dùng; mở lại kỳ đã chốt dùng đúng bản chụp bộ tiêu chíBa kỳ đã chốt; đo thời gian thực tế; tệp kết xuất đối chiếuTrưởng phòng ban, Nhân sự
7Bộ kiểm chuẩn 200 câu đạt: đúng từ 85%, đủ từ 80%, không vượt quyền đạt 100%; chi phí tháng dưới hạn mức; hệ thống vẫn chạy đủ chức năng khi tắt cờ AIBáo cáo chấm bộ kiểm chuẩn; bảng theo dõi chi phí; kịch bản kiểm thử chế độ tắt AIQuản trị hệ thống, Ban điều hành
8Bốn bản cài đặt phát hành được và qua duyệt của kho ứng dụng; thông báo đẩy tới đúng thiết bị trong 30 giây; luồng chính dùng được trên màn hình 360 điểm ảnhBản cài đặt; kết quả kiểm thử trên thiết bị thậtQuản lý sản phẩm
ĐệmĐóng băng tính năng. Không hạng mục tính năng nào còn mở ở bất kỳ giai đoạn nào; giao diện thống nhất giữa các phân hệ làm ở thời điểm khác nhauDanh sách hạng mục đã đóng của toàn bộ giai đoạn 1–8Quản lý sản phẩm, Ban điều hành
9Cổng chặn thứ hai — quyết định cắt chuyển. Danh sách tính năng bắt buộc ở tài liệu 03 đạt toàn bộ; ba lần chạy thử di trú cho đối soát trong ngưỡng sai số; mỗi đơn vị hoàn thành tối thiểu một tuần chạy thử theo kịch bản thật và ký nghiệm thu; kiểm thử tải, bảo mật, diễn tập khôi phục và diễn tập quay lui đều đạt; toàn bộ nhân sự đã được đào tạoDanh sách tính năng đã rà lại; báo cáo đối soát; biên bản nghiệm thu từng đơn vị; báo cáo kiểm thử; biên bản diễn tập; danh sách đã đào tạoBan điều hành
10Toàn bộ nhân sự làm việc trên ERP; Bitrix24 ở chế độ chỉ đọc; không sự cố mức P1 trong 2 tuần cuối giai đoạn; số phản ánh của người dùng giảm liên tục qua từng tuầnNhật ký sự cố; thống kê phản ánh theo tuần; bảng trạng thái hệ thốngBan điều hành
Xử lý khi giai đoạn 1 không đạt

Giai đoạn 1 bị nén khoảng ba lần so với nhịp thông thường, nên khả năng trượt là thực. Quy tắc xử lý chốt trước: trượt dưới một tuần thì bù bằng tuần trả nợ của giai đoạn 2; trượt trên hai tuần thì họp lại ngay đầu tháng 10 để chọn một trong hai — bổ sung người, hoặc lùi mốc đóng băng tính năng. Không có phương án thứ ba là “cứ làm tiếp rồi tính sau”, vì mọi giai đoạn sau đều nối đuôi nhau không có đệm cho tới tháng 4.

Điều kiện tắt hẳn Bitrix24

Mốc cuối cùng nằm ngoài lộ trình phát triển: khoảng 19/09/2027, tức 90 ngày sau ngày cắt. Ba điều kiện đồng thời: không có sự cố nào cần tra cứu dữ liệu cũ trong 30 ngày gần nhất; danh sách tính năng bắt buộc vẫn đạt sau ba tháng vận hành thật; và đã xuất một bản sao lưu toàn bộ theo chính sách lưu trữ dài hạn. Đủ ba thì tắt và gỡ công cụ di trú khỏi kho mã.

Kế hoạch cắt chuyển

Toàn bộ tổ chức chuyển sang hệ thống mới trong một cuối tuần. Vì không có giai đoạn chạy song song, kế hoạch này phải chi tiết tới mức từng giờ và phải được diễn tập trước.

Trước ngày cắt

MốcViệc phải xongAi chịu trách nhiệm
D − 14 ngàyThông báo chính thức tới toàn bộ nhân sự: ngày giờ, việc gì thay đổi, đầu mối hỗ trợ. Kèm hướng dẫn sử dụng theo vai tròQuản lý dự án
D − 14 ngàyQuyết định cuối cùng ở mốc M6: đủ điều kiện cắt hay lùi. Sau mốc này không thay đổi phạm viBan điều hành
D − 7 ngàyHoàn tất đào tạo toàn bộ nhân sự. Mỗi đơn vị chốt một người dùng chủ chốt làm đầu mối hỗ trợ tại chỗQuản lý dự án
D − 7 ngàyDiễn tập quay lui trên môi trường tiền vận hành, đo thời gian thực tếVận hành hạ tầng
D − 5 ngàyNhập trước phần dữ liệu lịch sử đã đóng (công việc đã hoàn thành, lead đã kết thúc, ghi giờ cũ). Phần này không đổi nữa nên nhập sớm được, giúp rút ngắn hẳn cuối tuần cắtKiến trúc
D − 2 ngàyKiểm tra hạ tầng vận hành, hạn mức, sao lưu, giám sát và cảnh báo. Xác nhận danh sách trực tăng cườngVận hành hạ tầng

Cuối tuần cắt chuyển

  1. Thứ Sáu 18/06/2027, 17:00 — đóng băng hệ thống cũ

    Chuyển Bitrix24 sang chế độ chỉ đọc. Thông báo lại một lần nữa. Từ giờ phút này không ai ghi được vào hệ thống cũ, nên không còn nguy cơ dữ liệu phát sinh sau khi trích xuất.

  2. Thứ Sáu 18/06, 17:30 – 22:00 — nhập phần dữ liệu đang mở

    Trích xuất và nạp toàn bộ dữ liệu còn đang hoạt động: công việc đang mở, lead đang mở, đơn nghỉ chờ duyệt, nhân sự, đơn vị, nhóm làm việc. Phần lịch sử đã nhập từ D − 5 nên khối lượng ở bước này nhỏ.

  3. Thứ Bảy 19/06 sáng — đối soát

    Chạy kịch bản đối soát tự động theo từng đối tượng và từng chiều. Đại diện nghiệp vụ của mỗi đơn vị rà mẫu 50 bản ghi. Sai lệch ngoài ngưỡng thì xử lý ngay, không để sang chiều.

  4. Thứ Bảy 19/06 chiều — kiểm tra khói

    Chạy 10 thao tác tiêu biểu trên môi trường vận hành thật: đăng nhập, tạo việc, phân công, duyệt, ghi giờ, nhận lead, ghi tương tác, nộp đơn nghỉ, xem lịch trực, hỏi trợ lý. Mỗi thao tác có người xác nhận.

  5. Chủ nhật 20/06 — điểm quyết định

    Ban điều hành họp và ra một trong hai quyết định: mở cửa hoặc quay lui. Không có lựa chọn thứ ba là “mở cửa nhưng còn vấn đề”. Nếu quay lui, mở lại quyền ghi trên Bitrix24 và thông báo trước sáng thứ Hai.

  6. Thứ Hai 21/06 sáng — mở cửa

    Toàn bộ nhân sự vào hệ thống mới. Người dùng chủ chốt của mỗi đơn vị có mặt tại chỗ. Đội dự án trực với thời gian phản hồi 30 phút.

72 giờ đầu — cửa sổ quay lui

Đường lui duy nhất, có thời hạn

Quay lui nghĩa là mở lại quyền ghi trên Bitrix24 và tạm dừng ERP. Quyết định phải đưa ra trong 72 giờ kể từ khi mở cửa — sau đó dữ liệu mới phát sinh trên ERP đã quá nhiều để chép ngược, và tổ chức buộc phải đi tiếp.

Ba điều kiện kích hoạt, chốt trước bằng văn bản: (1) dữ liệu nhập sai không khắc phục được trong 8 giờ; (2) hơn 30% người dùng không thao tác được công việc hằng ngày; (3) phát hiện lỗ hổng phân quyền cho phép đọc dữ liệu ngoài phạm vi.

Sau khi mở cửa

MốcViệcĐiều kiện chuyển tiếp
D + 3 ngàyĐóng cửa sổ quay lui. Họp tổng kết 72 giờ, thống kê phản ánh theo loạiKhông có điều kiện quay lui nào được kích hoạt
D + 1 tuầnHọp với từng đơn vị, xử lý tồn đọng, tinh chỉnh trọng số engine và cấu hình theo phản hồi thậtSố phản ánh giảm so với tuần đầu
D + 2 tuầnKết thúc trực tăng cường, chuyển sang quy trình sự cố thông thườngKhông sự cố P1 trong tuần thứ hai
D + 4 tuầnNghiệm thu mốc M7. Bàn giao vận hành cho đội nội bộBốn chỉ số chất lượng engine và sáu chỉ số thành công đã bắt đầu có số liệu
D + 90 ngàyTắt hẳn Bitrix24, sao lưu dài hạn, gỡ công cụ di trú và các trường ma_nguon_cu khỏi kho mãKhông yêu cầu tra cứu dữ liệu cũ nào trong 30 ngày gần nhất
Chọn ngày cắt

Ngày cắt phải tránh mùa cao điểm của các đơn vị và tránh cuối kỳ báo cáo. Với lịch hiện tại, cuối tuần 18–21/06/2027 là phù hợp: qua cao điểm đầu năm của khối kinh doanh, cách xa kỳ đánh giá quý, và cách mốc đóng băng tính năng gần hai tháng. Ngày này chỉ được xác nhận chính thức tại mốc M6, không chốt trước.

Tài liệu 14 · Tham chiếu

Thuật ngữ & quy ước

Mỗi khái niệm có đúng một định nghĩa và một danh sách từ không được dùng thay thế. Mã nguồn, giao diện lập trình và màn hình phải dùng đúng những từ này. Một tên xuất hiện trong mã mà không có ở đây thì hoặc từ điển thiếu, hoặc tên đặt sai.

Tổ chức & nhân sự

Nhân sựnhan_su

Một người có tài khoản trong hệ thống. Là điểm neo của quyền, công việc, kỹ năng, lịch trực và điểm đánh giá. Tồn tại cả khi đã ngừng hoạt động — chuyển sang trạng thái lưu trữ chứ không bị xoá.

Tránh: nhân viên, người dùng, tài khoản, user

Phòng banphong_ban

Đơn vị trong sơ đồ tổ chức hành chính chính thức. Ít thay đổi. Không phải là cơ sở để tính phạm vi dữ liệu.

Tránh: bộ phận, nhóm, khối, team

Đơn vịdon_vi

Nhóm vận hành phản ánh cách công việc thực sự được chia. Cây tự tham chiếu không giới hạn số cấp. Đây là cơ sở duy nhất để tính phạm vi dữ liệu và để gom báo cáo. Một đơn vị có thể gom người từ nhiều phòng ban, và một người có thể thuộc nhiều đơn vị.

Tránh: team, nhóm, tổ, phòng ban

Nhóm làm việcnhom_lam_viec

Tập hợp công việc theo bối cảnh dự án hoặc mảng dịch vụ. Khác đơn vị ở chỗ nó gom công việc, không gom người có quyền. Một công việc thuộc tối đa một nhóm làm việc.

Tránh: dự án, workgroup, nhóm

Kỹ năngky_nang

Một năng lực cụ thể trong danh mục, thuộc một nhóm kỹ năng. Gắn với nhân sự qua một mức thành thạo.

Tránh: năng lực, chuyên môn, skill

Mức thành thạomuc_ky_nang.muc

Số nguyên từ 1 đến 5 thể hiện độ thành thạo của một người với một kỹ năng. Có hai giá trị song song: mức tự khai do nhân sự tự chấm, và mức đã xác nhận do quản lý duyệt. Engine phân công chỉ dùng mức đã xác nhận.

Tránh: level, cấp độ, điểm kỹ năng

Công việc

Công việccong_viec

Một đơn vị việc có người phụ trách, trạng thái, mức ưu tiên và (thường có) hạn hoàn thành. Có thể có công việc con. Đây là thực thể trung tâm của hệ thống.

Tránh: task, nhiệm vụ, đầu việc, việc

Đang mởopenStages

Thuộc tính của một công việc hoặc lead có trạng thái nằm trong tập trạng thái chưa kết thúc. Tập này là dữ liệu cấu hình, không viết cứng trong mã. Mọi phép tính tải đều dựa trên khái niệm này.

Tránh: chưa xong, active, đang chạy, chưa đóng

Tảitai

Số việc đang mở của một người cộng tổng áp lực từ các hạn sắp tới. Không đồng nghĩa với số việc. Một người giữ ba việc đến hạn ngày mai có tải cao hơn người giữ năm việc đến hạn tháng sau.

Tránh: khối lượng, workload, số việc

Ngưỡng quá tảitaskOverloadThreshold

Giá trị tải mà vượt qua thì một người bị loại khỏi vòng phân công. Đặt chung cho toàn hệ thống và ghi đè được cho từng người.

Tránh: giới hạn việc, capacity, hạn mức

Ghi giờghi_gio

Bản ghi số giờ thực tế một người bỏ ra cho một công việc trong một ngày. Là đầu vào của chỉ số khối lượng và của tỉ số thực tế trên ước lượng.

Tránh: chấm công, log time, timesheet

Khách hàng tiềm năng

Leadlead

Một khách hàng tiềm năng chưa chuyển đổi. Mang ba chiều phân loại độc lập: nguồn, loại và khu vực. Từ này giữ nguyên tiếng Anh vì đã là từ dùng hằng ngày của khối kinh doanh; dịch ra sẽ tạo hai từ vựng song song.

Tránh: khách hàng tiềm năng, cơ hội, contact

Nguồn leadlead.nguon

Kênh cụ thể mà lead đến từ đó — một biểu mẫu, một chiến dịch, một đối tác. Chi tiết nhất trong ba chiều phân loại.

Tránh: kênh, source, xuất xứ

Loại leadlead.loai

Nhóm các nguồn theo chất lượng dữ liệu, ví dụ dữ liệu Nhân Hòa và dữ liệu nguồn khác. Dùng để đơn vị chọn nhanh loại lead mình nhận mà không phải liệt kê từng nguồn.

Tránh: phân loại, nhóm nguồn, category

Mốc chạm đầu tiênlead.cham_dau

Thời điểm người phụ trách ghi nhận tương tác đầu tiên với lead. Chênh lệch giữa mốc nhận và mốc này là chỉ số tốc độ phản hồi.

Tránh: liên hệ đầu, first touch, tiếp cận

Lượt ưu tiênluot_uu_tien

Quyền nhận lead trước vòng xoay thông thường. Sinh ra trong hai trường hợp: nhân sự báo lead là dữ liệu không dùng được trong ngưỡng thời gian cho phép, hoặc bù các lượt bị bỏ qua trong thời gian tạm dừng nhận.

Tránh: ưu tiên, bù lead, priority

Phân công

Đề xuấtde_xuat

Kết quả engine đưa ra cho một công việc hoặc lead: một người, một điểm số, các thành phần điểm, và một lý do đọc được. Đề xuất không phải là phân công. Nó chỉ trở thành phân công sau khi được duyệt.

Tránh: gợi ý, suggestion, đề nghị

Phân côngphan_cong

Bản ghi bất biến mỗi lần một việc được gán cho một người: ai gán, gán cho ai, khi nào, theo phương pháp nào, ai duyệt. Chỉ ghi thêm, không sửa, không xoá.

Tránh: giao việc, gán, assignment

Tài khoản gompoolAccounts

Tài khoản giữ tạm các việc và lead chưa có người phụ trách thật. Một việc chỉ vào hàng chờ phân công khi người phụ trách hiện tại là tài khoản gom.

Tránh: tài khoản chờ, pool, hàng đợi

Hộp duyệt

Màn hình liệt kê các đề xuất đang chờ quyết định của quản lý, với ba hành động: duyệt, đổi người, bỏ qua.

Tránh: danh sách chờ, inbox, hàng đợi duyệt

Quy tắc định tuyếnleadRoutingRules

Một dòng khai báo xác định lead có khu vực, nguồn hoặc loại nào thì đi tới đơn vị nào, với trọng số bao nhiêu. Duyệt theo thứ tự; quy tắc đầu tiên khớp sẽ thắng. Danh sách bắt buộc kết thúc bằng một quy tắc dự phòng.

Tránh: rule, luật chia, cấu hình lead

Con trỏ xoay vòngcon_tro_xoay_vong

Vị trí hiện tại trong vòng chia lead của một đơn vị. Lưu bền vững nên khởi động lại hệ thống không làm lệch vòng. Người bị bỏ qua vì tạm dừng, nghỉ hoặc quá tải không làm con trỏ dịch chuyển.

Tránh: vị trí, index, cursor

Đo lường

Chỉ sốchi_so

Một đại lượng đo được, có định nghĩa và công thức thống nhất toàn công ty. Ví dụ tỉ lệ đúng hạn, tỉ lệ chuyển đổi lead. Chỉ số là tài sản chung; hai đơn vị dùng cùng chỉ số thì con số của họ so sánh được.

Tránh: metric, tiêu chí, KPI

Tiêu chítieu_chi

Đơn vị nhỏ nhất được chấm điểm trong một bộ tiêu chí: có nhãn, điểm tối đa, nguồn điểm và cách chuẩn hoá. Một tiêu chí có thể gắn với một chỉ số (tự chấm), do người chấm nhập (chấm tay), hoặc là công thức tổ hợp nhiều chỉ số.

Tránh: mục chấm, item, chỉ tiêu

Bộ tiêu chíbo_tieu_chi

Cây ba cấp nhóm–mục–tiêu chí, gắn với một đơn vị và có hiệu lực từ một kỳ. Đây là chỗ mỗi đơn vị khai báo thước đo riêng của mình. Một đơn vị chỉ có một bộ hiệu lực tại một thời điểm.

Tránh: rubric, khung đánh giá, mẫu KPI

Kỳ đánh giáky_danh_gia

Một lần đánh giá cho một phạm vi (đơn vị hoặc nhóm làm việc) trong một khoảng thời gian (tuần, tháng, quý). Khi chốt, kỳ lưu bản chụp bộ tiêu chí tại thời điểm đó, nên sửa tiêu chí về sau không làm thay đổi kết quả cũ.

Tránh: đợt đánh giá, chu kỳ, period

Chốt kỳ

Thao tác khoá toàn bộ số liệu và điểm của một kỳ, lưu bản chụp bộ tiêu chí, tính xếp loại. Sau khi chốt, số liệu không thay đổi kể cả khi dữ liệu gốc thay đổi. Mở lại cần quyền riêng và ghi nhật ký.

Tránh: khoá, đóng kỳ, hoàn tất

Ngày công thực tếngay_cong

Số ngày làm việc trong kỳ trừ đi số ngày nghỉ đã duyệt, có tính nghỉ nửa buổi. Là mẫu số của nhiều chỉ số, nên sai ở đây làm sai hàng loạt điểm số phía sau.

Tránh: công, ngày làm, workday

Quyền & bảo mật

Khoá quyền

Một chuỗi dạng miền.hành_động đại diện cho quyền thực hiện một loại hành động. Trả lời câu hỏi được làm gì, không trả lời câu hỏi trên dữ liệu của ai.

Tránh: quyền, permission, vai trò

Nhóm quyềnnhom_quyen

Tập hợp có tên của các khoá quyền, gán cho nhân sự. Thay thế cho khái niệm vai trò cứng.

Tránh: vai trò, role, nhóm người dùng

Phạm vi dữ liệu

Tập đơn vị và tập nhân sự mà một người được phép nhìn thấy dữ liệu, tính từ vị trí của họ trong cây đơn vị. Trả lời câu hỏi trên dữ liệu của ai. Nhân với khoá quyền mới ra quyền hiệu lực.

Tránh: scope, phạm vi, quyền xem

Tiêm phạm vi

Việc tầng thực thi ghép điều kiện phạm vi vào mọi truy vấn, không lấy từ tham số do người gọi hay mô hình AI cung cấp. Đây là cơ chế bảo đảm không có lối vòng qua lớp kiểm soát quyền.

Tránh: lọc quyền, filter, kiểm tra quyền

Trường nhạy cảm

Trường dữ liệu bị loại khỏi kết quả ở tầng truy vấn khi người dùng không có khoá quyền tương ứng. Vì bị loại sớm, chúng không bao giờ có mặt trong phản hồi, trong tệp kết xuất, hay trong ngữ cảnh gửi tới mô hình AI.

Tránh: dữ liệu mật, private field, thông tin riêng

Sàn ẩn danh

Số bản ghi tối thiểu để hệ thống chịu trả về một con số tổng hợp. Dưới ngưỡng thì từ chối, nhằm chặn việc suy ngược từ nhiều truy vấn tổng hợp ra số liệu của một cá nhân.

Tránh: ngưỡng tối thiểu, k-anonymity, giới hạn

Quy ước đặt tên

Nơi dùngQuy ướcVí dụ đúngVí dụ sai
Bảng và cột cơ sở dữ liệuTiếng Việt không dấu, chữ thường, nối bằng gạch dưới, danh từ số ítcong_viec, muc_ky_nang, ngay_congtasks, CongViec, cong_viecs
Biến và hàm trong mãcamelCase, tiếng Anh cho từ kỹ thuật, giữ tiếng Việt cho thuật ngữ nghiệp vụ không có từ tương đương chuẩntinhTai(), deXuatPhanCongcalc_load(), tinh_tai()
Đường dẫn giao diện lập trìnhTiếng Việt không dấu, chữ thường, nối bằng gạch ngang, danh từ số nhiều cho tập hợp/api/v1/cong-viec, /api/v1/de-xuat/{id}/duyet/api/v1/getTasks
Khoá quyềnDạng miền.hành_động, chữ thường, tiếng Anhtask.assign, kpi.approvecongviec.gan, TASK_ASSIGN
Khoá cấu hìnhcamelCase, tiếng Anh, đủ nghĩa mà không cần chú thíchtaskOverloadThreshold, leadRoutingRulesthreshold1, cfg_lead
Tên sự kiện nội bộDạng thực_thể.hành_động, tiếng Việt không dấu, thì quá khứ về nghĩacong_viec.dong, lead.chiaonTaskClose, TASK_CLOSED
Chuỗi hiển thịTiếng Việt có dấu, không viết cứng trong mã, nằm trong tệp ngôn ngữt('cong_viec.qua_han')"Công việc quá hạn" viết thẳng trong thành phần giao diện
Vì sao trộn tiếng Việt và tiếng Anh

Thuật ngữ nghiệp vụ giữ tiếng Việt vì đó là ngôn ngữ các đơn vị dùng để nói về công việc của mình — dịch sang tiếng Anh tạo ra một lớp phiên dịch ở giữa và là nguồn hiểu sai. Từ kỹ thuật giữ tiếng Anh vì đó là ngôn ngữ của hệ sinh thái công cụ. Ranh giới nằm ở chỗ: nếu một trưởng đơn vị dùng từ đó trong cuộc họp thì viết tiếng Việt; nếu chỉ lập trình viên dùng thì viết tiếng Anh.

Ba từ bị cấm dùng trong toàn bộ hệ thống

  • “Team” — vì nó vừa được dùng để chỉ phòng ban, vừa chỉ đơn vị, vừa chỉ nhóm làm việc. Ba khái niệm này có ý nghĩa khác nhau về phạm vi dữ liệu và phải gọi tên riêng.
  • “Task” trong chuỗi hiển thị và tên bảng — dùng công việc. Giữ lại trong khoá quyền và tên biến kỹ thuật vì đã là quy ước của hệ sinh thái.
  • “KPI” khi nói về một chỉ số đơn lẻ — KPI là tên gọi của cả bộ tiêu chí và điểm tổng, không phải tên của một chỉ số. Nói “chỉ số tỉ lệ đúng hạn”, không nói “KPI đúng hạn”.