Product Management
Đăng nhập
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

M-Bài 33 — Root Cause Analysis — 5 Whys và Fishbone

Mở đầu — vì sao bài này quan trọng

Khi bạn còn làm Marketing, có một thói quen rất "ngấm vào máu": thấy số rớt là tìm cách kéo số lên ngay. Conversion rate giảm? Chạy thêm khuyến mãi. Tỷ lệ thoát trang cao? Đổi banner. Cách làm này đôi khi có tác dụng tức thời, nhưng nó giải quyết triệu chứng, không phải nguyên nhân. Và đây chính là điểm khác biệt lớn nhất khi bạn bước sang vai trò BA (Business Analyst).

Một BA giỏi không phải người đưa ra giải pháp nhanh nhất, mà là người tìm đúng vấn đề cần giải. Nếu bạn phân tích sai gốc rễ, mọi requirement bạn viết ra, mọi user story, mọi tính năng mà đội dev tốn hàng tháng trời để xây — tất cả đều có thể trở thành công cốc, vì nó đánh vào triệu chứng chứ không chữa được bệnh.

Root Cause Analysis (RCA — phân tích nguyên nhân gốc rễ) là bộ kỹ năng giúp bạn đào sâu từ một hiện tượng bề mặt xuống tới nguyên nhân thật sự sinh ra nó. Trong bài này, chúng ta tập trung vào hai công cụ kinh điển và dễ áp dụng nhất: 5 Whys (5 câu hỏi "Tại sao") và Fishbone Diagram (sơ đồ xương cá, còn gọi là Ishikawa). Đây là hai vũ khí mà bạn sẽ dùng gần như hằng tuần trong công việc BA — từ lúc tiếp nhận một sự cố sản xuất, một phàn nàn của khách hàng, cho tới khi ngồi họp với stakeholder để quyết định "chúng ta thực sự cần xây cái gì".

Tin tốt là: nền Marketing của bạn lại là một lợi thế. Bạn vốn quen với việc đặt câu hỏi về hành vi người dùng, quen nhìn dữ liệu, quen tư duy theo "vì sao khách hành động như vậy". RCA chỉ là việc hệ thống hóa bản năng đó thành một phương pháp kỷ luật.

Khái niệm cốt lõi

Root Cause Analysis là gì

Root Cause Analysis là quá trình tìm ra nguyên nhân gốc — tức là yếu tố mà nếu được khắc phục, vấn đề sẽ không tái diễn. Hãy phân biệt ba tầng:

  • Triệu chứng (symptom): cái bạn nhìn thấy đầu tiên. Ví dụ: "Đơn hàng bị giao trễ."
  • Nguyên nhân trực tiếp (direct cause): lý do ngay sát triệu chứng. Ví dụ: "Shipper nhận hàng muộn."
  • Nguyên nhân gốc (root cause): lý do nằm sâu nhất, thường liên quan tới quy trình, hệ thống hoặc chính sách. Ví dụ: "Hệ thống không tự động phân tuyến nên điều phối viên gán đơn thủ công, dễ sót."
Mấu chốt của RCA: bạn chỉ thực sự giải quyết được vấn đề khi chạm tới tầng thứ ba. Sửa ở tầng một hay hai chỉ là dán băng keo.

5 Whys — Hỏi "tại sao" 5 lần

5 Whys ra đời từ hệ thống sản xuất của Toyota (Toyota Production System), do Sakichi Toyoda phát triển. Ý tưởng đơn giản đến mức gây ngạc nhiên: cứ mỗi câu trả lời, bạn lại hỏi "tại sao điều đó xảy ra?" — lặp lại khoảng 5 lần (con số 5 chỉ mang tính tượng trưng, có thể 3 hoặc 7) cho đến khi chạm tới nguyên nhân mà bạn có thể hành động được.

