Product Management
Đăng nhập
ESC

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

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

Bài 59 — Crisis management: incident PM phải làm gì

Đã đọc 0/14 mục · còn khoảng 12 phút
Cách chúng tôi ghi nhận

Một mục được tính là đã đọc khi nó nằm giữa màn hình đủ lâu so với độ dài của nó (bảng và sơ đồ tính một nửa), bạn vẫn đang cuộn hoặc bấm phím, và bạn đã thấy tới cuối mục. Lướt nhanh hoặc để tab mở không được tính. Chúng tôi chỉ lưu thời gian đọc từng mục — không lưu gì khác.

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

Có một sự thật mà ít ai nói với bạn khi bạn mới vào nghề PM: phần lớn thời gian bạn làm việc, mọi thứ chạy êm. Roadmap được duyệt, feature ship đúng hạn, metric tăng đều. Nhưng giá trị thật của một PM không được đo trong những ngày yên ả đó — nó được đo trong 90 phút hỗn loạn khi hệ thống thanh toán sập vào 8 giờ tối thứ Sáu, hàng nghìn giao dịch fail, hotline cháy máy, và 15 người đang nhìn vào màn hình Slack chờ ai đó nói cho họ biết phải làm gì.

Crisis management — quản lý khủng hoảng và sự cố — là một trong những kỹ năng phân biệt rõ nhất giữa một PM "ổn" và một PM mà cả công ty tin tưởng. Lý do đơn giản: trong khủng hoảng, engineer tập trung vào fix kỹ thuật, support tập trung vào trả lời khách hàng, còn người phải nhìn bức tranh tổng thể — quyết định cái gì ưu tiên, ai cần biết thông tin gì, khi nào thì "đủ tốt để ship fix" — thường rơi vào PM.

Điều khiến nhiều PM mới hoảng loạn là họ nghĩ khủng hoảng đòi hỏi sự thông minh đột xuất. Sai. Khủng hoảng đòi hỏi một quy trình lạnh lùng đã được luyện tập từ trước. Bài này dạy bạn quy trình đó: nhận diện các loại sự cố, biết vai trò của PM trong từng tình huống, và có một checklist để bám vào khi adrenaline đang khiến đầu óc bạn trống rỗng. Đây không phải lý thuyết — đây là thứ bạn sẽ cảm ơn khi nó xảy ra thật.

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

Incident vs Crisis — hai mức độ khác nhau

Trước hết phải phân biệt. Incident (sự cố) là một sự kiện kỹ thuật làm gián đoạn dịch vụ: API chậm, một feature lỗi, database quá tải. Crisis (khủng hoảng) là khi sự cố vượt khỏi phạm vi kỹ thuật và đe dọa niềm tin của người dùng, danh tiếng công ty, hoặc tuân thủ pháp lý. Một incident xử lý tốt sẽ không bao giờ thành crisis; một incident xử lý tệ — đặc biệt là phần giao tiếp — gần như chắc chắn thành crisis.

PM cần hiểu cả hai vì bạn thường là cầu nối: engineer nhìn thấy incident, còn bạn phải đánh giá xem nó có nguy cơ leo thang thành crisis không.

Ba loại sự cố PM hay gặp

1. Production outage (sự cố vận hành). Hệ thống sập hoặc lỗi nặng: thanh toán fail, app không load, đơn hàng không đặt được. Đây là loại phổ biến nhất và thường có tác động tài chính tức thì. Mỗi phút downtime của một ví điện tử có thể là hàng chục triệu đồng giao dịch không thực hiện được, chưa kể chi phí niềm tin.

2. PR crisis (khủng hoảng truyền thông). Một bug hoặc quyết định sản phẩm gây phản ứng tiêu cực lan rộng. Ví dụ: một bug tính sai giá khiến khách bị trừ tiền gấp đôi, ảnh chụp màn hình lan truyền trên các group Facebook, báo chí đưa tin. Loại này nguy hiểm vì nó sống lâu hơn bản fix kỹ thuật rất nhiều — code fix trong 2 giờ nhưng dư luận có thể kéo dài 2 tuần.

3. Security incident (sự cố bảo mật). Rò rỉ dữ liệu, tài khoản bị chiếm, lỗ hổng bị khai thác. Đây là loại nhạy cảm nhất vì liên quan đến pháp lý (ở Việt Nam là Nghị định 13/2023 về bảo vệ dữ liệu cá nhân), và cách bạn phản ứng trong 72 giờ đầu có thể quyết định công ty bị phạt hay không. Với loại này, PM hầu như luôn phải kéo Legal và Security vào sớm, không được tự quyết.

