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
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ị, workgroup | Tính lương, bảo hiểm, thuế thu nhập cá nhân |
| Lịch trực, đơn xin nghỉ, ngày công | Chấ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ăng | Quả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 team | Tổ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 team | Hoạ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ền | Trợ 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áng | Cách đo |
|---|---|---|---|
| Thời gian từ lúc việc xuất hiện đến khi có người phụ trách | Vài giờ đến một ngày làm việc | Dưới 15 phút trong giờ hành chính | Chê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óm | Khô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ười | Không áp dụng | Từ 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á KPI | Khoảng 2–3 ngày công mỗi kỳ mỗi team | Dưới 2 giờ mỗi kỳ mỗi team | Ghi 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ác | Không đo được | Dướ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ụng | Từ 85% trở lên trên bộ câu hỏi kiểm chuẩn | Bộ 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.
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.
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ã.
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.
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.
Độ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.comchỉ 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ệu | Trả lời câu hỏi | Người đọc chính |
|---|---|---|---|
| 01 | Tổng quan & định hướng | Chúng ta xây cái gì và vì sao | Toàn bộ |
| 02 | Hiệ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 Bitrix24 | Bỏ Bitrix24 thì mất gì, được gì | Ban điều hành, trưởng phòng ban |
| 04 | Yêu cầu nghiệp vụ & phi chức năng | Hệ 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 sao | Nghiệp vụ, phát triển, kiểm thử |
| 06 | Engine phân công tự động | Việc được chia cho ai theo công thức nào | Điều phối, trưởng nhóm, phát triển |
| 07 | Khung KPI & báo cáo theo team | Mỗi team được đo bằng thước nào | Trưởng đơn vị, nhân sự |
| 08 | Trợ lý AI & kiểm soát truy xuất | Bot đọc được gì của ai | Ban điều hành, bảo mật, phát triển |
| 09 | Kiến trúc & phương án đa nền tảng | Xây bằng gì, chạy ở đâu | Kỹ thuật |
| 10 | Mô hình dữ liệu & giao diện lập trình | Dữ liệu tổ chức thế nào | Phát triển, tích hợp |
| 11 | Phân quyền & bảo mật | Ai được thấy gì, bảo vệ ra sao | Bảo mật, nhân sự, phát triển |
| 12 | Lộ trình triển khai & ước lượng | Bao lâu, bao nhiêu người, chia mấy chặng | Ban điều hành, quản lý dự án |
| 13 | Vận hành, rủi ro & nghiệm thu | Chạy thật thì lo gì, nghiệm thu bằng gì | Vận hành, quản lý dự án |
| 14 | Thuật ngữ & quy ước | Mộ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.
Đâ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.
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
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ùngASSIGNED_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ựcUF_CRMdù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ản | Nguồn | Giá trị mang sang | Mứ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ệc | xerp-4s | Mô 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ệc | xerp-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ên | xerp-4s | Xoay 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ác | Trung 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ểm | report-web4s → xerp-4s | Mộ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ền | xerp-4s | 53 khoá quyền phủ 18 miền, cùng cơ chế nhóm quyền thay vai trò cứng | Trung 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ị JSON | xerp-4s | Cho 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-4s | Xử 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ần | Trung 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 Excel | report-web4s | Định dạng các đơn vị đã quen dùng | Trung 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ệu | meeting-report | Cấ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 |
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ống | Hiệ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ệc | Không có; xerp-4s chỉ đọc và đề xuất | Mà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 ERP | Cao |
| Bộ tiêu chí KPI theo từng đơn vị | Một bộ tiêu chí duy nhất | Thư viện chỉ số + bộ tiêu chí gắn với từng đơn vị + quy trình chấm và chốt | Cao |
| 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ền | Chưa có; AI hiện chỉ suy ra kỹ năng và soạn nội dung báo cáo | Cổ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án | Cao |
| Ứng dụng máy tính và di động | Chỉ có giao diện web nội bộ | Bản đóng gói cho Windows, macOS, iOS, Android với thông báo đẩy | Trung 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ác | Một lớp tính phạm vi duy nhất áp cho mọi truy vấn | Trung bình |
| Quản lý kỹ năng ở mức vận hành được | Bả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ều | Xế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ông | Trung bình |
| Nhật ký kiểm toán thống nhất | Có 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ảm | Trung bình |
Kết luận khảo sát
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.
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.
Đố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ực | Bitrix24 | ERP Nhân Hòa | Mứ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ính | Vượt |
| Quản lý kỹ năng và mức thành thạo | Không có sẵn, phải dùng trường tuỳ biến | Thự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ặng | Nộp – duyệt nhiều cấp – trừ quỹ phép – nối thẳng vào tính ngày công cho KPI | Bằng |
| Lịch trực | Không có khái niệm trực; phải mô phỏng bằng lịch | Lị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ểm | Có phân hệ chấm công và báo cáo giờ làm | Chỉ tính ngày công phục vụ KPI; không tính lương | Không làm |
Công việc & cộng tác
| Năng lực | Bitrix24 | ERP Nhân Hòa | Mứ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ận | Bằ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ội | Rút gọn |
| Phân công tự động | Chỉ có quy tắc đơn giản và xoay vòng cơ bản trong CRM | Engine 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ệt | Vượt |
| Bảng Kanban, biểu đồ Gantt, lịch công việc | Có đủ ba dạng xem | Có Kanban và lịch; Gantt ở giai đoạn sau | Rút gọn |
| Trò chuyện, gọi thoại, họp trực tuyến | Có sẵn trong sản phẩm | Khô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ến | Có ổ đĩa và soạn thảo trực tuyến | Chỉ lưu tệp đính kèm theo bản ghi | Rút gọn |
Khách hàng tiềm năng & bán hàng
| Năng lực | Bitrix24 | ERP Nhân Hòa | Mức độ |
|---|---|---|---|
| Quản lý lead, phễu, giai đoạn, chuyển đổi | Rấ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óc | Bằng |
| Chia lead tự động | Xoay 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ượt | Vượt |
| Chỉ tiêu doanh số và hoa hồng | Có báo cáo doanh số, hoa hồng phải tự dựng | Kế 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ình | Vượt |
| Tổng đài, ghi âm cuộc gọi, gửi thư hàng loạt | Có tích hợp sẵn | Không làm trong v1 | Không làm |
| Trang đích, biểu mẫu thu thập lead | Có bộ dựng trang | Chỉ nhận lead qua giao diện lập trình từ nguồn bên ngoài | Rút gọn |
Báo cáo, đánh giá & quản trị
| Năng lực | Bitrix24 | ERP Nhân Hòa | Mức độ |
|---|---|---|---|
| Báo cáo hiệu suất công việc | Bá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ự án | Vượt |
| Đánh giá KPI nhân sự | Không có phân hệ KPI đúng nghĩa | Thư 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ại | Vượt |
| Phân quyền | Phân quyền theo vai trò và phòng ban, cấu hình phức tạp | Nhó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ức | Trợ 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ấn | Vượt |
| Nhật ký kiểm toán | Có ở mức cơ bản | Mộ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ảm | Vượt |
Nền tảng & ứng dụng
| Năng lực | Bitrix24 | ERP Nhân Hòa | Mức độ |
|---|---|---|---|
| Ứng dụng web | Có, giao diện nặng và khó tuỳ biến | Có, thiết kế theo đúng luồng việc của Nhân Hòa | Vượt |
| Ứng dụng máy tính (Windows, macOS) | Có | Có, đóng gói từ chính lõi web | Bằ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 nhanh | Rú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ẫn | REST theo phiên bản, xác thực theo chuẩn, quyền theo khoá, có giới hạn tần suất | Vượt |
| Chợ ứng dụng bên thứ ba | Rất lớn | Khô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.
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.
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á.
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ục | Tiếp tục dùng Bitrix24 | ERP tự xây |
|---|---|---|
| Chi phí ban đầu | Gần như không | Khoả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ộng | Hạ 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ến | Cao — 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ạng | Thấ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ộc | Cao — dữ liệu vận hành nằm trên nền của bên thứ ba | Thấ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ới | Phụ thuộc lộ trình nhà cung cấp | Do Nhân Hòa quyết đị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.
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ộc | Ai xác nhận | Rà ở GĐ |
|---|---|---|---|
| Nhân sự | Toàn bộ nhân sự đang hoạt động có hồ sơ đầy đủ và đăng nhập được | Nhâ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ận | Trưở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ệc | Vò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ểm | 2, 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ạn | Trưởng đơn vị | 9 | |
| Lịch sử công việc đã đóng nhập đủ theo mốc thời gian đã thoả thuận | Trưởng phòng ban | 9 | |
| Tệp đính kèm mở được, kiểm tra ngẫu nhiên đạt | Đơn vị thí điểm | 9 | |
| Lead | Toàn bộ lead đang mở đã nhập, đúng giai đoạn và đúng người phụ trách | Trưởng phòng kinh doanh | 9 |
| Quy tắc chia lead của từng đơn vị đã khai báo và chạy thử đúng | Trưởng phòng kinh doanh | 4, 9 | |
| Lịch sử chăm sóc lead nhập đủ theo mốc thời gian đã thoả thuận | Trưởng phòng kinh doanh | 9 | |
| Nhóm làm việc | Nhóm và dự án đang hoạt động đã có mặt, đúng thành viên | Chủ dự án | 9 |
| Công việc gắn đúng nhóm sau khi nhập | Chủ dự án | 9 | |
| Đo lường | Mỗ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 ban | 6, 9 |
| Kết xuất Excel khớp mẫu các đơn vị đang dùng | Nhân sự | 6, 9 | |
| Nền tảng | Bốn bản ứng dụng (web, Windows, macOS, di động) cài và đăng nhập được | Quản trị hệ thống | 8, 9 |
| Thông báo tới đúng người trên đúng thiết bị | Đơn vị thí điểm | 8, 9 | |
| Kiểm thử phân quyền theo bảy vai trò đạt tuyệt đối | Kiểm thử | 1, 9 | |
| Chấp nhận thiếu | Mọ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ùng | Trưởng đơn vị liên quan | 1, 9 |
| Mọi tính năng đánh dấu Không làm có phương án thay thế đã sẵn sàng | Ban điều hành | 1, 9 |
Cách rời khỏi Bitrix24
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
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.
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.
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ợ.
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.
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_cukhỏi ERP.
Điều kiện quay lui
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ểm | Cá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ất | Hệ 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ơi | Giai đ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 ở đâu | Ngà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ọng | Phải chốt đủ tính năng trước khi cắt, không có cơ hội bổ sung dần |
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ính | Việc làm hằng ngày trên hệ thống | Phạm vi dữ liệu mặc định |
|---|---|---|---|
| Nhân viên | Biết mình phải làm gì hôm nay | Xem 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ực | Bản thân |
| Trưởng nhóm | Nhóm chạy đúng tiến độ và không lệch tải | Duyệ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 ban | Kế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ối | Không có việc nào bị bỏ quên | Xử 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ôi | Cá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 ty | Toàn hệ thống, trừ dữ liệu nhạy cảm bị che theo cấu hình |
| Ban điều hành | Bức tranh tổng thể và điểm nghẽn | Xem bảng điều khiển, hỏi trợ lý AI, xem kết quả đánh giá đã chốt | Toàn hệ thống ở mức tổng hợp |
| Quản trị hệ thống | Hệ thống chạy đúng và cấu hình chuẩn | Quả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ống | Toà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.
| Mã | Yêu cầu | Giá trị mang lại | Ưu tiên | Giai đoạn |
|---|---|---|---|---|
| BR-01 | Quả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áo | Bắt buộc | 1 |
| BR-02 | Quả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ực | Bắt buộc | 2 |
| BR-03 | Quản lý nhóm làm việc và dự án, gắn công việc vào nhóm | Cơ sở để báo cáo theo dự án thay vì chỉ theo cá nhân | Nên có | 1 |
| BR-04 | Quả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ộc | 1–2 |
| BR-05 | Tự độ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 được | Rút thời gian chờ phân công xuống dưới 15 phút và làm đều tải | Bắt buộc | 3 |
| BR-06 | Cho 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 engine | Giữ quyền quyết định ở con người và tạo vòng phản hồi cải thiện | Bắt buộc | 3 |
| BR-07 | Quả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ành | Bắt buộc | 4 |
| BR-08 | Chia 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ượt | Mỗi team bán hàng có cách chia riêng mà không cần sửa mã | Bắt buộc | 4 |
| BR-09 | Quả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 ca | Xoá điểm mù lớn nhất của hệ thống hiện tại | Nên có | 5 |
| BR-10 | Quả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ông | Ngày công đúng là điều kiện để điểm KPI khối lượng có nghĩa | Nên có | 5 |
| BR-11 | Cho 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ại | Giải quyết trực diện vấn đề mỗi team đo một kiểu | Bắt buộc | 6 |
| BR-12 | Tự độ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ệu | Rú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ộc | 6 |
| BR-13 | Sinh 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à PDF | Thay thế toàn bộ luồng tổng hợp bằng bảng tính hiện nay | Nên có | 6 |
| BR-14 | Trợ 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ành | Mọ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ộc | 7 |
| BR-15 | Trợ 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ật | Bắt buộc | 7 |
| BR-16 | Cung 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 đẩy | Việc và yêu cầu duyệt tới được người phụ trách ngoài giờ ngồi máy | Nên có | 8 |
| BR-17 | Cô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ược | Giữ 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ới | Bắt buộc | 9 |
| BR-18 | Quả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ển | Bắt buộc | 1 |
| BR-19 | Nhận đầu việc từ hệ thống biên bản họp và đưa vào luồng phân công | Khép vòng từ cuộc họp tới việc được giao | Có thì tốt | Đệm |
| BR-20 | Quản lý chỉ tiêu doanh số và tính hoa hồng theo cấu hình | Gom nốt phần đang nằm ngoài hệ thống của khối kinh doanh | Có thì tốt | Đệm |
| BR-21 | Trợ 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ành | Sau v1 | — |
| BR-22 | Cổng thông tin cho khách hàng bên ngoài | Mở rộng phạm vi sang phục vụ khách hàng | Sau 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.
| Mã | Nhóm | Yêu cầu | Chỉ tiêu | Cách đo |
|---|---|---|---|---|
| NFR-01 | Hiệu năng | Thời gian phản hồi của các màn hình danh sách chính | Phâ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-02 | Hiệu năng | Thời gian sinh đề xuất phân công cho một công việc | Dướ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-03 | Hiệu năng | Thờ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-04 | Tải đồng thời | Số người dùng hoạt động đồng thời | 300 phiên đồng thời không suy giảm quá 20% so với chỉ tiêu NFR-01 | Kiểm thử tải trước mỗi mốc nghiệm thu lớn |
| NFR-05 | Khả năng mở rộng | Sức chứa dữ liệu | 5 triệu công việc và 2 triệu lead không cần đổi kiến trúc | Sinh dữ liệu giả và đo truy vấn tiêu biểu |
| NFR-06 | Sẵn sàng | Mức sẵn sàng trong giờ làm việc | 99,5% trong khung 07:00–21:00 giờ Việt Nam | Giám sát ngoài, kiểm tra sức khoẻ mỗi phút |
| NFR-07 | Sao lưu | Mục tiêu điểm khôi phục và thời gian khôi phục | Mấ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-08 | Bảo mật | Kiểm soát truy cập | Mọ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 được | Rà soát mã và kiểm thử xâm nhập theo vai trò |
| NFR-09 | Bảo mật | Bảo vệ dữ liệu khi truyền và khi lưu | Mã hoá toàn tuyến; các trường nhạy cảm mã hoá ở tầng ứng dụng | Rà soát cấu hình và quét lỗ hổng |
| NFR-10 | Kiểm toán | Truy vết thay đổi | Mọ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à sau | Truy vấn thử trên nhật ký kiểm toán |
| NFR-11 | Kiểm toán | Thời gian lưu nhật ký | Nhật ký kiểm toán giữ tối thiểu 24 tháng | Kiểm tra chính sách lưu trữ |
| NFR-12 | Khả dụng | Ngôn ngữ giao diện | Tiếng Việt là ngôn ngữ chính, có sẵn cơ chế đa ngữ để bổ sung sau | Rà soát chuỗi hiển thị không bị viết cứng trong mã |
| NFR-13 | Khả dụng | Tiếp cận | Đạt mức AA của tiêu chuẩn WCAG 2.1 cho các luồng chính | Kiểm tra tự động cộng rà soát tay bàn phím và tương phản |
| NFR-14 | Khả dụng | Đa nền tảng | Toàn bộ luồng chính dùng được trên màn hình từ 360 điểm ảnh chiều ngang | Kiểm thử trên thiết bị thật của bốn nền tảng |
| NFR-15 | Vận hành | Khả năng quan sát | Bố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áo | Rà soát bảng giám sát trước khi lên môi trường thật |
| NFR-16 | Vận hành | Phát hành | Phát hành không gián đoạn dịch vụ; quay lui được trong 10 phút | Diễn tập quay lui mỗi giai đoạn |
| NFR-17 | Chấ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 lead | Báo cáo độ phủ trong quy trình tích hợp liên tục |
| NFR-18 | Di trú | Độ chính xác của đợt nhập dữ liệu | Sai 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-19 | AI | Chi phí mô hình | Dưới 15 triệu đồng mỗi tháng ở quy mô 150 người dùng hoạt động | Nhật ký sử dụng token theo từng lần gọi |
| NFR-20 | AI | Khả năng chạy khi tắt AI | Toà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ện | Bằng chứng |
|---|---|---|
| 1 | Toàn bộ yêu cầu mức Bắt buộc đã được nghiệm thu trên môi trường thật | Biên bản nghiệm thu từng yêu cầu có chữ ký đơn vị nghiệp vụ |
| 2 | Sá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 |
| 3 | Không còn yêu cầu phi chức năng nào ở trạng thái chưa đo | Bảng theo dõi NFR-01 đến NFR-20 đầy đủ kết quả |
| 4 | Kiểm thử phân quyền theo từng vai trò không phát hiện lối rò dữ liệu | Báo cáo kiểm thử xâm nhập nội bộ theo vai trò |
| 5 | Dữ liệu di trú khớp với hệ thống nguồn trong ngưỡng sai số đã thoả thuận | Báo cáo đối soát từng đối tượng dữ liệu |
| 6 | Tà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ạo | Biên bản bàn giao và danh sách đã đào tạo |
Đặ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ệ
| Mã | Phân hệ | Phụ thuộc | Giai đoạn | Đặc tả chi tiết |
|---|---|---|---|---|
| M01 | Nhân sự & hồ sơ | — | 1 | Tài liệu này |
| M02 | Kỹ năng & ma trận năng lực | M01 | 2 | Tài liệu này |
| M03 | Phòng ban & cây đơn vị | M01 | 1 | Tài liệu này |
| M04 | Nhóm làm việc & dự án | M01, M03 | 1 | Tài liệu này |
| M05 | Lịch trực & đơn xin nghỉ | M01, M03 | 5 | Tài liệu này |
| M06 | Quản lý công việc | M01, M03, M04 | 1–2 | Tài liệu này |
| M07 | Phân công công việc tự động | M02, M06 | 3 | Tài liệu 06 |
| M08 | Quản lý lead | M01, M03 | 4 | Tài liệu này |
| M09 | Chia lead tự động | M08 | 4 | Tài liệu 06 |
| M10 | Báo cáo kỳ & đánh giá KPI | M05, M06, M08 | 6 | Tài liệu 07 |
| M11 | Trợ lý AI | Tất cả | 7 | Tài liệu 08 |
| M12 | Quản trị hệ thống & cấu hình | — | 1–2 | Tài liệu này |
M01 · Nhân sự & hồ sơ
Nhân sự & hồ sơ
Giai đoạn 1 · BR-01Mộ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_cuchỉ 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.viewxem danh sách và hồ sơ trong phạm vi;staff.managetạ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
Kỹ năng & ma trận năng lực
Giai đoạn 2 · BR-02Biế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ị
Phòng ban & cây đơn vị
Giai đoạn 1 · BR-01Tá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ị.
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ệc và tạ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
Nhóm làm việc & dự án
Giai đoạn 1 · BR-03Gom 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ỉ
Lịch trực & đơn xin nghỉ
Giai đoạn 5 · BR-09, BR-10Trả 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ép và tự độ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
Quản lý công việc
Giai đoạn 1 (cơ bản) – 2 (đầy đủ) · BR-04Nơ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ãn và Huỷ. 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ượng và giờ 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
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
Quản trị hệ thống & cấu hình
Giai đoạn 1–2 · BR-18Cho 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óm | Nội dung khai báo | Ai được sửa |
|---|---|---|
| Phân công công việc | Trọ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ệt | Quản trị |
| Chia lead | Quy 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 lead | Quả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ày | Quản trị; trưởng phòng ban sửa bộ tiêu chí của khối mình |
| Vòng đời | Tậ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ực | Quản trị |
| Kiểm tra nội dung | Phân loại công việc và các trường bắt buộc tương ứng | Quản trị |
| Nhập dữ liệu ban đầu | Nguồ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ển | Quản trị |
| Trí tuệ nhân tạo | Bậ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áo | Cấu hình thư điện tử, mẫu thư, kênh đẩy, quy tắc gửi theo sự kiện | Quản trị |
| Phân quyền | Nhó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.
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
Đề 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:
- Trạng thái thuộc tập đang mở (khai báo trong cấu hình).
- 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.
- Đơ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
- 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).
- Đang hoạt động và ở trạng thái sẵn sàng nhận việc.
- Không nằm trong danh sách tạm dừng nhận việc của đơn vị.
- Không có đơn nghỉ đã duyệt phủ ngày hiện tại.
- 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ình | Mặc định | Ý nghĩa khi tăng |
|---|---|---|---|
| Kỹ năng khớp | weights.skill | 0,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.load | 0,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ệc | weights.priority | 0,15 | Việ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 AI | weights.ai | 0,10 | Cho phép nội dung mô tả tự do ảnh hưởng nhiều hơn tới lựa chọn |
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: SSL và Hosting. Trọng số dùng giá trị mặc định.
| Ứng viên | SSL | Hosting | Điểm kỹ năng | Tải | TP tải | TP ưu tiên | Tín hiệu AI | Điểm cuối |
|---|---|---|---|---|---|---|---|---|
| Nguyễn A | 4 | 5 | 0,90 | 7,0 | 0,125 | 1,0 | 0,20 | 0,613 |
| Trần B | 5 | 3 | 0,80 | 2,0 | 0,333 | 1,0 | 0,10 | 0,620 |
| Lê C | 2 | 4 | 0,60 | 1,0 | 0,500 | 1,0 | 0,00 | 0,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ý:
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ắc | Khu vực | Nguồn / loại | Đơn vị nhận | Trạng thái |
|---|---|---|---|---|
| Dữ liệu Nhân Hòa – Hà Nội | Hà Nội | Loại: dữ liệu Nhân Hòa | Kinh doanh HN (trọng số 1,0) | Bật |
| Dữ liệu Nhân Hòa – HCM | Hồ Chí Minh | Loại: dữ liệu Nhân Hòa | Kinh doanh HCM (trọng số 1,0) | Bật |
| Nguồn ngoài – chia hai miền | Mọi khu vực | Loại: nguồn khác | Kinh doanh HN (0,6), Kinh doanh HCM (0,4) | Bật |
| Dịch vụ doanh nghiệp | Mọi khu vực | Nguồn: biểu mẫu gói doanh nghiệp | Khách hàng lớn (1,0) | Bật |
| Mặc định | Mọi khu vực | Mọi nguồn | Kinh 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ên | Sinh ra khi nào | Tham số |
|---|---|---|
| Bù dữ liệu không dùng được | Nhâ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ận | Ngưỡ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ờ.
| Lead | Người nhận | Lý do | Vòng |
|---|---|---|---|
| 1 | Nguyễn A | Vị trí 1, vòng 1 | 1 |
| 2 | Trần B | Vị trí 2, vòng 1 | 1 |
| 3 | Phạm D | Lượt bù đang chờ, cấp trước xoay vòng | 1 |
| 4 | Lê C | Vị trí 3, vòng 1 — trọng số 0,5 nên đủ điều kiện nhận ở vòng lẻ | 1 |
| 5 | Phạm D | Vị trí 4, vòng 1 | 1 |
| 6 | Nguyễn A | Vị trí 1, vòng 2 | 2 |
| 7 | Trần B | Vị trí 2, vòng 2 | 2 |
| 8 | Phạm D | Vị trí 4, vòng 2 — Lê C bị bỏ qua do trọng số 0,5 ở vòng chẵn | 2 |
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ống | Xử lý | Hiển thị cho người dùng |
|---|---|---|
| Không ứng viên nào khớp kỹ năng yêu cầu | Chọ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ải | Không sinh đề xuất; đưa việc vào danh sách tồn đọng | Cả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ện | Chuyể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òng | Ghi rõ trong lý do là đã chuyển đơn vị và vì sao |
| Việc đã có người phụ trách thật | Không đề xuất lại | Không hiển thị trong hộp duyệt |
| Người phụ trách nghỉ dài ngày | Việ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ển | Danh sách riêng “cần phân công lại do nghỉ” |
| Đề xuất bị đổi người | Ghi nhận người được đề xuất và người thực nhận, cùng chênh lệch điểm | Thố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 đã đóng | Bỏ qua, không đề xuất | Không hiển thị |
| Lead không khớp quy tắc nào | Rơ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 lead | Lead giữ ở hàng chờ, không chia; cảnh báo sau 15 phút | Cảnh báo “đơn vị không có ai nhận lead” |
| Hai tiến trình cùng chia một lead | Khoá bản ghi ở tầng cơ sở dữ liệu; thao tác gán là bất biến theo khoá lead | Khô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ĩa | Mặc định | Phạm vi |
|---|---|---|---|
weights | Bốn trọng số chấm điểm công việc | 0,45 / 0,30 / 0,15 / 0,10 | Toàn hệ thống |
taskOverloadThreshold | Ngưỡng tải coi là quá tải với công việc | 12 | Toàn hệ thống, ghi đè theo người |
leadOverloadThreshold | Ngưỡng lead đang mở coi là quá tải | 30 | Toàn hệ thống, ghi đè theo người |
duePressure | Mốc ngày và hệ số áp lực hạn | 2,0 / 1,0 / 0,5 theo mốc quá hạn, 1 ngày, 3 ngày | Toàn hệ thống |
openStages | Tập trạng thái coi là đang mở, tách riêng công việc và lead | Bốn trạng thái chưa kết thúc | Toàn hệ thống |
assignmentSort | Thứ tự ưu tiên xử lý hàng chờ | ưu tiên → hạn → thời điểm tạo | Toàn hệ thống |
autoApprove | Bật gán thẳng không cần duyệt, kèm ngưỡng điểm tối thiểu | Tắt | Toàn hệ thống, bật dần theo đơn vị |
leadRoutingRules | Danh sách quy tắc định tuyến lead | Rỗng, phải khai báo | Toàn hệ thống |
leadTypes | Danh mục loại lead và các nguồn thuộc từng loại | Rỗng, tuỳ chọn | Toàn hệ thống |
leadPriority | Tham 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ạn | 2 ngày / 5 lượt / 5 phút / 30 ngày | Toàn hệ thống |
| Thứ tự vị trí nhận lead | Danh sách người theo thứ tự trong đơn vị | Theo tên | Từng đơn vị |
| Trọng số nhận lead | Hệ số nhận của từng thành viên | 1,0 | Từng đơn vị |
| Tạm dừng nhận việc / nhận lead | Danh sách thành viên tạm không nhận | Rỗng | Từ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ông | Bật cả hai | Từng đơn vị |
| Nguồn và loại lead đơn vị nhận | Giới hạn loại lead đơn vị được nhận | Rỗng = nhận mọi loại | Từ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.
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.
Độ 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.
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.
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ố
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.
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.
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.
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.
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.
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.
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
| Mã | Chỉ số | Công thức | Chuẩn hoá về điểm | Nguồn |
|---|---|---|---|---|
| MT-01 | Tỉ lệ đúng hạn | Số 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-02 | Khố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-03 | Giờ ghi nhận trên ngày công | Tổ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-04 | Tỉ số thực tế trên ước lượng | Tổng giờ thực tế ÷ tổng giờ ước lượng | Bậc thang: gần 1,0 điểm cao nhất; lệch nhiều về hai phía đều trừ điểm | M06 |
| MT-05 | Tỉ lệ việc bị mở lại | Số việc bị mở lại ÷ số việc đóng | Nghịch: mỗi việc mở lại trừ một mức, có sàn 0 | M06 |
| MT-06 | Điểm chất lượng trung bình | Trung bình điểm 1–5 do người kiểm tra chấm | Tuyến tính từ thang 1–5 về thang điểm tiêu chí | M06 |
| MT-07 | Tỉ lệ việc thiếu thông tin bắt buộc | Số việc bị trả lại do thiếu thông tin ÷ số việc tạo | Nghịch, có sàn 0 | M06 |
| MT-08 | Thời gian xử lý trung vị | Trung vị khoảng cách từ lúc nhận đến lúc đóng | So với ngưỡng đơn vị đặt | M06 |
Nhóm khách hàng tiềm năng & bán hàng
| Mã | Chỉ số | Công thức | Chuẩn hoá về điểm | Nguồn |
|---|---|---|---|---|
| MT-09 | Tỉ lệ chuyển đổi lead | Số 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-10 | Doanh số ghi nhận | Tổng giá trị hợp đồng ghi nhận trong kỳ | So với chỉ tiêu cá nhân | M08 |
| MT-11 | Tỉ lệ đạt chỉ tiêu | Doanh số ÷ chỉ tiêu được giao | Bậc thang: dưới 70% không điểm, 100% đủ điểm, trên 120% có điểm thưởng | M08 |
| MT-12 | Số 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-13 | Tốc độ chạm đầu tiên | Trung vị khoảng cách từ lúc nhận lead tới tương tác đầu | Nghịch theo ngưỡng: dưới 30 phút đủ điểm, trên 4 giờ không điểm | M08 |
| MT-14 | Tỉ lệ lead bỏ quên | Số lead đang mở không có tương tác quá 24 giờ ÷ số lead đang giữ | Nghịch, có sàn 0 | M08 |
Nhóm vận hành & dịch vụ
| Mã | Chỉ số | Công thức | Chuẩn hoá về điểm | Nguồn |
|---|---|---|---|---|
| MT-15 | Mức sẵn sàng dịch vụ phụ trách | Thờ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-16 | Tỉ 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ầu | Tuyến tính | M06 |
| MT-17 | Số sự cố nghiêm trọng | Số sự cố mức nghiêm trọng phát sinh thuộc trách nhiệm | Nghịch: mỗi sự cố trừ một mức | M06 |
| MT-18 | Thời gian khôi phục trung bình | Trung bình khoảng cách từ lúc phát hiện đến lúc khôi phục | Nghịch theo ngưỡng đơn vị đặt | M06 |
Nhóm kỷ luật & đóng góp
| Mã | Chỉ số | Công thức | Chuẩn hoá về điểm | Nguồn |
|---|---|---|---|---|
| MT-19 | Ngày công thực tế | Ngày làm việc trong kỳ trừ ngày nghỉ đã duyệt | Dùng làm mẫu số cho các chỉ số khác, không chấm điểm trực tiếp | M05 |
| MT-20 | Tỉ lệ nộp báo cáo ngày đúng hạn | Số ngày nộp đúng hạn ÷ ngày công thực tế | Tuyến tính | M06 |
| MT-21 | Số ca trực đã đảm nhiệm | Số 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ức | Số tài liệu, bài hướng dẫn hoặc buổi chia sẻ được ghi nhận | Bậc thang, có trần | Nhậ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óm → mục → tiê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ần | Thuộc tính | Ghi 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óm | Nhã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ục | Nhãn, điểm tối đa | Cấ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óm | Tiêu chí | Điểm | Nguồn điểm |
|---|---|---|---|
| Chuyên môn 55 điểm | Tỉ lệ đúng hạn | 15 | MT-01, tự chấm |
| Mức độ hài lòng về kết quả | 10 | MT-05 + MT-06, công thức tổ hợp | |
| Lỗi nội dung công việc | 10 | MT-07, tự chấm | |
| Khối lượng công việc | 10 | MT-03, tự chấm | |
| Tỉ số thực tế trên ước lượng | 10 | MT-04, tự chấm | |
| Kỷ luật & tuân thủ 20 điểm | Nộp báo cáo ngày đúng hạn | 5 | MT-20, tự chấm |
| Hoàn thành ca trực được phân | 5 | MT-21, tự chấm | |
| Tuân thủ quy trình xử lý | 5 | Chấm tay | |
| Chuyên cần | 5 | MT-19, tự chấm | |
| Phát triển & đóng góp 15 điểm | Đóng góp tri thức | 5 | MT-22, tự chấm |
| Hỗ trợ đồng đội | 5 | Chấm tay | |
| Đề xuất cải tiến được áp dụng | 5 | Chấm tay | |
| Nhận định quản lý 10 điểm | Đánh giá tổng thể của quản lý trực tiếp | 10 | Chấm tay, bắt buộc kèm nhận xét |
Bộ B · Khối kinh doanh
| Nhóm | Tiêu chí | Điểm | Nguồn điểm |
|---|---|---|---|
| Kết quả 60 điểm | Tỉ lệ đạt chỉ tiêu doanh số | 35 | MT-11, tự chấm, có điểm thưởng khi vượt |
| Tỉ lệ chuyển đổi lead | 15 | MT-09, tự chấm | |
| Số hợp đồng ký mới | 10 | MT-10, tự chấm | |
| Quy trình chăm sóc 25 điểm | Tốc độ chạm khách lần đầu | 10 | MT-13, tự chấm |
| Tỉ lệ lead bỏ quên | 8 | MT-14, tự chấm | |
| Chất lượng cập nhật thông tin khách hàng | 7 | Chấm tay theo bảng kiểm | |
| Kỷ luật 10 điểm | Nộp báo cáo ngày đúng hạn | 5 | MT-20, tự chấm |
| Chuyên cần | 5 | MT-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ếp | 5 | Chấm tay, bắt buộc kèm nhận xét |
Bộ C · Khối hạ tầng & vận hành
| Nhóm | Tiêu chí | Điểm | Nguồn điểm |
|---|---|---|---|
| Ổn định dịch vụ 45 điểm | Mức sẵn sàng dịch vụ phụ trách | 20 | MT-15, tự chấm |
| Tỉ lệ xử lý trong cam kết dịch vụ | 15 | MT-16, tự chấm | |
| Sự cố nghiêm trọng | 10 | MT-17, tự chấm | |
| Xử lý công việc 30 điểm | Tỉ lệ đúng hạn | 15 | MT-01, tự chấm |
| Thời gian khôi phục trung bình | 8 | MT-18, tự chấm | |
| Chất lượng xử lý | 7 | MT-06, tự chấm | |
| Trực & ứng cứu 15 điểm | Hoàn thành ca trực được phân | 10 | MT-21, tự chấm |
| Tham gia ứng cứu ngoài giờ | 5 | Chấm tay | |
| Nhận định quản lý 10 điểm | Đánh giá tổng thể của quản lý trực tiếp | 10 | Chấm tay, bắt buộc kèm nhận xét |
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á
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.
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ó.
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.
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ự.
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.
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.
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.
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ại | Nhãn | Ngưỡng điểm | Hệ số thưởng đề xuất | Ghi chú |
|---|---|---|---|---|
| A | Xuất sắc | ≥ 90 | 1,5 | Giới hạn tỉ lệ tối đa mỗi đơn vị, khai báo được |
| B | Tốt | 80 – 89 | 1,2 | — |
| C | Khá | 70 – 79 | 1,0 | Mức tham chiếu |
| D | Đạt | 60 – 69 | 0,8 | Kèm ghi chú cần cải thiện cụ thể |
| E | Cần cải thiện | < 60 | 0 | Bắ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 động | Ai 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ểm | Bả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ỉnh | Nhân sự |
| Trần tỉ lệ xếp loại cao nhất | Khai 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ình | Nhâ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ị được | Hệ thống |
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áo | Nội dung | Người xem | Chu 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ất | Trưởng đơn vị, trưởng phòng ban | Tuần, tháng, quý |
| Báo cáo kỳ theo dự án | Tiến độ dự án, việc hoàn thành, việc tồn, rủi ro | Chủ dự án, ban điều hành | Theo 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ước | Cá nhân, quản lý trực tiếp | Theo kỳ |
| Tổng hợp toàn công ty | Phân bố xếp loại theo đơn vị, xu hướng theo kỳ, cảnh báo lệch chuẩn | Nhân sự, ban điều hành | Quý, năm |
| Báo cáo cuối ngày | Việ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 động | Cá nhân, quản lý trực tiếp | Ngà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.
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
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 vi | Cách tính | Ví dụ |
|---|---|---|
| Tập khoá quyền | Hợ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ên | Trưở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ấy | Thành viên của các đơn vị nhìn thấy được, cộng chính người dùng | 18 người |
| Tập trường bị che | Cá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 danh | Số bản ghi tối thiểu để trả về một con số tổng hợp | 5 — 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.
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ạng | Khoá quyền | Phạm vi tiêm |
|---|---|---|---|
tra_cuu_nhan_su | Ai đang làm ở đâu, kỹ năng gì, thuộc đơn vị nào | staff.view | Tập nhân sự nhìn thấy; che trường nhạy cảm |
thong_ke_cong_viec | Bao nhiêu việc, theo trạng thái, theo kỳ, theo đơn vị hoặc người | task.view | Tập đơn vị và tập nhân sự nhìn thấy |
chi_tiet_cong_viec | Việc cụ thể này đang thế nào, ai làm, hạn khi nào | task.view | Việc trong phạm vi, hoặc việc người hỏi là người phụ trách / theo dõi |
bang_tai | Ai đang tải nặng, ai đang rảnh | workload.view | Tập nhân sự nhìn thấy |
thong_ke_lead | Bao nhiêu lead, tỉ lệ chuyển đổi, lead bỏ quên | lead.view | Tậ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.view | Chỉ 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_truc | Hôm nay ai trực, tháng này tôi trực ngày nào | leave.view | Tập đơn vị nhìn thấy |
don_nghi | Ai nghỉ ngày nào, quỹ phép còn bao nhiêu | leave.view | Bản thân, hoặc tập nhân sự nhìn thấy nếu có leave.manage |
tien_do_chi_tieu | Doanh số so với chỉ tiêu, đạt bao nhiêu phần trăm | target.view | Tập đơn vị nhìn thấy |
tim_tai_lieu | Quy trình xử lý việc này thế nào | Không cần khoá riêng | Chỉ 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).
- Có 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ộ.
- Có 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ỉ
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ó.
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.
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.
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.
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.
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.
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ỏi | Người hỏi | Công cụ được gọi | Kế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_viec | Chỉ 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_viec | Xếp hạng 18 người trong nhóm và hai tổ trực thuộc | |
| Trưởng phòng Kỹ thuật | thong_ke_cong_viec | Xế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óm | ket_qua_danh_gia | Từ 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óm | lich_truc | Danh 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ành | tien_do_chi_tieu | Tỉ 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ới | tim_tai_lieu | Trí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ỳ ai | — | Từ 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 |
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ỏi | Tỉ trọng ước tính | Mô hình | Lý do |
|---|---|---|---|
| Tra cứu một chỉ số, một bản ghi, một lịch trực | 80% | Claude Haiku 4.5 claude-haiku-4-5 | Chọ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ân | 20% | Claude Opus 5 claude-opus-5 | Cầ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ản | Số câu | Đơn giá vào | Đơn giá ra | Chi phí tháng |
|---|---|---|---|---|
| Claude Haiku 4.5 — câu tra cứu | 21.120 | 1 USD / 1M | 5 USD / 1M | ≈ 150 USD |
| Claude Opus 5 — câu tổng hợp | 5.280 | 5 USD / 1M | 25 USD / 1M | ≈ 187 USD |
| Ghi đệm tiền tố và dự phòng biến động | — | — | — | ≈ 60 USD |
| Tổng cộng | 26.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ức | Năng lực | Điều kiện để mở | Giai đoạn |
|---|---|---|---|
| 1 | Tra 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ền | Bộ công cụ hoàn tất và vượt bộ kiểm chuẩn 200 câu hỏi | 7 |
| 2 | Tổ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 |
| 3 | Chủ độ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ách | Mức 2 ổn định; định nghĩa bất thường được chốt cùng các đơn vị | 9 |
| 4 | Thự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ận | Ngoà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ác | Sau 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.
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
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ức | Thừ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ành | Chi phí điều phối vượt lợi ích ở quy mô này |
| Toàn vẹn dữ liệu xuyên miền | Giao 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ền | Một lớp duy nhất, dễ chứng minh không có lối vòng | Phải lặp lại ở mỗi dịch vụ, bề mặt sai sót lớn hơn |
| Vận hành | Một dịch vụ để giám sát, phát hành, quay lui | Cần hạ tầng điều phối và quan sát phân tán |
| Khả năng tách sau này | Tá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ớp | Cô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ến | Mộ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ụng | NestJS | Cấ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ệu | Prisma | Lượ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ệu | PostgreSQL 16 | Giao 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 đợi | Redis + BullMQ | Việ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ệp | MinIO (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 web | React + Vite + TanStack Query | Hệ 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ính | Tauri 2 | Gó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 động | Capacitor | Đó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ạo | Claude API — claude-opus-5 và claude-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ực | JWT ngắn hạn + phiên làm mới | Hoạ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át | Nhật ký có cấu trúc + số liệu Prometheus + Grafana | Bố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, Playwright | Kiể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
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 + Capacitor | React Native + Electron | Flutter | Ứng dụng gốc riêng từng nền tảng |
|---|---|---|---|---|
| Số lõi mã phải duy trì | 1 | 2 | 1 (nhưng khác web) | 4 |
| Tận dụng lõi web đã viết | Toàn bộ | Chỉ logic, phải viết lại giao diện di động | Không | Không |
| Công sức thêm cho bốn nền tảng | Khoảng 8–10 tuần | Khoảng 20–24 tuần | Khoảng 28–32 tuần | Trên 40 tuần |
| Chất lượng trải nghiệm di động | Khá — đủ cho luồng duyệt, xem, thông báo | Tốt | Tốt | Tốt nhất |
| Kích thước gói cài máy tính | Nhỏ (~10 MB) | Lớn (~100 MB) | Trung bình | Nhỏ |
| Kỹ năng đội cần bổ sung | Thấp | Trung bình | Cao — ngôn ngữ và hệ sinh thái mới | Rấ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 định | Thấp | Thấp | Thấ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.
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ăng | Web | Máy tính | Di độ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áo | ✓ | ✓ | Xem 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ênh | Nền tảng | Dùng cho |
|---|---|---|
| Trong ứng dụng | Cả bốn | Mọi sự kiện; là nguồn chân lý của trung tâm thông báo |
| Đẩy hệ thống | Di độ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
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
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.
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.
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.
Đố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_gocvà 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ồn | Dữ liệu | Cách nhận |
|---|---|---|
| Biểu mẫu và kênh thu thập lead trên website | Lead mới | Gọ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ọp | Gọ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ường | Mục đích | Dữ liệu | Ai truy cập |
|---|---|---|---|
| Phát triển | Máy cá nhân của lập trình viên | Dữ 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ử tay | Dữ 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ành | Nghiệ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ành | Chạy thật | Dữ liệu thật | Toà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ế.
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_su | Hồ 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àng | Thuộc nhiều phòng ban, nhiều đơn vị; có một nhóm quyền |
phong_ban | Phòng ban hành chính | Nhiề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 lead | Cha–con với chính nó; nhiều–nhiều với nhân sự |
nhom_quyen | Nhóm quyền chứa danh sách khoá quyền | Một–nhiều với nhân sự |
ky_nang | Danh mục kỹ năng theo nhóm, có thời hạn hiệu lực tuỳ chọn | Nhiều–nhiều với nhân sự qua bảng mức |
muc_ky_nang | Mứ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ận | Nối nhân sự và kỹ năng |
lich_su_ky_nang | Lịch sử thay đổi mức: ai đổi, khi nào, từ đâu tới đâu, lý do | Thuộc mức kỹ năng |
nhom_lam_viec | Nhóm làm việc hoặc dự án có thời hạn | Nhiề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_viec | Công việc: tiêu đề, mô tả, trạng thái, ưu tiên, hạn, giờ ước lượng, phân loại | Cha–con với chính nó; thuộc nhóm làm việc; có người phụ trách |
nguoi_theo_doi | Danh sách người theo dõi một công việc | Nối công việc và nhân sự |
ghi_gio | Bả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_luan | Trao đổi trên công việc hoặc lead | Đa hình theo loại thực thể |
tep_dinh_kem | Siê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ệc | Thuộc công việc |
kiem_tra_noi_dung | Nhậ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ại | Thuộc công việc |
Miền khách hàng tiềm năng
| Thực thể | Mô tả | Quan hệ chính |
|---|---|---|
lead | Khá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 đầu | Có người phụ trách; thuộc đơn vị nhận |
tuong_tac_lead | Dòng thời gian chăm sóc: loại tương tác, thời điểm, nội dung | Thuộc lead |
lich_su_chia_lead | Bả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ý do | Thuộc lead |
luot_uu_tien | Lượ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ạn | Thuộc nhân sự và đơn vị |
con_tro_xoay_vong | Vị trí con trỏ xoay vòng của từng đơn vị, lưu bền vững | Thuộ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_cong | Bả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 gian | Thuộc nhân sự |
Miền lịch trực & nghỉ phép
| Thực thể | Mô tả | Quan hệ chính |
|---|---|---|
ca_truc | Một ca trực: đơn vị, ngày, loại trực, người trực | Duy nhất theo bộ ba đơn vị–ngày–loại |
mau_lich_truc | Mẫ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ệt | Thuộ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 giao | Thuộc nhân sự |
buoc_duyet | Từng bước trong luồng duyệt: cấp, người duyệt, quyết định, thời điểm | Thuộc đơn nghỉ |
quy_phep | Quỹ phép theo năm: được hưởng, đã dùng, còn lại, ứng trước | Thuộc nhân sự |
ngay_cong | Ngà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_chi | Bộ 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ái | Thuộc đơn vị |
tieu_chi | Mộ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_gia | Mộ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ốt | Thuộc đơn vị hoặc nhóm làm việc |
nhan_su_trong_ky | Danh sách người được đánh giá trong kỳ, có cờ loại trừ và ngày công | Nố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ét | Nối kỳ và nhân sự |
phan_hoi_ky | Phản hồi của nhân sự về số liệu trước khi quản lý chấm | Thuộc kỳ và nhân sự |
noi_dung_bao_cao | Phần nội dung tự do của báo cáo kỳ: công việc đã làm, kế hoạch, đề xuất | Thuộc kỳ |
bao_cao_ngay | Bá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ái | Duy nhất theo nhân sự và ngày |
chi_tieu | Kế 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_hinh | Khoá–giá trị JSON cho toàn bộ tham số hệ thống |
nhat_ky_kiem_toan | Mọ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_bao | Thô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_tru | Kế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_ly | Phiê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_thu | Mẫu thư điện tử và nhật ký gửi |
Quy ước chung
| Quy ước | Nội dung | Lý do |
|---|---|---|
| Khoá chính | Số 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 khai | Số 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_cu và du_lieu_goc dạng JSON | Chỉ 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án | Mọ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ềm | Dữ 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ần | Trá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ực | Tránh sai số cộng dồn trong tính doanh số và hoa hồng |
| Cấu hình JSON | Cấu hình và hồ sơ mở rộng lưu JSONB, có lược đồ kiểm tra ở tầng ứng dụng | Thêm tham số mới không cần di trú lược đồ |
| Bảng bất biến | Phâ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ục | Bắ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 vi | Truy 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ên | Bả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 camelCase | Thuậ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ểu | Khoá quyền |
|---|---|---|
| Xác thực | POST /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-nang | staff.view, staff.manage |
| Tổ chức | GET /don-vi, GET /don-vi/{id}/thanh-vien, PATCH /don-vi/{id}/cau-hinh-lead | team.view, team.edit |
| Công việc | GET /cong-viec, POST /cong-viec, PATCH /cong-viec/{id}, POST /cong-viec/{id}/ghi-gio | task.* |
| Phân công | GET /de-xuat, POST /de-xuat/{id}/duyet, POST /de-xuat/{id}/doi-nguoi, GET /bang-tai | approval.*, workload.view |
| Lead | GET /lead, POST /lead, POST /lead/{id}/tuong-tac, POST /lead/{id}/bao-du-lieu-rac | lead.* |
| Trực & nghỉ | GET /ca-truc, POST /ca-truc/sinh-tu-mau, POST /don-nghi, POST /don-nghi/{id}/duyet | leave.* |
| Đánh giá | GET /bo-tieu-chi, POST /ky-danh-gia, POST /ky-danh-gia/{id}/thu-thap, POST /ky-danh-gia/{id}/chot | kpi.*, report.* |
| Báo cáo | GET /bao-cao/ky/{id}, POST /bao-cao/ky/{id}/ket-xuat, GET /bao-cao/tong-hop | report.view, report.export |
| Trợ lý | POST /tro-ly/hoi, GET /tro-ly/lich-su | Theo công cụ được nạp |
| Cấu hình | GET /cau-hinh, PUT /cau-hinh/{khoa}, GET /nhom-quyen | config.*, perm.manage |
| Tích hợp | POST /tich-hop/dong-bo/chay, GET /tich-hop/nhat-ky | sync.run |
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ện | Phát khi | Người tiêu thụ |
|---|---|---|
cong_viec.tao | Cô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_thai | Trạng thái thay đổi | Tính lại tải, thông báo, chỉ số kỳ |
cong_viec.dong | Công việc chuyển sang hoàn thành | Chỉ số đúng hạn, chất lượng, khối lượng |
cong_viec.mo_lai | Công việc đã đóng bị mở lại | Chỉ số tỉ lệ mở lại |
de_xuat.sinh | Engine sinh đề xuất mới | Thông báo cho người duyệt |
de_xuat.duyet / de_xuat.doi_nguoi | Quản lý quyết định | Ghi phân công, đẩy sang hệ thống nguồn, thống kê chất lượng đề xuất |
lead.nhan | Lead vào hệ thống | Hàng chờ chia lead |
lead.chia | Lead được gán cho một người | Thông báo, cập nhật con trỏ xoay vòng, ghi lịch sử |
lead.bao_du_lieu_rac | Nhân viên báo lead không dùng được | Sinh lượt ưu tiên nếu đủ điều kiện |
don_nghi.duyet | Đơn nghỉ được duyệt ở bước cuối | Trừ quỹ phép, cập nhật ngày công, kiểm tra xung đột lịch trực |
ca_truc.trong | Phát hiện ngày trống trực trong 7 ngày tới | Cảnh báo cho trưởng đơn vị |
ky.mo / ky.chot | Kỳ đánh giá mở hoặc chốt | Thu thập chỉ số, thông báo, khoá dữ liệu |
nhap_lieu.hoan_tat | Mộ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_nguong | Một người vượt ngưỡng quá tải | Cảnh báo cho trưởng đơn vị, loại khỏi vòng phân công |
Di trú dữ liệu
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ượng | Khối lượng ước lượng | Cách lấy | Quy tắc chuyển đổi | Cách kiểm chứng |
|---|---|---|---|---|
| Nhân sự | 200–300 | REST theo phòng ban | Mã 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 ban | 15–30 | REST | Giữ nguyên cấu trúc cây | So sánh sơ đồ tổ chức |
| Đơn vị vận hành | 10–20 | Khai báo tay | Khô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ức | 60–120 kỹ năng | Từ xerp-4s, bổ sung tay | Chuyể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ệc | 30–80 | REST | Phâ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ệc | 50.000–200.000 | REST 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ệc | REST theo công việc | Giữ nguyên; quy đổi múi giờ | So tổng số giờ theo tháng |
| Lead | 15.000–30.000 | Trí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.000 | REST 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èm | Chưa xác định — cần đo | Tả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ếu | So 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ất | Từ công cụ chấm KPI hiện tại và bảng tính | Chỉ 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ú
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.
Đố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ụ.
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.
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.
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.
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
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ền | Khoá quyền | Ý nghĩa |
|---|---|---|
| Nhân sự | staff.view | Xem danh sách và hồ sơ trong phạm vi |
staff.manage | Tạo, sửa, đổi trạng thái hoạt động | |
staff.sensitive | Xem 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ăng | skill.view | Xem danh mục và ma trận năng lực |
skill.manage | Quản lý danh mục kỹ năng | |
skill.confirm | Xác nhận mức thành thạo do nhân sự tự khai | |
| Tổ chức | team.view | Xem đơn vị và thành viên |
team.create / team.edit / team.delete | Quản lý cây đơn vị | |
team.config | Cấu hình nhận việc, nhận lead, thứ tự và trọng số chia lead của đơn vị | |
dept.manage | Quản lý phòng ban hành chính | |
| Công việc | task.view | Xem công việc trong phạm vi |
task.create / task.edit | Tạo và sửa công việc | |
task.assign | Gán người phụ trách trực tiếp | |
task.comment | Bình luận và đính kèm | |
task.rate | Chấm điểm chất lượng khi đóng việc | |
task.reopen | Mở lại việc đã hoàn thành | |
| Phân công | approval.view | Xem hộp duyệt đề xuất |
approval.approve / approval.reassign / approval.skip | Duyệt, đổi người, bỏ qua | |
workload.view | Xem bảng tải | |
assignment.config | Chỉnh trọng số và ngưỡng của engine | |
| Lead | lead.view | Xem lead trong phạm vi |
lead.edit | Sửa thông tin và chuyển giai đoạn | |
lead.assign | Gán lại lead thủ công | |
lead.config | Cấu hình quy tắc định tuyến và danh mục loại lead | |
| Trực & nghỉ | duty.view / duty.manage | Xem và xếp lịch trực |
leave.view | Xem đơn nghỉ và quỹ phép trong phạm vi | |
leave.approve / leave.manage | Duyệt đơn và quản lý quỹ phép | |
| Đánh giá | kpi.view | Xem điểm đánh giá trong phạm vi |
kpi.score | Chấm điểm trong một kỳ | |
kpi.approve | Duyệt và chốt kỳ | |
kpi.reopen | Mở lại kỳ đã chốt | |
rubric.manage | Khai báo và sửa bộ tiêu chí | |
| Báo cáo | report.view | Xem báo cáo kỳ |
report.manage | Tạo, sửa nội dung báo cáo kỳ | |
report.export | Kết xuất ra tệp | |
| Chỉ tiêu | target.view / target.manage | Xem và giao chỉ tiêu |
target.approve | Duyệt kế hoạch chỉ tiêu | |
commission.view / commission.manage | Xem và tính hoa hồng | |
| Trợ lý | assistant.use | Dùng trợ lý hỏi đáp |
assistant.audit | Xem nhật ký truy vấn của trợ lý | |
| Hệ thống | config.view / config.manage | Xem và sửa cấu hình |
perm.manage | Quản lý nhóm quyền và gán quyền | |
audit.view | Xem nhật ký kiểm toán | |
| Di trú | migration.view / migration.run | Xem 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.config | Cấu hình nguồn nhập và bảng quy đổi danh mục | |
| Thông báo | notify.template | Quản lý mẫu thông báo và thư |
notify.send | Gử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ền | Nhân viên | Trưởng nhóm | Trưởng phòng | Điều phối | Nhân sự | Điều hành | Quả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 | ◐ | ✓ |
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ức | Tên | Tập nhân sự nhìn thấy | Áp dụng cho |
|---|---|---|---|
| 1 | Bản thân | Chính người dùng | Nhân viên |
| 2 | Đơn vị | Thành viên các đơn vị người dùng là thành viên | Nhân viên có nhu cầu phối hợp; cấu hình theo đơn vị |
| 3 | Nhánh cây | Thà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ấp | Trưởng nhóm, trưởng phòng |
| 4 | Toàn hệ thống | Mọ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ường | Ví dụ | Khoá quyền cần có | Ai luôn xem được |
|---|---|---|---|
| Định danh cá nhân | Số căn cước, ngày sinh đầy đủ, quê quán | staff.sensitive | Chính chủ |
| Liên hệ riêng | Địa chỉ nhà, số điện thoại cá nhân, liên hệ khẩn cấp | staff.sensitive | Chính chủ |
| Tài chính cá nhân | Số tài khoản ngân hàng, mức thưởng theo xếp loại | staff.sensitive | Chí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ợp | Chính chủ và quản lý trực tiếp |
| Bí mật hệ thống | Khoá kết nối, mật khẩu thư, mã webhook | config.manage | Khô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ại | Ghi 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à sau | 24 tháng |
| Đọc dữ liệu nhạy cảm | Ai, 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ình | Ai, khi nào, khoá nào, giá trị trước và sau | 36 tháng |
| Truy vấn của trợ lý AI | Câ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ế:
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.
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.
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ý.
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.
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ớp | Nội dung | Tiêu chí đạt | Tầ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ền | 100% điểm cuối được phủ; không có sai lệch | Mỗi lần gộp mã |
| Kiểm thử phạm vi dữ liệu | Dự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ọng | Không bản ghi nào ngoài phạm vi lọt lưới | Mỗ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ựng | Không phát hiện lối rò dữ liệu | Trước mỗi mốc nghiệm thu lớn |
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.
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
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.
Đó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.
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.
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.
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ỳ
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.
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.
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.
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.
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 độ
Chi tiết tháng 9 — bản chạy được đầu tiên
Nền tảng & bản chạy được đầu tiên
01/09 – 30/09/2026 · 4,5 tuầnKế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ần | Hạng mục | Kết quả cụ thể |
|---|---|---|
| 1 01–06/09 | Kho mã & hạ tầng | Kho 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ệu | Mang 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 vi | Lớ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ện | Bố 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ền | Danh 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 ban | Câ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ệc | Danh 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ệc | Tạ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ôi | Mà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ật | Nhâ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 giao | Sử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ùi | Vì sao lùi được | Là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 3 | GĐ 2 |
| Bảng Kanban, lịch công việc, bảng tải | Danh sách có lọc đủ dùng cho bản cơ bản | GĐ 2 |
| Ghi giờ, bình luận, tệp đính kèm | Không chặn luồng tạo – giao – đóng việc | GĐ 2 |
| Chấm điểm chất lượng, kiểm tra nội dung khi tạo | Là 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áo | GĐ 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ảm | Tháng 9 chỉ nạp trường cơ bản, chưa có dữ liệu nhạy cảm | GĐ 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 sau | GĐ 2 |
| Phạm vi dữ liệu theo cây nhiều cấp | Thá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ính | GĐ 2 |
Năm điều kiện bắt buộc để mốc tháng 9 không trượt
Độ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.
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.
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.
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.
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.
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
Hoàn thiện công việc & kỹ năng
01/10 – 07/11/2026 · 5,5 tuầnTrả 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%.
Phân công công việc tự động
09/11 – 13/12/2026 · 5 tuầnGiá 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%.
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.
Lịch trực · Nghỉ phép · Báo cáo ngày
01/10 – 31/10/2026 · 4,5 tuần · luồng BBa 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.
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.
Trợ lý AI
28/12/2026 – 14/02/2027 · 7 tuần (gồm nghỉ Tết) · luồng BXâ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.
Ứ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 BChia 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.
Dự phòng trước đóng băng
12/04 – 25/04/2027 · 2 tuầnHai 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.
Đối chiếu tính năng & chạy thử có kiểm soát
26/04 – 06/06/2027 · 6 tuầnGiai đ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.
Di trú & cắt chuyển
07/06 – 04/07/2027 · 4 tuầnChuyể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.
Bảo hành & ổn định
05/07 – 29/08/2027 · 8 tuầnKhô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_cuvà 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ốc | Nội dung | Thời điểm | Điều kiện đạt |
|---|---|---|---|
| M0 | 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 cơ bản | 30/09/2026 | Nhó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% |
| M1 | Công việc và kỹ năng đủ đặc tả | 07/11/2026 | Phân hệ M02 và M06 đạt đủ đặc tả tài liệu 05; nợ kỹ thuật tháng 9 đã trả xong |
| M2 | Phân công công việc tự động | 13/12/2026 | Tỉ 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ờ |
| M3 | Lead và chia lead theo cấu hình từng đơn vị | 24/01/2027 | Tỉ 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 team | 21/03/2027 | Ba 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ất | 25/04/2027 | Trợ 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ở |
| M6 | Cổng quyết định cắt chuyển | 06/06/2027 | Danh 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 |
| M7 | Cắt chuyển xong, ERP là hệ thống duy nhất | 21/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 |
| M8 | Tắt hẳn Bitrix24 | ≈ 19/09/2027 | Hế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 |
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 gia | Số tháng | Người-tháng | Tham gia chủ yếu ở |
|---|---|---|---|---|
| Quản lý sản phẩm & phân tích nghiệp vụ | 1,0 | 10,0 | 10,0 | Toàn bộ; nặng nhất ở GĐ 1, 6, 9 |
| Kiến trúc & trưởng nhóm kỹ thuật | 1,0 | 10,0 | 10,0 | Toàn bộ |
| Lập trình máy chủ | 3,0 | 9,0 | 27,0 | Toàn thời gian từ 01/09/2026 |
| Lập trình giao diện web | 2,0 | 8,5 | 17,0 | Toàn thời gian từ 01/09/2026 |
| Lập trình đa nền tảng | 1,0 | 5,5 | 5,5 | GĐ 8, hỗ trợ GĐ 9–10 |
| Kỹ sư trí tuệ nhân tạo | 1,0 | 2,5 | 2,5 | GĐ 3 (tín hiệu AI), GĐ 7 |
| Kiểm thử | 1,0 | 8,5 | 8,5 | Từ GĐ 2; nặng nhất ở GĐ 9 |
| Vận hành hạ tầng | 0,3 | 10,0 | 3,0 | Toàn bộ; nặng nhất ở GĐ 1, 9, 10 |
| Tổng | ~8,3 TB | 83,5 | Đội cao điểm 9 người ở GĐ 4–8 |
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.
(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ộc | Cần trước | Người chịu trách nhiệm | Rủi ro nếu trễ |
|---|---|---|---|
| Đội kỹ thuật đủ 6 người toàn thời gian | 01/09/2026 | Ban điều hành | Cao — 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ệu | Tuần 1 tháng 9 | Nhâ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ọn | Cuối tháng 9 | Trưởng các đơn vị, Ban điều hành | Cao — 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ật | Cuối tháng 9 | Quản trị Bitrix24 | Trung 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 đầu | GĐ 3 | Các trưởng đơn vị kỹ thuật | Cao — engine chấm điểm không có đầu vào |
| Chốt quy tắc chia lead của từng team kinh doanh | GĐ 4 | Trưởng phòng kinh doanh | Cao — chặn phân hệ chia lead |
| Chốt bộ tiêu chí đánh giá của từng khối | GĐ 6 | Các trưởng phòng ban | Cao — chặn mốc M4 |
| Tài khoản nhà phát triển của hai kho ứng dụng di động | Tháng 10/2026 | Quản trị hệ thống | Trung 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Đ 9 | Ban điều hành | Cao — 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ành | GĐ 9 | Vận hành hạ tầng | Cao — chặn cắt chuyển |
| Rà soát tuân thủ dữ liệu cá nhân | GĐ 9 | Pháp chế | Trung bình — chặn nghiệm thu |
Phương án nén & giãn tiến độ
| Phương án | Thay đổi | Đóng băng tính năng | Công sức | Đánh đổi |
|---|---|---|---|---|
| Cơ sở | Như hồ sơ này: mốc tháng 9 và đóng băng tháng 4 | 25/04/2027 | ~83 người-tháng | Nén ba lần ở tháng 9, sinh nợ kỹ thuật phải trả ở giai đoạn 2 |
| An toàn | Giã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 đệm | 25/04/2027 | ~83 người-tháng | Mấ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êm | Thêm 2 lập trình máy chủ và 1 lập trình giao diện từ GĐ 2 | 21/03/2027 | ~95 người-tháng | Chi 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ãn | Giữ đội 5 người, chạy tuần tự không tách luồng B | Khoảng 08/2027 | ~76 người-tháng | Khô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 |
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.
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ầng | Chỉ số | Ngưỡng cảnh báo | Ai 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ượng | Giả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ên | Bộ nhớ hoặc đĩa vượt 80% | Đội vận hành | |
| Nghiệp vụ | Hàng chờ phân công tồn đọng | Trên 20 bản ghi quá 30 phút | Điều phối |
| Việc và lead mồ côi | Bấ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 ứ đọng | Trên 100 việc chờ xử lý quá 15 phút | Quản trị hệ thống | |
| Độ lệch tải trong nhóm | Vượt 25% giá trị trung bình nhóm | Trưởng đơn vị | |
| Chi phí mô hình AI | Đạt 80% hạn mức tháng | Quản trị hệ thống | |
| Ngày trống lịch trực | Còn ngày trống trong 7 ngày tới | Trưở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ết | Chỉ tiêu | Khung đo | Hệ quả khi không đạt |
|---|---|---|---|
| Mức sẵn sàng | 99,5% | 07:00 – 21:00 giờ Việt Nam, tính theo tháng | Rà 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ồi | Phân vị 95 dưới 800 ms | Các màn hình danh sách chính, giờ cao điểm | Lập hạng mục tối ưu trong đợt phát triển kế tiếp |
| Độ trễ xử lý việc nền | Dưới 3 phút | Từ lúc việc vào hàng đợi tới lúc xử lý xong, ở tải bình thường | Tăng số tiến trình xử lý hoặc rà soát truy vấn chậm |
| Điểm khôi phục | Mất tối đa 15 phút dữ liệu | Mọi thời điểm | Rà soát cấu hình sao lưu nhật ký giao dịch |
| Thời gian khôi phục | Dưới 4 giờ | Từ lúc quyết định khôi phục | Diễ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ành | Dưới 10 phút | Từ lúc quyết định quay lui | Rà soát quy trình triển khai |
Xử lý sự cố
| Mức | Định nghĩa | Thời gian phản hồi | Thời gian khắc phục mục tiêu | Ai được báo |
|---|---|---|---|---|
| P1 | Hệ thống không dùng được, hoặc mất mát dữ liệu, hoặc lộ lọt dữ liệu | 15 phút | 4 giờ | Toàn bộ đội dự án, ban điều hành |
| P2 | Một phân hệ chính không dùng được, có đường vòng tạm thời | 1 giờ | 1 ngày làm việc | Đội vận hành, quản lý dự án |
| P3 | Chức năng phụ lỗi, không chặn công việc | 1 ngày làm việc | 1 tuần | Đội vận hành |
| P4 | Lỗi hiển thị, đề nghị cải tiến | 3 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ý:
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.
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.
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.
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.
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.
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 ro | Khả năng | Tác động | Mức | Biện pháp phòng ngừa & ứng phó | Theo dõi |
|---|---|---|---|---|---|---|
| R-01 | Các đơn vị không chốt được bộ tiêu chí đánh giá đúng hạn, làm trễ giai đoạn 6 | Cao | Cao | Nghiêm trọng | Bắ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ừ đầu | Quản lý sản phẩm |
| R-02 | Dữ liệu kỹ năng không được khai báo đầy đủ, engine chấm điểm mất đầu vào chính | Cao | Cao | Nghiê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àng | Nhân sự |
| R-03 | Người dùng phản đối phân công tự động, quay lại giao việc thủ công | Trung bình | Cao | Nghiêm trọng | Giữ 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áng | Quản lý dự án |
| R-04 | Khố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ển | Trung bình | Cao | Nghiêm trọng | Trí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ày | Kiến trúc |
| R-05 | Giới hạn tần suất gọi làm đợt trích xuất chạy quá lâu | Trung bình | Trung 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ật | Kiến trúc |
| R-06 | Hệ 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 sang | Trung bình | Rất cao | Nghiêm trọng | Giai đ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ăng | Ban điều hành |
| R-07 | Trợ lý AI trả lời vượt phạm vi quyền | Thấp | Rất cao | Nghiêm trọng | Phạ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ấn | Kiến trúc |
| R-08 | Chi phí mô hình AI vượt dự toán | Trung bình | Thấp | Nhẹ | 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-09 | Trải nghiệm di động không đủ tốt do dùng giải pháp đóng gói web | Trung bình | Trung 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ượng | Kiến trúc |
| R-10 | Nhân sự chủ chốt rời dự án | Trung bình | Cao | Nghiêm trọng | Khô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ục | Trưởng nhóm kỹ thuật |
| R-11 | Phạm vi phình ra trong quá trình làm | Cao | Trung 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ợt | Cao | Cao | Nghiêm trọng | Cam 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ên | Ban điều hành |
| R-13 | Hiệu năng suy giảm khi dữ liệu lịch sử được nhập vào | Trung bình | Trung 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 gian | Kiến trúc |
| R-14 | Vấn đề tuân thủ dữ liệu cá nhân phát hiện muộn | Thấp | Cao | Đá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ừ đầu | Quản lý sản phẩm |
| R-15 | Cắt chuyển gặp sự cố mà cửa sổ quay lui chỉ có 72 giờ | Thấp | Rất cao | Nghiêm trọng | Diễ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ứu | Ban điều hành |
| R-16 | Phá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ình | Cao | Nghiêm trọng | Danh 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ào | Quả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 quen | Cao | Trung 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ớp | Phạm vi | Ai thực hiện | Khi nào | Tiê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 lead | Lập trình viên | Mỗi lần gộp mã | Độ phủ tầng nghiệp vụ từ 70%; hai engine đạt 100% |
| Kiểm thử tích hợp | Luồng qua nhiều mô-đun, truy vấn cơ sở dữ liệu, hàng đợi việc nền | Lập trình viên | Mỗ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ền | Mọi điểm cuối chạy với bảy vai trò và ba cấp cây đơn vị | Tự động | Mỗi lần gộp mã | Phủ 100% điểm cuối, không sai lệch nào |
| Kiểm thử đầu cuối | Các luồng người dùng chính trên trình duyệt | Kiểm thử | Mỗi đêm và trước mỗi lần phát hành | Không lỗi chặn ở luồng chính |
| Kiểm thử hiệu năng | Tải 300 phiên đồng thời trên dữ liệu quy mô đích | Kiểm thử, vận hành | Trướ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ật | Quét lỗ hổng, quét phụ thuộc, thử vượt quyền có chủ đích | Kiểm thử, bên ngoài nếu cần | Trước mốc M6 | Không lỗ hổng mức nghiêm trọng; không lối rò dữ liệu |
| Nghiệm thu người dùng | Kị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ạn | Biê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ượng | Kiểm thử, đại diện nghiệp vụ | Giai đoạn 9, ít nhất ba lần | Sai lệch nằm trong ngưỡng đã thoả thuận |
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óm | Nội dung | Thời lượng | Thờ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ực | 1 giờ | Trước khi đơn vị chuyển sang dùng thật |
| Trưởng nhóm, điều phối | Hộ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ểm | 2 giờ | Trước mốc M2 |
| Khối kinh doanh | Lead 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àng | 1,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ểm | 3 giờ | Trước mốc M4 |
| Quản trị hệ thống | Toàn bộ cấu hình, phân quyền, đồng bộ, giám sát, xử lý sự cố | 1 ngày | Giai đoạn 9 |
| Đội vận hành | Bảng giám sát, quy trình sự cố, sao lưu và khôi phục, quy trình phát hành | 1 ngày | Giai đ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.
| GĐ | Tiêu chí đạt | Bằng chứng | Ai ký |
|---|---|---|---|
| 1 | Cổ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 vi | Buổ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ạp | Trưởng nhóm kỹ thuật, Nhân sự |
| 2 | Phâ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ấp | Bá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 đã đóng | Trưởng nhóm kỹ thuật |
| 3 | 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ừ 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 được | Bả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ị |
| 4 | Quy 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ần | Báo cáo phân bổ lead; nhật ký chia lead; kết quả kiểm thử đồng thời | Trưởng phòng kinh doanh |
| 5 | Lị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ẫu | Kịch bản kiểm thử; đối chiếu tính toán quỹ phép | Nhân sự |
| 6 | 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; 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ếu | Trưởng phòng ban, Nhân sự |
| 7 | Bộ 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ờ AI | Bá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 AI | Quản trị hệ thống, Ban điều hành |
| 8 | Bố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 ảnh | Bản cài đặt; kết quả kiểm thử trên thiết bị thật | Quả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 nhau | Danh sách hạng mục đã đóng của toàn bộ giai đoạn 1–8 | Quản lý sản phẩm, Ban điều hành |
| 9 | Cổ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ạo | Danh 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ạo | Ban điều hành |
| 10 | Toà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ần | Nhật ký sự cố; thống kê phản ánh theo tuần; bảng trạng thái hệ thống | Ban điều hành |
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.
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ốc | Việc phải xong | Ai chịu trách nhiệm |
|---|---|---|
| D − 14 ngày | Thô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ày | Quyế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 vi | Ban điều hành |
| D − 7 ngày | Hoà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ày | Diễ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ày | Nhậ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ắt | Kiến trúc |
| D − 2 ngày | Kiể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ường | Vận hành hạ tầng |
Cuối tuần cắt chuyển
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.
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ỏ.
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.
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.
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.
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
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ốc | Việ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ại | Không có điều kiện quay lui nào được kích hoạt |
| D + 1 tuần | Họ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ật | Số phản ánh giảm so với tuần đầu |
| D + 2 tuần | Kết thúc trực tăng cường, chuyển sang quy trình sự cố thông thường | Không sự cố P1 trong tuần thứ hai |
| D + 4 tuần | Nghiệ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ày | Tắ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 |
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.
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ự
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
Đơ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
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
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
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
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
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
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
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
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
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
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
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ứ
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
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
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
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ị
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 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
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
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
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
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
Đơ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
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
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
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
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
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ò
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
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
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 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ố 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ùng | Quy ước | Ví dụ đúng | Ví dụ sai |
|---|---|---|---|
| Bảng và cột cơ sở dữ liệu | Tiếng Việt không dấu, chữ thường, nối bằng gạch dưới, danh từ số ít | cong_viec, muc_ky_nang, ngay_cong | tasks, 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ẩn | tinhTai(), deXuatPhanCong | calc_load(), tinh_tai() |
| Đường dẫn giao diện lập trình | Tiế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ền | Dạng miền.hành_động, chữ thường, tiếng Anh | task.assign, kpi.approve | congviec.gan, TASK_ASSIGN |
| Khoá cấu hình | camelCase, tiếng Anh, đủ nghĩa mà không cần chú thích | taskOverloadThreshold, leadRoutingRules | threshold1, 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ĩa | cong_viec.dong, lead.chia | onTaskClose, 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 |
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”.