Ví dụ kinh điển — "Đơn hàng giao trễ":

  • Tại sao đơn giao trễ? → Vì shipper không nhận hàng đúng giờ.
  • Tại sao shipper nhận hàng trễ? → Vì hàng chưa được đóng gói xong khi shipper tới kho.
  • Tại sao hàng chưa đóng gói xong? → Vì nhân viên kho nhận đơn in ra trễ.
  • Tại sao đơn in ra trễ? → Vì hệ thống chỉ đẩy đơn sang kho theo lô, mỗi 2 tiếng một lần.
  • Tại sao hệ thống đẩy theo lô 2 tiếng? → Vì cấu hình batch ban đầu được set như vậy để giảm tải server, chưa ai rà lại từ khi lượng đơn tăng gấp đôi.
Nguyên nhân gốc ở đây không phải shipper lười, mà là cấu hình đẩy đơn theo lô đã lỗi thời. Giải pháp: chuyển sang đẩy đơn real-time hoặc rút batch xuống 15 phút. Nếu BA chỉ dừng ở câu 1, công ty có thể đi phạt shipper — vừa oan vừa vô ích.

Điểm BA cần nhớ: mỗi câu "tại sao" nên dựa trên bằng chứng (log, dữ liệu, phỏng vấn), không phải phỏng đoán. 5 Whys mạnh khi vấn đề tuyến tính, một chuỗi nhân quả rõ ràng.

Fishbone Diagram — Sơ đồ xương cá

Khi vấn đề có nhiều nguyên nhân đan xen chứ không phải một chuỗi thẳng, 5 Whys dễ bị thiển cận. Lúc này dùng Fishbone (Ishikawa) — do Kaoru Ishikawa phát triển — sẽ bao quát hơn.

Hình dung một bộ xương cá: "đầu cá" là vấn đề (effect), "xương sống" là trục chính, các "xương lớn" tỏa ra là các nhóm nguyên nhân. Bộ khung phân nhóm phổ biến nhất là 6M (cho sản xuất) hoặc bản biến thể cho dịch vụ/phần mềm:

  • Man (Con người): kỹ năng, đào tạo, nhân sự thiếu.
  • Method (Quy trình): quy trình sai, thiếu bước kiểm soát.
  • Machine (Hệ thống/Công cụ): lỗi phần mềm, hạ tầng, công cụ.
  • Material (Dữ liệu/Đầu vào): dữ liệu bẩn, nội dung sai.
  • Measurement (Đo lường): chỉ số sai, theo dõi thiếu.
  • Environment (Môi trường): chính sách, thị trường, yếu tố bên ngoài.
Với dự án phần mềm tại Việt Nam, mình thường gợi ý đội dùng 5 nhánh thực dụng: Con người – Quy trình – Hệ thống – Dữ liệu – Chính sách/Bên ngoài. Với mỗi nhánh, bạn brainstorm: "Vấn đề này có thể bắt nguồn từ nhóm nguyên nhân nào ở đây?"

Fishbone mạnh ở chỗ nó ép bạn nhìn rộng trước khi đào sâu. Một mẹo hay: dùng Fishbone để liệt kê tất cả nhánh nguyên nhân khả dĩ, sau đó chọn 2-3 nhánh nghi ngờ nhất rồi áp 5 Whys vào từng nhánh để đào xuống gốc. Hai công cụ bổ trợ nhau, không loại trừ nhau.

Tình huống thực tế

Ví dụ 1 — Tiki: Tỷ lệ huỷ đơn COD tăng vọt (5 Whys)

Bối cảnh: Một đội sản phẩm tại một sàn TMĐT lớn (giả định theo mô hình Tiki) phát hiện tỷ lệ huỷ đơn thanh toán khi nhận hàng (COD) ở nhóm khách mới tăng từ 8% lên 19% chỉ trong một tháng. PM ban đầu muốn yêu cầu BA viết requirement cho tính năng "đặt cọc trước 20.000đ" để giảm huỷ.

