Bài giảng Quản lý dự án phần mềm: Quản lý thời gian cung cấp cho người học các kiến thức: Định nghĩa các công việc, ước tính thời gian cho công việc, sắp xếp trình tự các công việc, ước tính thời gian cho dự án,... Mời các bạn cùng tham khảo.
Trang 1Nguyễn Anh Hào
Khoa CNTT – HV CNBCVT II
2005 - 2006
QUẢN LÝ THỜI GIAN
Trang 2Quản lý thời gian
Để bảo đảm cho dự án tạo ra kết quả chuyển giao đúng thời
hạn dự kiến; điều này phụ thuộc vào 4 yếu tố:
1 Những công việc cần thiết phải thực hiện (trách nhiệm)
2 Thời gian thực hiện từng công việc; đó là hậu quả của
việc cấp nguồn lực cho công việc
3 Một số công việc không thể làm song song do:
– 1 Chúng bị phụ thuộc nhau do bản chất
– 2 Chúng sử dụng chung 1 nguồn lực
4 Khả năng sắp xếp công việc để tận dụng tối đa tập nguồn
lực hiện có của dự án (làm tăng tối đa năng suất thực
Trang 31.Định nghĩa các công việc
• Các công việc cần làm được định nghĩa trong phần quản lý phạm vi
• Các phương pháp cơ bản:
– Work Breakdown Structure
– Tìm hiểu và sử dụng danh sách công việc của các dự án tương tự
Trang 42.Ước tính thời gian cho công việc
• Dựa trên danh sách công việc của dự án, nguồn lực (hữu hình) mà dự án có thể sử dụng, và môi trường của dự án (vd: môi trường làm việc, pháp lý, chính trị, xã hội,…) để ước tính thời gian cần thiết hoàn thành từng công việc với loại nguồn lực nào đó
• Uớc tính thời gian hoàn thành từng công việc dựa trên năng lực trung bình của dự án đối với công việc
– Đây là cơ sở để xác định mức độ nổ lực trung bình cho công việc (để tính chi phí)
– Hoạch định khoảng thời gian hợp lý cho công việc (không quá lâu hoặc quá gấp; nhìn từ phía dự án)
Trang 5Ước tính thời gian cho công việc
1 Ước lượng tuyến tính
– ET = bình quân của các trường hợp
2 Ước tính dựa trên năng suất toàn cục
– ET = Thời gian trung bình + ΔT dự phòng rủi ro
3 Ước tính trung bình PERT
– ET = (4*M + O + P) / 6
Trang 63.Sắp xếp trình tự các công việc
~ Là sắp xếp trình tự thực hiện các công việc trong dự án để bảo đãm rằng yêu cầu ban đầu của công việc đã được đáp ứng tại thời điểm thực hiện công việc đó (ie: công việc đã khả thi)
Có thể có nhiều công việc được tiến hành song song; nhưng không phải lúc nào cũng thực hiện được như vậy; là do sự phụ thuộc (về bản chất) giữa các công việc, và sự tranh chấp
về nguồn lực dùng chung
Trang 7Xác định các loại phụ thuộc
1 Phụ thuộc bắt buộc (Mandatory Dependencies) Phụ
thuộc bắt buộc phát sinh từ bản chất tự nhiên của công việc
2 Phụ thuộc chọn lựa (Discretionary Dependencies) Là sự
phụ thuộc của một công việc vào kết quả hoặc cách thực hiện của công việc trước đó (ở tình huống cụ thể)
3 Phụ thuộc bên ngoài (External Dependencies) Là sự phụ
thuộc của công việc trong dự án vào các công việc nằm ngoài dự án (non-project activities)
Trang 8Kiểu phụ thuộc
1 Finish-to-Start Công việc sau bắt đầu được chỉ khi nào
công việc trước nó đã kết thúc (phổ biến)
2 Finish-to-Finish Công việc sau kết thúc được chỉ khi nào
công việc trước nó đã kết thúc Ví dụ: làm việc trên máy tính
3 Start-to-Start Công việc sau bắt đầu được chỉ khi công
việc trước nó đã bắt đầu Ví dụ: làm việc trên máy tính
Trang 9Ví dụ.
Công việc
1 Tìm hiểu yêu cầu
2 Thiết kế màn hình
3 Thiết kế báo cáo
4 Thiết kế CSDL
5 Lập tài liệu
6 Lập trình
7.Kiểm tra
8 Cài đặt
Kết quả
User Req Doc (URD)
Screen layout Report layout Database structure Documents (DOC) Source code
Software User Acceptance
Phụ thuộc
1 1
2, 3 4 4 6
5, 7
MO ML MP ET
Trang 10PERT-Action On Arc (AOA)
• Các cung (arcs) là các hoạt động tạo ra sản phẩm
• Sản phẩm được thể hiện trên node
URD
design
2
Report design
3
Database design
4
4
DOC
5
Source code
6
Software product
7
User Acceptance
8
8
Trang 11PERT-Action On Node (AON)
• Các cung chỉ sự phụ thuộc của các node (và kết quả
chuyển giao sang node kế)
• Hoạt động được thể hiện trên node
ET=5
ET=6
ET=6
ET=2
ET=5
ET=3
1
3
2
4
6
5
7 8
Trang 124.Ước tính thời gian cho dự án
~ Là tính thời gian thực hiện toàn bộ dự án với các ước tính thời gian hoàn tất từng công việc và sự phụ thuộc giữa chúng
Kết quả của nhóm tiến trình này là các lược đồ thể hiện thời gian thực hiện dự án (vd: PERT, GANTT) và biểu đồ nguồn lực sử dụng theo thời gian (Hình đồ tài nguyên) để chứng tỏ rằng cách tiến hành dự án như kế hoạch là hợp lý, hoặc tối
ưu theo phương diện nào đó, vd: làm nhanh, hay ít tốn kém
Trang 13PERT-AON Thời gian hoàn thành sớm nhất
• Bắt đầu từ node đầu tiên bên trái (node 1)
– TE1 = ET1
• Theo chiều mũi tên đi
– TEcuối = TEđầu + ETcuối
• Nếu node có nhiều mủi tên chỉ đến (node 8)
– TEcuối = Max{TEđầu } + ETcuối
ET=5
ET=6
ET=2
1
3
2
4
6
5
7
8
TE=5
TE=11
TE=11
TE=13
TE=18.5
TE=18
TE=22
TE=21
Max{18.5, 21}
Trang 14PERT-AON Thời gian hoàn thành trễ nhất
• Từ node cuối cùng bên phải (node 8):
– TL8 = TE8
• Ngược chiều của mủi tên:
– TLđầu = TLcuối - ETcuối
• Node có nhiều mủi tên chỉ đi (node 4)
– TLđầu = Min {TLcuối - ETcuối}
1
2
4
TE=5
TE=11
TE=13
TE=18.5 TE=22
TL=5
TL=11
TL=11
TL=13
TL=21
TL=18
TL=22
TL=21 Min {15.5, 13}
Trang 15PERT-AON Critical Path và độ thư giản
• Độ thư giản (Slack time) S = TL - TE là mức độ thời gian
cho phép công việc có thể kéo dài (hoặc bắt đầu trễ) mà
tiến độ của dự án không bị ảnh hưởng
• Critical Path gồm các node có S = 0, là những node không
được phép trễ hạn để bảo đảm tiến độ của dự án
• Do các ước lượng thời gian cho mỗi công việc có thể bị
sai, hoặc rủi ro thiếu nguồn lực, các công việc trên Critical Path cần phải được cộng thêm thời gian dự phòng để thực hiện những điều chỉnh cần thiết khi công việc có triệu
chứng trễ tiến độ
Trang 16Gantt chart
• Gantt chart thể hiện (bằng hình vẽ) sự trùng lắp (overlap) giữa các công việc để ước lượng mức độ nổ lực của dự án tại mỗi thời điểm, và các thời điểm bắt đầu - kết thúc của từng công việc để kiểm soát tiến độ theo thời gian thực
Task 1
Task 2
Task 3
Task 4
Task 5
Task 6
Task 7
Chris
Chris John
John
Martin
John
Martin
Chris
Trang 17Resource chart
• Resource chart thể hiện mức độ nguồn lực cần thiết của dự
án theo thời gian thực Chênh lệch giữa nguồn lực sẵn
sàng của dự án với nguồn lực sử dụng cho công việc thể hiện mức độ lãng phí trong cách sử dụng nguồn lực
Chris
John John
Martin
Martin Chris
Nguồn lực sử dụng cho công việc Nguồn lực sẵn sàng của dự án
22
Trang 18Resource leveling
Là sự điều chỉnh tăng giảm nguồn lực cho công việc (hoặc
ngược lại) vì các mục đích khác nhau:
1 Giữ nguyên cách bố trí công việc hiện hữu; điều chuyển
tăng cường nguồn lực từ nơi dư thừa nguồn lực sang các công việc đang gây quá tải để cân bằng nguồn lực
2 Giữ nguyên cách bố trí nguồn lực hiện hữu; điều chuyển
công việc từ nơi đang quá tải sang nơi đang dư thừa nguồn lực để cân bằng nguồn lực
3 Tăng cường nguồn lực cho các Critical tasks để chúng
hoàn thành sớm hơn (giảm ET), nhờ đó rút ngắn thời gian thực hiện dự án (kỹ thuật crashing)