Phân tích rủi ro
Phân tích rủi ro là quá trình xác định và phân tích các vấn đề tiềm ẩn có thể tác động tiêu cực đến các sáng kiến hoặc dự án kinh doanh quan trọng. Quá trình này được thực hiện nhằm giúp các tổ chức tránh hoặc giảm thiểu những rủi ro đó.
Phân tích rủi ro là quá trình phân tích rủi ro liên quan đến dự án kiểm thử. Để dự án thành công, những rủi ro và các giải pháp để giải quyết rủi ro nên được xác định trước khi bắt đầu dự án.
Phân loại rủi ro
- Rủi ro trong phát triển phần mềm có thể chia thành 2 loại: rủi ro về sản phẩm (product risk) và rủi ro trong dự án (project risk)
Rủi ro sản phẩm liên quan đến khả năng một sản phẩm công việc (work product) (ví dụ như: tài liệu đặc tả, thành phần (unit), hệ thống (system) hoặc thử nghiệm (testing)) có thể không đáp ứng nhu cầu chính đáng của người dùng hoặc các bên liên quan. Khi rủi ro sản phẩm liên quan đến đặc tính chất lượng cụ thể của sản phẩm (ví dụ: sự phù hợp về chức năng, độ tin cậy, hiệu quả hoạt động, khả năng sử dụng, bảo mật, tính tương thích, khả năng bảo trì và tính di động), rủi ro sản phẩm còn được gọi là rủi ro chất lượng (quality risk). Ví dụ về rủi ro sản phẩm bao gồm:
- Phần mềm không thực hiện được các chức năng dự định theo đặc tả kĩ thuật.
- Phần mềm có thể không thực hiện các chức năng mong muốn theo nhu cầu của người dùng, khách hàng hoặc các bên liên quan.
- Kiến trúc hệ thống không hỗ trợ đầy đủ một các số yêu cầu phi chức năng
- Một tính toán cụ thể có thể được thực hiện không chính xác trong một số trường hợp.
- Cấu trúc điều khiển vòng lặp có thể được mã hóa không chính xác
- Thời gian đáp ứng có thể không đủ cho hệ thống xử lý giao dịch hiệu suất cao
- Phản hồi về trải nghiệm người dùng (UX) có thể không đáp ứng mong đợi của sản phẩm
Rủi ro dự án liên quan đến các tình huống, nếu chúng xảy ra, có thể có tác động tiêu cực đến khả năng đạt được các mục tiêu của dự án. Ví dụ về rủi ro dự án bao gồm:
- Project issues (các vấn đề của dự án):
- Sự chậm trễ có thể xảy ra trong quá trình bàn giao sản phẩm, hoàn thành nhiệm vụ hoặc thỏa mãn tiêu chí dừng hoặc định nghĩa về việc thực hiện.
- Ước tính không chính xác, việc tái phân bổ vốn cho các dự án ưu tiên cao hơn hoặc chi phí chung cho toàn tổ chức có thể dẫn đến việc tài trợ không đầy đủ.
- Thay đổi muộn có thể dẫn đến việc làm lại đáng kể.
- Organizational issues (các vấn đề về tổ chức):
- Kỹ năng, đào tạo và nhân viên có thể không đủ
- Vấn đề nhân sự có thể gây ra xung đột
- Người dùng, nhân viên nghiệp vụ hoặc chuyên gia về chủ đề có thể không có sẵn do các ưu tiên nghiệp vụ mâu thuẫn.
- Political issues (Các vấn đề chính sách):
- Người kiểm thử có thể không truyền đạt đầy đủ kết quả kiểm tra cho developer hoặc người kiểm tra có thể không theo dõi thông tin được tìm kiếm trong quá trình kiểm thử và đánh giá
- Có thể có thái độ không phù hợp đối với kì vọng của thử nghiệm (ví dụ: không đánh giá cao giá trị của việc tìm lỗi trong quá trình thử nghiệm).
- Technical issues (Các vấn đề kĩ thuật):
- Requirements không được định nghĩa đầy đủ
- Requirements có thể không được đáp ứng với các ràng buộc hiện có.
- Thay đổi dữ liệu, kế hoạch thay đổi và công cụ hỗ trợ có thể bị chậm trễ
- Điểm yếu trong quá trình phát triển có thể ảnh hưởng đến tính nhất quán hoặc chất lượng của các sản phẩm công việc dự án như design, code, configuration, test data, và test cases
- Quản lý lỗi kém
- Supplier issues (Các vấn đề về nhà cung cấp):
- Bên thứ ba có thể không cung cấp sản phẩm hoặc dịch vụ cần thiết hoặc phá sản
- Các vấn đề về hợp đồng.
=> Rủi ro dự án có thể ảnh hưởng đến cả hoạt động phát triển và hoạt động thử nghiệm. Trong một số trường hợp, người quản lý dự án chịu trách nhiệm xử lý tất cả các rủi ro dự án, nhưng không có gì bất thường khi người quản lý kiểm thử có trách nhiệm đối với các rủi ro dự án liên quan đến thử nghiệm.
Thực hiện phân tích rủi ro như thế nào?
Quá trình gồm 3 bước:
- Xác định các rủi ro
- Phân tích tác động của từng rủi ro được xác định
- Thực hiện các biện pháp đối phó với rủi ro được xác định và phân tích rủi ro
Bước 1: Xác định rủi ro
Rủi ro có thể được xác định và phân thành 2 loại trong sản phẩm phần mềm.
Rủi ro dự án (Project Risk)
Rủi ro dự án có thể được định nghĩa là một sự kiện hoặc hoạt động không chắc chắn có thể ảnh hưởng đến tiến độ của dự án, có những tác động tích cực hoặc tiêu cực đến mong đợi đạt được các mục tiêu của dự án.
Rủi ro tổ chức
Đó là một rủi ro liên quan đến nguồn nhân lực hoặc nhóm Kiểm thử. Ví dụ, trong dự án, thiếu thành viên có kỹ thuật là một rủi ro. Không có đủ nhân lực để hoàn thành dự án đúng hạn cũng là một rủi ro.
Rủi ro kỹ thuật
Rủi ro liên quan đến một thực thể bên ngoài. Đó là rủi ro có thể đến từ công ty, khách hàng chứ không phải từ dự án.
Trong trường hợp đó, Test Manager phải tìm ra các giải pháp để đối phó với rủi ro như:
- Đặt mức độ ưu tiên cho các giai đoạn kiểm thử, tập trung vào kiểm thử các tính năng chính của trang web
- Sử dụng một công cụ kiểm thử để tăng hiệu suất kiểm thử
- Áp dụng những cải tiến về quy trình để giảm effort quản lý.
Rủi ro sản phẩm
Rủi ro sản phẩm là khả năng hệ thống hoặc phần mềm có thể không đáp ứng mong đợi của khách hàng, người dùng hoặc các bên liên quan. Rủi ro này liên quan đến chức năng của sản phẩm như vấn đề về hiệu suất, vấn đề bảo mật, kịch bản chạy sai, v.v.
Sau đây là ví dụ về một vài rủi ro sản phẩm:
- Phần mềm bỏ qua một số chức năng chính mà khách hàng đã chỉ định trong yêu cầu của người dùng
- Phần mềm không đáng tin cậy và thường xuyên không hoạt động.
- Phần mềm chạy sai, gây thiệt hại tài chính hoặc những thiệt hại khác cho người dùng hoặc công ty sử dụng phần mềm.
- Phần mềm có các vấn đề liên quan đến một đặc tính chất lượng cụ thể như bảo mật, độ tin cậy, khả năng sử dụng, khả năng bảo trì hoặc hiệu suất.
Bước 2: Phân tích những tác động của rủi ro
Bảng dưới đây phân loại rủi ro thành ba loại là Cao, Trung bình và Thấp hoặc các giá trị 3,2, 1.
Xác suất | Tác động | |
Cao (3) | Có khả năng xảy ra rất cao, có thể ảnh hưởng đến toàn bộ dự án | Không thể tiếp tục với hoạt động dự án nếu vấn đề đó không được giải quyết ngay lập tức |
Trung bình (2) | 50% cơ hội xảy ra | Không thể tiếp tục hoạt động dự án nếu vấn đề đó không được giải quyết |
Thấp (1) | Xác suất xảy ra thấp | Cần phải giải quyết vấn đề đó nhưng có thể có giải pháp thay thế trong một thời gian |
Bước 3: Thực hiện các biện pháp để giảm thiểu rủi ro
Hoạt động này được chia thành 3 phần:
Ứng phó rủi ro
Người quản lý dự án cần chọn các chiến lược sẽ giảm thiểu rủi ro đến mức tối thiểu. Người quản lý dự án có thể chọn giữa bốn chiến lược ứng phó rủi ro sau đây:
Ghi lại rủi ro
Tất cả các rủi ro phải được ghi lại và được nhìn nhận bởi các nhà quản lý dự án, các bên liên quan và thành viên dự án. Tài liệu ghi lại những rủi ro phải được truy cập tự do bởi tất cả các thành viên của nhóm dự án.
Có một số trang hữu ích để ghi lại những rủi ro như Redmine, MITRE,...
Giám sát và kiểm soát rủi ro
Rủi ro có thể được theo dõi liên tục để thực hiện kiểm thử nếu có bất kỳ thay đổi nào. Rủi ro mới có thể được xác định thông qua các cơ chế giám sát và đánh giá liên tục.