BA không làm ngay mà chạy 5 Whys với dữ liệu trong tay:

  • Tại sao khách huỷ đơn lúc nhận hàng? → Khảo sát call center cho thấy 60% nói "đặt nhầm" hoặc "không nhớ đã đặt".
  • Tại sao khách không nhớ đã đặt? → Đa số là đơn đặt từ flash sale lúc 0h, khoảng cách giao hàng 4-5 ngày.
  • Tại sao khoảng cách giao tới 4-5 ngày? → Vì nhóm khách mới rơi vào kho ở tỉnh xa, SLA giao chậm hơn.
  • Tại sao khách mới hay rơi vào kho xa? → Vì chiến dịch flash sale tháng đó nhắm mạnh vào thị trường tỉnh để mở rộng tệp.
  • Tại sao việc giao chậm ở tỉnh không được cảnh báo trước cho khách? → Vì màn hình checkout hiển thị "giao 2-4 ngày" cố định, không tính theo vùng kho thực tế.
Nguyên nhân gốc: checkout hiển thị thời gian giao không chính xác theo vùng, khiến kỳ vọng khách bị lệch, dẫn tới đổi ý khi chờ lâu. Giải pháp đúng không phải "bắt đặt cọc" (sẽ làm giảm conversion của cả khách tốt), mà là hiển thị ETA chính xác theo kho + gửi thông báo nhắc đơn trong thời gian chờ. Sau khi triển khai, tỷ lệ huỷ về lại 9%.

Bài học: nếu dừng ở câu 1, đội đã xây tính năng đặt cọc — tốn 6 tuần dev và làm tổn thương trải nghiệm khách tốt. RCA cứu họ khỏi giải sai bài.

Ví dụ 2 — Một fintech ví điện tử: Tỷ lệ KYC thất bại cao (Fishbone)

Bối cảnh: Một ví điện tử (mô hình tương tự MoMo/ZaloPay) thấy 35% người dùng mới rớt ở bước xác thực danh tính (eKYC) — không hoàn tất được hồ sơ. Đây là vấn đề đa nguyên nhân, nên BA dựng Fishbone với "đầu cá" là "Tỷ lệ hoàn tất eKYC thấp":

  • Con người: người dùng lớn tuổi không quen chụp ảnh giấy tờ; thiếu hướng dẫn.
  • Quy trình: bắt chụp lại từ đầu nếu một bước lỗi, không lưu tiến trình.
  • Hệ thống: OCR đọc CCCD gắn chip kém ở điều kiện ánh sáng yếu; app crash trên dòng máy Android cũ.
  • Dữ liệu: ảnh mờ bị từ chối nhưng không nói rõ lý do từ chối.
  • Chính sách/Bên ngoài: yêu cầu chụp cả 2 mặt + selfie liveness, nhiều bước hơn đối thủ.
Sau khi dựng sơ đồ, đội chấm điểm tần suất từng nhánh bằng log thực tế. Hai nhánh nổi bật: Hệ thống (OCR + crash chiếm 41% lỗi)Dữ liệu (thông báo từ chối mơ hồ). BA tiếp tục áp 5 Whys riêng cho nhánh OCR và phát hiện nguyên nhân gốc: thư viện OCR đang để ngưỡng độ nét quá cao, từ chối luôn cả ảnh đủ dùng.

Kết quả: thay vì làm lại toàn bộ luồng eKYC (việc mà ai đó đã đề xuất), đội chỉ cần (1) hạ ngưỡng OCR + thêm gợi ý chụp lại cụ thể, (2) lưu tiến trình giữa chừng. Tỷ lệ hoàn tất tăng từ 65% lên 82%.

Bài học: Fishbone giúp đội không tunnel-vision vào nhánh đầu tiên nghĩ ra. Nếu chỉ chạy 5 Whys ngay từ giả định "do người dùng lớn tuổi", họ đã bỏ lỡ nguyên nhân kỹ thuật lớn nhất.

Ví dụ 3 — Marketing nhìn từ góc BA: Landing page rớt lead