Mức độ nghiêm trọng — Severity Levels

Mọi team kỹ thuật trưởng thành đều phân loại sự cố theo cấp độ severity (thường gọi là SEV hoặc P). Bạn cần hiểu để biết khi nào cần "đánh thức cả công ty dậy lúc 3 giờ sáng":

  • SEV1 / P0: Sập toàn bộ hoặc tính năng cốt lõi (thanh toán, đăng nhập). Huy động ngay, bất kể giờ giấc.
  • SEV2 / P1: Một phần lớn người dùng bị ảnh hưởng, có workaround. Xử lý trong giờ làm.
  • SEV3 / P2: Lỗi nhỏ, ít người dùng, không khẩn cấp.
Vai trò của PM là giúp gán đúng severity — vì engineer đôi khi đánh giá theo độ phức tạp kỹ thuật, còn bạn đánh giá theo tác động lên người dùng và doanh nghiệp. Một bug "nhỏ về mặt code" nhưng đụng vào ví tiền của khách thì vẫn là P0.

Vai trò của PM trong sự cố: bạn KHÔNG fix code

Đây là hiểu lầm chết người. PM trong incident không phải là người sửa bug. Vai trò của bạn là Incident Commander hỗ trợ hoặc người điều phối business: bạn giữ cho luồng thông tin thông suốt, ra quyết định đánh đổi (trade-off), bảo vệ engineer khỏi bị quấy rầy để họ tập trung fix, và là cầu nối duy nhất giữa team kỹ thuật với leadership, support, marketing, legal.

Tình huống thực tế

Tình huống 1: Ví điện tử sập giờ cao điểm (Production outage)

Hãy hình dung một ví điện tử lớn tại Việt Nam — gọi là "PayViet" cho dễ hình dung. 7 giờ tối thứ Sáu, cao điểm thanh toán hóa đơn cuối tuần. Đột nhiên 30% giao dịch nạp tiền bị fail. Tiền bị trừ ở ngân hàng nhưng không vào ví. Trong 10 phút, hotline nhận hơn 400 cuộc gọi, các group Facebook bắt đầu xuất hiện ảnh chụp màn hình "mất tiền".

PM phụ trách mảng payment, tên Linh, đang ăn tối thì nhận tin nhắn. Cô không lao vào tranh luận về nguyên nhân kỹ thuật. Thay vào đó cô làm ba việc trong 15 phút đầu: (1) mở một channel Slack riêng #incident-payment-0719 và pin một message trạng thái duy nhất để mọi người khỏi hỏi lặp; (2) xác nhận với tech lead đây là P0 và yêu cầu một người làm "scribe" ghi lại dòng thời gian; (3) nhắn cho team support một câu trả lời mẫu thống nhất: "Giao dịch đang được hệ thống xử lý lại tự động, tiền sẽ về trong 24h, anh/chị không cần thao tác gì."

Điểm mấu chốt: Linh không hứa "5 phút nữa hết lỗi" — vì cô không biết. Cô hứa điều cô kiểm soát được: tiền sẽ về. Sau khi engineer rollback một deploy lỗi và lỗi dừng sau 50 phút, Linh đảm bảo có một bảng đối soát mọi giao dịch fail để hoàn tiền chủ động, kể cả với khách không khiếu nại.

Bài học: Trong outage tài chính, niềm tin sụp đổ nhanh hơn hệ thống. PM giỏi quản lý kỳ vọng và giao tiếp song song với việc fix, và luôn ưu tiên "làm khách yên tâm về tiền" trên cả tốc độ fix.

Tình huống 2: Bug tính giá gây bão mạng (PR crisis)

Một sàn TMĐT — gọi là "ShopSEA" hoạt động ở Đông Nam Á — tung campaign flash sale 12.12. Một bug trong logic mã giảm giá khiến một nhóm sản phẩm hiển thị giá 0 đồng trong 8 phút. Hàng nghìn đơn được đặt. Bug được fix nhanh, nhưng vấn đề thật bắt đầu sau đó: công ty có nên giao hàng 0 đồng không? Nếu hủy đơn, khách phẫn nộ và lên báo; nếu giao, lỗ vài tỷ.

