Quản lý rủi ro dự án phần mềm: nhận diện, đánh giá và ứng phó

  • author-image

    Nguyễn Đình Cường

  • blog-tag
  • blog-comment 0 comment
  • created-date 09 Nov, 2026
blog-thumbnail

Gần như mọi dự án phần mềm trễ hạn đều có chung một câu chuyện: điều bất ngờ đã xảy ra, mà thật ra không hoàn toàn bất ngờ. Ai đó đã lờ mờ nhận ra nguy cơ nhưng không ai ghi lại hay xử lý. Quản lý rủi ro là thói quen nhìn trước những điều có thể sai và chuẩn bị cho chúng.

Rủi ro là gì?

Rủi ro là sự kiện có thể xảy ra trong tương lai và nếu xảy ra sẽ ảnh hưởng tiêu cực (hoặc tích cực) tới mục tiêu dự án. Cần phân biệt với vấn đề (issue): rủi ro chưa xảy ra, còn vấn đề đã xảy ra và đang cần xử lý. Quản lý rủi ro tốt là cố biến vấn đề thành rủi ro đã được kiểm soát từ trước.

Những nhóm rủi ro thường gặp trong dự án phần mềm

  • Yêu cầu: mơ hồ, thay đổi liên tục, khách hàng thay đổi ý kiến, phạm vi tăng dần (scope creep).
  • Kỹ thuật: công nghệ mới chưa quen, tích hợp với hệ thống bên ngoài, vấn đề hiệu năng, nợ kỹ thuật.
  • Con người: thành viên chủ chốt nghỉ việc hoặc nghỉ dài ngày, thiếu kỹ năng, kiến thức tập trung ở một người.
  • Lịch trình và ngân sách: ước lượng quá lạc quan, phụ thuộc vào bên thứ ba giao trễ.
  • Bên ngoài: thay đổi quy định, nhà cung cấp dịch vụ ngừng hỗ trợ, thay đổi chính sách của nền tảng.
  • Bảo mật và vận hành: lỗ hổng, mất dữ liệu, sự cố khi triển khai.

Bước 1: nhận diện rủi ro

Tổ chức buổi động não với cả nhóm và hỏi: 'Nếu dự án thất bại sau ba tháng, nguyên nhân có thể là gì?' (kỹ thuật này gọi là premortem). Thêm vào đó, xem lại các dự án trước, hỏi người có kinh nghiệm, rà soát danh sách phụ thuộc bên ngoài.

Bước 2: đánh giá và xếp hạng

Với mỗi rủi ro, ước lượng hai yếu tố: khả năng xảy ra và mức độ ảnh hưởng, thường theo thang thấp - vừa - cao. Kết hợp lại bằng ma trận để chọn thứ cần ưu tiên:

Ảnh hưởng thấpẢnh hưởng vừaẢnh hưởng cao
Khả năng caoTheo dõiXử lýƯu tiên cao nhất
Khả năng vừaChấp nhậnTheo dõiXử lý
Khả năng thấpChấp nhậnChấp nhậnTheo dõi, có kế hoạch dự phòng

Bước 3: chọn cách ứng phó

  1. Tránh: thay đổi kế hoạch để loại bỏ rủi ro, ví dụ bỏ một công nghệ chưa chín muồi.
  2. Giảm thiểu: giảm khả năng hoặc ảnh hưởng, ví dụ làm thử nghiệm sớm (spike), thêm kiểm thử, đào tạo chéo.
  3. Chuyển giao: chuyển rủi ro cho bên khác, như dùng dịch vụ quản lý sẵn, mua bảo hiểm, ràng buộc trong hợp đồng.
  4. Chấp nhận: biết rõ và quyết định không làm gì, có thể kèm kế hoạch dự phòng nếu xảy ra.

Sổ đăng ký rủi ro (risk register)

Chỉ cần một bảng đơn giản được cập nhật đều:

ID | Rui ro | Kha nang | Anh huong | Cach ung pho | Nguoi phu trach | Trang thai
R1 | API ben thu ba thay doi dinh dang | Vua | Cao | Viet lop trung gian, kiem thu hop dong | Lan | Dang theo doi
R2 | Chi mot nguoi hieu module thanh toan | Cao | Vua | Ghi tai lieu, lap trinh cap | Minh | Dang xu ly

Mỗi rủi ro cần có người phụ trách và được xem lại thường xuyên, ví dụ trong buổi đầu sprint hoặc họp tuần.

Rủi ro trong thực hành Agile

Chu kỳ ngắn tự nhiên giảm rủi ro: phản hồi sớm lộ ra hiểu lầm yêu cầu, giao từng phần giúp phát hiện vấn đề tích hợp sớm. Hãy ưu tiên làm các mục rủi ro cao ở đầu dự án (còn gọi là làm phần khó trước) để biết sớm liệu hướng đi có khả thi không.

Lỗi thường gặp

  • Lập danh sách rủi ro đầu dự án rồi bỏ quên.
  • Chỉ liệt kê rủi ro kỹ thuật, bỏ qua rủi ro về con người và yêu cầu.
  • Không ai chịu trách nhiệm, nên không ai hành động.
  • Ngại nói về rủi ro vì sợ bị cho là bi quan.
  • Giải pháp chỉ là 'cố gắng hơn'.

Kết luận

Quản lý rủi ro không đòi hỏi quy trình nặng nề: nhận diện cùng nhóm, xếp hạng theo khả năng và ảnh hưởng, chọn cách ứng phó và theo dõi đều đặn. Hãy bắt đầu bằng một buổi premortem 30 phút cho dự án hiện tại của bạn.

Nếu bạn muốn học thêm cách điều hành dự án phần mềm hiệu quả, hãy khám phá các khóa học trên codebem.com.

author_photo
Nguyễn Đình Cường

0 comment