b) Lập trình đôi
6.6 Quản lý rủi ro
Quản lý rủi ro là một công việc đặc biệt quan trọng và khó khăn trong phát triển phần mềm. Có các nguyên nhân (rủi ro) sau dẫn đến chấm dứt dự án:
• Chi phí phát triển quá cao • Quá chậm so với lịch biểu
• Tính năng quá kém so với yêu cầu Quản lý rủi ro bao gồm các công việc chính sau:
• Dự doán rủi ro
• Đánh giá khả năng xảy ra và thiệt hại • Tìm giải pháp khắc phục
Dưới đây là các rủi ro thường xẩy ra khi phát triển phần mềm và các phương pháp khắc phục chúng:
• Thiếu người phát triển: sử dụng những người tốt nhất; xây dựng nhóm làm việc; đào tạo người mới
• Kế hoạch, dự toán không sát thực tế: ước lượng bằng các phương pháp khác nhau; lọc, loại bỏ các yêu cầu không quan trọng.
• Phát triển sai chức năng: chọn phương pháp phân tích tốt hơn; phân tích tính tổ chức/mô hình nghiệp vụ của khách hàng
• Phát triển sai giao diện: phân tích thao tác người dùng; tạo kịch bản cách dùng; tạo bản mẫu.
• Yêu cầu quá cao: lọc bớt yêu cầu; phân tích chi phí/lợi ích.
• Thay đổi yêu cầu liên tục: áp dụng thiết kế che dấu thông tin; phát triển theo mô hình tiến hóa.
Tài liệu tham khảo
[1] Kent Beck, Extreme Programming Explained, AddisonưWasley, 2000. [2] Bruce Eckel, Thinking in Java, 3rd ed., 2002.
[3] Mike Gancarz, The Unix Philosophy, Digital Press, 1994.
[4] Roger S. Pressman (dịch: Ngô Trung Việt), Kỹ nghệ phần mềm, Tập I,II,III, NXB Giáo dục, 1997.
[5] Walker Royce, Software Project Management - A Unified Framework, Addison- Wesley, 1998. [6] Stephen R. Schach, Classical and ObjectưOriented Software Engineering with UML and C++, 4th ed., McGrawưHill, 1999.
[7] Ian Sommerville, Software Engineering, 6th ed., AddisonưWasley, 2001.
[8] Nguyễn Quốc Toản, Bài giảng về Nhập môn Công trình học phần mềm, Khoa Công nghệ, 1999.
[9] Lê Đức Trung, Công nghệ phần mềm, NXB Khoa học và Kỹ thuật, 2001.
[10] Ngô Trung Việt, Nguyễn Kim ánh (biên soạn), Nhập môn Công nghệ phần mềm, NXB Khoa học và kỹ thuật, 2003.