Bối cảnh: Đội growth của một startup edtech thấy form đăng ký thử khoá học rớt 50% lượng submit so với tháng trước. Bản năng Marketing cũ: đổi nút CTA, đổi headline. BA (vốn từ Marketing) lại chạy nhanh 5 Whys:

  • Tại sao submit giảm? → Số người bấm nút không đổi, nhưng số gửi thành công giảm.
  • Tại sao gửi thành công giảm? → Nhiều request trả lỗi 400.
  • Tại sao lỗi 400? → Trường "số điện thoại" mới thêm validate định dạng.
  • Tại sao validate chặn nhầm? → Regex chỉ chấp nhận đầu số cũ, không nhận đầu số 03x mới.
  • Tại sao không phát hiện sớm? → Không có alert khi tỷ lệ lỗi form vượt ngưỡng.
Nguyên nhân gốc: regex validate số điện thoại lỗi thời + thiếu monitoring. Đổi headline mười lần cũng vô dụng.

Bài học: đây là minh chứng đắt giá cho việc chuyển mindset. Cùng một con số rớt, marketer cũ chạy đi tối ưu sáng tạo, còn BA truy ngược chuỗi nhân quả tới một dòng regex. Kỹ năng đọc funnel của bạn vẫn dùng được — nhưng giờ nó hướng vào tìm điểm gãy, không phải tô vẽ bề mặt.

Hướng dẫn từng bước

Đây là quy trình RCA bạn có thể áp dụng cho gần như mọi sự cố/vấn đề nghiệp vụ:

  • Phát biểu vấn đề rõ ràng (Problem Statement). Viết một câu cụ thể, có số liệu, có mốc thời gian. "Tỷ lệ huỷ đơn COD nhóm khách mới tăng từ 8% lên 19% trong tháng 5." Tránh phát biểu mơ hồ kiểu "đơn bị huỷ nhiều".
  • Thu thập dữ liệu trước khi suy luận. Kéo log, số liệu funnel, ticket support, ghi âm call center. RCA dựa trên giả định là RCA rởm. Đây là lúc kỹ năng analytics từ Marketing của bạn tỏa sáng.
  • Chọn công cụ phù hợp. Vấn đề tuyến tính, một chuỗi nhân quả → dùng 5 Whys. Vấn đề nhiều nguyên nhân đan xen, chưa rõ hướng → dựng Fishbone trước để bao quát, rồi áp 5 Whys vào nhánh nghi ngờ nhất.
  • Đào xuống bằng câu hỏi có bằng chứng. Mỗi bước "tại sao" phải kiểm chứng được. Nếu một câu trả lời là phỏng đoán, hãy đánh dấu "cần xác minh" và đi tìm dữ liệu.
  • Xác định nguyên nhân gốc — kiểm tra bằng phép thử ngược. Tự hỏi: "Nếu mình khắc phục cái này, vấn đề có biến mất và không tái diễn không?" Nếu câu trả lời là không chắc, bạn chưa chạm đáy.
  • Đề xuất hành động khắc phục gắn với root cause. Mỗi nguyên nhân gốc → một action cụ thể, có người chịu trách nhiệm. Đây là cầu nối để bạn viết thành requirement/user story ở các bước sau của dự án.
  • Ghi lại và đặt cơ chế phòng ngừa. RCA tốt luôn kèm câu hỏi: "Làm sao để lần sau phát hiện sớm hơn?" — thường dẫn tới một requirement về monitoring/alert.

