Giáo trình Kỹ nghệ phần mềm - Bài 3: Quản lý dự án phần mềm

Mục tiêu

• Giải thích các công việc chính của người quản

lý dự án (PM)

• Giới thiệu quản lý dự án nói chung và đặc thù

của quản lý dự án phần mềm

• Nêu qui trình lập kế hoạch dự án

• Biểu diễn lịch trình dự án dưới dạng sơ đồ

• Giới thiệu khái niệm rủi ro và qui trình quản lý

rủi ro

pdf42 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 2066 | Lượt tải: 1download
Tóm tắt nội dung Giáo trình Kỹ nghệ phần mềm - Bài 3: Quản lý dự án phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
tổ 
chức để tạo ra các kết quả rõ ràng
– Để người quản lý có thể đánh giá được tiến độ
• Cột mốc (milestone) là điểm cuối của một 
hoạt động qui trình.
• Sản phẩm (deliverable) là kết quả dự án có thể 
chuyển giao được cho khách hàng
• Qui trình thác nước có sẵn các cột mốc dự án
Hoạt động
Các cột mốc trong qui trình RE
Nghiên cứu
khả thi
Phân tích yêu
cầu
Làm bản mẫu
Nghiên cứu
thiết kế
Đặc tả yêu
cầu
Cột mốc
Báo cáo khả
thi
Yêu cầu người
dùng
Báo cáo đánh
giá
Thiết kế kiến
trúc
Yêu cầu hệ
thống
Lập lịch trình dự án
• Chia dự án thành các tác vụ và ước lượng thời 
gian và tài nguyên cần thiết để hoàn thành 
từng việc
• Tổ chức thực hiện song song các tác vụ để tối 
ưu việc sử dụng con người, tài nguyên
• Giảm thiểu sự phụ thuộc giữa các tác vụ để 
tránh chậm chễ dây chuyền
• Phụ thuộc vào trực giác và kinh nghiệm của 
người QLDA
Qui trình lập lịch dự án
Xác định các
hoạt động
Xác định sự
phụ thuộc
giữa các
hoạt động
Ước lượng
tài nguyên
cho các hoạt
động
Phân bổ
người vào
các hoạt
động
Lập biểu đồ
lịch trình dự
án
Yêu cầu
phần mềm
Biểu đồ
lịch trình
Vấn đề với lập lịch trình
• Đánh giá độ khó của tác vụ là không đơn giản
– Do đó khó ước lượng chính xác chi phí để phát 
triển
• Năng suất không tỷ lệ thuận với số người làm 
việc trong dự án
– Thêm người vào dự án có thể làm chậm thêm 
• Mất thời gian trao đổi, giải thích cho người mới
• Phải luôn có dự phòng khi lập kế hoạch
– Hầu như luôn có điều không lường trước xảy ra
Mạng công việc và biểu đồ lịch trình
• Là các hình vẽ để mô tả lịch trình dự án
• Cho thấy các tác vụ cụ thể của dự án
– Tác vụ không nên quá nhỏ
• Nên để 1-2 tuần để hoàn thành một tác vụ
• Mạng công việc cho thấy sự phụ thuộc giữa 
các tác vụ và đường trọng yếu (critical path)
• Biểu đồ lịch trình thể hiện diễn biến của dự án 
trên lịch
Thời gian và phụ thuộc tác vụ
Tác vụ Thời gian (days) Phụ thuộc (Mốc)
T1 8
T2 15
T3 15 T1 (M1)
T4 10
T5 10 T2, T4 (M2)
T6 5 T1, T2 (M3)
T7 20 T1 (M1)
T8 25 T4 (M5)
T9 15 T3, T6 (M4)
T10 15 T5, T7 (M7)
T11 7 T9 (M6)
T12 10 T11 (M8)
Mạng tác vụ
Biểu đồ lịch trình dự án
Phân bổ nhân lực
Quản lý Rủi ro Dự án
Quản lý rủi ro
• Xác định các rủi ro và kế hoạch giảm thiểu tác
động của chúng đến dự án
• Rủi ro là xác suất một tình huống bất lợi sẽ xảy
ra
– Rủi ro dự án ảnh hưởng đến lịch trình hoặc tài
nguyên dự án
– Rủi ro sản phẩm ảnh hưởng đến chất lượng và
hiệu năng của phần mềm đang được phát triển
– Rủi ro kinh doanh ảnh hưởng đến tổ chức phát
triển hoặc đặt hàng làm phần mềm
Rủi ro phần mềm
Rủi ro Ảnh hưởng Mô tả
Thay đổi nhân sự Dự án Nhân viên kinh nghiệm bỏ việc trước khi dự án kết thúc
Thay đổi quản lý Dự án Lãnh đạo mới ưu tiên việc khác, không ưu tiên dự án như 
trước
Phần cứng chưa có Dự án Phần cứng, phương tiện để thực hiện dự án không đến đúng 
hạn
Thay đổi yêu cầu Sản phẩm và Quá nhiều thay đổi yêu cầu, nhiều hơn dự kiến
dự án
Đặc tả chậm Sản phẩm và 
dự án
Đặc tả giao diện quan trọng giữa các module không hoàn 
thành đúng tiến độ
Ước lượng thấp chi 
phí
Sản phẩm và 
dự án
Đánh giá kích thước hệ thống thấp hơn thực tế
Công cụ CASE kém Sản phẩm Công cụ CASE hỗ trợ dự án không hoạt động như mong đợi
Công nghệ thay đổi Kinh doanh Công nghệ nền tảng của hệ thống bị thay đổi bởi các công 
nghệ mới hơn
Hoàn thiện sản 
phẩm
Kinh doanh Sản phẩm cạnh tranh được tung ra trước khi hệ thống hoàn
thành
Qui trình quản lý rủi ro
• Xác định rủi ro
– Cho cả 3 loại rủi ro: dự án, sản phẩm, và kinh doanh
• Phân tích rủi ro
– Đánh giá tác động của từng rủi ro
• Lập kế hoạch đối phó rủi ro
– Lên kế hoạch tránh hoặc giảm thiểu tác động cho từng rủi 
ro
• Theo dõi rủi ro
– Luôn theo dõi rủi ro trong suốt quá trình thực hiện dự án
Qui trình quản lý rủi ro
Hoạt động
Xác định rủi
ro
Phân tích rủi
ro
Kế hoạch đối
phó
Theo dõi rủi
ro
Cột mốc
Danh sách rủi
ro tiềm tàng
Danh sách rủi
ro sắp xếp
theo ưu tiên
Kế hoạc tránh
rủi ro và kế
hoạch dự
phòng
Đánh giá rủi
ro
Xác định rủi ro
• Rủi ro công nghệ
• Rủi ro con người
• Rủi ro tổ chức
• Rủi ro yêu cầu
• Rủi ro ước lượng
Rủi ro và phân loại
Loại rủi ro Rủi ro có thể
Công nghệ CSDL không xử lý đồng thời được nhiều giao dịch như mong đợi;
Thành phần phần mềm sử dụng lại có nhiều khiếm khuyết;
Con người Không tuyển được người có kỹ năng và kinh nghiệm cần thiết;
Các thành viên chủ chốt bị ốm hoặc không tham gia vào dự án được vào thời
điểm quan trọng;
Khóa học đào tạo cho nhân viên không có;
Tổ chức Tổ chức tái cơ cấu do đó đội ngũ lãnh đạo chịu trách nhiệm dự án thay đổi
Tổ chức gặp vấn đề tài chính nến phải cắt giảm ngân sách của dự án
Công cụ Công cụ sinh mã chương trình không hiệu quả
Công cụ không tích hợp được vào môi trường phát triển
Yêu cầu Thay đổi yêu cầu lớn, gây ra phần lớn công việc phải làm lại
Khách hàng không hiểu rõ tác động của việc thay đổi yêu cầu
Ước lượng Thời gian cần thiết để phát triển phần mềm được được ước lượng thấp quá
Tỷ lệ lỗi bị đánh giá thấp quá
Kích cỡ phần mềm bị ước lượng thấp quá
Phân tích rủi ro
• Đánh giá xác suất và độ nghiêm trọng của mỗi 
rủi ro
• Xác xuất có thể phân loại là rất thấp, thấp, 
trung bình, cao, và rất cao
• Tác động của rủi ro có thể phân loại: thảm 
họa, nghiêm trọng, chấp nhận được, và không 
đáng kể
Phân tích rủi ro
Rủi ro Xác xuất Tác động
Tổ chức gặp vấn đề và phải cắt giảm ngân sách
dự án
Thấp Thảm họa
Không tuyển được người đáp ứng công việc Cao Thảm họa
Nhân viên chủ chốt bị ốm, không đi làm được Trung bình Nghiêm trọng
Thành phần phần mềm cần sử dụng lại bị lỗi Trung bình Nghiêm trọng
Yêu cầu thay đổi dẫn đến phải làm lại phần
lớn công việc
Trung bình Nghiêm trọng
Tổ chức tái cấu trúc nên người quản lý thay
đổi
Cao Nghiêm trọng
Phân tích rủi ro
Rủi ro Xác suất Tác động
CSDL không xử lý đồng thời được nhiều giao
dịch như mong đợi
Trung bình Nghiêm trọng
Thời gian cần thiết để phát triển phần mềm
được được ước lượng thấp quá
Cao Nghiêm trọng
Công cụ không tích hợp được vào môi Cao Chấp nhận được
trường phát triển
Customers fail to understand the impact of 
requirements changes.
Trung bình Chấp nhận được
Khóa học đào tạo cho nhân viên không có; Trung bình Chấp nhận được
Tỷ lệ lỗi bị đánh giá thấp quá Trung bình Chấp nhận được
Kích cỡ phần mềm bị ước lượng thấp quá Cao Chấp nhận được
Công cụ sinh mã chương trình không hiệu
quả
Trung bình Không đáng kể
Lập kế hoạch rủi ro
• Cân nhắc từng rủi ro và phát triển chiến lược 
quản lý rủi ro đó
• Chiến lược tránh rủi ro
– Giảm xác suất xảy ra rủi ro
• Chiến lược giảm thiểu tác động
– Giảm tác động của rủi ro lên dự án hoặc sản phẩm
• Kế hoạch dự phòng
– Nếu rủi ro xảy ra thì có sẵn kế hoạch dự phòng để 
đối phó với rủi ro
Chiến lược quản lý rủi ro
Rủi ro Chiến lược
Vấn đề tuyển dụng Thông báo khách hàng về những khó khăn này và khả
năng chậm chễ, xem xét khả năng mua các thành phần
có sẵn
Nhân viên ốm Tổ chức lại đội dự án sao cho công việc giao nhau nhiều
để mọi người hiểu công việc của nhau hơn
Thành phần bị kiếm
khuyết
Thay thế bằng các thành phần có độ tin cậy tốt hơn
Chiến lược quản lý rủi ro
Rủi ro Chiến lược
Yêu cầu thay đổi Suy ra thông tin có dấu vết để đánh giá tác động của
thay đổi yêu cầu, áp dụng triệt để che giấu thông tin 
trong thiết kế
Tái cơ cấu tổ chức Chuẩn bị tài liệu chứng tỏ dự án đang có đóng góp rất
quan trọng cho các mục tiêu kinh doanh
CSDL chậm Điều tra khả năng mua cơ sở dữ liệu mạnh hơn
Ước lượng thời gian
phát triển thiếu
Điều tra việc mua các thành phần có sẵn, hoặc sử dụng
các công cụ sinh mã
Theo dõi rủi ro
• Thường xuyên đánh giá từng rủi ro xem nguy 
cơ của chúng tăng hay giảm
• Đồng thời đánh giá xem tác động của chúng 
có thay đổi hay không
• Tất cả rủi ro cần được thảo luận ở các cuộc 
họp tiến độ dự án
Dấu hiệu rủi ro
Loại rủi ro Dấu hiệu
Công nghệ Chuyển giao phần cứng hoặc phần mềm hỗ trợ muộn, có
nhiều vấn đề công nghệ đã được công bố
Con người Đạo đức kém, quan hệ giữa các thành viên dự án kém
Tổ chức Tin đồn nhảm về tổ chức, thiếu hành động từ ban quản lý.
Công cụ Thành viên ngại sử dụng công cụ, kêu ca về các công cụ CASE, 
đòi hỏi máy cấu hình cao hơn
Yêu cầu Quá nhiều báo cáo thay đổi yêu cầu, phàn nàn của khách
hàng
Ước lượng Không làm xong đúng tiến độ, không sửa lỗi đã báo cáo
Các điểm chính
• Quản lý dự án tốt là then chốt để dự án thành công
• Thuộc tính vô hình của phần mềm làm việc quản lý 
khó khăn
• Người QLDA có nhiều vai trò, nhưng các hoạt động 
quan trọng nhất là lập kế hoạch, ước lượng, và lập 
lịch trình
• Lập kế hoạch và ước lượng là các qui trình lặp và các 
công việc này cần được tiến hành liên tục trong suốt 
thời gian thực hiện dự án
Các điểm chính
• Một mốc dự án là một tình trạng dự án được 
thể hiện qua một báo cáo tiến độ cho lãnh 
đạo
• Lập lịch trình dự án liên quan đến việc chuẩn 
bị các sơ đồ hình vẽ thể hiện các hoạt động 
dự án, khoảng thời gian và phân bổ nhân lực 
thực hiện chúng
• Quản lý rủi ro là việc xác định các rủi ro có thể 
ảnh hưởng đến dự án và kế hoạch giảm thiểu 
tác động của chúng.
Bài tập nhóm
• Sử dụng Microsoft Project, hoặc openproj hoặc cộng
cụ tương tự để lập kế hoạch cho bài tập nhóm
– Phân bổ nhân lực cho 5 người
– Các cột mốc và thời gian
– Thể hiện đường trọng yếu (critical path)
• Liệt kê các rủi ro của dự án và đưa vào công cụ trên
để quản lý, theo dõi.
• Từng người trong nhóm lập kế hoạch bằng các công
cụ, rồi thảo luận thống nhất kế hoạch, đưa vào tài
liệu bài tập nhóm.
Bài tập về nhà
• Vẽ sơ đồ mô hình qui trình quản lý dự án phần mềm?
• Tác vụ (task), cột mốc (milestone), và sản phẩm (deliverable) 
quan hệ với nhau như thế nào?
• Những biểu đồ nào được dùng để quản lý dự án? Chúng thay
đổi như thế nào trong quá trình thực hiện dự án?
• Nêu các hoạt động quản lý rủi ro và vẽ sơ đồ tiến trình quản
lý rủi ro?
• Nêu ví dụ về mỗi loại rủi ro của một dự án phần mềm?
• Đọc về quản lý cấu hình phần mềm trong sách.

File đính kèm:

  • pdfGiáo trình Kỹ nghệ phần mềm - Bài 3 Quản lý dự án phần mềm.pdf