Vì sao chủ đề quan trọng
Ba khóa trước cho bạn một chồng ghi chép phỏng vấn, một danh sách pain point có bằng chứng và một bản đồ dịch vụ (service blueprint) của Căng tin khu A. Đó là đầu vào của khóa này. Đầu ra của khóa là bốn thứ: bảng thuật ngữ, danh sách quy tắc nghiệp vụ kèm ngoại lệ, vòng đời của các đối tượng chính và sơ đồ quy trình. Khóa "Từ journey tới user story" và khóa "Không bỏ sót: kiểm tra độ đầy đủ" sẽ dùng chính bốn thứ này.
Bài đầu tiên bắt đầu từ thứ nhỏ nhất: từ ngữ. Phần lớn lỗi nghiệp vụ trong dự án sinh viên nằm ở chỗ hai người dùng cùng một chữ cho hai thứ khác nhau.
Đọc câu của Cô Hạnh: "Phần đặt mà quá 30 phút không tới lấy thì cô bán cho người đang xếp hàng." Và của Anh Tuấn: "Câu lạc bộ, lớp gọi điện đặt 20, 30 suất cho sự kiện, ghi tay vào sổ." Một bên nói "phần", một bên nói "suất". Nếu nhóm bạn viết code với một bảng tên don_hang và hiểu "một đơn = một suất", thì đơn 30 suất của câu lạc bộ sẽ thành 30 đơn, và quy tắc 30 phút của Cô Hạnh sẽ áp lên từng đơn một cách vô nghĩa. Lỗi nằm ở chỗ không ai viết ra nghĩa của từ.
Bảng thuật ngữ nghiệp vụ (glossary) giúp nhóm hỏi đúng câu, giúp người am hiểu nghiệp vụ (domain expert) như Cô Hạnh sửa bạn sớm, và giúp code, giao diện, tài liệu kiểm thử gọi một thứ bằng một tên.
Bức tranh lớn
Một thuật ngữ đi qua bốn chặng: người nghiệp vụ nói ra nó, nhóm ghi lại, nhóm định nghĩa, rồi người nghiệp vụ xác nhận. Chỉ khi qua chặng cuối, thuật ngữ mới được dùng trong user story và trong tên bảng dữ liệu.
flowchart TD
A[Nghe một từ lạ hoặc quen trong phỏng vấn] --> B[Ghi nguyên văn kèm câu nói gốc]
B --> C[Viết định nghĩa nháp và một ví dụ]
C --> D[Viết dòng không phải là]
D --> E{Cô Hạnh hoặc Anh Tuấn xác nhận?}
E -->|Đúng| F[Đưa vào bảng thuật ngữ chính thức]
E -->|Sai hoặc mơ hồ| G[Ghi điểm nóng và hỏi lại]
G --> C
F --> H[Dùng trong story, giao diện, tên dữ liệu]Cột "không phải là" tồn tại vì lỗi thường xảy ra ở ranh giới, nơi hai từ nghe giống nhau bị dùng lẫn.
Có hai loại từ cần đưa vào bảng. Loại một là từ riêng của nghề, bạn chưa từng nghe, ví dụ "mẻ" trong câu "Cô nấu theo mẻ từ 10 giờ 30". Loại hai nguy hiểm hơn: từ thông dụng mang nghĩa riêng, như "suất", "phần", "món mặn". Bạn tưởng mình hiểu, nên không hỏi. Loại hai mới là nơi lỗi trốn.
Ví dụ chi tiết
Nhóm gạch chân mọi danh từ chỉ thứ có thể đếm, đặt, trả tiền hoặc huỷ trong sáu cuộc phỏng vấn, gộp từ đồng nghĩa, rồi định nghĩa từng từ. Dưới đây là những từ gây tranh cãi nhất.
Suất. Cô Hạnh: "Cơm phần là một chén cơm, tối đa hai món mặn, một món rau." Quy tắc R1 nói suất cơm gồm 1 cơm, tối đa 2 món mặn, 1 rau, món mặn thứ ba cộng 10.000đ. Con số "khoảng 1.500 suất bán ra mỗi trưa" cũng tính theo suất. Vậy suất là đơn vị bán, đơn vị tính tiền.
Đơn. Một lần đặt của một người. Một đơn có thể có một suất (Minh Anh đặt bữa trưa) hoặc 30 suất (lớp đặt cho sự kiện). Đây là cặp từ nghe giống nhau nhưng khác nhau rõ nhất: số suất bán ra không bằng số đơn.
Phần. Trong câu của Cô Hạnh, "phần" là thứ vật lý: hộp cơm đã chia sẵn, đặt ở quầy chờ người tới lấy. Một suất được đặt trước sẽ thành một phần khi bếp chia ra. Quy tắc 30 phút áp lên phần, vì chỉ phần mới có thể "bán cho người đang xếp hàng".
Món mặn. Quốc Bảo nói: "Tới nơi thì quầy cơm hết món mặn, chỉ còn trứng chiên." Câu này cho thấy trong đầu Quốc Bảo, trứng chiên gần như không tính là món mặn. Nhưng khi tính tiền theo R1, trứng chiên có được đếm là một trong hai món mặn không? Không ai trong sáu người trả lời câu này. Nhóm ghi nó thành điểm nóng (hot spot), tức câu hỏi chưa có ai trả lời, để hỏi Cô Hạnh.
Khung giờ nhận. Khoảng thời gian sinh viên hẹn tới lấy phần. Quy tắc R3 đếm 30 phút "sau khung giờ nhận", nên độ dài và mốc tính của khung giờ quyết định khi nào phần bị bán lại. Nhóm đề xuất mỗi khung 15 phút, nhưng chưa có ai xác nhận, nên dòng này ghi nguồn là "đề xuất của nhóm".
Suất hỗ trợ. Chị Lan: "Suất hỗ trợ mỗi em tối đa một suất một ngày, chỉ ngày thường, không dùng mua nước." Suất hỗ trợ không phải là giảm giá và không phải là phiếu. Phiếu là giấy tờ chứng minh quyền; suất hỗ trợ là bữa ăn được nhận nhờ quyền đó. Khoảng 300 sinh viên đang dùng phiếu giấy.
Bảng thuật ngữ sau vòng đầu trông như sau.
| Thuật ngữ | Định nghĩa | Ví dụ | Không phải là | Nguồn |
|---|---|---|---|---|
| Suất | Đơn vị bán một bữa, gồm 1 cơm, tối đa 2 món mặn, 1 rau | 1.500 suất mỗi trưa | Không phải đơn, không phải phần | Cô Hạnh, R1 |
| Đơn | Một lần đặt trước của một người, gồm một hay nhiều suất | Lớp đặt 30 suất là 1 đơn | Không phải suất | Anh Tuấn |
| Phần | Suất đã được bếp chia ra, đang chờ ở quầy | Phần của Minh Anh để ở kệ quầy cơm | Không phải món trong thực đơn | Cô Hạnh |
| Món mặn | Món đạm trong suất cơm, tính vào giới hạn 2 món | Thịt kho, cá chiên | Chưa rõ trứng chiên có tính không | Cô Hạnh, điểm nóng |
| Khung giờ nhận | Khoảng thời gian hẹn lấy phần | 11:45 tới 12:00 | Không phải giờ đặt | Đề xuất của nhóm |
| Suất hỗ trợ | Bữa ăn nhận theo chương trình hỗ trợ, tối đa 1 mỗi ngày thường | Thảo Vy nhận 1 suất thứ Ba | Không phải giảm giá, không phải phiếu | Chị Lan, R4 |
flowchart TD
A[Code hiểu một đơn bằng một suất] --> B[Lớp đặt 30 suất thành 30 đơn]
B --> C[Bếp thấy 30 dòng rời rạc]
B --> D[Báo cáo đếm 30 khách thay vì 1]
C --> E[Quy tắc 30 phút chạy 30 lần]
E --> F[Một nửa phần bị bán lại khi lớp tới muộn]Một dòng định nghĩa "đơn gồm một hay nhiều suất" chặn được cả nhánh lỗi này.
Mẫu để dùng ngay
Bảng thuật ngữ là sheet đầu tiên trong mẫu nghiệp vụ. Các sheet còn lại dùng cho bài 2 và bài 4.
Tải mẫu: Bảng thuật ngữ, quy tắc và vòng đời (Excel)
Nếu chưa tải được, kẻ ngay trên giấy năm cột sau:
Thuật ngữ : từ đúng như người nghiệp vụ nói
Định nghĩa : một câu, dùng từ đã có trong bảng
Ví dụ : một trường hợp cụ thể, có số
Không phải là: từ hay bị nhầm với nó
Nguồn : ai nói, ở buổi nào, hoặc quy tắc số mấy
Lộ trình từng bước
- Gạch chân danh từ. Đọc lại ghi chép từ khóa "Phỏng vấn để hiểu vấn đề" và gạch mọi danh từ chỉ thứ có thể đếm, đặt, trả, giao, huỷ.
- Gom từ đồng nghĩa. "Cơm phần", "suất cơm", "suất" là một nhóm. Chọn một từ chính, các từ còn lại ghi vào cột định nghĩa dưới dạng "còn gọi là".
- Chọn từ của người nghiệp vụ, không phải từ của bạn. Nếu Cô Hạnh nói "phần", đừng đổi thành "item" hay "order line".
- Viết định nghĩa một câu. Chỉ dùng từ thông thường hoặc từ đã có trong bảng.
- Viết ví dụ có số. "Lớp đặt 30 suất là 1 đơn" rõ hơn mọi định nghĩa.
- Tìm cặp dễ nhầm. Với mỗi từ, hỏi: từ nào khác nghe gần giống? Ghi vào cột "không phải là". Đơn và suất, phần và suất, phiếu và suất hỗ trợ là ba cặp của Căng tin số.
- Ghi nguồn. Mỗi dòng có tên người hoặc số quy tắc. Dòng không có nguồn là giả định của nhóm và phải được đánh dấu như vậy.
- Mang bảng đi xác nhận. Đọc từng dòng cho Cô Hạnh và Anh Tuấn, hỏi: "Cô có dùng từ này theo nghĩa này không?" Bài 6 dạy kỹ buổi đọc lại.
Thói quen & kỷ luật
| Thói quen | Tần suất | Kết quả mong đợi |
|---|---|---|
| Gạch chân từ mới sau mỗi buổi gặp người nghiệp vụ | Sau mỗi buổi | Không từ nào lọt khỏi bảng |
| Đọc lại bảng trước khi viết story | Mỗi lần mở backlog | Story dùng đúng tên |
| Sửa code, giao diện khi bảng đổi nghĩa | Ngay khi đổi | Tên trong app khớp tên ở quầy |
| Đếm số dòng còn ghi điểm nóng | Mỗi tuần | Số điểm nóng giảm dần |
Cần luyện tập
Drill một: Lấy ghi chép phỏng vấn Anh Tuấn và Chị Lan trong CASE. Gạch chân mọi danh từ chỉ thứ có thể đếm hoặc trả tiền. So với bảng ở trên, tìm ít nhất hai từ còn thiếu, ví dụ "đối soát" và "mã số sinh viên", rồi viết đủ năm cột cho chúng.
Drill hai: Viết cột "không phải là" cho cặp "phiếu suất hỗ trợ" và "suất hỗ trợ". Sau đó viết một câu user story sai vì dùng lẫn hai từ này, và câu đúng. Ví dụ: story "sinh viên dùng suất hỗ trợ để mua trà đá" mâu thuẫn trực tiếp với R4.
Drill ba: Chọn một ứng dụng bạn dùng hằng ngày, như app giao đồ ăn. Tìm một từ mà app dùng khác nghĩa với người bán, ví dụ "đơn" của khách và "đơn" của quán. Viết hai định nghĩa.
Checklist hành động tuần này
- [ ] Gạch chân danh từ trong toàn bộ ghi chép phỏng vấn của nhóm
- [ ] Lập bảng thuật ngữ đủ năm cột với ít nhất 8 dòng
- [ ] Viết cột "không phải là" cho mọi cặp từ dễ nhầm
- [ ] Đánh dấu dòng nào là giả định của nhóm, chưa có nguồn
- [ ] Hẹn 20 phút với người nghiệp vụ để đọc lại bảng
Chỉ số cho cách làm
Các con số dưới đây đo cách nhóm làm bước này, không đo app có thành công hay không. Câu hỏi app có hiệu quả không, và làm gì tiếp, là việc của khóa Đo lường thành công.
| Loại chỉ số | Ví dụ | Vai trò |
|---|---|---|
| North Star | Số thuật ngữ đã được người nghiệp vụ xác nhận trên tổng số | Cho biết bảng đáng tin tới đâu |
| Chỉ số dẫn | Số điểm nóng mở trong bảng thuật ngữ | Cho biết còn bao nhiêu câu cần hỏi |
| Chỉ số chất lượng | Số story phải sửa vì dùng sai từ | Phải về 0 trước khi bàn giao cho khóa sau |
| Chỉ số độ phủ | Phần trăm danh từ trong ghi chép đã có mặt trong bảng | Phát hiện từ bị bỏ sót |
Dấu hiệu bạn đã thành thạo
Bạn nghe Quốc Bảo nói "hết món mặn" và lập tức hỏi: "Trứng chiên có tính là món mặn không?" Bạn không còn viết "đơn" khi ý là "suất". Và khi đọc bảng cho Cô Hạnh, cô sửa ít hơn ở lần thứ hai so với lần đầu.
Cạm bẫy thường gặp
| Cạm bẫy | Biểu hiện | Cách tránh |
|---|---|---|
| Dịch từ nghiệp vụ sang từ kỹ thuật | Bảng ghi "order item" thay cho "phần" | Giữ từ người nghiệp vụ dùng, ánh xạ sang tên code ở cột riêng |
| Định nghĩa vòng tròn | "Đơn là đơn đặt trước" | Định nghĩa chỉ dùng từ đã có trong bảng |
| Bỏ qua từ quen | Không ai định nghĩa "món mặn" | Tự hỏi: tính tiền theo từ này thì có hai cách hiểu không |
| Bảng không có nguồn | Không biết ai nói, không biết hỏi ai | Mỗi dòng có tên người hoặc mã quy tắc |
| Viết xong rồi bỏ | Bảng cũ hơn code hai tuần | Sửa bảng trước, sửa code sau |
Chốt lại
Bảng thuật ngữ là hợp đồng về ngôn ngữ giữa nhóm và người nghiệp vụ. Năm cột: thuật ngữ, định nghĩa, ví dụ, không phải là, nguồn. Những từ nguy hiểm nhất là từ quen như "suất", "phần", "món mặn", vì không ai nghĩ phải hỏi. Ở Căng tin số, chỉ riêng cặp đơn và suất đã đủ làm hỏng cả quy tắc 30 phút. Bài 2 sẽ dùng bảng này để viết quy tắc nghiệp vụ: một quy tắc chỉ rõ nghĩa khi mọi từ trong nó đã có định nghĩa.