Lỗi thường gặp & mẹo

  • Dừng quá sớm ở triệu chứng. Đổ lỗi cho con người ("shipper lười", "khách không cẩn thận") thường là dấu hiệu bạn dừng ở tầng một. Nguyên nhân gốc gần như luôn nằm ở quy trình hoặc hệ thống, không phải cá nhân.
  • Suy luận không bằng chứng. "Chắc là do..." là kẻ thù của RCA. Mỗi bước phải truy được tới dữ liệu hoặc lời chứng cụ thể.
  • Tunnel vision với 5 Whys. Vì 5 Whys đi một đường thẳng, bạn dễ bỏ sót nhánh khác. Với vấn đề lớn, luôn mở Fishbone trước để không bỏ lọt nguyên nhân song song.
  • Nhầm nguyên nhân gốc với giải pháp. "Vì chưa có tính năng X" thường không phải root cause — đó là giải pháp đội ngũ. Hãy hỏi tiếp "tại sao việc thiếu X lại gây ra vấn đề".
  • Mẹo: làm RCA theo nhóm, không làm một mình. Mời dev, QA, CS cùng tham gia. Mỗi vai trò nhìn thấy một nhánh nguyên nhân khác nhau. BA giữ vai trò điều phối, đặt câu hỏi, tổng hợp.
  • Mẹo: dùng Miro/FigJam để vẽ Fishbone cùng team từ xa. Sau buổi họp, chốt root cause vào Confluence như một artifact chính thức để stakeholder cùng đồng thuận trước khi viết requirement.
  • Mẹo: chấm điểm nhánh Fishbone bằng dữ liệu tần suất. Đừng đầu tư công sức đều cho mọi nhánh — ưu tiên nhánh chiếm phần lớn lỗi (nguyên lý Pareto 80/20).

Bài tập thực hành

Bài 1 — 5 Whys: Một ứng dụng đặt đồ ăn ghi nhận tỷ lệ khách bỏ giỏ hàng ở bước thanh toán tăng đột biến vào giờ trưa. Hãy viết một chuỗi 5 Whys hoàn chỉnh (dựa trên giả định hợp lý), chỉ ra nguyên nhân gốc và một hành động khắc phục gắn với gốc đó. Lưu ý đánh dấu bước nào cần xác minh bằng dữ liệu.

Bài 2 — Fishbone: Vấn đề: "Số ticket khiếu nại về 'không nhận được mã OTP' tăng 3 lần trong 2 tuần." Hãy dựng sơ đồ xương cá với 5 nhánh (Con người – Quy trình – Hệ thống – Dữ liệu – Chính sách/Bên ngoài), liệt kê ít nhất 2 nguyên nhân khả dĩ mỗi nhánh, rồi khoanh tròn nhánh bạn sẽ điều tra đầu tiên và giải thích vì sao.

Bài 3 — Kết hợp + chuyển sang requirement: Lấy nguyên nhân gốc bạn tìm được ở Bài 1, hãy viết 1 câu mô tả "biện pháp phòng ngừa tái diễn" và phác thảo nó thành một user story ngắn theo mẫu "Là một [vai trò], tôi muốn [gì], để [đạt được gì]". Đây chính là điểm nối giữa RCA và công việc viết requirement mà bạn sẽ làm thường xuyên.

Tóm tắt

Root Cause Analysis là khác biệt cốt lõi giữa tư duy "kéo số" của Marketing và tư duy "giải đúng bài" của BA. Hai công cụ bạn cần nắm chắc:

  • 5 Whys: hỏi "tại sao" lặp lại tới khi chạm nguyên nhân hành động được; mạnh với vấn đề tuyến tính; mỗi bước phải có bằng chứng.
  • Fishbone (Ishikawa): bao quát nhiều nhóm nguyên nhân (Con người – Quy trình – Hệ thống – Dữ liệu – Chính sách); dùng để nhìn rộng trước khi đào sâu.
Cách dùng tối ưu là kết hợp: Fishbone để mở rộng tầm nhìn, rồi 5 Whys để khoan xuống nhánh trọng yếu. Luôn dựa trên dữ liệu, luôn kiểm tra bằng phép thử ngược ("sửa cái này thì vấn đề có hết và không tái diễn không?"), và luôn kết thúc bằng một cơ chế phòng ngừa. Khi làm tốt, mỗi buổi RCA của bạn sẽ trực tiếp sinh ra những requirement đắt giá — đúng vấn đề, đúng giải pháp, không lãng phí công sức của cả đội.

Học xong bài này rồi? Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu, và học hết khóa thì có chứng chỉ. Lưu tiến độ của tôi