Phân tích rủi ro dự án và giải pháp trong quản lý kiểm thử
Khi thực hiện dự án, luôn có những rủi ro tiềm ẩn. Để giảm thiểu được những rủi ro có thể xảy ra, ta cần xác định những rủi ro đó, sau đó phân tích và đánh giá, đưa ra độ ưu tiên cho từng rủi ro. Hãy cùng Phân tích rủi ro và tìm ra giải pháp để tiết kiệm nguồn lực cũng như giảm thiểu rủi ro để dự án thành công hơn nhé.
1. Phân tích rủi ro là gì?
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.
Trong bài viết này, chúng ta sẽ cũng tìm hiểu bước đầu tiên trong quy trình Quản lý kiểm thử: Phân tích rủi ro và giải pháp giải quyết những rủi ro đó qua ví dụ dưới đây.
Bài viết này được đăng tại [free tuts .net]
Ứng dụng đang được kiểm thử là demo.guru99.com, bạn có thể tham khảo Đặc tả yêu cầu phần mềm tại đây.
Trang Guru99 Bank có hai quyền:
- Manager
- Customer
Bảng sau sẽ liệt kê các tính năng của hai quyền trên.
Đây là cách quản lý một tour du lịch của trang web:
Sau khi đọc các tài liệu yêu cầu, bạn nhận ra rằng trang web có quá nhiều chức năng và kịch bản phức tạp. Cụ thể:
- Trang web Guru99 Bank đã kết thúc giai đoạn phát triển và chuyển sang giai đoạn Kiểm thử. Nhưng bạn đã không tham gia từ giai đoạn yêu cầu.
- Bạn phải hoàn thành kiểm thử trong một tháng chỉ với ngân sách hạn chế, nhưng chất lượng sản phẩm phải đảm bảo.
- Một thành viên trong nhóm là một kỹ sư giàu kinh nghiệm, nói với bạn
- Trong trường hợp như vậy, bạn nên làm gì?
A) Đây dường như là một vấn đề lớn. Chúng ta cần phải đối phó với càng sớm càng tốt !!!
B) Tôi không quan tâm. Chúng ta cần bắt đầu làm việc ngay bây giờ.
Ví dụ trên minh họa tầm quan trọng của phân tích rủi ro trong Quản lý kiểm thử.
Quản lý rủi ro giúp bạn:
Rủi ro được đề cập trong ví dụ trên chỉ là một trong nhiều rủi ro tiềm ẩn có thể xảy ra trong dự án. Bạn nên xác định chúng và đưa ra quyết định đối phó với chúng càng sớm càng tốt !!! Vì vậy, hành động đúng trong ví dụ đó là hành động A.
Do đó, phân tích rủi ro thật sự quan trọng
2. Thực hiện phân tích rủi ro như thế nào?
Đó là một 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.
Có 3 loại rủi ro chính trong 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.
Để xác định Rủi ro tổ chức, bạn nên lập danh sách một vài câu hỏi và trả lời chúng dưới dạng tự luyện tập. Dưới đây là một số câu hỏi ví dụ:
1. Đây có phải là một đội được tổ chức tốt?
2. Mỗi thành viên trong nhóm có kỹ năng để thực hiện công việc của mình không?
3. So sánh với quy mô và tiến độ dự án, chúng ta có đủ nhân lực để hoàn thành dự án này đúng thời hạn không?
Nếu bạn trả lời tất cả các câu hỏi trên, bạn sẽ dễ dàng xác định các rủi ro tiềm ẩn có thể ảnh hưởng đến dự án.
Rủi ro kỹ thuật
- Rủi ro kỹ thuật là xác suất tổn thất phát sinh trong quá trình thực hiện quy trình kỹ thuật như kỹ thuật chưa được kiểm thử, quy trình kiểm thử sai, vv. Dưới đây là một ví dụ về rủi ro kỹ thuật
- Nhiệm vụ của bạn trong dự án này là kiểm thử một trang web ngân hàng. Bạn phải thiết lập môi trường kiểm thử phù hợp để phản ánh môi trường kinh doanh thực tế. Nếu Môi trường kiểm thử không được thiết lập đúng, sản phẩm sẽ không được kiểm thử chính xác và nhiều lỗi sẽ không được phát hiện.
Rủi ro nghiệp vụ
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.
Hình ảnh sau đây cho bạn thấy một ví dụ về rủi ro nghiệp vụ.
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.
Trở lại ví dụ, có rủi ro sản phẩm nào trong trang web Guru 99 Bank không? Để trả lời câu hỏi này, bạn hãy làm theo các bước sau:
Khi bạn đã hoàn thành 3 bước trên, hãy thực hiện kiểm thử như dưới đây để xác định rủi ro sản phẩm:
1. Trang web Guru99 Bank có thể bảo mật tài khoản khách hàng và các dữ liệu không?
2. Khách hàng có thể sử dụng được trang web không?
3. Những chức năng nào dưới đây nên có?
A) Chuyển tiền an toàn
B) Người dùng có thể đăng ký tài khoản mới
C) Không cần thêm chức năng
Bước 2: Phân tích những tác động của rủi ro
Dưới đây là danh sách các rủi ro được xác định:
- Có thể không có đủ nguồn nhân lực để hoàn thành dự án đúng hạn
- Môi trường kiểm thử có thể không được thiết lập đúng như môi trường thực tế.
- Ngân sách dự án của bạn có thể giảm một nửa
- Trang web này có thể thiếu chức năng bảo mật
Tiếp theo, cùng phân tích những rủi ro trên.
Mỗi rủi ro phải được phân loại dựa trên hai thông số sau:
- Xác suất xảy ra
- Tác động đến dự án
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 |
Hãy xem các rủi ro sau đây:
Rủi ro | Xác suất | Tác động | Ưu tiên = Xác suất * Tác động |
Thời hạn dự án (deadline) không được đáp ứng | 3 | 3 | 9 |
Mất điện | 1 | 2 | 2 |
Dựa vào bảng trên, bạn có thể thực hiện các biện pháp được đề cập trong bảng dưới đây
Độ ưu tiên | Phương pháp quản lý rủi ro |
Cao 6 - 9 | Thực hiện ngay lập tức và theo dõi rủi ro mỗi ngày cho đến khi tình trạng của nó được đóng lại |
Trung bình 3 - 5 | Theo dõi rủi ro mỗi tuần tại cuộc họp tiến độ nội bộ |
Thấp 1 - 2 | Chấp nhận rủi ro và theo dõi rủi ro |
Hãy theo dõi ví dụ tiếp theo, chúng ta có 4 rủi ro được xác định trong dự án Guru99 Bank. Hãy phân loại chúng:
Rủi ro | Cao | Trung bình | Thấp |
Bạn có thể không có đủ nguồn nhân lực để hoàn thành dự án vào đúng thời hạn | x | ||
Môi trường kiểm thử có thể không được thiết lập đúng như môi trường thực tế | x | ||
Ngân sách dự án có thể giảm một nửa vì tình hình kinh doanh | x | ||
Trang web này có thể thiếu các tính năng bảo mật | x |
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:
Quay lại với 4 rủi ro được xác định trước đó, chúng ta phải tìm biện pháp để tránh hoặc loại bỏ những rủi ro đó.
A. Có thể không có đủ nguồn nhân lực để hoàn thành dự án ở thời điểm cuối cùng
Rủi ro này không thể tránh được vì đây là tình hình của công ty; bạn không thể yêu cầu thêm nguồn nhân lực cho dự án. Trong trường hợp như vậy, bạn có thể giảm tác động của rủi ro như dưới đây:
- Chọn thành viên tài năng và có kinh nghiệm để tham gia Nhóm dự án
- Tạo khóa đào tạo để nâng cao thành viên, giúp họ nâng cao năng suất
B. Môi trường kiểm thử có thể không được thiết lập đúng như môi trường thực tế
Rủi ro này có thể tránh được nếu bạn thực hiện các hoạt động sau:
- Yêu cầu nhóm phát triển giúp đỡ xây dựng môi trường kiểm thử
- Chuẩn bị tất cả các thiết bị hoặc vật liệu (Máy chủ, cơ sở dữ liệu, PC ..) cần thiết để thiết lập môi trường
C. Dự án có thể giảm một nửa vì tình hình kinh doanh
Rủi ro này là rất quan trọng; nó có thể cản trở toàn bộ dự án. Trong trường hợp đó, bạn nên:
- Xác định lại phạm vi dự án, xác định những gì sẽ được kiểm thử và những gì sẽ cần bỏ qua
- Đàm phán với khách hàng về thời hạn của dự án để phù hợp với ngân sách dự án
- Cải thiện năng suất của từng giai đoạn dự án, chẳng hạn như kiểm thử, tạo thông số kỹ thuật kiểm thử, nếu bạn có thể tiết kiệm thời gian, bạn cũng có thể tiết kiệm chi phí
D. Trang web có thể thiếu các tính năng bảo mật
Rủi ro này được coi là ưu tiên trung bình, vì nó không ảnh hưởng đến toàn bộ dự án và có thể tránh được. Bạn có thể yêu cầu nhóm developer kiểm thử và thêm các chức năng này vào trang web.
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.
Để quản lý rủi ro tốt hơn, bạn có thể tham khảo mẫu Quản lý rủi ro tại đây.