PM ở đây — tên Phúc — nhận ra đây không còn là incident kỹ thuật mà là crisis truyền thông và kinh doanh. Anh lập tức kéo Legal, CS lead, và một người từ marketing vào phòng họp. Quyết định cuối cùng (do leadership chốt, Phúc đề xuất): honor đơn với các sản phẩm giá trị thấp dưới 200k để bảo vệ thiện chí, và với sản phẩm giá trị cao thì hủy kèm tặng voucher 100k và một email xin lỗi chân thành, đăng kèm thông báo công khai thừa nhận lỗi. Sự minh bạch và động thái "chịu thiệt một phần" khiến dư luận chuyển từ giận sang thông cảm.

Bài học: Trong PR crisis, im lặng và phản ứng phòng thủ là kẻ thù. Thừa nhận lỗi sớm, có một động thái thiện chí cụ thể, và để khách thấy công ty chịu một phần thiệt — đó là cách dập lửa rẻ nhất. PM là người phải nhận ra "đây không còn là chuyện của riêng team tech".

Tình huống 3: Rò rỉ dữ liệu người dùng (Security incident)

Một startup fintech 200 nhân sự phát hiện một endpoint API cũ vô tình để lộ email và số điện thoại của khoảng 50.000 người dùng. Không có mật khẩu hay dữ liệu tài chính, nhưng vẫn là dữ liệu cá nhân theo Nghị định 13.

PM phụ trách không tự xử lý. Cô làm đúng một việc quan trọng: escalate ngay và đúng người. Trong 1 giờ, Security, Legal, CEO và DPO (người phụ trách bảo vệ dữ liệu) đều đã nắm. Vai trò của PM thu hẹp lại thành điều phối: đảm bảo lỗ hổng được vá trước khi công bố, soạn timeline chính xác cho Legal, và chuẩn bị thông báo cho người dùng bị ảnh hưởng theo đúng yêu cầu pháp lý về thời hạn.

Bài học: Với security, bản năng "xử nội bộ cho êm" là cực kỳ nguy hiểm và có thể vi phạm pháp luật. Vai trò của PM là biết giới hạn quyền của mình và kéo đúng người vào trong vài phút đầu, không phải vài ngày sau.

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

Khi một sự cố nổ ra và bạn là PM trong phòng, đây là quy trình bám theo:

Bước 1 — Xác nhận và phân loại (0–10 phút). Đừng phán đoán nguyên nhân. Trả lời ba câu: Ai bị ảnh hưởng? Bao nhiêu người? Có dính tiền/dữ liệu/pháp lý không? Từ đó gán severity. Nếu là P0/P1, kích hoạt quy trình ngay.

Bước 2 — Lập "phòng chiến tranh" và phân vai (10–20 phút). Mở một channel sự cố riêng. Xác định ba vai: Incident Commander (thường là tech lead hoặc bạn) ra quyết định kỹ thuật; Communications Lead (thường là PM) lo thông tin ra ngoài; Scribe ghi timeline. Một sự cố không có người chỉ huy rõ ràng là một sự cố sẽ kéo dài gấp đôi.

Bước 3 — Bảo vệ người fix. Nhiệm vụ quan trọng và bị xem nhẹ nhất của PM: chặn dòng người hỏi "xong chưa?" để engineer tập trung. Bạn là tấm khiên. Mọi câu hỏi từ sếp, support, marketing đi qua bạn.

Bước 4 — Giao tiếp theo nhịp đều. Cập nhật trạng thái mỗi 15–30 phút kể cả khi chưa có gì mới ("vẫn đang điều tra, lần cập nhật sau lúc 8:30"). Khoảng lặng thông tin là nơi tin đồn và hoảng loạn sinh sôi. Với người dùng, dùng một thông điệp thống nhất, trung thực, không hứa thời gian bạn không chắc.

Bước 5 — Quyết định trade-off "đủ tốt để ship". PM thường phải chốt: rollback hay hotfix? Có chấp nhận một workaround tạm gây phiền nhẹ để khôi phục dịch vụ nhanh không? Tiêu chí là giảm thiểu tác động lên người dùng, không phải giải pháp đẹp nhất về kỹ thuật.

Bước 6 — Tuyên bố kết thúc và chuyển sang khắc phục hậu quả. Khi dịch vụ ổn định, đừng coi là xong. Còn việc đối soát, hoàn tiền, gửi xin lỗi, thông báo công khai.

