Mọi rủi ro đều tạo ra vấn đề, đều gây ảnh hưởng xấu tới các dự án phần mềm, do đó những kỹ sư phần mềm phải có những biện pháp nhận diện rủi ro hiệu quả, thẩm định xác suất thực hiện, tá
Lý do ch ọn đề tài
Trong những thập niên gần đây, đặc biệt là từ cuối thế kỷ 20 đến đầu thế kỷ 21, ứng dụng phần mềm đã gia tăng mạnh mẽ, dẫn đến sự phức tạp trong quá trình phát triển phần mềm Các vấn đề quản lý như cấu trúc dự án, tài nguyên, phương pháp quy hoạch và quản lý rủi ro vẫn chưa được giải quyết đầy đủ Do đó, rủi ro trong các dự án phần mềm trở thành điều không thể tránh khỏi.
Mọi rủi ro đều gây ra vấn đề và ảnh hưởng tiêu cực đến các dự án phần mềm, vì vậy kỹ sư phần mềm cần áp dụng các biện pháp nhận diện rủi ro hiệu quả Họ phải thẩm định xác suất xảy ra và tác động của rủi ro, đồng thời tìm cách giải quyết chúng một cách hiệu quả để đảm bảo sản phẩm phần mềm đáp ứng yêu cầu của khách hàng Gần đây, phương pháp quản trị rủi ro hướng mục tiêu (Goal-Driven Approach) đã được áp dụng như một cách tiếp cận mới trong quản lý rủi ro cho các dự án phần mềm.
Luận văn sẽ tìm hiểu về phương pháp này và thử nghiệm ứng dụng trong Dự án xây dựng cổng thông tin điện tử Bộ GTVT.
M ục đích nghiên cứu
Nghiên cứu này nhằm xác định các rủi ro ảnh hưởng đến chi phí và thời gian thực hiện dự án Phân tích rủi ro sẽ được thực hiện bằng phương pháp quản trị rủi ro theo định hướng mục tiêu.
Nghiên cứu này nhằm khám phá quản trị rủi ro, đặc biệt là phương pháp quản trị rủi ro hướng mục tiêu trong các dự án phát triển phần mềm Mục tiêu là xây dựng giải pháp áp dụng phương pháp này trong quá trình thực hiện dự án xây dựng cổng thông tin điện tử của Bộ GTVT, đồng thời thử nghiệm và đánh giá kết quả đạt được.
Nhi ệm vụ nghiên cứu
Nhiệm vụ đầu tiên của tôi là nghiên cứu về quản trị rủi ro trong dự án phần mềm và dự án xây dựng cổng thông tin điện tử của Bộ Giao thông Vận tải, nơi tôi đang làm việc Việc hiểu rõ quy trình quản trị rủi ro sẽ giúp nâng cao hiệu quả và đảm bảo sự thành công của các dự án này.
Nhiệm vụ thứ hai: Tập trung vào phương pháp quản trị rủi ro hướng mục tiêu trong các dự án phát triển phần mềm
Nhiệm vụ thứ ba là xây dựng giải pháp ứng dụng phương pháp quản trị rủi ro hướng mục tiêu trong quá trình thực hiện dự án xây dựng cổng thông tin điện tử của Bộ GTVT Để thực hiện nhiệm vụ này, cần lấy một mô-đun thực tế làm ví dụ, tiến hành thử nghiệm và đánh giá kết quả đạt được.
Ph ạm vi nghiên cứu và giới hạn
Phạm vi nghiên cứu tập trung vào lý thuyết về phương pháp quản trị rủi ro hướng mục tiêu và thử nghiệm áp dụng trong Dự án xây dựng cổng thông tin điện tử Bộ GTVT cho một chức năng cụ thể Mặc dù thông tin có thể thay đổi trong quá trình thực hiện dự án, các số liệu mô hình hóa được xây dựng dựa trên ý kiến chuyên gia và kinh nghiệm cá nhân, do đó không thể mở rộng sự thay đổi hoặc tác động của nó tới dự án Kết quả và số liệu được đưa ra nhằm khuyến cáo cho các chuyên gia CNTT tham gia vào quá trình thực hiện dự án.
Phương pháp nghiên cứu
Nghiên cứu sẽ được thực hiện thông qua việc xây dựng mô hình lý thuyết cho phương pháp quản trị rủi ro hướng mục tiêu, bao gồm việc tập hợp kiến thức lý thuyết, mô hình hóa và phát triển phần mềm minh họa.
Phần mềm mô phỏng và tiếp cận định tính sẽ được áp dụng thông qua ý kiến của các chuyên gia nhằm đưa ra các khuyến cáo hiệu quả cho công tác quản lý rủi ro.
Gi ả thuyết khoa học
Tổng hợp thông tin từ các nguồn uy tín như tạp chí khoa học chuyên ngành trong và ngoài nước, cùng với việc khai thác từ internet, chúng tôi đã lựa chọn những cách tiếp cận đã được áp dụng thành công.
- Trao đổi với thầy hướng dẫn và các chuyên gia tại Trung tâm tin học Bộ Giao thông vận tải
- Tìm hiểu một số dự án cụ thể và nghiên cứu rủi ro trong dự án
- Lập trình thử nghiệm mô hình để kiểm tra, đánh giá độ chính xác
- Thử nghiệm trên các số liệu lấy từ các chuyên gia trong quá trình thực hiện dự án thực tế.
TỔNG QUAN VỀ RỦI RO DỰ ÁN PHẦN MỀM
Qu ản lý rủi ro
1.1.1 Khái ni ệm về rủi ro
Nghiên cứu cho thấy có nhiều định nghĩa khác nhau về rủi ro, chưa có khái niệm thống nhất nào Các quan điểm về rủi ro được chia thành hai trường phái: trường phái truyền thống và hiện đại Trường phái truyền thống định nghĩa rủi ro là thiệt hại, mất mát và những yếu tố liên quan đến nguy hiểm và không chắc chắn Ngược lại, trường phái hiện đại coi rủi ro là sự bất trắc có thể đo lường, vừa tích cực vừa tiêu cực, có thể mang lại tổn thất nhưng cũng tạo ra cơ hội Rủi ro giúp con người nhận thức và nghiên cứu để tìm biện pháp phòng ngừa Rủi ro xảy ra khi có yếu tố gây rủi ro và đối tượng chịu tác động Phạm vi nghiên cứu về rủi ro rất đa dạng, trong bài viết này sẽ tập trung vào rủi ro trong khía cạnh kỹ thuật của các dự án phần mềm.
- Rủi ro có hai thuộc tính chủ yếu là xác suất rủi ro sẽ xuất hiện và tác động của rủi ro nếu nó xuất hiện
Xác suất rủi ro được mô tả bằng tỷ lệ từ 0 đến 8, trong đó xác suất 0 nghĩa là không có khả năng xảy ra, trong khi xác suất 8 biểu thị cho sự chắc chắn xảy ra Các giá trị trong khoảng từ 0 đến 8 cho thấy rủi ro có khả năng xuất hiện với mức độ khác nhau.
Rủi ro có thể được mô tả theo thang điểm từ 0 đến 8, trong đó điểm 0 biểu thị không có tác động và điểm 8 thể hiện tình huống đình chỉ, tức là nguy hiểm nghiêm trọng dẫn đến việc dự án không thể thực hiện.
Sự phát triển và ứng dụng phần mềm đặt cộng đồng vào nhiều mối đe dọa khác nhau:
Sự thất bại trong một dự án phần mềm có thể gây ra lãng phí tài nguyên và thời gian, đồng thời làm mất đi cơ hội kinh doanh quý giá Nguy cơ này được gọi là rủi ro dự án phần mềm, bao gồm cả rủi ro trong phát triển phần mềm và rủi ro liên quan đến dự án công nghệ thông tin.
Thứ hai, đe dọa khác liên quan đến sự an toàn của con người và môi trường
Sự thất bại của hệ thống phần mềm có thể gây ra tai nạn nghiêm trọng, thậm chí dẫn đến mất mạng Đây chính là rủi ro an toàn phần mềm mà chúng ta cần phải nhận thức và quản lý.
Rủi ro bảo mật phần mềm xảy ra khi một dịch vụ của hệ thống bị hỏng hoặc tài nguyên thông tin bị tổn hại, dẫn đến vi phạm tính toàn vẹn của hệ thống Điều này thường là kết quả của các hành động có chủ ý từ phía người tấn công.
1.1.3 Qu ản lý rủi ro
- Các bộ mô hình tiêu chuẩn nổi tiếng được ứng dụng nhiều trong dự án phần mềm:
Trong các dự án công nghệ thông tin, tỉ lệ thành công thường thấp do thiếu sót trong việc phòng ngừa và xử lý các nguy cơ dẫn đến thất bại Quản lý rủi ro đóng vai trò quan trọng trong toàn bộ tiến trình quản lý dự án Cả hai mô hình tiêu chuẩn nổi tiếng, CMMI và PMP, đều coi quản lý rủi ro là một trong những hoạt động cơ bản nhất trong quản trị dự án Quản lý rủi ro đơn giản là cách thức để giảm thiểu tác động của các sự kiện không mong muốn xảy ra trong dự án.
-Tầm quan trọng của quản lý rủi ro:
Quản lý rủi ro là một nghệ thuật kết hợp với khoa học, đóng vai trò quan trọng trong việc đối phó với rủi ro trong các dự án Mặc dù thường bị lãng quên, quản lý rủi ro thực sự giúp nâng cao tỷ lệ thành công của dự án bằng cách lựa chọn những dự án khả thi, xác định phạm vi rõ ràng và phát triển các ước tính thực tế.
-Mục đích của quản lý rủi ro trong kỹ nghệ phần mềm:
Quản lý rủi ro là yếu tố quan trọng giúp dự án tránh thất bại, đảm bảo hoàn thành đúng kế hoạch, không vượt ngân sách và đáp ứng mong đợi của khách hàng Quá trình này bao gồm việc xác định và phân tích các mối đe dọa từ nhiều góc độ khác nhau, từ đó triển khai các chiến lược phù hợp để giảm thiểu và kiểm soát rủi ro Chức năng chính của quản lý rủi ro là dự đoán và đánh giá mức độ nghiêm trọng của các rủi ro có thể ảnh hưởng đến dự án, đồng thời xác định giải pháp ứng phó Việc thiết lập các kế hoạch cho các tình huống có thể xảy ra giúp giảm thiểu tối đa các bất ngờ và vấn đề không mong muốn, từ đó bảo vệ dự án khỏi những sản phẩm lệch lạc hoặc nguy cơ phá hủy toàn bộ công sức đã bỏ ra.
+ Quản lý rủi ro làm giảm tối thiểu khả năng rủi ro, trong khi đó tăng tối đa những cơ hội tiềm năng
Quản lý rủi ro đã tồn tại trong nhiều thập kỷ, nhưng chỉ thực sự trở nên quan trọng đối với cộng đồng phần mềm vào nửa cuối thập kỷ trước Trong những năm đầu thế kỷ trước, các dự án phần mềm thường áp dụng quản lý rủi ro một cách bộc phát, thiếu phương pháp hệ thống Tuy nhiên, với sự gia tăng phức tạp trong phát triển phần mềm, nhiều ngành công nghiệp đã nhận thức được tầm quan trọng của quản lý rủi ro Trước khi triển khai bất kỳ quy trình quản lý rủi ro nào, các thành viên trong nhóm dự án cần hiểu rõ về các hậu quả tiềm tàng của các rủi ro trong dự án của họ.
Sự mất mát trong dự án phần mềm có thể xảy ra khi có rủi ro, dẫn đến thiệt hại về lợi nhuận, thị phần và khách hàng.
-Tính nghiêm trọng của sự mất mát
-Tính lâu dài của các rủi ro
Trong lĩnh vực quản lý rủi ro phần mềm, đã có nhiều mô hình được đề xuất nhằm đánh giá rủi ro ở tất cả các giai đoạn phát triển Những mô hình này được áp dụng một cách có kỷ luật, giúp tăng cường hiệu quả trong việc quản lý rủi ro Các cách tiếp cận này không chỉ cung cấp cái nhìn tổng quan về các rủi ro tiềm ẩn mà còn hỗ trợ trong việc đưa ra các biện pháp phòng ngừa thích hợp.
+ Mô hình quản lý rủi ro của Boehm (Win-Win)
+ Mô hình quản lý rủi ro phần mềm của SEI
Boehm đã đóng góp quan trọng trong lĩnh vực phát triển phần mềm bằng cách đề xuất mô hình phát triển phần mềm dựa trên việc kiểm soát rủi ro Mô hình xoắn ốc của ông giúp loại bỏ nhiều rủi ro ở giai đoạn sớm, ngăn chặn các rào cản dự án ở giai đoạn sau Ông cũng mở rộng mô hình này bằng lý thuyết win-win, nhằm đáp ứng nhu cầu và mối quan tâm của tất cả các bên liên quan.
1991, Boehm cũng đề xuất ra một khung quản lý rủi ro, giúp tìm ra được những nguồn rủi ro chính, phân tích và phân giải chúng
SEI đã phát triển một khuôn khổ quản lý rủi ro phần mềm toàn diện, được chia thành ba nhóm chính: đánh giá rủi ro phần mềm, quản lý rủi ro liên tục và nhóm quản lý rủi ro Khuôn khổ này giúp tổ chức xác định, phân tích và quản lý các rủi ro liên quan đến phần mềm một cách hiệu quả.
Đánh giá rủi ro phần mềm là quá trình quan trọng bao gồm nhận biết, phân tích, giao tiếp và áp dụng các chiến lược giảm thiểu rủi ro Các loại rủi ro trong phần mềm thường gặp bao gồm rủi ro liên quan đến yêu cầu, thiết kế, lập trình, kiểm thử và các rủi ro hợp đồng Việc quản lý rủi ro hiệu quả giúp nâng cao chất lượng sản phẩm phần mềm và giảm thiểu các vấn đề tiềm ẩn trong quá trình phát triển.
Phân lo ại rủi ro trong các dự án phần mềm
Khả năng xuất hiện và tác hại của các rủi ro trong các dự án khác nhau là rất khác nhau Một số rủi ro có thể xảy ra phổ biến nhưng không gây thiệt hại lớn, trong khi những rủi ro khác chỉ xuất hiện trong điều kiện cụ thể nhưng lại có tác động nghiêm trọng Một số rủi ro có thể được phát hiện và tránh khỏi nếu được nhận diện sớm, trong khi những rủi ro khác cần được chấp nhận và có biện pháp ứng phó Các rủi ro rất đa dạng, xuất phát từ nhiều nguồn khác nhau, cả bên ngoài lẫn bên trong dự án Theo phân tích của Viện công nghệ phần mềm Mỹ SEI, các rủi ro thường được phân loại thành ba nhóm chính.
- Nhóm các mối ràng buộc và cam kết,
- Nhóm về kỹ thuật phát triển phần mềm,
- Nhóm về môi trường phát triển dự án
1.2.1 Nhóm các m ối ràng buộc và cam kết
Rủi ro trong dự án bao gồm các yếu tố bên trong và bên ngoài, ảnh hưởng đến nguồn lực, thời gian, nhân lực, ngân sách và phương tiện tài trợ Các vấn đề hợp đồng như điều khoản cam kết, thời hạn thực hiện, yêu cầu nghiệm thu và thay đổi phạm vi cũng là những rủi ro quan trọng Bên cạnh đó, các cam kết và ràng buộc với khách hàng, thầu phụ và ban giám đốc cũng cần được xem xét Những rủi ro này thường gặp trong thực tế và cần được quản lý chặt chẽ để đảm bảo thành công của dự án.
Thời gian thực hiện dự án thường bị áp lực do thời hạn bàn giao sản phẩm quá ngắn, điều này có thể xảy ra ngay từ đầu hoặc trong quá trình thực thi Các rủi ro này thường liên quan đến các cam kết cấp cao, sự thiếu dữ liệu để ước lượng chính xác, hoặc việc áp dụng công nghệ mới với độ phức tạp cao, dẫn đến việc các rủi ro này gần như có thể được dự đoán trước.
Kiểm thử phần mềm là một giai đoạn quan trọng và tốn nhiều thời gian, đặc biệt trong các giai đoạn cuối của dự án Tuy nhiên, nhiều dự án thường gặp khó khăn về thời gian và nguồn nhân lực cho giai đoạn này Rủi ro trong kiểm định phần mềm thường xuất phát từ tính chất đặc thù của dự án, chẳng hạn như khả năng sinh lỗi cao hoặc yêu cầu thay đổi quá nhiều.
1.2.2 Nhóm v ề kỹ thuật phát triển phần mềm
Rủi ro liên quan đến kỹ thuật phát triển phần mềm bao gồm nhiều yếu tố như công nghệ mới, yêu cầu không rõ ràng, và thiết kế không tuân thủ tiêu chuẩn Những rủi ro này thường dẫn đến hiểu lầm giữa các bên liên quan và sự khác biệt lớn so với ước lượng ban đầu Thiết kế không phản ánh đúng yêu cầu có thể khiến phần mềm hoạt động kém hiệu quả và chứa nhiều lỗi nội tại Trong giai đoạn tích hợp và kiểm định, sản phẩm có thể gặp phải sai sót hoặc lỗi tiềm ẩn do kiểm định chưa hoàn tất Ngoài ra, các yêu cầu đặc biệt về tính an toàn, ổn định và bảo mật dữ liệu cũng là những yếu tố rủi ro quan trọng trong quá trình phát triển phần mềm.
Yêu cầu khó hiểu và thường xuyên thay đổi là một trong những rủi ro phổ biến nhất trong các dự án, dẫn đến việc kéo dài thời gian thực hiện hoặc thậm chí thất bại Rủi ro này phát sinh từ nhiều trạng thái khác nhau, gây ra sự hiểu lầm, bỏ sót hoặc quá tải trong việc tiếp nhận và xử lý các yêu cầu và thay đổi của dự án.
-Không đủ, không rõ ràng, văn phong trừu tượng, thiếu dữ liệu
-Mâu thuẫn nhau, thiếu chặt chẽ hoặc qúa sơ sài
-Thay đổi quá nhiều và thường xuyên (hằng ngày, hằng tuần)
-Thay đổi sát lúc hoàn thành dự án
-Tài liệu yêu cầu quá đồ sộ, do nhiều người tham gia
Kiểm thử mức đơn vị (unit test) thường bị bỏ qua trong nhiều dự án, gây ra rủi ro lớn Lập trình viên cần thực hiện kiểm định này trước khi bàn giao sản phẩm để đảm bảo chất lượng cho giai đoạn kiểm định hệ thống (system test) Tuy nhiên, do yêu cầu thời gian, kiểm thử mức đơn vị thường bị giám sát lỏng lẻo, dẫn đến khả năng xuất hiện lỗi phần mềm tiềm ẩn khó phát hiện Những lỗi này có thể gây khó khăn trong quá trình sửa chữa khi phần mềm đi vào hoạt động, và nếu cần chỉnh sửa, sẽ tốn rất nhiều công sức.
1.2.3 Nhóm v ề môi trường phát triển dự án
Các rủi ro trong việc thực thi dự án bao gồm bất đồng ngôn ngữ, công nghệ mới chưa quen thuộc, phong cách quản lý không phù hợp, và môi trường truyền thông yếu kém Ngoài ra, việc thiếu phần mềm do vấn đề bản quyền, không gian làm việc chật chội và nóng bức, cũng như sự thiếu hụt hệ thống sao lưu dữ liệu và nguồn điện dự phòng đều có thể gây ảnh hưởng nghiêm trọng đến tiến độ và chất lượng dự án.
Các rủi ro trong dự án thường liên quan đến bốn vấn đề chính: Thứ nhất là quy trình, bao gồm kế hoạch phát triển, tài liệu, tuân thủ quy trình, và giao tiếp giữa các nhóm; Thứ hai là kỹ thuật, liên quan đến ngôn ngữ lập trình, phần mềm bản quyền, và công nghệ mới; Thứ ba là môi trường làm việc, bao gồm văn hóa, thói quen, và tinh thần hợp tác của nhân viên; Cuối cùng là nhân lực, liên quan đến trình độ, kỹ năng, kinh nghiệm, và các xung đột ngôn ngữ Một số rủi ro thường gặp trong thực tế có thể được minh họa từ những vấn đề này.
Nhân viên thiếu kiến thức và kinh nghiệm có thể gây ra rủi ro lớn cho dự án, đặc biệt là đối với những nhân viên mới Trình độ và kinh nghiệm yếu kém không đáp ứng được yêu cầu khắt khe của các dự án phức tạp, đặc biệt là những dự án sử dụng công nghệ và kỹ thuật mới Để phát triển thành công, nhân viên cần phải có hiểu biết sâu sắc về hệ thống hiện có và khả năng áp dụng kiến thức vào thực tiễn.
Rào cản ngôn ngữ là một rủi ro tự nhiên thường gặp trong các dự án hợp tác với đối tác nước ngoài Trong khi rủi ro liên quan đến tiếng Anh có thể được khắc phục nhờ khả năng làm việc với tài liệu tiếng Anh của hầu hết kỹ sư, thì những khó khăn lớn nhất thường phát sinh từ giao tiếp trực tiếp Ngược lại, rủi ro liên quan đến tiếng Nhật và tiếng Pháp cần được chú ý đặc biệt do mức độ nghiêm trọng của chúng, vì hầu hết kỹ sư không thể hiểu và làm việc trực tiếp bằng các ngôn ngữ này, dẫn đến việc phải sử dụng kỹ sư cầu nối để hỗ trợ giao tiếp.
Quy trình qu ản lý rủi ro
Để nhận diện và kiểm soát rủi ro hiệu quả, chỉ dựa vào kỹ năng và kinh nghiệm cá nhân là không đủ Quy trình kiểm soát rủi ro cần phải được thực hiện một cách chặt chẽ, phù hợp với đặc thù, mục tiêu và ngân sách của từng dự án.
Quy trình quản lý rủi ro bao gồm các bước chính, được minh họa trong Hình 1.1 Ở mức độ chi tiết hơn, quy trình này không chỉ bao gồm các bước mà còn thể hiện trình tự xử lý và mối quan hệ giữa chúng, như thể hiện trong Hình 1.2.
Hình 1.1: Quy trình cơ bản quản lý rủi ro cơ bản
Hình 1.2: Mối quan hệ và trình tự trong quy trình kiểm soát rủi ro [3]
1.3.1 Nh ận diện rủi ro
Nhận diện rủi ro là quy trình quan trọng trong quản lý dự án, giúp xác định và ghi chép các rủi ro có thể ảnh hưởng đến dự án Quá trình này không chỉ bao gồm việc nhận diện các rủi ro mà còn tài liệu hóa các đặc điểm của chúng để có thể quản lý hiệu quả.
Những người tham gia vào việc nhận diện rủi ro bao gồm đội dự án, đội quản lý rủi ro, chuyên gia từ các bộ phận khác, khách hàng, người dùng cuối, quản lý dự án khác, các bên liên quan, và chuyên gia bên ngoài.
Phát triển các biện pháp ứng phó rủi ro có thể đơn giản và hiệu quả khi các rủi ro đã được nhận diện Tuy nhiên, việc xác định chính xác các nguồn phát sinh rủi ro lại không hề dễ dàng Thông thường, rủi ro xuất phát từ nhiều nguồn khác nhau.
-Ngân sách - nguồn tài trợ cho dự án
-Thời gian thực hiện dự án
-Thay đổi về phạm vi và yêu cầu dự án
-Khó khăn về kỹ thuật
-Hợp đồng giữa các bên
-Môi trường, luật pháp, chính trị, văn hoá
• K ỹ thuật nhận diện rủi ro Để nhận diện được rủi ro có nhiều kỹ thuật được áp dụng Các kỹ thuật được sử dụng rộng rãi bao gồm:
Danh sách kiểm tra là công cụ hữu ích để nhận diện rủi ro, được xây dựng dựa trên thông tin lịch sử và kinh nghiệm từ các dự án tương tự Việc sử dụng danh sách kiểm tra giúp quá trình nhận diện rủi ro trở nên nhanh chóng và đơn giản hơn.
Một nhược điểm của danh sách kiểm tra là không thể liệt kê đầy đủ các rủi ro, khiến người dùng có thể bị giới hạn trong việc đánh giá hiệu quả Do đó, cần phải cẩn thận khám phá những mục không có trong danh sách kiểm tra tiêu chuẩn nếu chúng có thể liên quan đến dự án cụ thể Danh sách kiểm tra nên ghi rõ từng loại rủi ro có thể xảy ra trong dự án Việc rà soát lại danh sách kiểm tra như một bước chính thức trong quy trình kết thúc dự án là rất quan trọng, nhằm cải thiện danh sách rủi ro tiềm ẩn và nâng cao chất lượng mô tả về các rủi ro.
Kỹ thuật này cho phép tham khảo kinh nghiệm từ bên ngoài, trong đó việc sử dụng bảng phân loại và liệt kê các rủi ro phổ biến từ Viện Kỹ thuật Phần mềm Hoa Kỳ (SEI) là một trong những phương pháp hiệu quả nhất.
Động não là kỹ thuật phổ biến để nhận diện rủi ro, nhằm tạo ra danh sách toàn diện cho quá trình phân tích rủi ro định tính và định lượng Đội dự án thường xuyên thực hiện động não, nhưng cũng có thể có sự tham gia của một nhóm chuyên gia đa ngành Dưới sự dẫn dắt của một người điều hành, các thành viên đưa ra ý tưởng về rủi ro của dự án Các nguồn gốc rủi ro được xác định rộng rãi và được xem xét trong cuộc họp Sau đó, các rủi ro này được phân loại và định nghĩa một cách chính xác hơn.
Rủi ro có thể được xác định một cách trực tiếp bởi các chuyên gia có kinh nghiệm phù hợp với dự án hoặc lĩnh vực kinh doanh cụ thể.
Người quản lý dự án cần xác định và mời các chuyên gia để xem xét toàn diện các khía cạnh của dự án, đồng thời đề xuất các rủi ro tiềm ẩn dựa trên kinh nghiệm và chuyên môn của họ Các đánh giá mang tính chủ quan của các chuyên gia cũng nên được ghi chép lại trong quá trình này.
Phân tích SWOT là một kỹ thuật quan trọng giúp đánh giá dự án thông qua việc xem xét các điểm mạnh, điểm yếu, cơ hội và mối đe dọa Kỹ thuật này bắt đầu bằng việc xác định các yếu tố nội tại của tổ chức, từ đó xác định cơ hội mà dự án có thể tận dụng và những mối đe dọa tiềm ẩn do điểm yếu gây ra Phân tích SWOT không chỉ giúp hiểu rõ cách mà các điểm mạnh có thể bù đắp cho các mối đe dọa mà còn chỉ ra những cơ hội để cải thiện các điểm yếu, từ đó tăng cường khả năng nhận diện và quản lý rủi ro trong dự án.
Mỗi dự án đều dựa trên một tập hợp giả thiết, kịch bản và giả định, do đó, phân tích giả thiết là kỹ thuật quan trọng để đánh giá tính hợp lệ của chúng Kỹ thuật này giúp nhận diện các rủi ro có thể phát sinh từ những giả thiết không chính xác, không thống nhất hoặc không đầy đủ, từ đó nâng cao khả năng thành công của dự án.
Trong quá trình quản lý dự án, việc tập hợp các bài học kinh nghiệm là rất quan trọng để xác định và đối mặt với các yếu tố rủi ro Chúng ta cần tham khảo các bài học kinh nghiệm có sẵn trong tổ chức khi lập kế hoạch cho dự án Bên cạnh đó, việc trao đổi với các nhà quản lý dự án, kiến trúc sư phần mềm, lãnh đạo nhóm, thành viên dự án và khách hàng cũng đóng vai trò quan trọng trong việc nâng cao hiệu quả quản lý rủi ro.
Trong phạm vi có thể, cần hiểu rõ các yếu tố rủi ro xã hội và chính trị mà có thể không được đề cập trong các bài học kinh nghiệm Những yếu tố này đóng vai trò quan trọng trong việc đánh giá và quản lý rủi ro, giúp đưa ra các quyết định sáng suốt hơn trong bối cảnh xã hội và chính trị hiện nay.
1.3.2 Phân tích r ủi ro và xếp hạng
Gi ới thiệu về dự án xây dựng cổng thông tin điện tử Bộ GTVT
1.4.1 Gi ới thiệu dự án
Cổng thông tin điện tử của Bộ Giao thông vận tải được nâng cấp nhằm cải thiện chất lượng và hiệu quả truyền thông, đồng thời tích hợp các kênh thông tin, ứng dụng và dịch vụ công trực tuyến phục vụ quản lý nhà nước Cổng thông tin này hướng đến việc cung cấp thông tin đầy đủ và kịp thời cho người dân và doanh nghiệp, tuân thủ quy định tại Nghị định 43/2011/NĐ-CP về cung cấp thông tin và dịch vụ công trực tuyến.
Cổng thông tin điện tử Bộ Giao thông vận tải kế thừa toàn bộ tính năng và dữ liệu của hệ thống Trang thông tin điện tử, đồng thời bổ sung các ứng dụng mới để đáp ứng nhu cầu hiện tại và khả năng phát triển trong tương lai Cổng thông tin này bao gồm hơn 20 chuyên trang, chuyên mục và tiện ích, tích hợp các trang thông tin chuyên ngành, cơ sở dữ liệu chuyên ngành cùng các dịch vụ công trực tuyến Đặc biệt, cổng thông tin lần đầu tiên giới thiệu các chuyên trang và chuyên mục mới.
Bộ Giao thông vận tải với công dân; Giao lưu, phỏng vấn trực tuyến; Thủ tục hành chính
1.4.2 Các m ục tiêu và yêu cầu
Cổng thông tin điện tử Bộ Giao thông Vận tải được xây dựng cần đáp ứng được đầy đủ các mục tiêu và yêu cầu cơ bản sau:
- Đảm bảo tạo ra một địa chỉ cung cấp những thông tin, dịch vụ công của Bộ cho người dân và doanh nghiệp
- Nâng cao chất lượng công tác thông tin, tuyên truyền về các lĩnh vực thuộc phạm vi quản lý nhà nước của Bộ GTVT
Liên kết và tích hợp các kênh thông tin, ứng dụng, và dịch vụ công trực tuyến của các cơ quan thuộc Bộ nhằm cung cấp thông tin đầy đủ và nâng cao hiệu quả quản lý nhà nước.
- Là trung tâm cho phép tích hợp thông tin, dữ liệu từ trang thông tin điện tử hoặc công thông tin của các đơn vị trực thuộc Bộ
Hỗ trợ các đơn vị và cán bộ công chức trong Bộ cung cấp thông tin theo thẩm quyền, đồng thời tham gia quản trị Cổng thông tin điện tử.
- Tạo ra môi trường tương tác 2 chiều giữa Bộ với các cá nhân, tổ chức
Nền tảng cho sự phát triển mở rộng về số lượng chuyên mục thông tin và dịch vụ công, cùng với mức độ tương tác hai chiều giữa Bộ và công dân, doanh nghiệp, sẽ góp phần quan trọng vào việc đơn giản hóa thủ tục hành chính, hướng tới hoàn thiện mô hình Chính phủ điện tử của Bộ.
1.4.3 Các n ội dung cụ thể
Việc xây dựng Cổng thông tin điện nhằm đáp ứng một số nội dung cụ thể như sau:
- Cổng thông tin điện tử ứng các nội dung quy định tại Điều 28 Luật công nghệ thông tin, Điều 4 của Nghị định số 43/2011/ NĐ- CP ngày 13/6/2011 của
Chính phủ đã ban hành quy định về việc cung cấp thông tin và dịch vụ công trực tuyến thông qua các trang thông tin điện tử hoặc cổng thông tin điện tử của các cơ quan nhà nước.
Bộ cung cấp các kênh trao đổi thông tin hiệu quả giữa cơ quan và người dân, doanh nghiệp, nhằm hỗ trợ việc chia sẻ thông tin, dịch vụ và thu thập ý kiến về các văn bản quy phạm pháp luật.
Xây dựng một nền tảng vững chắc là điều cần thiết để Bộ có thể mở rộng số lượng và chất lượng thông tin theo thời gian, phù hợp với sự phát triển hàng năm.
- Giúp thống nhất, tập hợp các trang thông tin thành phần và nội dung thông tin của các đơn vị trực thuộc Bộ thành một hệ thống thống nhất
Cung cấp cơ chế mở giúp dễ dàng kết nối và trao đổi thông tin với Cổng thông tin Chính phủ, cũng như các Cổng thông tin điện tử và Trang thông tin điện tử của các đơn vị liên quan.
Tổ chức tập huấn cho lãnh đạo và chuyên viên nhằm nâng cao khả năng sử dụng Cổng thông tin điện tử Đào tạo đội ngũ cán bộ chuyên trách để quản lý và vận hành hiệu quả Cổng thông tin điện tử.
- Đảm bảo các yêu cầu, tiêu chuẩn công nghệ hiện hành về cổng thông tin điện tử.
Ti ểu kết chương
Chương này trình bày lý thuyết cơ bản về rủi ro trong dự án phần mềm, bao gồm các yếu tố rủi ro và quy trình nhận diện cũng như quản lý rủi ro Đồng thời, tôi cũng đề cập đến dự án xây dựng cổng thông tin điện tử của Bộ Giao thông Vận tải.
Trong chương tiếp theo, tôi sẽ phân tích chi tiết về phương pháp quản trị rủi ro hướng mục tiêu và áp dụng thử nghiệm trong quá trình xây dựng cổng thông tin điện tử của Bộ Giao thông Vận tải.
PHƯƠNG PHÁP QUẢN TRỊ RỦI RO HƯỚNG MỤC TIÊU
T ổng quan về quản trị rủi ro hướng mục tiêu
2.1.1 Mô hình quan h ệ của quản trị rủi ro hướng mục tiêu
Hình 2.1: Mô hình quan hệ của phương pháp quản trị rủi ro hướng mục tiêu [4]
Mô hình trong Hình 2.1 minh họa các mức độ trừu tượng từ mục tiêu (Goals) đến trở ngại (Obstacle) và cuối cùng là điều trị và theo dõi (Treatment and monitor).
* Mục tiêu (Goals): mục đích kỳ vọng và hạn chế của các thành phần phát triển (development components)
Trở ngại (Obstacle) là những yếu tố rủi ro, bao gồm các vấn đề trực tiếp hoặc gián tiếp, có thể cản trở việc đạt được mục tiêu và gây ra khó khăn trong quá trình phát triển phần mềm.
Hậu quả là những sự kiện không mong muốn phát sinh từ các trở ngại và rủi ro trước đó, và những sự kiện này tiếp tục tạo ra những tác động tiêu cực đến các mục tiêu đã đề ra.
Điều trị và theo dõi rủi ro là quá trình kiểm soát và giảm thiểu các hậu quả tiêu cực, đồng thời hướng tới việc đạt được các mục tiêu đã đề ra Việc điều trị rủi ro không chỉ bao gồm các biện pháp kiểm soát mà còn cần theo dõi hiệu quả của chúng, giúp phát hiện kịp thời các rủi ro mới có thể phát sinh trong quá trình phát triển.
Có ba chế độ xem mô hình khác nhau được hình thành từ quản trị rủi ro theo mục tiêu, liên quan đến các mục tiêu cụ thể, những trở ngại gặp phải và mối quan hệ nhân quả giữa chúng.
Mô hình mục tiêu (Goal model) là một phương pháp quan trọng trong việc xác định và phân tích các mong đợi, mục tiêu và thách thức của các thành phần phát triển, các bên liên quan và môi trường kinh doanh liên quan đến sự thành công của dự án Qua việc phân tích từ các mục tiêu cao đến thấp, mô hình này giúp định lượng các mục tiêu và thể hiện sự tương tác giữa chúng Mô hình được trình bày qua một sơ đồ, thể hiện các mục tiêu cùng với mối liên kết từ các mục tiêu cấp cao đến cấp thấp hơn, tạo ra cái nhìn rõ ràng về cấu trúc mục tiêu trong dự án.
Mô hình trở ngại (Obstacle model) xác định và phân tích các trở ngại trong quá trình phát triển phần mềm, chịu trách nhiệm cho những sự kiện không mong muốn xảy ra Các trở ngại này được ưu tiên dựa trên các mục tiêu đã được xác định, đồng thời chúng cũng được xây dựng từ các yếu tố rủi ro liên quan Mô hình trở ngại mô tả mối liên hệ giữa các trở ngại và mục tiêu, cũng như giữa các yếu tố rủi ro và sự kiện rủi ro, giúp quản lý hiệu quả hơn trong dự án phát triển phần mềm.
Mô hình mối quan hệ nhân quả (Causal relationship model) giúp xác định các yếu tố rủi ro có thể dẫn đến nhiều sự kiện rủi ro, ảnh hưởng tiêu cực đến các mục tiêu Mô hình này cho phép chúng ta mô phỏng mối quan hệ giữa các sự kiện rủi ro và các yếu tố liên quan, cũng như cách mà chúng cản trở mục tiêu Qua đó, mô hình mô tả sự liên kết giữa các yếu tố nguy cơ và trách nhiệm của chúng đối với sự xuất hiện của các sự kiện rủi ro.
2.1.2.Mô hình l ớp của quản trị rủi ro hướng mục tiêu: a) Lớp mục tiêu (Goals Layer)
Lớp mục tiêu đóng vai trò quan trọng trong việc xác định các yếu tố quyết định đến sự thành công của dự án Những mục tiêu này không chỉ hướng dẫn các hoạt động cần thực hiện mà còn giúp nhân viên hiểu rõ trách nhiệm của mình trong việc đạt được các kết quả mong muốn Việc thiết lập mục tiêu rõ ràng là cần thiết để đảm bảo hiệu quả và sự hoàn thành của dự án.
Mục tiêu trong GSRM là xác định trọng số của các thành phần phát triển phần mềm như thực hiện dự án, quy trình, sản phẩm, con người và môi trường, đồng thời lập bản đồ cho các chỉ số thành công của dự án Hoạt động chính là xác định và mô hình hóa các mục tiêu, tuy nhiên, các bên liên quan cần đồng ý về kế hoạch quản lý rủi ro trước khi xác định mục tiêu cụ thể Mô hình hóa mục tiêu hỗ trợ tạo ra các mục tiêu cấp thấp thông qua AND hoặc OR, giúp dễ dàng xác định và phân tích các yếu tố nguy cơ Biểu diễn đồ thị của quá trình sàng lọc mục tiêu là cốt lõi của mô hình, và sự thỏa mãn các mục tiêu phụ sẽ dẫn đến việc đạt được mục tiêu chính Những mục tiêu phụ này rất quan trọng cho sự thành công của dự án và cần được ưu tiên theo tầm quan trọng của chúng.
Trở ngại là những nguyên nhân chính làm giảm khả năng đạt được mục tiêu, bao gồm các yếu tố nguy cơ dẫn đến sự phủ định mục tiêu và gây ra vấn đề trong dự án Chúng cần được liên kết với các mục tiêu đã xác định và mô hình tình trạng để hiểu rõ hơn về các yếu tố rủi ro Mô hình trở ngại cũng được tinh chỉnh nhằm cung cấp cái nhìn tổng quan về các yếu tố nguy cơ hiện có trong dự án Việc xác định càng nhiều yếu tố nguy cơ càng tốt là rất quan trọng, nhằm lựa chọn các hành động kiểm soát phù hợp từ giai đoạn đầu Trong phát triển phần mềm, các yếu tố rủi ro như sự không hài lòng, thiếu tính đầy đủ, thông tin sai lệch và không chính xác là những trở ngại cần được chú ý.
Lớp trở ngại hỗ trợ nhận diện rủi ro và GSRM thông qua một danh sách câu hỏi toàn diện, được sắp xếp theo phân cấp để xác định các yếu tố nguy cơ Quá trình này giúp phân loại và nhóm các yếu tố rủi ro vào cùng một loại Cần lưu ý rằng một số yếu tố nguy cơ có thể không trực tiếp cản trở mục tiêu cụ thể nhưng vẫn gây ra vấn đề trong quá trình phát triển.
Lớp này cho phép các rủi ro được thể hiện như các yếu tố nguy cơ trong cùng một dự án và là yếu tố có thể sử dụng lại Ví dụ về các trở ngại như sự tin tưởng giữa khách hàng và người hành nghề có thể ảnh hưởng đến mối liên kết giữa các yếu tố nguy cơ và mục tiêu phụ Một trở ngại có thể liên quan đến nhiều mục tiêu, điều này cần được thể hiện qua các lớp trở ngại rủi ro, vì nó cung cấp thông tin quan trọng cho các biện pháp điều trị hiệu quả Xác định, phân loại và mô hình hóa các yếu tố rủi ro là nhiệm vụ chính của lớp này Tuy nhiên, việc xác định rủi ro không đủ để chỉ định các hành động kiểm soát, vì các yếu tố nguy cơ cần được định lượng để xác định mức độ nghiêm trọng Do đó, các trở ngại đã xác định sẽ được phân tích sâu hơn trong lớp đánh giá.
Các lớp đánh giá phân tích các sự kiện rủi ro phát sinh từ nhiều yếu tố nguy cơ đến mục tiêu, với việc định lượng rủi ro là bước đầu tiên quan trọng Do tính chủ quan trong lĩnh vực công nghệ phần mềm, lớp này chú thích từng rủi ro và thiết lập mô hình mối quan hệ nhân quả giữa các yếu tố nguy cơ và sự kiện rủi ro, tập trung vào mức độ nghiêm trọng của rủi ro ảnh hưởng đến mục tiêu Đối với các dự án phát triển phần mềm ưu tiên cao, việc nhận diện và sàng lọc trở ngại là cần thiết Mạng Belief Bayesian được sử dụng để mô hình hóa các yếu tố nguy cơ thành các nút xác suất, trong đó mỗi sự kiện rủi ro được đặc trưng bởi khả năng và tác động Một yếu tố rủi ro có thể dẫn đến nhiều sự kiện rủi ro và ngược lại, cho phép mô hình hóa tình huống một sự kiện bị ảnh hưởng bởi nhiều yếu tố rủi ro Liên kết cản trở từ sự kiện rủi ro đến mục tiêu cụ thể giúp xây dựng mô hình nguy cơ - mục tiêu, tinh chỉnh các yếu tố rủi ro và sự cản trở của chúng tới các mục tiêu, với sự tinh chỉnh trở ngại thực hiện ngược lại so với tinh chỉnh mục tiêu.
Tinh chỉnh trở ngại mang lại lợi ích lớn khi giúp chúng ta không cần phân tích từng yếu tố rủi ro một cách riêng biệt, điều này rất quan trọng trong bối cảnh thực tế của dự án, đặc biệt khi ngân sách và nguồn lực bị hạn chế Việc này giúp tối ưu hóa quá trình quản lý rủi ro và tăng cường khả năng ứng phó hiệu quả.
Mô hình quy trình và ho ạt động thực hiện của phương pháp
Quản lý rủi ro dựa trên mục tiêu được thực hiện theo trình tự lặp lại, với các hoạt động, nhiệm vụ và bước đi rõ ràng trong mô hình quy trình Bước khởi đầu bao gồm việc khởi tạo các hoạt động quản lý rủi ro trong suốt quá trình yêu cầu - kỹ thuật Khi các bên liên quan đồng ý với kế hoạch quản lý rủi ro, các hoạt động tiếp theo sẽ được thực hiện theo thứ tự đã định.
Hình 2.3: Mô hình của phương pháp quản trị rủi ro hướng mục tiêu [4]
2.2.1 Ho ạt động 1: Khởi tạo
Hoạt động này tập trung vào việc phê duyệt quản lý rủi ro trong dự án phát triển phần mềm, yêu cầu sự tham gia tích cực của ban quản lý và quản lý dự án Điều này nhấn mạnh tầm quan trọng của việc quản lý rủi ro ngay từ giai đoạn đầu của quá trình phát triển Một trong những bước quan trọng là xác định các rủi ro có thể xảy ra trong dự án.
Trong giai đoạn lập kế hoạch dự án, nhiệm vụ này thường được thực hiện Tuy nhiên, nếu nhiệm vụ chưa được thực hiện trước đó, GSRM sẽ xem xét nó trước khi xác định phạm vi quản lý rủi ro.
Mỗi dự án đều hướng tới mục tiêu chung là không bị lỗ vốn Bên cạnh đó, nhiều tổ chức thực hiện các dự án nhằm tích lũy kinh nghiệm, kiến thức và nâng cao danh tiếng để thúc đẩy sự phát triển kinh doanh trong tương lai Tuy nhiên, bất kể lợi ích nào đạt được, hầu hết các dự án đều chú trọng vào việc hoàn vốn đầu tư.
Trong giai đoạn lập kế hoạch dự án, việc phân tích tính khả thi về mặt kinh tế, bao gồm chi phí và lợi ích tiềm tàng, cũng như chất lượng và tính khả thi kỹ thuật, là rất quan trọng Bên cạnh đó, quản lý rủi ro cũng cần được thực hiện theo kế hoạch để đảm bảo sự thành công của dự án.
Nhiệm vụ của GSRM được khởi động trong giai đoạn phát triển ban đầu, tập trung vào việc xác nhận các thông số quan trọng từ người quản lý dự án và các bên liên quan Những thông số này bao gồm phạm vi quản lý rủi ro, các sự kiện rủi ro chung và các ngưỡng giới hạn cần thiết.
Trong giai đoạn khởi xướng dự án, các mục tiêu kinh doanh và phạm vi dự án cần được xác định rõ ràng, cùng với việc chuẩn bị tầm nhìn hệ thống để khách hàng phê duyệt Các yếu tố quan trọng như lịch trình, nguồn lực, và chiến lược điều trị rủi ro cũng phải được xem xét Các hiện vật dự án, bao gồm tài liệu ủy quyền như kế hoạch dự án, ngân sách, và thông tin liên quan, là cần thiết để xác định các tham số khởi tạo rủi ro.
2.2.2 Ho ạt động 2: Xác định mục tiêu
Khi khởi tạo kế hoạch quản lý rủi ro, bước tiếp theo là xác định và mô hình hóa các mục tiêu dự án, tập trung vào trạng thái của các thành phần phát triển Hoạt động này giúp xác định kỳ vọng và ràng buộc của hệ thống yếu tố thành phần, cho phép các thành viên dự án đóng góp vào việc hoàn thành những ràng buộc này để đạt được sự phát triển thành công Quá trình này bao gồm hai nhiệm vụ chính: xác định và phân loại mục tiêu, cùng với việc mô hình hóa chúng Các mục tiêu cần được tinh chỉnh để phản ánh mong đợi của các bên liên quan, yếu tố thành công của dự án, phạm vi và mục đích kinh doanh Xây dựng mục tiêu một cách chi tiết sẽ giúp dễ dàng nhận diện các trở ngại trong bất kỳ bối cảnh nào.
Các mục tiêu chủ yếu là những kỳ vọng và ràng buộc từ dự án bản văn, giúp xác định và phân loại các mục tiêu phát triển Chúng tôi đề xuất một bộ quy tắc hỗ trợ công việc này và khuyến khích việc áp dụng trong suốt quá trình quản lý rủi ro Bên cạnh đó, việc xây dựng mô hình mục tiêu là cần thiết để đạt được hiệu quả cao trong các dự án.
Các mục tiêu trong phát triển phần mềm cần được liên kết chặt chẽ để xác định vai trò của chúng trong việc hoàn thành các hoạt động Đôi khi, một số mục tiêu có thể quá trừu tượng, làm cho việc hiểu rõ ý nghĩa của chúng trở nên khó khăn Do đó, việc tinh chỉnh các mục tiêu ban đầu là cần thiết để làm rõ hơn về đóng góp của chúng cho sự thành công của dự án Chẳng hạn, quản lý ngân sách phát triển là một mục tiêu quan trọng, nhưng các bên liên quan có thể thấy rằng nó cần những chi tiết cụ thể hơn Việc này đòi hỏi phải xác định các mục tiêu phụ như mốc thời gian rõ ràng và ước lượng chính xác, nhằm đảm bảo rằng chúng hỗ trợ cho mục tiêu chính Nhiệm vụ này tập trung vào việc sàng lọc và thiết lập mối liên kết giữa các mục tiêu phụ và mục tiêu chính.
Sàng lọc (refinement) được thực hiện bằng cách xác định mục tiêu trừu tượng thông qua các câu hỏi WHY, nhằm đạt được các mục tiêu cha mẹ từ sự đóng góp của các mục tiêu phụ Đồng thời, có thể xây dựng sàng lọc bằng cách đặt câu hỏi HOW, tức là làm thế nào các mục tiêu cha mẹ có thể đạt được thông qua các mục tiêu phụ Trong mô hình điểm mục tiêu, tùy thuộc vào ngữ cảnh, tính năng AND và OR có thể được áp dụng Sàng lọc AND yêu cầu tất cả các mục tiêu phụ phải được đáp ứng để đạt được mục tiêu cao hơn, trong khi sàng lọc OR cho phép đạt được mục tiêu cao hơn bằng cách đáp ứng bất kỳ mục tiêu phụ nào Việc xác định các mục tiêu chi tiết hơn sẽ giúp dễ dàng nhận diện các trở ngại và phương pháp điều trị Mô hình hỗ trợ liên kết đóng góp đi từ mục tiêu phụ tới mục tiêu cha mẹ.
2.2.3 Ho ạt động 3: Xác định trở ngại
Hoạt động này nhằm xác định và phân loại các yếu tố nguy cơ cản trở các mục tiêu đã được xác định, mô hình hóa chúng như các liên kết cản trở mục tiêu Để thực hiện điều này, chúng ta dựa vào hệ thống phân cấp yếu tố thành phần phát triển Hoạt động này bao gồm hai nhiệm vụ khác nhau, trong đó nhiệm vụ đầu tiên là xác định và phân loại các yếu tố rủi ro.
Trong giai đoạn đầu phát triển, việc xác định và phân loại các trở ngại chính là rất quan trọng để đảm bảo mục tiêu không bị cản trở Cần nhận diện nhiều trở ngại để nhóm phát triển có thể hiểu rõ các vấn đề tiềm ẩn Hai đặc tính quan trọng của các trở ngại là tính đầy đủ (completeness) và tính nhất quán (consistency) Tính đầy đủ xác định rằng các trở ngại đã được nhận diện có đủ để cản trở một mục tiêu cụ thể, trong khi tính nhất quán đảm bảo rằng không có xung đột giữa các trở ngại đã xác định, nghĩa là một trở ngại tương tự không nên được đặt tên khác nhau.
Tính đầy đủ và nhất quán của các trở ngại trong dự án phát triển phần mềm phụ thuộc vào kiến thức đầy đủ về nguy cơ phần mềm và bối cảnh dự án Để hỗ trợ hai thuộc tính này, cần phân loại tất cả các trở ngại theo hệ thống phân cấp component-element-factor Có nhiều loại trở ngại ảnh hưởng đến mục tiêu dự án, và mỗi loại trở ngại sẽ bị ảnh hưởng bởi loại mục tiêu tương ứng Ví dụ, nếu sự hài lòng là mục tiêu, thì sự không hài lòng sẽ phản ánh các vấn đề ngược lại Các rủi ro xác định có thể lớn và đại diện cho các yếu tố nguy cơ từ các quan điểm khác nhau, vì vậy cần phân loại các yếu tố nguy cơ theo mối liên hệ với các mục tiêu phát triển Cuối cùng, việc xây dựng mô hình Mục tiêu-rủi ro (Goals-risk) là cần thiết để quản lý hiệu quả các yếu tố này.
Mô hình rủi ro mục tiêu mở rộng mô hình mục tiêu bằng cách tích hợp các cản trở từ những trở ngại đối với các mục tiêu Tương tự như việc sàng lọc mục tiêu, các trở ngại được tinh chỉnh thông qua các phương pháp AND và OR Tinh chỉnh AND cho phép nhiều trở ngại phụ cùng thỏa mãn trở ngại cha mẹ, trong khi tinh chỉnh OR cho thấy các cách khác nhau từ các trở ngại phụ Mô hình này bao gồm việc xác định các sự kiện rủi ro từ yếu tố rủi ro, giúp tinh chỉnh các yếu tố nguy cơ thành các sự kiện cụ thể Nó cũng cho phép phân loại các mục tiêu thành các mục tiêu phụ và xác định mối liên kết giữa các yếu tố nguy cơ và sự kiện rủi ro Điều này giúp nhận diện những mục tiêu và yếu tố nguy cơ quan trọng cần được chú ý hơn trong quá trình phát triển Các yếu tố nguy cơ trong phát triển phần mềm thường được tinh chỉnh bằng phương pháp OR, do tính phức tạp của việc yêu cầu tất cả yếu tố cùng ảnh hưởng đến sự xuất hiện của sự kiện rủi ro Trước khi xây dựng mô hình mục tiêu-rủi ro, cần xác định các sự kiện rủi ro đã được xác định từ các hoạt động trước đó, bắt đầu từ các sự kiện rủi ro thông thường như ngân sách thiếu hụt và yêu cầu sai lệch, sau đó là các sự kiện rủi ro cụ thể cho từng dự án Khi tất cả các sự kiện rủi ro đã được xác định, mô hình mục tiêu - rủi ro có thể được xây dựng một cách hiệu quả.
2.2.4 Ho ạt động 4: Đánh giá rủi ro
Hoạt động này định lượng một rủi ro đơn bằng cách ước lượng mức độ rủi ro và ưu tiên a) Định lượng rủi ro
Vai trò và trách nhi ệm (Roles & Responsibilities)
GSRM giới thiệu các hoạt động quản lý rủi ro có hệ thống rõ ràng trong giai đoạn yêu cầu kỹ thuật, yêu cầu định nghĩa rõ ràng về vai trò và trách nhiệm để biểu diễn các hoạt động theo mô hình quy trình Trong các dự án phần mềm, vai trò này thường được phân biệt và phân công cho từng thành viên trong nhóm, bất kể kích thước dự án Tuy nhiên, trong các dự án nhỏ, một số vai trò có thể được thực hiện bởi một cá nhân duy nhất.
2.3.1 Người quản lý rủi ro:
Người quản lý rủi ro đóng vai trò thiết yếu trong quá trình quản lý rủi ro phát triển phần mềm, chịu trách nhiệm tạo ra và duy trì các tài liệu mô tả rủi ro cũng như truyền tải thông tin rủi ro đến ban quản lý, người thực hiện và người sử dụng Vai trò này yêu cầu sự chính xác và kịp thời trong việc cung cấp thông tin về rủi ro trong giai đoạn phát triển sớm Ngoài ra, người quản lý rủi ro cần thông báo thêm thông tin cho các thành viên chủ chốt của dự án để đảm bảo mọi người đều nhận thức rõ về các rủi ro tiềm ẩn Các trách nhiệm của người quản lý rủi ro bao gồm việc theo dõi, đánh giá và báo cáo về các rủi ro trong suốt quá trình phát triển phần mềm.
Lập kế hoạch và thực hiện quản lý rủi ro ngay từ giai đoạn đầu của dự án là rất quan trọng, đồng thời cần tiếp tục giám sát rủi ro trong suốt vòng đời sản phẩm để đảm bảo hiệu quả và thành công.
• Trao đổi thông tin về rủi ro với người tham gia dự án và các bên liên quan
• Thực hiện các hoạt động quản lý rủi ro và phối kết hợp với những người tham gia khác
• Quản lý hiện vật mô tả rủi ro
• Đảm bảo hiệu quả của quá trình quản lý rủi ro và thu thập phản hồi để cải tiến toàn bộ quá trình
• Lập kế hoạch và đào tạo nhóm phát triển về quản lý rủi ro phát triển phần mềm
Chủ dự án, hay còn gọi là nhà tài trợ dự án, có vai trò quan trọng trong việc kiểm soát nguồn lực và giám sát tiến trình cũng như thành công của dự án Họ đại diện cho bộ phận quản lý và cần hiểu rõ tầm quan trọng của quản lý rủi ro trong phát triển phần mềm Sự hỗ trợ từ người quản lý là cần thiết để thực hiện quản lý rủi ro hiệu quả Do đó, chủ dự án có trách nhiệm đề xuất các hoạt động liên quan đến quản lý rủi ro trong suốt quá trình phát triển.
2.3.3 Người quản lý dự án:
Người quản lý dự án có trách nhiệm thực hiện dự án và quản lý rủi ro, với sự phân bổ thời gian cho các hoạt động này được thống nhất giữa ban quản lý và các thành viên dự án Họ cũng hỗ trợ đào tạo về quản lý rủi ro cho những người tham gia Trong các dự án quy mô vừa và nhỏ, vai trò người quản lý rủi ro có thể không được phân bổ riêng, buộc người quản lý dự án phải kiêm nhiệm Vì vậy, họ cần có kiến thức và kinh nghiệm đầy đủ để đánh giá và quản lý rủi ro phần mềm trong quá trình phát triển, đồng thời vẫn cần tham gia tích cực vào các hoạt động quản lý rủi ro nếu có người quản lý rủi ro riêng.
2.3.4 Người tham gia dự án:
Người tham gia dự án như kỹ sư yêu cầu, kiến trúc sư, nhà thiết kế, lập trình viên, QA/tester và người quản lý phát hành cần nắm vững khái niệm quản lý rủi ro phần mềm để có nhận thức chung về rủi ro và truyền đạt nguy cơ tiềm ẩn cho các thành viên khác Sự hiểu biết này giúp tăng cường hiệu quả quản lý rủi ro trong quá trình phát triển Các thành viên cần làm quen với các hoạt động và nhiệm vụ liên quan đến quản lý rủi ro Kỹ sư yêu cầu đóng vai trò quan trọng trong việc tích hợp yêu cầu và rủi ro thông qua các hoạt động mô hình hóa Họ chịu trách nhiệm tạo và duy trì các hiện vật mô tả đặc điểm yêu cầu, từ đó xác định sự phụ thuộc giữa yêu cầu và các yếu tố rủi ro Việc tích cực tham gia của kỹ sư yêu cầu vào quản lý rủi ro không chỉ duy trì tính nhất quán giữa các hiện vật mà còn giảm thiểu sự phức tạp trong việc tích hợp GSRM vào kỹ thuật yêu cầu.
Người dùng đóng vai trò quan trọng trong việc quản lý rủi ro, tương tự như các nhà phát triển phần mềm và nhóm vận hành Các rủi ro liên quan đến yêu cầu, triển khai sản phẩm, sử dụng và bảo trì chỉ có thể được giải quyết hiệu quả bởi chính người dùng trong môi trường của họ.
Các rủi ro không thể kiểm soát bởi người quản lý dự án, do đó việc thông báo cho người dùng về tình trạng cập nhật và cách giải quyết các rủi ro là vô cùng quan trọng.
Ý tưởng áp dụng quản trị rủi ro hướng mục tiêu trong các dự án phần mềm
Để đạt hiệu quả kinh tế cao trong các dự án dài hạn, việc quản trị rủi ro là rất quan trọng nhằm hạn chế thiệt hại về tài sản và con người Do đó, việc xây dựng phần mềm quản trị rủi ro sẽ giúp quản lý hiệu quả các rủi ro trong các dự án đầu tư xây dựng công trình giao thông, dân dụng và công nghiệp thuộc Bộ GTVT Áp dụng phần mềm này không chỉ tiết kiệm chi phí đầu tư mà còn đảm bảo đạt được các mục tiêu đã đề ra trong quá trình thực hiện dự án.
Phần mềm này cho phép người dùng quản lý các dự án sau khi đăng nhập, bao gồm thông tin chi tiết về từng dự án, mục tiêu, loại rủi ro và các tác nhân rủi ro Ngoài ra, nó hỗ trợ quản lý phương pháp giải quyết rủi ro, theo dõi tình trạng rủi ro, xử lý xung đột trong dự án và quản lý trọng số hàm thích nghi, đồng thời cung cấp yêu cầu trợ giúp ra quyết định.
K ết luận chương 2
Qua quá trình nghiên cứu, tôi nhận thấy rằng phương pháp này có tính thực tiễn cao, cung cấp cơ sở nhận biết rủi ro hướng mục tiêu và mô hình quản trị rủi ro khoa học Các phương pháp quản trị rủi ro này không chỉ khả thi mà còn mang lại hiệu quả kinh tế cao, hoàn toàn có thể áp dụng trong quản lý dự án, giúp nhà đầu tư đạt được các mục tiêu đã đề ra.