08/09/2012<br />
<br />
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP. HỒ CHÍ MINH<br />
<br />
Quản lý thời gian<br />
<br />
KHOA CÔNG NGHỆ<br />
<br />
QUẢN LÝ DỰ ÁN PHẦN MỀM<br />
<br />
CHƯƠNG 5:<br />
QUẢN LÝ THỜI GIAN DỰ ÁN<br />
<br />
1<br />
<br />
2<br />
<br />
Mục tiêu của bài học<br />
<br />
NỘI DUNG TRÌNH BÀY<br />
<br />
Hiểu được tầm quan trọng của việc quản lý thời<br />
gian DA<br />
<br />
<br />
<br />
<br />
<br />
Hiểu được các qui trình quản lý thời gian<br />
<br />
<br />
<br />
<br />
<br />
5.1 Tầm quan trọng của việc QL thời gian DA<br />
5.2 Các quy trình quản lý thời gian<br />
5.3 Ước lượng thời gian cho các hoạt động<br />
<br />
Hiểu được các phương pháp dùng để ước<br />
lượng thời gian tiêu biểu:<br />
<br />
<br />
<br />
<br />
<br />
CPM (Critical Path Method)<br />
PERT (Program Evaluation and Review Tecnique)<br />
<br />
<br />
Hiểu được mối quan hệ giữa ước lượng nguồn<br />
lực và lịch biểu của DA<br />
3<br />
<br />
4<br />
<br />
5.1 Tầm quan trọng của việc QLTG<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
5.2 Các qui trình QLTG<br />
<br />
Kết thúc DA đúng hạn là một thách thức lớn<br />
nhất<br />
Theo nghiên cứu của CHAOS, thời gian quá<br />
hạn trung bình năm 1995 là 222%; được cải<br />
tiến lên 163% vào năm 2001 và đến năm 2003<br />
là 82%.<br />
Thời gian có độ linh hoạt bé nhất; nó trôi qua<br />
bất kỳ có điều gì xảy ra trong DA<br />
Các vấn đề về lịch biểu là lý do chính dẫn đến<br />
xung đột trong dự án, đặc biệt là nữa sau của<br />
DA<br />
<br />
<br />
<br />
Quản lý thời gian DA gồm những qui trình bảo<br />
đảm DA hoàn tất đúng hạn<br />
Xác định các hoạt động (Activity definition)<br />
Sắp xếp thứ tự các hoạt động (Activity sequencing)<br />
Ước lượng nguồn lực cho mỗi hoạt động (Activity<br />
<br />
resource estimating<br />
Ước lượng thời gian cho mỗi hoạt động (Activity<br />
<br />
duration estimating)<br />
Phát triển lịch biểu (Schedule development)<br />
Điều khiển lịch biểu (Schedule control)<br />
<br />
5<br />
<br />
6<br />
<br />
1<br />
<br />
08/09/2012<br />
<br />
Danh sách hoạt động và các thuộc tính<br />
<br />
a. Activity definition<br />
<br />
<br />
Một hoạt động (activity) hay một nhiệm vụ (task) là<br />
một công việc mô tả trong WBS mà nó đòi hỏi khoảng<br />
thời gian, chi phí và nguồn lực<br />
<br />
<br />
<br />
Lịch biểu của DA bắt nguồn từ tài liệu khởi tạo DA<br />
<br />
<br />
<br />
Tên hoạt động<br />
Một nhận dạng hay một số của hoạt động<br />
<br />
Bảng tôn chỉ DA có chứa ngày bắt đầu và ngày kết thúc,<br />
<br />
Một mô tả ngắn gọn của hoạt động<br />
<br />
cùng với thông tin về ngân sách<br />
<br />
<br />
Tuyên bố phạm vi và WBS giúp xác định cần phải làm<br />
<br />
những gì<br />
<br />
<br />
Một danh sách hoạt động là sự xếp bảng của những<br />
hoạt động bao gồm trên lịch biểu DA. Một DS gồm:<br />
<br />
Thuộc tính của hoạt động: cung cấp nhiều thông tin về<br />
một hoạt động như việc làm trước, việc làm sau, quan<br />
hệ logic, yêu cầu nguồn lực, ràng buộc…<br />
<br />
Xác định hoạt động đòi hỏi phải triển khai WBS chi tiết<br />
hơn cùng với những lời giải thích để hiểu được tất cả<br />
những việc cần làm, nhằm có được ước lượng phù hợp<br />
với thực tế<br />
7<br />
<br />
8<br />
<br />
Cột mốc (Milestones)<br />
<br />
b. Activity sequencing<br />
<br />
<br />
<br />
Một cột mốc là một thời điểm quan trọng để hoàn thành<br />
một công việc mà tạo ra được sản phẩm bàn giao.<br />
<br />
<br />
<br />
<br />
<br />
Cột mốc thường là một vài hoạt động và những công<br />
việc để hoàn thành một giai đoạn.<br />
<br />
<br />
<br />
<br />
<br />
Cột mốc là một công cụ thường sử dụng để thiết lập<br />
mục đích lập lịch biểu và giám sát quá trình lập lịch.<br />
<br />
<br />
<br />
Xem xét các hoạt động và xác định quan hệ phụ<br />
thuộc<br />
Một liên hệ về sự phụ thuộc hay một quan hệ là<br />
một tuần tự của những hoạt động hay công việc<br />
trong một dự án<br />
Phải quyết định sự phụ thuộc giữa những công<br />
việc để sử dụng phân tích đường tới hạn<br />
<br />
9<br />
<br />
10<br />
<br />
Sơ đồ mạng (Network diagrams)<br />
<br />
b. Activity sequencing (tt)<br />
<br />
<br />
Ba sự phụ thuộc<br />
<br />
<br />
<br />
Phụ thuộc bắt buộc (Mandatory dependencies): cố<br />
<br />
hữu do bản chất công việc, đôi khi đó là những phụ<br />
thuộc logic cứng.<br />
<br />
<br />
<br />
Phụ thuộc xác định bởi nhóm dự án (Discretionary<br />
<br />
dependencies): định nghĩa bởi đội dự án, đôi khi là<br />
những phụ thuộc logic mềm<br />
<br />
<br />
<br />
Phụ thuộc bên ngoài (External dependencies): liên<br />
<br />
Sơ đồ mạng là một kỹ thuật thích hợp để biểu<br />
diễn tuần tự các hoạt động của DA<br />
Một sơ đồ mạng là một lược đồ hiển thị giữa<br />
những quan hệ logic hay tuần tự hay những<br />
hoạt động của DA<br />
Hai định dạng chính của phương thức bản đồ là<br />
mũi tên và con số<br />
<br />
quan giữa các hoạt động bên trong DA và bên ngoài<br />
DA<br />
<br />
11<br />
<br />
12<br />
<br />
2<br />
<br />
08/09/2012<br />
<br />
Sơ đồ mạng (Network diagrams)<br />
<br />
Phương pháp biểu đồ mũi tên<br />
<br />
<br />
Phương pháp biểu đồ mũi<br />
Diagramming Method - ADM)<br />
<br />
tên<br />
<br />
(Arrow<br />
<br />
Cũng được gọi là biểu đồ mạng AOA (Activity-On-<br />
<br />
Arow)<br />
Những hoạt động được biểu diễn bằng một mũi tên<br />
Nút và cung là điểm bắt đầu và kết thúc của những<br />
<br />
hoạt động<br />
Chỉ có thể biểu diễn phụ thuộc kết thúc – bắt đầu<br />
<br />
(finish-to-start)<br />
<br />
14<br />
<br />
13<br />
<br />
Qui trình để tạo biểu đồ AOA<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Phương pháp biểu đồ ưu tiên<br />
<br />
1. Tìm tất cả các hoạt động bắt đầu tại nút 1.Vẽ đến nút<br />
kết thúc và vẽ mũi tên giữa nút 1 và nút kết thúc. Đặt<br />
tên hoạt động bằng một chữ cái hay một tên và ước<br />
lượng cho hoạt động.<br />
2. Tiếp tục vẽ sơ đồ mạng, làm việc từ trái qua phải.<br />
Quan sát bật lên (burst) và nối (merge). Một bật lên<br />
xảy ra khi một nút đơn theo sau bởi hai hay nhiều hoạt<br />
động. Một nối xảy ra hai hay nhiều nút trước một nút<br />
đơn<br />
3. Tiếp tục vẽ sơ đồ mạng của DA cho đến khi tất cả<br />
những hoạt động có phụ thuộc đều trên sơ đồ<br />
4. Một qui ước tất cả đầu mũi tên sẽ chỉ qua phải và<br />
không có mũi tên nào bị cắt trong sơ đồ mạng<br />
<br />
<br />
<br />
Phương pháp biểu đồ ưu<br />
Diagramming Method – PDM).<br />
<br />
tiên<br />
<br />
(Precedence<br />
<br />
Những hoạt động tương ứng với một hộp<br />
Mũi tên sẽ biểu diễn quan hệ giữa các hoạt động<br />
Được nhiều người sử dụng hơn phương pháp ADM<br />
<br />
và được sử dụng trong quản lý dự án phần mềm<br />
Biểu diễn được những kiểu khác nhau của sự phụ<br />
<br />
thuộc<br />
<br />
15<br />
<br />
16<br />
<br />
Các kiểu phụ thuộc<br />
<br />
Ví dụ: Biểu đồ mạng PDM<br />
<br />
17<br />
<br />
18<br />
<br />
3<br />
<br />
08/09/2012<br />
<br />
c. Activity resource estimating<br />
<br />
d. Activity duration estimating<br />
<br />
<br />
<br />
Trước khi ước lượng thời gian cho một hoạt<br />
động, bạn phải có một ý tưởng tốt nhất về số<br />
lượng và loại nguồn lực sẽ được chỉ định cho<br />
mỗi hoạt động<br />
Hãy suy nghĩ những điều quan trọng trong ước<br />
lượng nguồn lực:<br />
<br />
<br />
<br />
Khó khăn nào để giúp việc hoàn thành những hoạt<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
động đặc biệt của DA này<br />
<br />
Khoảng thời gian (Duration): bao gồm thời gian<br />
thực tế để thực hiện công việc cộng thêm thời<br />
gian dự trữ<br />
Nổ lực (Effort): là số ngày làm việc hay số giờ<br />
làm việc đòi hỏi để hoàn thành một nhiệm vụ<br />
(task)<br />
Một người sẽ tạo ra một ước lượng, và một<br />
chuyên gia sẽ xem xét lại ước lượng đó.<br />
<br />
Lịch sử đã có tổ chức nào có hoạt động tương tự<br />
<br />
chưa?<br />
Yêu cầu nguồn lực là có thể?<br />
19<br />
<br />
20<br />
<br />
e. Schedule development<br />
<br />
<br />
Cập nhật ngày bắt đầu và ngày kết thúc<br />
<br />
<br />
<br />
Mục đích cuối cùng là tạo một lịch biểu đúng<br />
đắn nhằm cung cấp một cơ sở để giám sát dự<br />
án trong suốt thời gian thực hiện dự án.<br />
<br />
<br />
<br />
f. Schedule control<br />
<br />
Những công cụ và kỹ thuật quan trọng để lập và<br />
phát triển lịch biểu là đồ thị Gantt, phân tích<br />
đường tới hạn và phân tích PERT… Những<br />
phương pháp này sẽ được trình bày trong phần<br />
sau.<br />
<br />
<br />
<br />
Mục đích của việc quản lý lịch biểu là biết được<br />
trạng thái của lịch biểu, những nhân tố ảnh<br />
hưởng đến sự thay đổi lịch biểu, và phải quản lý<br />
những thay đổi này:<br />
Kiểm tra lịch biểu so với thực tế<br />
Tổ chức các buổi họp về tiến độ với các bên liên<br />
<br />
quan<br />
<br />
21<br />
<br />
22<br />
<br />
5.3 Ước lượng thời gian cho hoạt động<br />
<br />
a. Các kỹ thuật ước lượng thời gian (tt)<br />
<br />
Nội dung trình bày:<br />
<br />
<br />
<br />
Phi khoa học<br />
<br />
a. Các kỹ thuật ước lượng thời gian<br />
<br />
Dựa trên kinh nghiệm, chủ quan<br />
<br />
b. Một số CSDL tham khảo<br />
<br />
Nhanh và dễ dàng<br />
<br />
c. Những khó khăn khi ước lượng cho DA PM<br />
<br />
Kết quả thiếu tin cậy<br />
<br />
d. Trình bày một số phương pháp tiêu biểu<br />
<br />
Chỉ nên thực hiện khi: Đội ngũ chuyên môn có rất<br />
<br />
nhiều kinh nghiệm, kỹ năng cao<br />
<br />
23<br />
<br />
24<br />
<br />
4<br />
<br />
08/09/2012<br />
<br />
a. Các kỹ thuật ước lượng thời gian (tt)<br />
<br />
<br />
<br />
<br />
b. Một số CSDL tham khảo<br />
<br />
Hỏi ý kiến chuyên gia<br />
Dựa vào CSDL DA đã có<br />
Biểu đồ Gantt<br />
Critical Path Method (CPM)<br />
Program Evaluation and Review Technique<br />
(PERT)<br />
<br />
<br />
<br />
Quy tắc 40-20-40<br />
Software<br />
<br />
Planning<br />
<br />
Code & Unit Test Integration & Test<br />
<br />
<br />
<br />
25%<br />
<br />
40%<br />
<br />
35%<br />
<br />
Internet Systems<br />
<br />
55%<br />
<br />
15%<br />
<br />
30%<br />
<br />
Real-time Systems<br />
<br />
35%<br />
<br />
25%<br />
<br />
40%<br />
<br />
Defense Systems<br />
(Thông minh)<br />
<br />
<br />
<br />
Commercial DP<br />
<br />
40%<br />
<br />
20%<br />
<br />
40%<br />
<br />
25<br />
<br />
26<br />
<br />
b. Một số CSDL tham khảo (tt)<br />
<br />
<br />
b. Một số CSDL tham khảo (tt)<br />
<br />
Quy tắc 40-20-40<br />
Activity<br />
<br />
<br />
<br />
Chi phí thời gian của lập trình viên: Theo điều<br />
tra của Bell<br />
<br />
Small Project (2.5K<br />
LOC)<br />
<br />
Large Project (500K<br />
LOC)<br />
<br />
Viết chương trình<br />
<br />
13%<br />
<br />
Analysis<br />
<br />
10%<br />
<br />
30%<br />
<br />
Đọc tài liệu hướng dẫn<br />
<br />
16%<br />
<br />
Design<br />
<br />
20%<br />
<br />
20%<br />
<br />
Thông báo, trao đổi, viết báo cáo<br />
<br />
32%<br />
<br />
Code<br />
<br />
25%<br />
<br />
10%<br />
<br />
Việc riêng<br />
<br />
13%<br />
<br />
Unit Test<br />
<br />
20%<br />
<br />
5%<br />
<br />
Việc linh tinh khác<br />
<br />
15%<br />
<br />
Integration<br />
<br />
15%<br />
<br />
20%<br />
<br />
Huấn luyện<br />
<br />
6%<br />
<br />
System test<br />
<br />
10%<br />
<br />
15%<br />
<br />
Gửi email, chat<br />
<br />
5%<br />
<br />
27<br />
<br />
b. Một số CSDL tham khảo (tt)<br />
<br />
<br />
c. Những khó khăn khi ước lượng DAPM<br />
<br />
Chi phí thời gian của lập trình viên: Theo điều<br />
tra của IBM<br />
Làm việc một mình<br />
<br />
<br />
<br />
50%<br />
<br />
Làm những công việc khác, không<br />
phục vụ trực tiếp cho công việc<br />
<br />
<br />
<br />
30%<br />
<br />
Trao đổi công việc<br />
<br />
28<br />
<br />
20%<br />
<br />
<br />
<br />
<br />
<br />
29<br />
<br />
Phần mềm chưa làm bao giờ (khác với các DA<br />
khác)<br />
Khó dùng lại những kinh nghiệm của DA trước<br />
Công nghệ luôn thay đổi<br />
Khó phân ranh giới rõ ràng giữa các giai đoạn<br />
Công sức và thời gian còn phụ thuộc vào<br />
những yếu tố khác<br />
<br />
30<br />
<br />
5<br />
<br />