Bước 7 — Blameless postmortem (trong 48 giờ). Họp review không đổ lỗi cá nhân, tập trung vào lỗ hổng quy trình. Output là danh sách action item có người chịu trách nhiệm và deadline. Đây là bước biến một sự cố tệ thành một hệ thống mạnh hơn.

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

Lỗi 1 — Lao vào sửa code. PM mới hay muốn chứng tỏ bằng cách bàn giải pháp kỹ thuật. Đó là cách nhanh nhất để bỏ trống vai trò điều phối mà không ai khác lấp được. Hãy nhớ: bạn quản lý sự cố, không sửa sự cố.

Lỗi 2 — Hứa mốc thời gian. "30 phút nữa xong" là cái bẫy. Khi không xong, bạn mất uy tín ngay khi cần nó nhất. Chỉ cam kết điều bạn kiểm soát (lần cập nhật tiếp theo, việc hoàn tiền), không cam kết điều phụ thuộc vào việc tìm ra nguyên nhân.

Lỗi 3 — Im lặng vì "chưa có gì để nói". Khoảng lặng tự nó là một thông điệp tệ. Cập nhật "chưa có tiến triển" vẫn tốt hơn không cập nhật.

Lỗi 4 — Coi sự cố nhỏ về code là sự cố nhỏ. Đo severity theo tác động lên người dùng và tiền, không theo số dòng code phải sửa.

Lỗi 5 — Postmortem đổ lỗi. Nếu review biến thành phiên tòa tìm thủ phạm, lần sau không ai dám báo cáo sự cố sớm. Văn hóa blameless là điều kiện sống còn — đặc biệt quan trọng trong bối cảnh Việt Nam nơi việc "giữ thể diện" có thể khiến người ta che giấu lỗi.

Mẹo vàng: Viết sẵn một "incident runbook" — một tài liệu một trang ghi rõ ai làm gì, channel nào, mẫu thông báo nào — khi không có khủng hoảng. Lúc adrenaline lên đầu, không ai nghĩ sáng suốt được; bạn chỉ làm theo checklist đã chuẩn bị.

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

Bài 1 — Phân loại. Lấy ba tình huống sau, gán severity (P0/P1/P2) và xác định loại sự cố, kèm lý do dưới góc nhìn tác động người dùng: (a) nút "chia sẻ" hỏng với 5% người dùng Android; (b) toàn bộ người dùng không đăng nhập được trong 10 phút; (c) một bài blog cũ lộ email nội bộ của 3 nhân viên.

Bài 2 — Soạn runbook. Cho sản phẩm bạn đang/muốn làm, viết một incident runbook một trang: 3 vai trò, channel liên lạc, ai có quyền tuyên bố P0, và một mẫu thông báo người dùng cho tình huống outage.

Bài 3 — Đóng vai. Tự dựng kịch bản: hệ thống thanh toán fail 25% giao dịch lúc cao điểm. Viết ra 4 message cập nhật bạn sẽ gửi trong channel sự cố theo nhịp 15 phút, và một thông báo gửi người dùng. Tự đánh giá: có message nào hứa điều bạn không kiểm soát không?

Bài 4 — Postmortem. Lấy một sự cố thật bạn từng chứng kiến (hoặc tình huống 2 ở trên), viết postmortem blameless gồm: timeline, tác động, nguyên nhân gốc, và 3 action item có chủ.

Tóm tắt

Crisis management không phải là tài năng bẩm sinh — nó là một quy trình lạnh lùng được luyện tập trước. Là PM, vai trò của bạn trong sự cố không phải sửa code mà là điều phối: phân loại đúng severity, lập phòng chiến tranh và phân vai, bảo vệ người fix, giao tiếp theo nhịp đều và trung thực, ra quyết định trade-off theo tác động người dùng, và đóng lại bằng một postmortem không đổ lỗi.

Ba loại sự cố — production outage, PR crisis, security incident — đòi hỏi mức can thiệp khác nhau, nhưng chung một nguyên tắc: minh bạch sớm thắng im lặng, và niềm tin của người dùng sụp nhanh hơn hệ thống. Hãy chuẩn bị runbook khi trời yên, để khi bão tới bạn chỉ việc làm theo. Đó là lúc cả công ty nhận ra giá trị thật của một PM.

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