You are on page 1of 75

up date 12-01-2024

THÔNG TIN VỀ HỌC PHẦN


1. Thông tin chung:
1.1. Tên học phần: Quản trị dự án phần mềm
QUẢN TRỊ DỰ ÁN PHẦN MỀM Software Project Management
SOFTWARE PROJECT MANAGEMENT 1.2. Mã học phần: TIN4133
1.3. Số tín chỉ: 3 TC
1.4. Loại học phần: Bắt buộc
1.5. Các học phần tiên quyết:
- Phân tích thiết kế các hệ thống thông tin (TIN3093)
PGS.TS. Nguyễn Mậu Hân
Khoa CNTT-ĐHKH HUẾ
- Kỹ nghệ phần mềm (TIN3102)
1

THÔNG TIN VỀ HỌC PHẦN THÔNG TIN VỀ HỌC PHẦN


2. Mục tiêu của học phần:
2.1. Kiến thức: cung cấp cho ngƣời học một 3. Chính sách đối với học phần
phƣơng pháp để xây dựng, quản lý và điều hành Ngƣời học bắt buộc phải tham gia các hoạt động
một dự án phần mềm. sau:
 Nghe giảng lý thuyết
2.2. Kỹ năng: thông qua các bài tập nhóm/cá
 Thảo luận và làm bài tập nhóm
nhân ngƣời học sẽ thực hành ƣớc lƣợng chi phí
(thời gian, nhân lực, ngân sách,...) của một dự  Trình bày bài tập
án phần mềm.  Kiểm tra định kỳ
 Thi cuối kỳ
2.3. Thái độ học tập: ngƣời học phải tham dự
đầy đủ các giờ lý thuyết và thảo luận. Không làm
việc riêng trong giờ học.

THÔNG TIN VỀ HỌC PHẦN THÔNG TIN VỀ HỌC PHẦN


4. Cách tính điểm đối với học phần
 Tham gia học tập trên lớp: 10%
• Đi học đầy đủ, tích cực thảo luận nội dung bài 5. Phân bố số tiết:
giảng
• Tham gia chữa bài tập và chuẩn bị bài vở tốt • Lý thuyết: 30

 Khả năng tự học, tự nghiên cứu: • Thảo luận: 5


• Bài tiểu luận theo nhóm: 20%
• Bài kiểm tra đánh giá giữa kỳ: 10%. • Bài tập: 5

 Kết quả thi cuối kỳ: 60%. • Thực hành: 5

1
TỔ CHỨC HỌC NHÓM CÔNG CỤ HỖ TRỢ QUẢN LÝ DỰ ÁN

Microsoft Project
Mỗi nhóm gồm từ 5 đến 6 sinh viên, trong đó: Microsoft Source Safe − Quản lý cấu hình, mã nguồn
Visio Studio − Tạo bảng biểu, mô hình
• 1 nhóm trƣởng: điều hành nhóm, ghi lại các
hoạt động của nhóm và báo cáo cho giáo viên  http://www.startwright.com/project1.htm

• Nội dung hoạt động nhóm do giáo viên quy http://www.harmonysoft.com.vn/index.php?option=com_conte
nt&view=category&layout=blogn&id=80&Itemid=475
định

http://download.com.vn/web/teamwork-com/download

NỘI DUNG TÀI LIỆU THAM KHẢO

CHƢƠNG 1: TỔNG QUAN VỀ QTDA PHẦN MỀM


CHƢƠNG 2: XÁC ĐỊNH DỰ ÁN
CHƢƠNG 3: LẬP KẾ HOẠCH DỰ ÁN
CHƢƠNG 4: QUẢN TRỊ RỦI RO
CHƢƠNG 5: ĐIỀU HÀNH DỰ ÁN
9

TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO

[1] Nguyễn Văn Vị, Nguyễn Việt Hà, Giáo trình Kỹ nghệ phần Trang web:
mềm, NXB Đại học QGHN, 2008.
http://www.softwareprojects.org/project-management.htm
[2] Hughes and Mike Cotterell, Software Project Management,
McGraw Hill, 2002. http://www.softwareprojects.org/
[3] Ian Sommerville, Software Engineering, Pearson, 2004 http://www.comp.glam.ac.uk/pages/staff/dwfarthi/projman.htm
[4] Eric Verzuh, The Fast Forward MBA in Project Management,
second edition, John Wiley & Sons, Inc., 2005. http://www.stellman-greene.com

[5] Roger S. Pressman, Software Engineering, a practitioner’s Hƣớng dẫn sử dụng MS Project:
Approach. Fifth Edition, Mc Graw Hill, 2001.
https://www.youtube.com/watch?v=pT2M3AV3Dpg
[6] Andrew Stellman & Jennifer Greene, Applied Software
Project Management, O'Reilly, 2005. Bob. http://123doc.vn/document/781314-hdsd-ms-project-2007.htm

2
ĐỊA CHỈ LIÊN HỆ
PGS.TS. NGUYỄN MẬU HÂN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM CHƢƠNG 1:
KHOA CÔNG NGHỆ THÔNG TIN
TRƢỜNG ĐẠI HỌC KHOA HỌC - ĐẠI HỌC HUẾ
TỔNG QUAN VỀ
TẦNG 2, NHÀ E, 77-NGUYỄN HUỆ – HUẾ QUẢN TRỊ DỰ ÁN PHẦN MỀM
ĐIỆN THOẠI:
CQ: 0234 382 6767 AN OVERVIEW OF SOFTWARE PROJECT MANAGEMENT
DĐ: 0905 591 515

KÊNH TRAO ĐỔI THÔNG TIN:


 Email: nmhan@husc.edu.vn
Nguyễn Mậu Hân
 Trang Đào tạo tín chỉ của ĐHKH Huế:
Khoa CNTT-ĐHKH HUẾ
https://teacher.husc.edu.vn/
14

CHƢƠNG 1: TỔNG QUAN VỀ QUẢN TRỊ DAPM 1.1 KHÁI NIỆM VỀ DỰ ÁN VÀ QUẢN TRỊ DỰ ÁN PHẦN MỀM

NỘI DUNG
KHÁI NIỆM VỀ DỰ ÁN
1.1. CÁC KHÁI NIỆM VỀ DỰ ÁN VÀ QUẢN TRỊ DỰ ÁN
Dự án là gì?
1.2. CÁC ĐẶC TRƢNG CỦA MỘT DỰ ÁN PHẦN MỀM
Một tập hợp các công việc
1.3. SỰ KHÁC NHAU GIỮA MỘT DAPM VỚI CÁC DỰ ÁN
KHÁC  Đƣợc thực hiện bởi một tập thể
1.4. CÁC HOẠT ĐỘNG VỐN CÓ CỦA MỘT DAPM
Nhằm mục đích:
1.5. SỰ THẤT BẠI CỦA DỰ ÁN
 Đạt đƣợc một kết quả dự kiến
1.6. SỰ THÀNH CÔNG CỦA DỰ ÁN
1.7. VAI TRÕ CỦA NGƢỜI THAM GIA DỰ ÁN  Trong một thời gian dự kiến
1.8. KỸ NĂNG CỦA NGƢỜI QUẢN LÝ DỰ ÁN  Với một kinh phí dự kiến
1.9. VÕNG ĐỜI CỦA QUẢN LÝ DỰ ÁN 15 Trong đó: 16

1.1 KHÁI NIỆM VỀ DỰ ÁN VÀ QUẢN TRỊ DỰ ÁN PHẦN MỀM 1.1 KHÁI NIỆM VỀ DỰ ÁN VÀ QUẢN TRỊ DỰ ÁN PHẦN MỀM

a. Tập thể Về mặt định lượng, dự án phần mềm được mô tả


- Có chuyên môn khác nhau trực quan qua 5 yếu tố sau:
- Công việc khác nhau
- Thời gian tham gia khác nhau
- Cùng phối hợp với nhau
b. Kết quả
- Đặc tính/đặc điểm của kết quả
- Giá trị sử dụng và hiệu quả
c. Thời gian
- Thời gian bắt đầu
- Thời gian kết thúc
- Mốc trung gian (thời điểm trung gian)
d. Kinh phí
- Vốn đầu tƣ cho dự án Giải thích?
17 18
- Có thể cấp thành nhiều giai đoạn

3
QUẢN TRỊ DỰ ÁN là gì? QUẢN TRỊ DỰ ÁN?

Quản lý dự án là một quá trình lập kế hoạch, tổ chức,


theo dõi và quản lý các công việc, nguồn lực để hoàn
thành các mục tiêu đặt ra với nhiều ràng buộc về thời
gian, chi phí và tài nguyên.
Quá trình lập kế hoạch là những hoạt động áp dụng:
1. tri thức
2. kỹ năng
3. công cụ 1. Tri thức
a. Tri thức cơ bản: giúp trƣởng dự án xác định mục tiêu của dự án
4. công nghệ  Quản lý yêu cầu/phạm vi: thu thập, phân loại và phê duyệt các yêu cầu
 Quản lý lịch biểu: ƣớc lƣợng thời gian thực hiện, tài nguyên cho từng
vào các hoạt động của dự án nhằm giải quyết các công việc để bảo đảm dự án hoàn thành đúng hạn
mong muốn của khách hàng hoặc sự mong đợi từ dự  Quản lý chi phí: chi tiêu hợp lý, không vƣợt ngân sách
án. 19
 Quản lý chất lƣợng: bảo đảm các sản phẩm đạt yêu cầu 20

QUẢN TRỊ DỰ ÁN? QUẢN TRỊ DỰ ÁN?

2. Công cụ: có 2 loại:


1. Các biểu mẫu tài liệu cho mỗi loại công việc
2. Các công cụ trợ giúp cho hoạt động, lập kế hoạch và điều
hành dự án, cụ thể:
• Quản lý yêu cầu: RequisitePro, ...
• Quản lý lịch biểu: MS Project, Planer, Open Plan, ...
• Quản lý chi phí: MS Project, Planer, Gantt Chart,
Costar, ...
Tóm lại,
1. Tri thức
b. Tri thức tiện ích: giúp trƣởng dự án hoàn thành mục tiêu đề ra của dự án • QLDA là một hoạt động đặc thù, không có các công cụ khác
 Quản lý nhân sự: sử dụng có hiệu quả nguồn nhân lực trợ giúp sẽ khó thành công
 Quản lý giao tiếp: phát sinh, thu thập, phổ biến, lƣu trữ các thông tin • Nhiều quy trình quản lý sản phẩm dựa trên các biểu mẫu
 Quản lý rủi ro: nắm bắt và xử lý các rủi ro tiềm ẩn không thực hiện đƣợc
 Quản lý thu mua: xin/mua/mƣợn/thuê các sản phẩm/dịch vụ cần thiết
• Ngƣợc lại không có biểu mẫu khó tiến hành các quy trình quản
cho dự án 21 lý hiệu quả trên các công cụ phần mềm. 22

SỰ CẦN THIẾT PHẢI QUẢN TRỊ DỰ ÁN SỰ CẦN THIẾT PHẢI QUẢN TRỊ DỰ ÁN ...

Tại sao hầu hết các dự án đều bị trễ hạn? Một số liệu đáng quan tâm:
Vì sao chi phí phát triển phần mềm đắt đến nhƣ vậy?  35% số dự án phần mềm thất bại vì các lý do: thời
Vì sao phần mềm nhiều lỗi nhƣ vậy? gian, chi phí, chất lƣợng sản phẩm (không đáp ứng
đƣợc nghiệp vụ, khó sử dụng, không tin cậy…)
Vì sao khó đo đếm tiến độ thực hiện của dự án phần
mềm đến nhƣ vậy?  45% : đã đƣợc phân phối, không đƣợc sử dụng
Cần quản trị. Vấn đề nằm ở quy trình chứ không  27% : không đƣợc phân phối
phải nằm ở lập trình. Chú ý rằng lập trình ngày nay
chỉ còn chiếm 10-15% chi phí của một phần mềm.  17% : bị hủy bỏ

Quản trị không giải quyết đƣợc hết mọi vấn đề  6% : đƣợc sử dụng sau khi đã sửa đổi
nhƣng nó cho phép dự phòng đƣợc các nguyên  5% : đƣợc sử dụng ngay sau khi phân phối
nhân làm dự án bị thất bại

4
SỰ CẦN THIẾT PHẢI QUẢN TRỊ DỰ ÁN ... 1.2. CÁC ĐẶC TRƢNG CỦA MỘT DỰ ÁN PHẦN MỀM

Chú ý:
 Bao gồm các nhiệm vụ không thƣờng xuyên
Ngày nay, đối với các dự án phần mềm nếu không
đƣợc quản trị thì hầu nhƣ sẽ thất bại.  Có tính kế hoạch
 Thời gian thực hiện dự án: có điểm bắt đầu và kết thúc
 Công việc của dự án đƣợc thực hiện bởi nhiều ngƣời
 Dự án có thể đƣợc thực hiện bởi một vài chuyên gia.
 Công việc của dự án đƣợc thực hiện qua nhiều giai
đoạn khác nhau
 Tài nguyên sử dụng trong dự án bị ràng buộc lẫn nhau
 Một dự án thƣờng có phạm vi lớn và phức tạp
26

1.3 SỰ KHÁC NHAU GIỮA MỘT DAPM VỚI CÁC LOẠI DỰ ÁN KHÁC 1.3 SỰ KHÁC NHAU GIỮA MỘT DAPM VỚI CÁC LOẠI DỰ ÁN KHÁC

1. Tính ẩn (Invisibility): 3. Sự phù hợp (conformity)


 Tiến trình xây dựng một con đƣờng, một chiếc Để xây dựng một tòa nhà, kỹ sƣ sẽ làm theo sự
cầu có thể thấy đƣợc. hƣớng dẫn với những quy tắc có sẵn
Tiến trình xây dựng một phần mềm thì không Để xây dựng một phần mềm ngƣời phát triển
thấy đƣợc. phần mềm phải làm cho thích hợp các yêu cầu của
khách hàng/ngƣời sử dụng.
2. Sự phức tạp (complexity)
 Một sản phẩm phần mềm chứa dựng nhiều sự 4. Sự uyển chuyển (Flexibility)
phức tạp hơn là các sản phẩm tạo từ vật liệu xây  Sản phẩm là không cố định
dựng.
 Có thể thay đổi cho phù hợp
27 28

1.4. CÁC HOẠT ĐỘNG VỐN CÓ CỦA MỘT DAPM 1.4. CÁC HOẠT ĐỘNG VỐN CÓ CỦA MỘT DAPM
1. Khảo sát khả thi (feasibility Study) 2. Lâp kế hoạch (Planning)-Chỉ thực hiện sau khi KSHT
Mô tả hiện trạng Giới thiệu về dự án
Xác định các vấn đề sẽ thực hiện Lý do và sự cần thiết của dự án
Mục tiêu của dự án
Đề xuất hƣớng phát triển (Proposed Development)
Các ràng buộc (constraints)
Ƣớc lƣợng kinh phí (Estimated Costs)
Các sản phẩm của dự án
Chỉ ra lợi ích của dự án (Envisage Benefit) Phƣơng pháp
Đề nghị (Recommendation) Các hoạt động đƣợc thực hiện (Envisage Benefit)
Nguồn sử dụng
Độ rủi ro của dự án
Quản lý dự án
29 30

5
1.4. CÁC HOẠT ĐỘNG VỐN CÓ CỦA MỘT DAPM 1.4. CÁC HOẠT ĐỘNG VỐN CÓ CỦA MỘT DAPM

3. Thực hiện dự án ( Project Excution)


Phân tích các yêu cầu
Feasibility study
Đặc tả (Specification) How do
we do it?

Thiết kế (Design)
Is it worth
Mã hóa (Coding) doing?

Plan
Kiểm tra và thẩm định (verification and validation)
Do it!
Cài đặt (Implementation)
Bảo trì và hỗ trợ
Project execution

31 32

1.5. SỰ THẤT BẠI CỦA DỰ ÁN 1.5. SỰ THẤT BẠI CỦA DỰ ÁN – Một vài số liệu

Về chi phí:
NHỮNG VẤN ĐỀ THƢỜNG XẢY RA VỚI DỰ ÁN

 Không hoàn thành đúng hạn (thời gian)

 Chi tiêu vƣợt quá dự toán (chi phí)

 Chất lƣợng sản phẩm không đảm bảo

33 34

1.5. SỰ THẤT BẠI CỦA DỰ ÁN – Một vài số liệu 1.5. SỰ THẤT BẠI CỦA DỰ ÁN – Một vài số liệu

Về thời gian: Về khả năng thất bại:

Kích cỡ Dự án
(Số chức năng)

35 Tỷ lệ thất bại 36

6
1.5.1 SỰ THẤT BẠI CỦA DỰ ÁN – Một vài số liệu 1.5.1 SỰ THẤT BẠI CỦA DỰ ÁN – Một vài số liệu

Dự án Công nghệ Thông tin cục thuế Thailand chi  Dự án đƣờng sắt Cát Linh – Hà Đông đƣợc Bộ
55.2 triệu USD (41: phần cứng, 11: phần mềm, GTVT phê duyệt từ 10/2008 với tổng mức đầu tƣ
1.2: đào tạo, 2: truyền thông) đƣợc xem là thất hơn 8.770 tỷ đồng, do nhà thầu Trung Quốc khởi
bại. Ngân hàng thế giới không cho kéo dài. công và dự kiến 2013 hoàn tất. Đến 12/2019, công
Dự án hệ thống điện tử xử lý thông tin tại trình có 10 lần trì hoãn và đƣợc điều chỉnh lên hơn
Seegame 22 (bắt đầu từ 5/12/2003) của Việt nam 18.000 tỷ đồng nhƣng đến ngày 6/11/2021 mới khai
dự toán 15 tỷ VND nhƣng mới đến tháng 6/2003 thác thƣơng mại.
đã chi 90 tỷ VND  Vốn đầu tƣ từ 8.770 tỷ tăng lên hơn 18.000 tỷ đồng
(tƣơng đƣơng trên 205%)

37 38

Theo IEEE một số nguyên nhân dẫn đến sự thất bại trong
1.5.2 TẠI SAO DỰ ÁN BỊ THẤT BẠI?
việc quản lý dự án nhƣ sau:
1. Dự án không có tính thực tế
CÁC NGUYÊN NHÂN CHÍNH
2. Ƣớc tính không chính xác nguồn lực cần thiết cho dự án
1. Ƣớc lƣợng sai 3. Xác định yêu cầu hệ thống không đúng
4. Báo cáo tình trạng dự án sơ sài
2. Phạm vi thay đổi 5. Không quản lý rủi ro
6. Giao tiếp khách hàng/ngƣời sử dụng và ngƣời phát triển dự
3. Sử dụng kỹ thuật không thích hợp hoặc kỹ án không tốt
7. Sử dụng công nghệ chƣa phát triển
thuật quá mới
8. Không có khả năng xử lý độ phức tạp của dự án
4. Lên kế hoạch tồi 9. Phát triển thực hành không có hệ thống
10. Thiếu kinh nghiệm trong việc quản lý dự án
5. Thiếu kinh nghiệm quản lý 11. Các bên liên quan mang tính chính trị
39
12. Các áp lực mang tính thƣơng mại

1.5.3 Nguyên nhân thất bại đến từ đội làm dự án 1.5.3 Nguyên nhân thất bại đến từ đội làm dự án ...

1. Lập trình trƣớc khi hiểu vấn đề: 2. Nhóm dự án có những suy nghĩ không thực tế về
các công việc phải thực hiện của dự án:
 Thành viên dự án đều mong muốn making
progress  Công việc phức tạp mà cứ nghĩ là đơn giản
 Ngay sau khi dự án bắt đầu, nhóm làm dự án bắt  Suy nghĩ chủ quan của nhóm dự án: làm đến đâu
đầu viết code và họ mong muốn đạt kết quả nhanh. thì làm, có thể hoàn thành dự án không đúng hạn mà
 Khi vấn đề trở nên phức tạp  công việc bị sa lầy. không nghĩ đến toàn bộ các công việc xuyên suốt của
dự án.
Cách tốt nhất để giải quyết vấn đề trên là sửa chữa
các sai sót trƣớc khi tiếp tục lập trình.  Một vài ngƣời suy nghĩ “thời gian hoàn thành là
việc của người khác”.

41 42

7
1.5.3 Nguyên nhân thất bại đến từ đội làm dự án ... 1.5.3 Nguyên nhân thất bại đến từ đội làm dự án ...

3. Các sai sót đã tồn tại nhƣng phát hiện muộn 4. Thói quen xấu của LTV
 Nhiều dự án xác định sai yêu cầu  LTV không cảm thấy phải chịu trách nhiệm về
 Nhiều yêu cầu đƣợc mô tả thiếu hoặc không công việc của mình
chính xác  LTV không quản lý tốt mã nguồn
 Việc thiết kế, kiến trúc và mã hóa sai  khó sửa chữa
 Chức năng kiểm thử có vấn đề  Mã nguồn đƣợc viết bởi ngƣời này nhƣng ngƣời
khác thừa kế  khó hiểu
Để giải quyết vấn đề này, nhóm dự án nên:  LTV không kiểm tra các mã nguồn của mình
 Tìm kiếm sai sót  Làm tăng chi phí để phát hiện và sửa chữa
 Phát hiện các nguyên nhân sai sót  Nhóm dự án không có ý thức tốt về toàn bộ dự
 Giải quyết ngay các sai sót, không kéo dài 43 án 44

1.5.3 Nguyên nhân thất bại đến từ đội làm dự án ... 1.6. SỰ THÀNH CÔNG CỦA DỰ ÁN

5. NQL muốn kiểm tra chất lƣợng phần mềm Một dự án đƣợc gọi là thành công nếu:
 Mọi ngƣời cho rằng việc phát hiện lỗi trong toàn  Đúng hạn: sản phẩm xuất ra đúng với lịch trình
bộ dự án là việc của nhân viên kiểm thử (tester)  Trong phạm vi ngân sách: chi phí dự án là phù
 Khi nhân viên kiểm thử tìm kiếm lỗi, NQL cho hợp với các ƣớc lƣợng về chi phí và dự toán
rằng họ đang phí thời gian  Chất lƣợng cao: chất lƣợng cao thể hiện trên 2
 Khi nhân viên kiểm thử tìm thấy lỗi, LTV sẽ phản mặt:
kháng vì họ cho rằng mình đang bị phê bình  Chức năng: đầy đủ, chính xác, ổn định
 Khi nhân viên kiểm thử không phát hiện lỗi hoặc  Hiệu năng: tốc độ, năng suất, chi phí hợp lý
sai  mọi ngƣời lại phê phán

46

1.6.1 New Top Ten Factors for IT Project Success 1.6.2 LÀM GÌ ĐỂ BẢO ĐẢM DỰ ÁN THÀNH CÔNG?

Rank Success Factor 1. Các quyết định phải đặt trên nền tảng chia sẻ và
1 Executive Support sự hỗ trợ của ngƣời thực hiện dự án minh bạch thông tin:
2 User Involvement sự tham gia của ngƣời sử dụng

3 Experienced Project Manager NQL có kinh nghiệm


 Chia sẻ: tất cả các tài liệu, lịch làm việc, dự
4 Clear Business Objectives Mục tiêu của dự án là rõ ràng
toán, kế hoạch và các công việc khác nên đƣợc
5 Minimized Scope Phạm vi giảm thiểu chia sẻ với toàn đội dự án, NQL, NSD và bất cứ
6 Standard Software Infrastructure CS hạ tầng phần mềm chuẩn ngƣời nào trong tổ chức quan tâm.
7 Firm Basic Requirements các yêu cầu cơ bản không thay đổi
 Minh bạch thông tin: mọi ngƣời liên quan đến
8 Formal Methodology phƣơng pháp luận chuẩn
dự án có thể biết đƣợc các thông tin cần thiết và
9 Reliable Estimates ƣớc lƣợng đáng tin cậy
tìm ở đâu là thích hợp
10 Other

Table 1.3 Source: Extreme Chaos. The Standish Group International, Inc. 2011.
Các chủ trƣơng chính của dự án phải đƣợc giải
http://www.standishgroup.com/sample_research/index.php
thích rõ ràng và đƣợc hỗ trợ rộng rãi
48

8
1.6.2 LÀM GÌ ĐỂ BẢO ĐẢM DỰ ÁN THÀNH CÔNG? 1.6.2 LÀM GÌ ĐỂ BẢO ĐẢM DỰ ÁN THÀNH CÔNG?

2. Đừng nói sau lƣng các thành viên của dự án: 3. Đừng áp đặt thứ bậc hình thức lên nhóm dự án:
 NQL cần phải biết năng lực từng thành viên  Các kỹ sƣ phần mềm là bình đẳng nhƣ nhau
 Vì NQL chịu trách nhiệm về sự thành công và  NQL không nên cho rằng NLT là làm việc vất vã,
thất bại của dự án nhƣng không có nghĩa rằng anh có tính kỹ thuật hơn ngƣời thiết kế hoặc ngƣời
ta có khả năng quyết định toàn bộ vấn đề của dự kiểm thử.
án.  NQL không nên nghĩ rằng NLT luôn luôn đúng
 Nếu bạn không có một lý do chính đáng để phủ còn ngƣời kiểm thử thì luôn chỉ ra những điều sai
quyết về một ý tƣởng nào đó thì ... say nothing sót.

49 50

1.6.2 LÀM GÌ ĐỂ BẢO ĐẢM DỰ ÁN THÀNH CÔNG? 1.7. VAI TRÕ CỦA NGƢỜI THAM GIA DỰ ÁN

4. Sử dụng tốt các công nghệ sẵn có AI LÀ NGƢỜI CẦN PHẦN MỀM?
 Sử dụng các công nghệ sẵn có sẽ tiết kiệm thời Phần mềm xây dựng cho những tổ chức với
gian và tăng chất lƣợng sản phẩm. Không sử dụng những nhu cầu riêng
chúng sẽ làm tăng chi phí thời gian và giảm chất Ngƣời tham gia (Stakeholder) là ngƣời quan tâm
lƣợng sản phẩm. đến sự hoàn thành của dự án. Thông thƣờng là
Thông thƣờng NQL và nhóm dự án muốn cắt bỏ bên thứ 3 liên quan đến một công ty xây dựng
những phần quan trọng để giảm thiểu thời gian và phần mềm cho dự án.
kinh phí Customer/User là ngƣời cần sử dụng phần mềm
 Nên sử dụng các công nghệ và xem lại các để thực hiện công việc
khâu ƣớc lƣợng, các kết quả đã thực hiện, kết luận Đôi khi một Stakeholder là một User. Nhƣng
các cuộc họp và công tác kiểm định. thông thƣờng Stakeholder không sử dụng phần
 Cắt bỏ chức năng sẽ làm giảm chất lƣợng dự án51 mềm 52

1.7. VAI TRÕ CỦA NGƢỜI THAM GIA DỰ ÁN 1.7. VAI TRÕ CỦA NGƢỜI THAM GIA DỰ ÁN

AI LÀ NGƢỜI XÂY DỰNG PHẦN MỀM? NHIỆM VỤ CỦA NGƢỜI QUẢN LÝ


Phần mềm đƣợc xây dựng bởi những kỹ sƣ 1. Quản lý thời gian
phần mềm team of software engineer, bao gồm: lập lịch
 Business analysts or requirements analysts who kiểm tra/đối chiếu các tiến trình với lịch biểu
talk to users and stakeholders, plan the behavior of
software and write software requirements điều chỉnh lịch
 Designers and architects who plan the technical  Cần tạo độ mềm dẻo với lập lịch biểu
solution 2. Quản lý tài nguyên
 Programmers who write the code Xác định, quản lý tài nguyên
 Testers who verify that the software meets its Phân bổ, điều phối tài nguyên
requirements and behaves as expected 53 54

9
1.7. VAI TRÕ CỦA NGƢỜI THAM GIA DỰ ÁN 1.7. VAI TRÕ CỦA NGƢỜI THAM GIA DỰ ÁN

3. Quản lý sản phẩm TRÁCH NHIỆM CỦA NGƢỜI QUẢN LÝ DỰ ÁN


 thêm, bớt chức năng phần mềm 1. Với tổ chức cấp trên, ngƣời tài trợ
 Sử dụng vốn có hiệu quả
4. Quản lý rủi ro  Báo cáo kịp thời
 xác định, phân tích rủi ro 2. Với dự án và khách hàng Áp lực lên
 đề xuất giải pháp  Giao đúng hạn ngƣời quản
lý là rất lớn
 Bảo đảm chất lƣợng
5. Tổ chức cách làm việc 3. Với thành viên đội dự án
 Việc làm phù hợp, công bằng
55  Thu nhập thỏa đáng, tiến bộ 56

1.7. VAI TRÕ CỦA NGƢỜI THAM GIA DỰ ÁN 1.7. VAI TRÕ CỦA NGƢỜI THAM GIA DỰ ÁN

4. Ngoài ra, NQL còn phải: Chức danh Vai trò – Trách nhiệm
• Chịu trách nhiệm về kết quả dự án
 Tìm kiếm các nguồn lực thích hợp Ngƣời quản lý • Thu nhận và bố trí nhân sự
1 dự án • Lập kế hoạch dự án và lịch biểu
 Thu nhận và thúc đẩy nhân viên làm việc
(Project manager) • Điều hành, ra quyết định, báo cáo
 Vƣợt qua đƣợc các cản trở
• Thực hiện công việc đƣợc giao
Đội dự án • Báo cáo vấn đề cụ thể khi gặp trở ngại
 Phân tích đƣợc sự trả giá cho các mục tiêu 2
(Project team)
 Duy trì sự cân đối trong đội phát triển
• Cá nhân/đơn vị cấp vốn có quyền tối
 Giao tiếp với mọi ngƣời tham gia Ngƣời tài trợ
cao
3 • Bổ nhiệm, đặt mục tiêu, ký hợp đồng
(Sponsor)
 Khả năng đàm phán • Đánh giá, quyết định ngừng/tiếp tục cấp
 Đòi hỏi ngƣời quản lý dự án phải vốn
có kỹ năng, năng lực và phẩm chất 57 58

1.7. VAI TRÕ CỦA NGƢỜI THAM GIA DỰ ÁN 1.7. VAI TRÕ CỦA NGƢỜI THAM GIA DỰ ÁN

Chức danh Vai trò – Trách nhiệm Chức danh Vai trò – Trách nhiệm
• Đối tƣợng đƣợc thụ hƣởng kết quả dự án • Đƣợc thành lập để theo dõi một hoặc một số
• Nêu yêu cầu về sản phẩm dự án, thƣờng gồm: trƣởng ban, thƣ ký, các
4
Khách hàng • Hỗ trợ, có thể tham gia vào các hoạt động Ban Quản thành viên khác
(Customer) của dự án
lý dự án • Xét duyệt, giải quyết vấn đề liên quan đến
• Đánh giá, nghiệm thu sản phẩm 7 (Project các chỉ đạo của cấp trên đối với dự án
• Cá nhân/tập thể là cấp trên của NQL dự án Management • Theo dõi tình hình thực hiện dự án, báo cáo
5
Lãnh đạo • Bổ nhiệm NQL dự án, phê duyệt dự án Unit) tiến độ thực hiện dự án
(Leader) • Giải quyết những vấn đề mà dự án đề xuất • Hƣớng dẫn, tƣ vấn, giải quyết các vấn đề liên
quan
• Cá nhân có chuyên môn đƣợc huy động
Nhóm chuyên • Cung cấp thông tin để lập kế hoạch dự án • Trợ giúp ngƣời QLDA thực hiện 1 mảng công
môn • Đƣợc giao thực hiện 1 số nhiệm vụ: thƣ ký,
Lãnh đạo việc
6 • Lập kế hoạch chuyên môn trực tiếp
(Business kỹ thuật, kế toán, ... 8 đội
Group) • Báo cáo hiện trạng từng mặt dự án (Team leader) • Điều hành tham gia thực hiện công việc
59 • Đề xuất giải pháp, báo cáo ngƣời quản lý 60

10
1.8. KỸ NĂNG CỦA NGƢỜI QUẢN LÝ DỰ ÁN 1.8.1 KỸ NĂNG MIỀN ỨNG DỤNG

NQL DỰ ÁN PHẢI CÓ ĐỦ 3 MIỀN KỸ NĂNG SAU:


Bao gồm:
1. Kỹ năng 2. Kỹ năng  Công nghệ thông tin
miền ứng dụng quản lý dự án  Tri thức kĩ thuật cơ sở về hệ thống thông tin

3. Kỹ năng  Phát triển hệ thống thông tin


quản lý chung  Tri thức về ngành công nghiệp
– Tri thức về ngành công nghiệp mà hệ thống
 Thiếu một trong các kỹ năng này dự án khó đƣợc áp dụng
thành công  Tri thức ứng dụng

62

1.8.2 KỸ NĂNG QUẢN LÝ DỰ ÁN 1.8.2 KỸ NĂNG QUẢN LÝ DỰ ÁN

Quy trình quản lý dự án Xây dựng kế hoạch dự án Theo dõi và kiểm soát việc  Quản lý thay đổi
 Các hoạt động quy  Kế hoạch phạm vi thực hiện dự án  Quản lý thay đổi
trình quản lý dự án  Lập nguyên tắc phát triển dự án  Kiểm soát thực hiện dự án  Thủ tục quản lý thay đổi
 Điều phối và thay đổi dự án  Chấp thuận thay đổi
 Các nhiệm vụ trong  Định nghĩa phục vụ
hoạt động quản lý dự  Quản lý dự án  Kết thúc dự án
 Kế hoạch lịch biểu  Đánh giá hoàn thành pha  Xác nhận trạng thái kết thúc
án
 Kế hoạch nguồn lực  Báo cáo trạng thái dự án dự án
 Tri thức thực hành và  Kiểm soát tiến độ  Chuẩn bị báo cáo hoàn
cấu trúc lõi của NQL dự  Kế hoạch tổ chức và nhân sự
 Quản lý nguồn lực thành dự án
án  Kế hoạch mua sắm
 Quản lý tổ chức và nhân  Giám định kết quả của
 Kế hoạch chi phí viên ngƣời dung
 Kế hoạch bảo đảm ch.lƣợng  Quản lý mua sắm  Báo cáo hoàn thành dự án
 Kế hoạch quản lý rủi ro  Quản lý chi phí  Đánh giá dự án
 Tạo ra các tài liệu về kế hoạch  Quản lý chất lƣợng  Đánh giá sau khi hoàn thành
dự án  Quản lý rủi ro  Phân loại và phân tích thông
63
tin thực thể và tạo CSDL 64

1.8.3 KỸ NĂNG QUẢN LÝ CHUNG 1.9. VÕNG ĐỜI CỦA QUẢN LÝ DỰ ÁN

. Vòng đời chuẩn của QLDA/Quy trình làm dự án


– Kỹ năng lãnh đạo gồm 4 phases:
Xác định Lập kế Thực hiện Đóng
– Kỹ năng trao đổi và tổ chức dự án hoạch (Điều hành) dự án

– Kỹ năng xử lý xung khắc Khởi tạo dự án

– Kỹ năng động viên 1. Xác định dự án: bao gồm việc xác định:
 Mục tiêu, mục đích và ràng buộc, sản phẩm
 Phạm vi và vai trò những ngƣời liên quan
 Sơ đồ cây quản lý và kế hoạch truyền thông
 Các mốc chính bàn giao sản phẩm
65 66

11
1.9. VÕNG ĐỜI CỦA QUẢN LÝ DỰ ÁN 1.9. VÕNG ĐỜI CỦA QUẢN LÝ DỰ ÁN

2. Lập kế hoạch: 4. Đóng dự án: kết thúc tất cả các hoạt động của dự
Xây dựng một bản dự kiến các công việc cần làm án.
từ khi bắt đầu cho đến khi bàn giao sản phẩm Một góc nhìn khác về mức độ giao nhau giữa các pha trong
 Tạo lịch biểu thực hiện và các kế hoạch hỗ trợ: quá trình làm dự án
 Kế hoạch quản lý rủi ro
 Kế hoạch quản lý nguồn nhân lực và chất lƣợng, bảo
đảm cân bằng chi phí thời gian-chất lƣợng
Bản KHDA là công cụ chính để quản lý dự án
3. Điều hành dự án:
Thực hiện các hoạt động của dự án để đạt đến
mục tiêu, bằng cách:
Đo đạt và theo dõi tiến độ
Truyền thông bảo đảm đồng thuận và phối hợp
Tính toán, thực hiện điều chỉnh và giải pháp 67 68

1.9. VÕNG ĐỜI CỦA QUẢN LÝ DỰ ÁN CÂU HỎI CUỐI CHƢƠNG


1. Dự án là gì? Các đặc trƣng của dự án. Khó khăn
Chƣơng 4 Chƣơng 5 và thuận lợi của dự án phần mềm?
Chƣơng 2 Chƣơng 3
2. Quản lý dự án bao gồm các công việc gì? Những
XÁC ĐỊNH LẬP KẾ HOẠCH ĐIỀU HÀNH
thách thức gì đối với quản lý dự án? Giải thích lý
• Đưa ra ng. tài trợ
• Bản công bố dự án • Lịch biểu • Truyền thông do?
• Ước lượng • Quản lý cấu hình
• Xđịnh ng.liên quan
• Lập dự án cơ sở
• Bản đề xuất dự án
• Ma trận tr.nhiêm
• Lập lịch chi tiết
• Quản trị rủi ro
• Ngân sách
• KH nguồn lực • Đo tiến trình 3. Những loại thất bại điển hình nào của dự án phần
• Điều chỉnh
• KH truyền thông • Bản rủi ro
• Đóng dự án mềm? Cho ví dụ.
4. Nêu các đặc trƣng của quản lý dự án? Giải thích
Phản hồi, thay đổi, điều chỉnh về các đặc trƣng đó.
5. Liệt kê các hoạt động quản lý trong quản lý dự án
phần mềm? Mục tiêu và nội dung tóm tắt của mỗi
hoạt động quản lý cụ thể là gì?
6. Thế nào là một dự án thành công? Khi nào dự án
đƣợc xem là thất bại?
69 70

NỘI DUNG BÀI TẬP CỦA CÁC NHÓM

1. Cài đặt Microsoft Project CHƢƠNG 2:


2. Đọc tài liệu “Hƣớng dẫn và sử dụng
Microsoft Project” XÁC ĐỊNH DỰ ÁN
SOFTWARE PROJECT INITIATING

Nguyễn Mậu Hân


Khoa CNTT-ĐHKH HUẾ
71

12
CHƢƠNG 2 XÁC ĐỊNH DỰ ÁN CHƢƠNG 2: XÁC ĐỊNH DỰ ÁN

NỘI DUNG
WHERE?
2.1. TIẾN TRÌNH XÁC ĐỊNH DỰ ÁN Chƣơng 4 Chƣơng 5
Chƣơng 2 Chƣơng 3
2.2. CÁC HỒ SƠ DỰ ÁN CẦN XÁC ĐỊNH
XÁC ĐỊNH LẬP KẾ HOẠCH ĐIỀU HÀNH
2.3. LỊCH TRÌNH DỰ ÁN • Đưa ra ng. tài trợ
• Bản công bố dự án • Lịch biểu • Truyền thông
• Ước lượng • Quản lý cấu hình
• Bản đề xuất dự án • Ngân sách
• Xđịnh ng.liên quan • Lập lịch chi tiết • KH nguồn lực • Đo tiến trình
• Ma trận tr.nhiệm
2.4. MA TRẬN TRÁCH NHIỆM • Lập dự án cơ sở
• KH truyền thông • Quản trị rủi ro • Bản rủi ro •

Điều chỉnh
Đóng dự án

2.5. KẾ HOẠCH TRUYỀN THÔNG


Phản hồi, thay đổi, điều chỉnh
2.6. CÁC CÔNG CỤ QUẢN LÝ DỰ ÁN
VÕNG ĐỜI CỦA QUẢN LÝ DỰ ÁN

73 74

2.1. TIẾN TRÌNH KHỞI TẠO DỰ ÁN 2.2. CÁC HỒ SƠ DỰ ÁN CẦN XÁC ĐỊNH

 CÁC BƢỚC XÁC ĐỊNH DỰ ÁN 2.2.1. BẢN CÔNG BỐ DỰ ÁN (Project Chater)


(Project Chater)
Vai trò của bản công bố dự án:

 Tuyên bố bắt đầu dự án

 Xác định nhà tài trợ và ngƣời quản lý dự án

 Chính thức trao thẩm quyền cho NQL dự án để


xây dựng bảng đề xuất dự án (Project Proposal).

 Kêu gọi sự đồng thuận, trợ giúp


75 76
(Bản đề xuất dự án)

2.2.1 BẢN CÔNG BỐ DỰ ÁN 2.2.2 BẢN ĐỀ XUẤT DỰ ÁN (PP-Project Proposal)

Nội dung của bản công bố dự án:


 NQL dự án xây dựng PP
 Tên ngƣời quản lý  Ngƣời có thẩm quyền thông qua và phê duyệt
 Tên nhà tài trợ  PP chƣa đƣợc thông qua thì chƣa đƣợc triển khai
dự án.
 Ngày ký
 Ngƣời xây dựng PP phải ngƣời có chuyên môn
 Ngày dự án bắt đầu cao, kinh nghiệm, có năng lực quản lý dự án.
 Lời đề nghị những ngƣời liên quan hợp tác toàn  Với những dự án lớn, việc xây dựng PP có thể là
diện với dự án một dự án.
 Nhà tài trợ và Ban quản lý lập ra và gửi đi
77 78

13
a. Cơ sở để viết bản đề xuất dự án b. Nội dung của bản đề xuất dự án

Trƣớc khi xây dựng bản đề xuất dự án cần trả lời 1. Mục tiêu của dự án (đáp ứng yêu cầu của tổ chức)
các câu hỏi sau:
2. Vấn đề và cơ hội (sự cấp thiết và lợi ích của dự án)
1. Sản phẩm của dự án là gì? (phần mềm)
2. Sự cần thiết của dự án (phù hợp với mục tiêu của 3. Giải pháp đề xuất (giải pháp công nghệ)
tổ chức) 4. Các tiêu chuẩn và lựa chọn dự án (cách tiếp cận)
3. Phƣơng án thực hiện (cách tiếp cận chọn dự án)
5. Phân tích lợi nhuận và chi phí (khả thi về kinh tế)
4. Công việc cần làm (hoạt động phát triển)
5. Trình tự thực hiện (tiến trình) 6. Các yêu cầu về nghiệp vụ (sự cộng tác)
6. Tiến độ bàn giao (lịch biểu) 7. Phạm vi dự án và nguồn nhân lực phục vụ dự án
7. Chi phí, lợi ích mang lại (phân tích lợi ích, chi phí)
8. Những cản trở và khó khăn chính (phải lƣờng hết)
8. Mức độ thành công (phân tích khó khăn, rủi ro)
79 80
cont...

b. Nội dung của bản đề xuất dự án c. Cấu trúc của bản đề xuất dự án
 Tên dự án  Nội dung
9. Phân tích các rủi ro có thể xảy ra  Đơn vị chủ trì (phân biệt đơn vị  Mô tả nội dung chức năng cần
phối hợp, đơn vị thực hiện) đạt đƣợc
10.Tổng quan lịch trình thực hiện  Các căn cứ
 Mô tả các tính năng cần đạt
đƣợc
• Thời gian bắt đầu  Căn cứ pháp lý (các văn bản,  Mô tả các hạng mục cần thực
nhiệm vụ chính trị của đơn vị, hiện
• Thời gian kết thúc tổ chức)  Mô tả hiệu quả dự kiến
 Tình hình (nhiệm vụ liên quan  Hiệu quả nghiệp vụ
• Các mốc thời gian quan trọng khác đến dự án, hiện trạng (về thiết
bị, tổ chức con ngƣời, quy trình,  Hiệu quả kinh tế - xã hội
phần mềm, thông tin), yêu  Dự toán sơ bộ và lịch trình sơ
11.Ma trận trách nhiệm (quan hệ/trách nhiệm) cầu…)
bộ
12.Kế hoạch truyền thông (đảm thông tin đến đầy đủ)  Tính cần thiết của dự án
 Kết luận
 Mục tiêu, phạm vi
 kết luận về lợi ích, khả năng thực
 Mục tiêu dài hạn hiện và kiến nghị cấp trên cho
triển khai dự án
 Mục tiêu cụ thể phù hợp với
81
mục tiêu dài hạn  Các phụ lục: các thông tin để làm
82
rõ thêm dự án

VÍ dụ về bản đề xuất dự án VÍ dụ về bản đề xuất dự án

 Tên dự án: Xây dựng HTTT quản lý văn bản và hồ sơ công Mục tiêu và phạm vi dự án
vịêc tại Sở Kế hoạch và đầu tƣ tỉnh X
 Mục tiêu dài hạn: cải cách hành chính, tăng cƣờng năng lực
 Đơn vị chủ trì: Sở KHĐT tỉnh X quản lý
 Các căn cứ:
 Mục tiêu cụ thể: Xây dựng phần mềm quản lý văn bản và
 Căn cứ pháp lý (các văn bản về tổ chức bộ máy và nhiệm vụ điều hành công việc qua mạng,
chính trị của Sở, các văn bản về tin học hoá hành chính nhà  Phạm vi, chỉ xây dựng phần mềm, áp dụng tại trụ sở của
nƣớc, nghị quyết của Đại hội Đảng bộ cơ quan về tin học Sở
hoá, Qđịnh của Giám đốc Sở về triển khai tin học hoá …) Nội dung dự án
 Tình hình tin học hoá (thiết bị, các phần mềm ứng dụng, con  Xây dựng phần mềm với các chức năng và tính năng sau:
ngƣời, dữ liệu, chính sách) ….
 Tình hình nghiệp vụ (tần suất công văn, nguyên nhân trì trệ  Xây dựng cơ sở dữ liệu văn bản
trong hoạt động hành chính, xác định, …)  Tổ chức lại quy trình thực hiện
 Tính cần thiết của dự án: khẳng định hệ thống hiện tại không  Chuyển giao công nghệ
đáp ứng đƣợc yêu cầu hiện tại cũng nhƣ trong thời gian tới,
cần phải tin học hoá

14
VÍ dụ về bản đề xuất dự án VÍ dụ về bản đề xuất dự án

Hiệu quả dự kiến


Dự kiến tiến trình triển khai
 Tính sẵn sàng của văn bản, tìm kiếm nhanh,
chính xác  Xây dựng đề án khả thi: 2 tháng
 Xử lý văn bản dễ dàng: tiếp nhận, công bố, phân  Chọn nhà thầu: 1 tháng
văn bản, lập hồ sơ xử lý
 Thống nhất thiết kế: 1 tháng
 Dễ dàng xác nhận trách nhiệm, dễ dàng kiểm
soát tiến độ và nội dung xử lý  Xây dựng phần mềm: 8 tháng
 Xây dựng đƣợc nề nếp làm việc văn minh, công  Chuyển giao: 1 tuần
nghiệp
 Đƣa vào vận hành: 3 tháng thử nghiệm, sau đó
 Giảm đƣợc thời gian làm việc để có thể giảm biên đƣa vào sử dụng chính thức
chế. Thành lập đƣợc bộ phận dịch vụ mà không
phải tăng ngƣời

Ví dụ về bản đề xuất dự án VÍ dụ về bản đề xuất dự án

Dự kiến kinh phí (phác thảo-không cần quá chính xác) Kết luận
 Cơ sở dự toán  Không thể không tin học hoá vì <lý do,...>
 Điều kiện đã chín muồi
 Kinh phí làm phần mềm (giải trình theo phụ lục)
 Nếu đƣợc thực hiện sẽ ...
 Kinh phí làm dữ liệu  Đề nghị lãnh đạo Sở xem xét và cho triển khai
 Kinh phí mua sắm thêm server, scanner, ... và Phụ lục:
nâng cấp hệ thống mạng  Phụ lục 1. Tình hình triển khai ở một số tỉnh bạn và
 Kinh phí đào tạo hiệu quả
 Phụ lục 2. Dự toán phần mềm
 Kinh phí quản lý (tƣ vấn, giám sát, nghiệm thu, …)
 Phụ lục 3….
 Kinh phí dự phòng (cỡ 10%)

1. Mục tiêu của dự án 2. Sự cấp thiết và lợi ích của dự án

Yêu cầu:  Là cơ sở để thuyết phục nhà tài trợ hoặc khách


 Mục tiêu của dự án phải đáp ứng đƣợc sự mong đợi hàng đầu tƣ
của tổ chức hƣởng thụ sản phẩm dự án, bao gồm:
 Mục tiêu chung: hƣớng lâu dài, phù hợp với chiến lƣợc  Những lợi ích của dự án có thể là:
của tổ chức
 Mục tiêu cụ thể: giải quyết những vấn đề, nhiệm vụ hiện  Giúp giải quyết đƣợc những khó khăn hiện tại
tại của tổ chức  Tăng tiềm lực cạnh tranh
 Đối với dự án nhỏ chỉ có mục tiêu cụ thể  Vƣợt qua đƣợc những thách thức trong tƣơng lai
 Khi xác định mục tiêu cần lấy chiến lƣợc của tổ
 Tạo cơ hội hợp tác
chức làm cơ sở
 Mục tiêu cần phải rõ ràng, đúng đắn, là cơ sở để
xây dựng các tài liệu khác.  Cần chỉ rõ những khó khăn nếu dự án không đƣợc
 Mục tiêu là yếu tố quyết định sự thành công của dự thực hiện
án 89 90

15
3. Đề xuất giải pháp 4. Các tiêu chí lựa chọn phƣơng án dự án

Tiêu chí lựa chọn:


 Mỗi nội dung của dự án cần đề xuất một giải pháp
a. Đáp ứng đƣợc yêu cầu của khách hàng/NSD
thực hiện
 Mức độ giải quyết vấn đề đặt ra:
 Tối thiểu cải thiện tình hình
 Giải pháp đề xuất có thể là:  Cơ bản giảm chi phí/tăng hiệu quả
 Công nghệ sử dụng  Triệt để đạt lợi nhuận/ƣu thế cạnh tranh
 Các ràng buộc
 Phƣơng pháp thực hiện
 Thời gian
 Mua sắm cơ sở vật chất  Chi phí
 Khác
 Đặt hàng từ các tổ chức khác
b. Phù hợp với nhà phát triển

91 92

4. Các tiêu chí lựa chọn phƣơng án dự án 2.3. LỊCH TRÌNH DỰ ÁN

Khi có giải pháp công nghệ, cần xây dựng một Mục đích: Xác định thời gian thực hiện các công việc
phƣơng án ứng các yêu cầu của khách hàng đặt ra trong dự án
(tối thiểu, cơ bản, triệt để) và: Lịch trình dự án cần chỉ ra:
 Tiến hành tính toán chi phí để kiểm tra sự thỏa  Thời gian bắt đầu-kết thúc dự án
mãn các ràng buộc  Các giai đoạn chính của dự án
 Các mốc thƣờng chọn trong lập lịch là:
 Cho điểm từng tiêu chuẩn (theo mức ƣu tiên) để  Xác định yêu cầu
đánh giá phƣơng án  Thiết kế
 Lập trình
 Phân tích, so sánh có tính đến các điều kiện khác  Kiểm thử đơn vị
để chọn phƣơng án chấp nhận đƣợc  Kiểm thử thẩm định
 Cài đặt
 Vận hành
93
 Sử dụng Microsoft Project để lên lịch trình dự án 94

2.4. MA TRẬN TRÁCH NHIỆM 2.4. MA TRẬN TRÁCH NHIỆM

Mục đích của ma trận trách nhiệm: MTTN là một bảng 2 chiều gồm nhiều dòng và nhiều cột

Xác định trách nhiệm của từng ngƣời/nhóm ngƣời Các dòng: ghi các nhiệm vụ chính

 Tránh nhập nhằng công việc Các cột: ghi ngƣời / nhóm ngƣời liên quan

 Giẩm chân lên nhau Các ô giao giữa dòng và cột: ghi trách nhiệm của
ngƣời ở cột đối với công việc ở dòng bằng một trong
Công bố trách nhiệm: các chữ:
 tăng tính trách nhiệm  P (Performing) – trách nhiệm thực hiện
 kêu gọi sự đồng thuận  C (Contributing) – Cần đƣợc tƣ vấn
Xác định các quan hệ trong dự án để thiết lập  I (Informing) – Cần đƣợc thông báo
kênh giao tiếp bảo đảm thông tin đến đúng ngƣời  A (Approving) – Thẩm quyền phê duyệt
cần, đúng thời gian và đúng nội dung.  R (Reviewing) – Thẩm định
95 96

16
2.4. MA TRẬN TRÁCH NHIỆM VÍ DỤ MA TRẬN TRÁCH NHIỆM CHO MỘT DỰ ÁN ĐÀO TẠO

Các bƣớc xây dựng ma trận trách nhiệm:


1. Liệt kê các hoạt động chính của dự án và ghi vào
các dòng
2. Ghi tên nhóm ngƣời liên quan vào cột. Các nhóm
này do nhà tài trợ và ngƣời quản lý dự án xác
định. Không lấy tên một thành viên, trừ nhóm một
ngƣời.
5 nhóm tiêu biểu là: ngƣời quản lý dự án, đội dự
án, ngƣời tài trợ, ngƣời quản lý nghiệp vụ và
khách hàng
A (Approving): Xét duyệt; P (Performing): Thực hiện; R (Reviewing): Thẩm
định; C (Contributing): Tham gia đóng góp; I (Informing): thông báo cho biết;
97
E: trách nhiệm thực hiện 98

2.5. KẾ HOẠCH TRUYỀN THÔNG 2.5. KẾ HOẠCH TRUYỀN THÔNG...

Mục đích: Đối tƣợng và nhu cầu thông tin


 Tạo điều kiện chủ động, Đối tƣợng Thông tin cung cấp/cần
năng động trong công việc Nhà tài trợ Cung cấp vốn, trông đợi kết quả, tiến độ
 Phối hợp với mọi ngƣời, gây ảnh hƣởng lên mọi Ngƣời quản lý Cung cấp nguồn lực, yêu cầu nghiệp vụ, ra
ngƣời, qua đó tạo sự đồng thuận nghiệp vụ chính sách
 Xây dựng KHTT cần trả lời các câu hỏi: Khách hàng Yêu cầu sản phẩm, tiến độ, khả năng chi phí
Đội dự án Nhiệm vụ giao, thông tin thực hiện dự án, nhà
 Ai là ngƣời cần thông tin?
thầu phụ, trao đổi trực tiếp
 Họ cần thông tin gì? Ngƣời QLDA Vừa nhận vừa cung cấp thông tin dự án
 Khi nào và bằng cách nào để họ nhận đƣợc?
Dựa vào vai trò, trách nhiệm của đối tƣợng để xác
 KHTT là một chiến lƣợc văn bản để nhận thông
định thông tin cần cung cấp
tin đúng, gửi đúng ngƣời và đúng thời gian
Dự án khác nhau, vai trò trách nhiệm của mỗi đối
99
tƣợng khác nhau nên nhu cầu thông tin cũng thay đổi
100

2.5. KẾ HOẠCH TRUYỀN THÔNG... 2.5. KẾ HOẠCH TRUYỀN THÔNG...

Các loại thông tin đƣợc quản lý: Các loại thông tin đƣợc quản lý:
a. Thông tin về thẩm định: c. Thông tin về sự phối hợp:
• Kế hoạch dự án • Kế hoạch dự án phối hợp với những ngƣời
• Bảng công việc liên quan
• Ngân sách • Thông tin về mối quan hệ công việc giữa các
• Đặc tả sản phẩm đã đƣợc thẩm định nhóm
• Các bƣớc duyệt xét, sửa đổi và cụ thể ai thực KHTT cần phải ghi nhận mọi tiến trình để cập nhật,
hiện cung cấp thông tin hàng ngày, tuần, tháng đến các
b. Thông tin về sự thay đổi hiện trạng đối tƣợng liên quan.
• Các báo cáo về chi phí
• Các tiến trình và sự kiện thuộc loại này

101 102

17
2.6. CÁC CÔNG CỤ QUẢN LÝ DỰ ÁN 2.6.2 CÁC PHẦN MỀM CẦN THIẾT ĐỂ QUẢN LÝ DỰ ÁN

Quản lý dự án là một hoạt động đặc thù. Không có Các công cụ phần mềm trợ giúp trong QLDA đƣợc xem
công cụ hỗ trợ thì rất khó thành công. là một nhân tố quyết định sự thành công của dự án.
Có 2 loại công cụ: Có 2 loại:
 Các khuôn mẫu tài liệu cho mỗi loại công việc 1. Phần mềm quản lý dự án hỗ trợ trong việc:
 Các công cụ trợ giúp cho hoạt động lập kế hoạch  Lập kế hoạch
và điều hành dự án nhƣ: thu thập số liệu, lƣu trữ,  Tính toán các chi phí
truyền thông, xử lý, ƣớc lƣợng,...  Lập lịch
 Theo dõi thực hiện
 Chú ý rằng: 2. Phần mềm quản lý cấu hình giúp:
 Không có công cụ phần mềm, nhiều quy trình quản lý  Quản lý các thành phần phần mềm và chuyển
sản phẩm dựa trên các biểu mẫu không quản lý đƣợc. giao
 Ngƣợc lại, không có biểu mẫu khó tiến hành các quy
 Quản lý sự thay đổi
trình quản lý hiệu quả trên các công cụ phần mềm.
103
 Đảm bảo chất lƣợng 104

BÀI TẬP VÀ THẢO LUẬN NHÓM CÂU HỎI CUỐI CHƢƠNG

1. Trình bày nội dung, cấu trúc và vai trò của bản công bố dự
1. Các nhóm xác định tên dự án của nhóm mình án. Nó liên quan đến yếu tố thành công nào của dự án?
2. Nhóm trƣởng phân công trách nhiệm cho mỗi 2. Trình bày nội dung của Bản đề xuất dự án? Mỗi nội dung
thành viên trong nhóm và viết bản đề xuất dự án nhằm trả lời cho câu hỏi gì? Vai trò của nó trong việc thực
thi dự án?
3. Tiến trình xác định dự án gồm các bƣớc nào? vẽ sơ đồ tiến
trình? Sản phẩm của mỗi bƣớc là gì?
4. Các hồ sơ dự án cần xác định
5. Kế hoạch truyền thông
6. Ma trận trách nhiệm: Mục đích, cấu trúc, nội dung, cách xây
dựng.
7. Tìm hiểu một phần mềm quản lý dự án

105 106

CHƢƠNG 3 LẬP KẾ HOẠCH DỰ ÁN


CHƢƠNG 3:

LẬP KẾ HOẠCH DỰ ÁN WHERE?


Chƣơng 4 Chƣơng 5
Chƣơng 2 Chƣơng 3
SOFTWARE PROJECT PLANNING
XÁC ĐỊNH LẬP KẾ HOẠCH ĐIỀU HÀNH
• Bản công bố dự án • Lịch biểu • Truyền thông
• Đưa ra ng. tài trợ • Ước lượng • Quản lý cấu hình
• Bản đề xuất dự án • Ngân sách
• Xđịnh ng.liên quan • Lập lịch chi tiết • Đo tiến trình
• Ma trận tr.nhiêm • KH nguồn lực
• Lập dự án cơ sở • Quản trị rủi ro • Điều chỉnh
• KH truyền thông • Bản rủi ro
• Đóng dự án

Phản hồi, thay đổi, điều chỉnh

PGS.TS. Nguyễn Mậu Hân VÕNG ĐỜI CỦA QUẢN LÝ DỰ ÁN


Khoa CNTT-ĐHKH HUẾ 108

18
CHƢƠNG 3 LẬP KẾ HOẠCH DỰ ÁN 3.1 KHÁI NIỆM VỀ KẾ HOẠCH DỰ ÁN

NỘI DUNG BẢN KẾ HOẠCH DỰ ÁN?


3.1. KHÁI NIỆM VỀ KẾ HOẠCH DỰ ÁN  Là bản dự kiến các công việc cần làm từ khi bắt đầu cho đến
3.2. CÁC LOẠI KẾ HOẠCH DỰ ÁN CHỦ YẾU khi kết thúc dự án. Bao gồm:
3.3. TIẾN TRÌNH LẬP BẢN KẾ HOẠCH DỰ ÁN
 Thứ tự thực hiện các công việc (tiến trình nhƣ thế nào?).
3.4. BẢNG PHÂN RÃ CÔNG VIỆC
 Thời gian thực hiện mỗi công việc (khi nào?, bao lâu?)
3.5. ƢỚC LƢỢNG DỰ ÁN
 Phƣơng tiện sử dụng (cái gì?, bao nhiêu?)
3.6. PHƢƠNG PHÁP PHÂN TÍCH ĐIỂM CHỨC NĂNG
3.7. MÔ HÌNH ƢỚC LƢỢNG COCOMO  Công việc do ai làm (nhóm phát triển phần mềm)
3.8. MÔ HÌNH ƢỚC LƢỢNG UCP  Sản phẩm ra sau mỗi công việc (cái gì?)
3.9. ƢỚC LƢỢNG THỜI GIAN  Tiêu chí đánh giá (chất lƣợng?)
3.10. LẬP LỊCH DỰ ÁN (PROJECT SCHEDULING)  Bảng KHDA là công việc lặp lại suốt quá trình triển khai dự án
3.11. ƢỚC LƢỢNG DỰA TRÊN CÂN ĐỐI TÀI NGUYÊN và đƣợc điều chỉnh thƣờng xuyên mỗi khi có thông tin mới.
3.12. KẾ HOẠCH VỀ NHÂN SỰ  Bảng KHDA là công cụ chính để quản lý dự án
3.13. KẾ HOẠCH VỀ NGÂN SÁCH 109  Trong một bảng KHDA có nhiều loại kế hoạch cần lập để QLDA
110

3.2 CÁC LOẠI KẾ HOẠCH DỰ ÁN CHỦ YẾU 3.2 CÁC LOẠI KẾ HOẠCH DỰ ÁN CHỦ YẾU ...

Tên kế hoạch Mô tả
Kế hoạch quản lý công Mô tả công việc và lịch biểu thực hiện
việc (chƣơng 3) cho mỗi công việc của dự án
Kế hoạch quản lý rủi ro Xác định các rủi ro và các giải pháp để
(chƣơng 4) hạn chế rủi ro
Kế hoạch quản lý chất Mô tả thủ tục và các chuẩn chất lƣợng
lƣợng sản phẩm đƣợc áp dụng vào sản phẩm của dự án
Kế hoạch quản lý Mô tả cấu hình, thủ tục, tiến trình quản lý
thông tin-cấu hình cấu hình và sự thay đổi cấu hình
(chƣơng 5)
Kế hoạch quản lý chi Chỉ ra lƣợng ngân sách cần theo dõi, thời
phí (chƣơng 3) gian và các nguồn vốn huy động
Kế hoạch quản lý nhân Mô tả số lƣợng, kỹ năng, kinh nghiệm
111 sự (chƣơng 3) của nguồn nhân lực tham gia dự án và112
giải pháp quản lý

3.2 CÁC LOẠI KẾ HOẠCH DỰ ÁN CHỦ YẾU ... 3.2 CÁC LOẠI KẾ HOẠCH DỰ ÁN CHỦ YẾU ...

a) Phần mở đầu: giới thiệu, lý do, mục đích, sự cần


CẤU TRÖC CỦA MỘT BẢN KẾ HOẠCH DỰ ÁN
thiết của dự án (tƣơng tự nhƣ trong bản đề xuất dự án)
a) Phần mở đầu: giới thiệu, lý do, mục đích, sự cần thiết
của dự án b) Tổ chức hoạt động của dự án
b) Tổ chức hoạt động của dự án  Tổ chức bộ máy và cơ chế hoạt động:
 ban điều hành
c) Phân tích rủi ro
 các đội
d) Các yêu cầu về nguồn nhân lực, vật lực  cơ chế điều hành
 Nhân lực (số ngƣời dự kiến)  báo cáo
 Phần cứng, phần mềm  Cột mốc (milestone) là điểm cuối cùng của một tiến
e) Bảng phân rã công việc trình. Thƣờng đƣợc sử dụng để kiểm tra sản phẩm
f) Lịch trình dự án (ƣớc lƣợng về thời gian)  Xuất phẩm (deliverable): kết quả của dự án gửi
g) Kế hoạch về kinh phí (ƣớc lƣợng về kinh phí) đến khách hàng tại mỗi thời điểm.
h) Cơ chế điều hành và báo cáo  Hoạt động dự án cần tổ chức để tạo các đầu ra
i) Các kế hoạch phụ trợ (nếu có) thấy đƣợc của mỗi tiến trình quản lý. 114

19
3.3 TIẾN TRÌNH LẬP KỀ HOẠCH DỰ ÁN 3.3 TIẾN TRÌNH LẬP KỀ HOẠCH DỰ ÁN

A. TIẾN TRÌNH TỔNG QUÁT A. TIẾN TRÌNH TỔNG QUÁT ...


1. Lập bảng phân rã công việc: 4. Xây dựng lịch biểu ban đầu
 Đội dự án và ngƣời quản lý xác định các nhiệm vụ (gói  Tính toán thời gian thực hiện dự án
công việc) cần thực hiện để tạo ra các sản phẩm.  Thời gian bắt đầu sớm nhất của mỗi công việc
 Thời gian kết thúc muộn nhất của mỗi công việc
2. Xác định các mối quan hệ giữa các công việc:
 Đặt các gói công việc theo một tiến trình có trình tự 5. Gán nguồn lực thực hiện, điều chỉnh lịch
trƣớc sau.  Cần chính xác lịch biểu khi tính đến các ràng buộc về
nguồn lực.
3. Ƣớc lƣợng các gói công việc:  Các nhiệm vụ phải đƣợc lập lịch sao cho tối ƣu hóa
Mỗi gói công việc cần phải ƣớc lƣợng: trong việc sử dụng lao động và các nguồn lực khác
 Công lao động 6. Lập kế hoạch ngân sách
 Thời gian thực hiện  Ƣớc lƣợng ngân sách cho mỗi công việc
 Trang thiết bị  Ƣớc lƣợng ngân sách tổng thể
115 116

B. TIẾN TRÌNH CHI TIẾT 3.4 BẢNG PHÂN RÃ CÔNG VIỆC

3.4.1 LẬP BẢNG PHÂN RÃ CÔNG VIỆC


Cấu trúc bảng công việc
• Tên các công việc của dự án
• Thời gian thực hiện mỗi công việc
• Mối liên hệ (trƣớc-sau) giữa các công việc
• Nguồn lực cần thiết để thực hiện mỗi công việc

Ý nghĩa của bảng công việc


• Cho thấy một bức tranh tổng thể của dự án
• Cơ sở để ƣớc lƣợng chi phí và thời gian
• Cơ sở để xây dựng lịch trình dự án (lập lịch)
• Cơ sở để bố trí nguồn nhân lực và phân bổ tài
117 nguyên 118

VÍ DỤ: MỘT BẢNG PHÂN RÃ CÔNG VIỆC 3.4 BẢNG PHÂN RÃ CÔNG VIỆC

Mã số công Tên công Thời gian Đi sau Nguồn lực VÍ DỤ: CÁCH XÁC ĐỊNH BẢNG CÔNG VIỆC
việc việc tcv công việc (ngƣời)
1 a 1 none 3
2 b 5 none 2
3 c 6 none 1
4 d 4 a 3
5 e 4 a 4
6 f 3 b 3
7 g 3 c 2
8 h 4 d 3
9 i 2 e, f 2
119 120

20
3.4.2 CÁC BƢỚC XÂY DỰNG BẢNG CÔNG VIỆC 3.4.3 CÁCH ĐÁNH MÃ SỐ CHO BẢNG CÔNG VIỆC

1. Đánh mã số cho sản phẩm:


Bước 1: Viết ra các sản phẩm chung nhất  Mức 0: đánh mã 0.0. cho sản phẩm chung nhất
Bước 2: Tạo danh sách các sản phẩm chi tiết ở các  Mức 1: đánh các mã 1.0, 2.0, 3.0 cho sản phẩm con
mức thấp hơn (khoảng 2,3 mức) 2. Đánh mã số cho công việc:
Bước 3: Tạo danh sách các công việc thực hiện sản  Mỗi công việc có một mã số duy nhất
phẩm ở mức thấp nhất  Mã công việc lớp đầu sử dụng mã số của sản phẩm
 Nếu mã sản phẩm là 1.0 thì mã công việc tƣơng
Bước 4: Đánh mã số cho mỗi ô của bảng công việc ứng đƣợc đánh tiếp là:
Bước 5: Xét duyệt lại bảng công việc - 1.0 nếu có duy nhất một công việc
- 1.1, 1.2, 1.3, ... nếu có nhiều công việc
 Nếu mã sản phẩm là 1.1 thì đánh mã số tƣơng tự:
121 1.1, hoặc 1.1.1, 1.1.2, 1.1.3, ... 122

3.4.3 CÁCH ĐÁNH MÃ SỐ CHO BẢNG CÔNG VIỆC 3.4 BẢNG PHÂN RÃ CÔNG VIỆC

3. Nhóm các công việc thành từng gói từ dƣới lên: ĐÁNH MÃ SỐ CHO MỖI CÔNG VIỆC (TT)
 Gộp các công việc ở mức cao nhất thành từng Sản phẩm (0.0)
gói tƣơng ứng với các mức các sản phẩm
 Tiếp tục gộp lên trên cho đến khi đƣợc gói công
việc ứng với sản phẩm mức 1 (1.0, 2.0,...) Sản phẩm Sản phẩm Sản phẩm
con A (1.0) con B (2.0) con C (3.0)

4. Đặt tên cho các gói công việc tổng hợp:


Sản phẩm Sản phẩm
 Việc tạo các gói công việc làm thuận tiện cho con B1 (2.1) con B2 (2.2)
việc gán công việc cho các cá nhân và nhóm phát
triển, và tiện cho công tác quản lý (theo mức
phân cấp) Công việc 1 Công việc 2 Công việc 3 Công việc
B1 (2.1.1) B1 (2.1.2) B1 (2.1.3) B2 (2.2)
123 124

3.5. ƢỚC LƢỢNG DỰ ÁN 3.5.1 Giới thiệu ...


3.5.1 Giới thiệu: CÁC KHÓ KHĂN TRONG ƢỚC LƢỢNG
Ƣớc lƣợng dự án là bài toán khó Các tham số ƣớc lƣợng không trực quan
Ƣớc lƣợng không chính xác thì dự án sẽ khó thành Khó đánh giá đƣợc tính đúng đắn của tham số
công về kế hoạch, thời gian, kinh phí và chất lƣợng Không có mô hình tổng quát
sản phẩm
Các kỹ thuật ƣớc lƣợng thay đổi thƣờng xuyên
Trong thực tế ít có dự án nào có thể ƣớc lƣợng chính Thiếu số liệu để tham khảo
xác. Ƣớc lƣợng một dự án cần đƣợc thực hiện nhiều
lần bằng nhiều phƣơng pháp khác nhau.  Áp dụng nhiều mô hình khác nhau
 Ƣớc lƣợng nhiều lần
 Nâng cao độ chính xác của ƣớc lƣợng bằng cách: Nên:
 Ƣớc lƣợng lại khi dự án triển khai
ƣớc lƣợng từ công việc nhỏ đến công việc lớn, sau
 Thảo luận, lấy ý kiến tập thể
đó ƣớc lƣợng toàn bộ dự án. 125 126

21
3.5.1 Giới thiệu ... 3.5.1 Giới thiệu ...

 Các đại lƣợng cần ƣớc lƣợng: d. Ƣớc lƣợng nỗ lực (effort estimation) theo đơn vị
[ngƣời–tháng] hoặc [ngƣời–tuần] hoặc [ngƣời–
a.Ƣớc lƣợng kích cỡ của phần mềm:
giờ]. Ƣớc lƣợng này còn gọi là ƣớc lƣợng nguồn
 Theo phạm vi của sản phẩm (tối thiểu/cơ bản/triệt để) nhân lƣc
 Theo điểm chức năng FP (Function Points)
 Ƣớc lƣợng nỗ lực là quá trình dự đoán công sức
cần thiết để hoàn thành một dự án phần mềm
 Theo số dòng lệnh LOC (Line Of Code) hoặc một công việc cụ thể.
 Theo điểm Use Case UCP (Use Case Point)  Ƣớc lƣợng này giúp xác định nguồn lực, thời
gian và chi phí cần thiết để hoàn thành dự án.
b. Ƣớc lƣợng lịch biểu theo thời gian (tháng/tuần/ngày).
Còn gọi là ƣớc lƣợng thời gian  Ƣớc lƣợng nỗ lực dự án có nghĩa là ƣớc lƣợng
dự án sẽ cần thực hiện bao nhiêu công việc
c. Ƣớc lƣợng chi phí dự án theo đơn vị tiền tệ
(CV). Ƣớc lƣợng này cũng có thể thay cho ƣớc
lƣợng lịch biểu (thời gian).
127 128

3.5.1 Giới thiệu ... 3.5.1 Giới thiệu ...

 Chẳng hạn, nếu dự án có 3 chức năng. Chức  Đối với một dự án có nỗ lực ƣớc lƣợng là 56
năng1 đƣợc phân rã thành 3 CV; chức năng 2 ngƣời-tháng thì cũng có nghĩa là:
đƣợc phân rã thành 5 CV; và chức năng 3 đƣợc ↔ Dự án có thể hoàn thành trong vòng 8 tháng với
phân rã thành 6 CV. Khi đó, tổng tất cả các CV 7 ngƣời.
là: 3+ 5+ 6 = 14 CV. Giả sử rằng tất cả các CV ↔ Dự án có thể hoàn thành trong vòng 7 tháng với
này có thể đƣợc thực hiện đồng thời và mỗi CV 8 ngƣời, và
chỉ đƣợc thực hiện bởi một ngƣời, nhƣ vậy sẽ ↔ Dự án có thể hoàn thành trong khoảng 9 tháng
cần 14 ngƣời (nỗ lực). Cho nên bằng việc có 14 với 6 ngƣời.
ngƣời, chúng ta có thể hoàn thành dự án trong  Tuy nhiên, nhân lực và số tháng không hoàn toàn
vòng một đơn vị thời gian (tháng/tuần/ngày). có thể đƣợc hoán đổi cho nhau. Chẳng hạn, không
ai có thể thực hiện dự án trong vòng 28 tháng với 2
ngƣời.
129 130

3.5.1 Giới thiệu ... 3.5.2 PHƢƠNG PHÁP CHUYÊN GIA

Các phƣơng pháp ƣớc lƣợng thông dụng: (Expert judgement method)
Nội dung:
 Expert Judgement Method- Phƣơng pháp chuyên gia
1. Các chuyên gia tin học nghiên
 Analogy Method- Phƣơng pháp tƣơng tự cứu tài liệu và đƣa ra các ƣớc lƣợng
 Function Point Analysis-Phƣơng pháp điểm chức năng
2. Nếu có sự khác biệt đáng kể, tiến hành thảo
luận, đƣa ra đánh giá mới
 Constructive Cost Model: Phƣơng pháp COCOMO 3. Nếu đánh giá mới không sai khác nhiều thì
 Use Case Points Method: Phƣơng pháp UCP dừng. Ngƣợc lại quay về bƣớc 2

 PERT- Program and Evalution Review Technique Ưu điểm: rẻ, nhanh


 Critical Path Method: Phƣơng pháp CPM Nhược điểm: độ chính xác phụ thuộc vào trình độ
của chuyên gia và bài toán cụ thể
 Gantt Method: Phƣơng pháp Gantt 131 132

22
3.5.3 PHƢƠNG PHÁP TƢƠNG TỰ 3.6 PHƢƠNG PHÁP PHÂN TÍCH ĐIỂM CHỨC NĂNG-FPA

3.6.1 Giới thiệu


(ANALOGY METHOD)
Ý Tƣởng: Allan J.Albrecht thuộc IBM,
Nội dung: năm 1979 đƣa ra phƣơng pháp FPA
Lấy dự án tƣơng tự đã làm dựa vào ý tƣởng đếm số các giao tác
để ƣớc lƣợng cho dự án mới (transactions) ở phía end-users, trong
Yêu cầu: từng chức năng đƣợc viết bằng ngôn
 Cần phải có số liệu quá khứ ngữ lập trình sử dụng trong hệ thống.
Allan J. Albrecht
 Phải nắm đƣợc tình hình hiện tại 1927 – 2010

Ưu điểm: chính xác khi có đầy đủ dữ liệu cụ thể Mục đích: FPA (Function Point Analysis method)
Nhược điểm: không thực hiện đƣợc khi không có là phƣơng pháp đƣợc sử dụng để đo kích cỡ phần
dự án tƣơng tự mềm, thể hiện qua việc định lƣợng các chức năng của
hệ thống đƣợc phân phối cho ngƣời dùng.
133 134SPM

3.6 PHƢƠNG PHÁP PHÂN TÍCH ĐIỂM CHỨC NĂNG ... 3.6 PHƢƠNG PHÁP PHÂN TÍCH ĐIỂM CHỨC NĂNG ...

FPA phân tích hệ thống thành cách chức năng nhỏ Phƣơng pháp FPA dựa trên cơ sở của thông tin hệ thống từ
hơn, đơn giản hơn 5 yếu tố chính và 14 yếu tố phụ:
5 yếu tố chính:
FPA định lƣợng phần mềm bằng số lƣợng các chức 1. External input types: Các đầu vào ngoại vi, tức là số các
năng mà hệ thống cung cấp cho ngƣời sử dụng ngƣời dùng cập nhật dữ liệu vào hệ thống.
FPA là một đơn vị đo lƣờng phần mềm nhằm xác 2. External output types: Các đầu ra ngoại vi, tức là số các
định kích cỡ phần mềm (nhỏ, vừa, lớn) ngƣời dùng xuất dữ liệu ra từ hệ thống.

 Sau khi xác định đƣợc kích thước phần mềm (số 3. Logical internal file types: các file logic nội bộ (có thể chỉ
là một phần của CSDL, có thể tính nhƣ một bảng của
điểm FPs), chúng ta có thể sử dụng công thức dƣới
CSDL) và các file độc lập đƣợc sử dụng bởi hệ thống.
đây để xác định kinh phí của một dự án:
4. External interface file types: các file giao diện ngoại vi.
Kích thước phần mềm (số điểm chức năng FP) x
5. External inquiry types: các truy vấn ngoại vi
Định mức (số giờ bắt buộc cho mỗi điểm chức năng)135 136

3.6 PHƢƠNG PHÁP PHÂN TÍCH ĐIỂM CHỨC NĂNG ... 3.6 PHƢƠNG PHÁP PHÂN TÍCH ĐIỂM CHỨC NĂNG ...

14 yếu tố điều chỉnh phụ: 8. Các file đƣợc cập nhật online
 Mỗi yếu tố trên đƣợc gán một trọng số, tuỳ theo 9. Input, output và tính toán
(Xác định các Fi)
ảnh hƣởng của mỗi yếu tố và tuỳ theo mức độ online phức tạp
1. Hệ thống đòi hỏi backup và
phức tạp: thƣờng tính theo 3 mức là thấp, trung hồi phục tin cậy 10. Quá trình xử lý bên trong phức
tạp
bình và cao theo bảng sau: 2. Đòi hỏi dữ liệu truyền thông
11. Mã đƣợc thiết kế để dùng lại
3. Có các chức năng phân tán
 Hệ số phức tạp 12. Việc chuyển đổi và cài đặt
4. Việc thực hiện đạt yêu cầu đƣợc tinh ngay trong thiết kế
Các kiểu chức năng Thấp Tr.bình Cao 5. Hệ thống chạy trên một môi 13. Hệ thống đƣợc thiết kế để có
 Kiểu nhập vào 3 4 6 trƣờng tồn tại thể cài đặt nhiều lần cho các tổ
6. Hệ thống đòi hỏi dữ liệu chức khác nhau
 Kiểu xuất ra 4 5 7 online 14. Ứng dụng đƣợc thiết kế để dễ
 File chƣơng trình 7 10 15 7. Khi đòi hỏi dữ liệu online, cần thay đổi và làm dễ dàng sử
 Giao tiếp ngoài 5 7 10 nhiều màn hình dữ liệu hoặc dụng cho ngƣời dùng
nhiều xử lý
 Tìm kiếm 3 4 6
Mỗi Fi đƣợc xác định từ 0 tới 5 điểm tuỳ theo mức độ
137 138

23
3.6 PHƢƠNG PHÁP PHÂN TÍCH ĐIỂM CHỨC NĂNG ... 3.6 PHƢƠNG PHÁP PHÂN TÍCH ĐIỂM CHỨC NĂNG ...

Mỗi Fi, i=1..14 đƣợc xác định từ 0 tới 5, theo cách sau: Ví dụ: một hệ thống có số đo nhƣ sau:
STT Tham số đo Số đo Thấp Tr.bình cao
Giá trị xác định của Fi, i=1..14 Mức độ ảnh 1 Số input (I) 25 3 4 6 100
hƣởng 2 Số output (O) 30 4 5 7 150
3 Số inquiry (E) 20 3 4 6 120
Không xuất hiện, không ảnh hƣởng 0
4 Số file logic (L) 10 7 10 15 70
Ảnh hƣởng không đáng kể 1 5 Số tƣơng tác ngoài (F) 10 5 7 10 70
Ảnh hƣởng vừa phải 2 FP (tổng điểm của 5 yếu 510
tố chính)
Ảnh hƣởng trung bình 3
Ảnh hƣởng đáng kể 4
Ảnh hƣởng mạnh, khắp nơi 5

139 140

3.6 PHƢƠNG PHÁP PHÂN TÍCH ĐIỂM CHỨC NĂNG ... 3.6 PHƢƠNG PHÁP PHÂN TÍCH ĐIỂM CHỨC NĂNG ...

3.6.2 THUẬT TOÁN


Ví dụ: Một hệ thống thông tin có những chức năng
Có 4 bước:
sau: “Thêm một bản ghi”, “ Xóa một bản ghi”, “Hiển
Bước1: thị một bản ghi”, “Sửa một bản ghi” và “In một bản
Tính điểm chức năng của 5 loại yếu tố chính: ghi” . Nhƣ vậy có:
 External input types: I  3 kiểu nhập vào (thêm, xóa, sửa)
 1 kiểu xuất ra (hiển thị)
 External output types: O  1 giao diện ngoài (in)
 Logical internal file types: L
 External interface file types: F Các điểm chức năng
này đƣợc gán với một
 External inquiry types: E độ phức tạp tƣơng ứng
cho mỗi chức năng.
141 142

3.6 PHƢƠNG PHÁP PHÂN TÍCH ĐIỂM CHỨC NĂNG ... 3.6 PHƢƠNG PHÁP PHÂN TÍCH ĐIỂM CHỨC NĂNG ...

Bước2: Bước3:
Với mỗi kiểu chức năng, ƣớc lƣợng một độ phức tạp  Ƣớc lƣợng các hệ số điều chỉnh phụ Fi, i=1..14,
và nhân với số đặc trưng rồi cộng lại. bằng cách trả lời các câu hỏi sau:
1. Hệ thống đòi hỏi backup và hồi phục tin cậy không?
 Độ phức tạp có 03 mức: Thấp, trung bình, cao.
2. Cần có dữ liệu truyền thông không?
 Xác định 14 yếu tố điều chỉnh phụ cho mỗi (Fi), 3. Có các chức năng phân tán không?
i=1..14, dựa trên kinh nghiệm tổ chức (bảng câu hỏi 4. Việc thực hiện có đạt yêu cầu không? (hiệu năng)
dƣới đây giúp xác định các số này). 5. Hệ thống có chạy trên một môi trƣờng tồn tại không?
 Tính tổng điểm chức năng của 5 yếu tố chính ∑FP 6. Hệ thống đòi hỏi dữ liệu online không?
7. Khi đòi hỏi dữ liệu online, có cần nhiều màn hình dữ liệu
hoặc nhiều xử lý không?
8. Các file có đƣợc cập nhật online không?
9. Việc nhập, xuất file, tính toán online có phức tạp không?
143 144

24
3.6 PHƢƠNG PHÁP PHÂN TÍCH ĐIỂM CHỨC NĂNG ... 3.6 PHƢƠNG PHÁP PHÂN TÍCH ĐIỂM CHỨC NĂNG ...

Bước3 (tt) : Bước4:


10.Quá trình xử lý bên trong có phức tạp không? Kích cỡ xử lý thông tin của một hệ thống theo số lƣợng
11.Mã đƣợc thiết kế để dùng lại không? điểm chức năng (FPs) đƣợc tính theo công thức:
12.Việc chuyển đổi và cài đặt có bao gồm trong thiết kế không? FPs = ƩFP x [0.65+ƩFi /100]
13.Hệ thống đƣợc thiết kế để có thể cài đặt nhiều lần cho các
tổ chức khác nhau không? Trong đó,
14.Ứng dụng đƣợc thiết kế để dễ thay đổi và làm dễ dàng sử  ƩFP: Tổng điểm chức năng của 5 yếu tố chính
dụng cho ngƣời dùng không?
 0.65 là hệ số theo kinh nghiệm
Mỗi câu trả lời chọn điểm từ 0 (N/A) đến 5  ƩFi: tổng giá trị 14 yếu tố điều chỉnh phụ
(Absolutely Essential)
Chú ý: hệ số theo kinh nghiệm (0.65) có thể thay đổi tùy theo kinh nghiệm của cá
Tính tổng giá trị các yếu tố điều chỉnh phụ Fi nhân hoặc tập thể ước lượng

145 146

3.6 PHƢƠNG PHÁP PHÂN TÍCH ĐIỂM CHỨC NĂNG ... 3.6 PHƢƠNG PHÁP PHÂN TÍCH ĐIỂM CHỨC NĂNG ...

Ví dụ: Tính điểm chức năng của hệ thống, biết rằng: Nhận xét:
Hệ số phức tạp  Sau khi xác định điểm chức năng của hệ thống FPs,
Các kiểu chức năng Số Hệ số phức Điểm chức dựa trên kinh nghiệm ở các dự án đã hoàn thành
lƣợng tạp năng
trong quá khứ, chúng ta có thể xác định đƣợc số giờ
Kiểu nhập vào 3 3 9
cho mỗi chức năng (số giờ/FP) để dự kiến ​chi phí
Kiểu xuất ra 1 4 4
File chƣơng trình 1 7 7
thời gian cho dự án mới.
Giao tiếp ngoài 1 5 5
 Chẳng hạn, ở ví dụ trên ta có tổng điểm chức năng
Tìm kiếm 0 3 0
FPs=18.25. Giả sử ở dự án cũ ta xác định đƣợc số
FP (tổng điểm chức năng của 5 yếu tố chính): 25 giờ cho mỗi chức năng là 28.
 Giả sử khi trả lời 14 câu hỏi ta xác định được: F4 = 4; F10 = 4, Nhƣ vậy, thời gian ƣớc lƣợng để thực hiện dự án là:
các Fi còn lại bằng 0. T =18.25 x 28=511 [Ngƣời-Giờ]
 Suy ra tổng giá trị của 14 yếu tố điều chỉnh phụ ƩFi = 4+4 = 8. = 511/40 [Ngƣời-Tuần] =12.78 [Ngƣời -Tuần]
Do đó, tổng điểm chức năng của hệ thống là: ≈ 3 [Ngƣời-Tháng]
147 148
FPs= 25 (0.65 + 0.01 x 8)) = 18.25

3.6 PHƢƠNG PHÁP PHÂN TÍCH ĐIỂM CHỨC NĂNG ... 3.6 PHƢƠNG PHÁP PHÂN TÍCH ĐIỂM CHỨC NĂNG ...

3.6.3 Đánh giá phƣơng pháp điểm chức năng FPA 3.6.3 Đánh giá phƣơng pháp điểm chức năng FPA
Ưu điểm: Nhược điểm:
 FPA đếm số chức năng dựa vào cách nhìn từ bên  FPA không thể tính toán một cách tự động, trong
ngoài vào hệ thống của ngƣời dùng cuối. Do đó, quy trình tính toán phải đƣa ra nhiều đánh giá
phƣơng pháp là độc lập về mặt công nghệ. mang tính chủ quan.
 FPA không yêu cầu 1 cách cụ thể nào của việc mô  Việc đánh giá và cho điểm mức độ phạm vi ảnh
tả hệ thống hay phát triển hệ thống. của 14 yếu tố kỹ thuật có vẽ khá đơn giản.
 Phép đo có thể đƣợc xác định sớm trong vòng đời  Việc xác định mức độ ảnh hƣởng của mỗi yếu tố
phát triển của dự án, chỉ cần có đặc tả yêu cầu Fi, i=1..14 và cho điểm là đúng nhƣng vấn đề là
của người dùng sẽ cho phép thực hiện ƣớc điểm của các yếu tố có khoảng giá trị giống nhau
lƣợng sớm kích cỡ hệ thống. (với giá trị nhỏ nhất là 0 và giá trị lớn nhất là 5) là
149 chƣa thuyết phục. 150

25
3.7 MÔ HÌNH ƢỚC LƢỢNG COCOMO (CONSTRUCTIVE COST MODEL) 3.7 MÔ HÌNH ƢỚC LƢỢNG COCOMO ...

Giới thiệu: 3.7.1 Mô hình ước lượng Basic COCOMO


 Mô hình giá cấu thành COCOMO do Barry W.Boehm Cocomo cơ bản có thể áp dụng cho 3 lớp dự án phần mềm:
giới thiệu lần đầu tiên vào năm 1981 dựa trên một  Organic: phần mềm có cấu trúc rõ ràng, môi trƣờng quen: dễ
CSDL của 63.161 dự án.  Semi-detached: phần mềm có nhiều ràng buộc chức năng,
 COCOMO có ba mức độ: môi trƣờng và ứng dụng lạ: tƣơng đối khó
 Basic COCOMO: Cơ sở  Embeded: hệ thống gồm cả cứng và mềm, phức tạp, ràng
 Intermediate COCOMO: Trung cấp (tự đọc) buộc chặt chẽ, cần nhiều kinh nghiệm: khó
 Complete COCOMO: Đầy đủ (tự đọc) .Các hệ số của COCOMO cơ bản
Mục đích của mô hình: Barry W. Boehm
1935, American Đặc trƣng ứng dụng a b c d
 Dùng để ƣớc lƣợng sự nỗ lực theo thời gian (số Organic 2.4 1.05 2.5 0.38
ngƣời/tháng) dựa trên đánh giá kích cỡ của chƣơng
Semi-detached 3.0 1.12 2.5 0.35
trình đƣợc phân phối cho ngƣời dùng
Embeded 3.6 1.2 2.5 0.32
 Dùng để ƣớc tính nhanh chi phí cho các dự án vừa
và nhỏ. 151 Bảng 1: Phân loại chế độ phát triển sản phẩm trong COCOMO cơ bản 152

3.7.1 Mô hình ƣớc lƣợng Basic COCOMO 3.7.1 Mô hình ƣớc lƣợng Basic COCOMO ...
Phương trình của COCOMO cơ bản: Thuật toán
1. Xác định kiểu dự án (cơ sở để chọn tham số)
𝑬 = 𝒂 ∗ 𝑲𝑳𝑶𝑪 𝒃 ; T = c * Ed ; 𝑷 = 𝑬/𝑻  Organic
 Semi-detached
Trong đó,
 Embeded
Effort Applied (E): nỗ lực phát triển dự án theo đơn 2. Phân rã môđun chức năng và ƣớc lƣợng số dòng
vị (ngƣời-tháng) lệnh của từng môđun
Development Time (T): thời gian triển khai dự án 3. Tính lại số dòng lệnh trên cơ sở tái sử dụng
(tính theo tháng) 4. Tính số ngƣời/tháng E cho từng môđun
KLOC: số nghìn dòng lệnh của dự án 5. Tính lại E dựa trên độ phức tạp của dự án, độ tin
People required (P): số ngƣời để phát triển dự án
cậy, độ lớn của CSDL và yêu cầu về tốc độ, bộ
a, b, c, d: các hệ số theo kinh nghiệm đƣợc tính theo nhớ
bảng 1 6. Tính thời gian T và số ngƣời tham gia P
153 154

3.7.1 Mô hình ƣớc lƣợng Basic COCOMO ... 3.7.1 Mô hình ƣớc lƣợng Basic COCOMO ...
Nhận xét:
 Các đơn vị thông dụng để tính toán sự nỗ lực là VÍ DỤ 1
[ngƣời–tuần] hay [ngƣời–giờ] hay [ngƣời–tháng]
 Chia [ngƣời–giờ] cho 40 (số giờ làm việc/tuần) ta Phần mềm có kích cỡ 33 KLOC, mức khó là tƣơng
đƣợc đơn vị [ngƣời–tuần]. đối (Semi-detached ), nên:
 Chia [ngƣời–tuần] cho 4 (số tuần làm việc/tháng) Chọn a = 3.0 b = 1.12 c = 2.5 d = 0.35
ta đƣợc đơn vị [ngƣời–tháng].
 Ví dụ, một dự án tính đƣợc sự nỗ lực Tính toán ta đƣợc:
E=4960[ngƣời–giờ]=4960/40[ngƣời–tuần] 𝑬 = 𝒂 ∗ 𝑲𝑳𝑶𝑪𝒃 = 3.0*(33)1.12 =152 ngƣời/tháng
=124[ngƣời–tuần]
T=c * E d = 2.5 * E 0.35 = 14.5 tháng
=124/4[ngƣời–tháng]
=31[ngƣời–tháng] P = E/T = 11 ngƣời
≈ 5 [ngƣời–6 tháng] 155 156

26
3.7.1 Mô hình ƣớc lƣợng Basic COCOMO 3.7.2 Mô hình ƣớc lƣợng Intermediate COCOMO
VÍ DỤ 2 Giới thiệu (phần này ngƣời học tự tìm hiểu thêm)
Phần mềm có kích cỡ 400 KLOC. Hãy tính nhân lực  COCOMO trung cấp là một sự mở rộng của
và thời gian cho mỗi loại dự án khác nhau. COCOMO cơ sở để xem xét thêm một tập các yếu
tố điều chỉnh giá và đƣợc phân thành 4 nhóm:
1. Đối với loại Organic:
𝑬 = 𝒂 ∗ 𝑲𝑳𝑶𝑪𝒃 = 2.4*(400)1.05 = 1295.31 P/M  Nhóm 1: Các thuộc tính sản phẩm
𝑻 = 𝒄 ∗ 𝑬𝒅 = 2.5*(1295)0.38 = 38.07 M; - Độ ổn định phầm mềm yêu cầu
2. Đối với loại Semi detached: - Kích cỡ của cơ sở dữ liệu ứng dụng
- Độ phức tạp của sản phẩm
E = a * KLOCb = 3.0*(400)1.12 = 2462.79 P/M
T = c * Ed = 2.5*(2462.79)0.35 = 38.45 M;  Nhóm 2: Các thuộc tính phần cứng
3. Đối với loại Embeded: - Các ràng buộc hiệu năng thời gian thực
𝑬 = 𝒂 ∗ 𝑲𝑳𝑶𝑪𝒃 = 3.6*(400)1.20 = 4772.81 P/M - Các ràng buộc bộ nhớ chính
- Biến động môi trƣờng máy ảo
T = c * Ed = 2.5*(4772.81)0.32 = 38.0 M;
157 - Thời gian xoay vòng yêu cầu 158

3.7.2 Mô hình ƣớc lƣợng Intermediate COCOMO ... 3.7.2 Mô hình ƣớc lƣợng Intermediate COCOMO ...

 Nhóm 3: Các thuộc tính nhân lực  Bảng 3


- Khả năng phân tích
- Khả năng kĩ nghệ phần mềm
- Kinh nghiệm ứng dụng
- Kinh nghiệm máy ảo
- Kinh nghiệm ngôn ngữ lập trình
 Nhóm 4: Các thuộc tính dự án
- Việc dùng các công cụ phần mềm
- Ứng dụng của các phƣơng pháp kĩ nghệ phần mềm
- Lịch trình phát triển đƣợc yêu cầu
Mỗi yếu tố trong số 15 yếu tố trên đƣợc đánh tỉ lệ theo một
thang có 6 mức. Dựa trên việc xem xét tỉ lệ, một thừa số nỗ
lực đƣợc xác định theo kinh nghiệm nhƣ bảng 3.
159 160

3.7.2 Mô hình ƣớc lƣợng Intermediate COCOMO ... 3.7.2 Mô hình ƣớc lƣợng Intermediate COCOMO ...

 Bảng 3 (tt)  Tích của tất cả các thừa số nỗ lực đƣợc gọi là Yếu
tố điều chỉnh nỗ lực (EAF – Effort Adjust Factor).
 Giá trị của EAF dao động từ 0.9 tới 1.4.
 Công thức:

𝟏𝟓
𝑬𝑨𝑭 = 𝒊=𝟏 𝑭𝒊

trong đó,
 EAF: Yếu tố điều chỉnh nỗ lực
 Fi : Yếu tố thứ i, có giá trị nhƣ Bảng 3

161 162

27
3.7.2 Mô hình ƣớc lƣợng Intermediate COCOMO ... 3.7.3 Mô hình ƣớc lƣợng Complete COCOMO
Sinh viên tự đọc ...
 Công thức COCOMO bây giờ chuyển thành:
 COCOMO đầy đủ kết hợp tất cả các đặc tính của
𝑬 = 𝒂𝒊 ∗ (𝑲𝑳𝑶𝑪)𝒃𝒊 ∗ 𝑬𝑨𝑭 COCOMO trung cấp với một đánh giá ảnh hƣởng
Trong đó, của thuộc tính điều chỉnh giá vào từng pha (phân
 EAF : Yếu tố điều chỉnh nỗ lực tích, thiết kế,…) trong tiến trình kỹ nghệ phần mềm.
 ai và bi : là các hệ số đƣợc đƣa ra nhƣ bảng sau:
Phƣơng thức a b
Organic 3.2 1.05
Semi-detached 3.0 1.12
Embeded 2.8 1.2
Bảng 4: Phân loại chế độ phát triển sản phẩm trong COCOMO trung cấp
163 164

3.7.4 Đánh giá mô hình ƣớc lƣợng COCOMO 3.7.4 Đánh giá mô hình ƣớc lƣợng COCOMO ...
Ưu điểm: Khuyết điểm:
 Mô hình có thuật toán rõ ràng, có thể tự động hóa  Việc đánh giá sớm số dòng lệnh của chƣơng trình
quá trình đánh giá. trong vòng đời sản phẩm là một công việc khó
 Các yếu tố điều chỉnh là khá đầy đủ, có tính đến khăn và có vẻ không khả thi, khó có thể đƣa ra
cả các yếu tố nhân lực thực hiện dự án (một bổ một đánh giá sớm và đáng tin cậy.
sung so với FPA).  Việc lựa chọn ngôn ngữ lập trình nào ảnh hƣởng
 Các yếu tố đƣợc cho điểm chi tiết, điều này giúp rất lớn đến số dòng lệnh.
ích tốt cho việc đánh giá mức độ ảnh hƣởng của  Việc đánh giá số dòng lệnh để ƣớc lƣợng giá theo
mỗi yếu tố để điều chỉnh giá của dự án. mô hình COCOMO trong trƣờng hợp này không
còn đúng nữa vì các lệnh đƣợc sinh ra tự động
chứ không phải do con ngƣời viết.
166

3.7.5 Kết hợp phƣơng pháp FPA và mô hình COCOMO 3.7.5 Kết hợp phƣơng pháp FPA và mô hình COCOMO ...

Nhận xét: BẢNG SỐ DÕNG LỆNH THEO CHỨC NĂNG


 Khi phân tích yêu cầu thì có thể tính đƣợc tổng số điểm chức Ngôn ngữ lập trình Tỷ lệ LOC/FP
năng hệ thống FPs nhƣng chƣa có thông tin về LOC Assembly 320
 FPA có thể đƣợc dùng cùng với mô hình COCOMO để ƣớc C 128
lƣợng các tài nguyên cần thiết cho việc phát triển. COBOL 106

 Cần xác định xem bao nhiêu dòng lệnh để xây dựng một điểm FORTRAN 106
chức năng (tức tỉ lệ LOC/FP). Pascal 90
C++ 64
 Sau đó nhân giá trị này với số điểm chức năng của hệ thống
Ada95 53
để có đƣợc tổng số dòng lệnh (LOC hay KLOC) của hệ thống,
Visual Basic 32
cái mà có thể dùng trong COCOMO.
Smalltalk 22
 Đối với mỗi điểm chức năng, số dòng lệnh để thi hành nó lại SQL 12
phụ thuộc vào môi trƣờng lập trình, các thống kê đã đƣợc tiến
Bảng 2: Tỉ lệ LOC/FP cho phép kết hợp FPA và COCOMO
hành và thấy rằng tỉ lệ LOC/FP trung bình trên một số dự án167 168
đƣa ra nhƣ trong Bảng 2.

28
Ví dụ: Ƣớc lƣợng sự nỗ lực và tính tổng số dòng lệnh của
3.7.5 Kết hợp phƣơng pháp FPA và mô hình COCOMO ...
hệ thống
Giả sử:
 Công thức xác định LOC (Lines Of Code) của hệ  Tổng điểm chức năng của 5 yếu tố chính ƩFP =25
thống:
 Khi trả lời 14 câu hỏi ta xác định được: F4 = 4; F10 = 4, các Fi
còn lại gán giá trị 0. Suy ra tổng giá trị các yếu tố điều chỉnh
phụ ƩFi =4+4= 8, i=1..14
LOC của hệ thống = FPs * LOC/FP  Hệ thống sử dụng ngôn ngữ C (LOC/FP=128)
 Khi đó ta có ƣớc lƣợng kích cỡ của hệ thống là:
Trong đó, LOC = 128 * (25*(0.65 + 0.01 * 8))=128 x 18.25 = 2336
Giả sử dự án thuộc lớp Semi-Detached. Suy ra:
 FPs = ƩFP x [0.65+ƩFi /100] tổng điểm chức năng
E = a* KLOCb= 3.0*(2.336)1.12 =8 ngƣời/tháng
của hệ thống
 LOC/FP-Số dòng lệnh cho một chức năng theo T = c * E d = 2.5 * (8)0.35 = 2 tháng
ngôn ngữ (xem Bảng 2) P = E/T = 4 ngƣời/tháng
169 170

3.7.5 Kết hợp phƣơng pháp FPA và mô hình COCOMO ... 3.8. Mô hình ƣớc lƣợng Use Case Points (UCP)
Chú ý: 3.8.1 Giới thiệu
 LOC (lines of code) hay KLOC (nghìn dòng lệnh) là một độ Mục đích: UCP là một kỹ thuật ƣớc lƣợng những phần mềm
đo. Độ đo của một phần mềm chỉ có thể chính xác sau khi đƣợc xây dựng theo phƣơng pháp hƣớng đối tƣợng. UCP
dự án đã kết thúc. Tuy nhiên bằng kinh nghiệm, hoặc bằng đƣợc sử dụng để dự đoán kích cỡ phần mềm theo đơn vị là
phƣơng pháp tƣơng tự có thể ƣớc lƣợng đựơc khối lƣợng điểm Use Case và có thể đƣợc ánh xạ sang đơn vị [ngƣời–giờ]
mã nguồn của một phần mềm trƣớc khi kết thúc dự án. để xác định sự nỗ lực của dự án.
 LOC của hệ thống sau khi kết thúc dự án sẽ đƣợc dùng để Ý Tƣởng:
ƣớc lƣợng các dự án tƣơng tự sau này.
 Gustav Karner, 1993, đã đề xuất kỹ thuật ƣớc
 Các độ đo dẫn xuất: số lỗi trên KLOC, chi phí trên KLOC, lƣợng UCP, dựa theo phƣơng pháp FPA của
số tài liệu trên KLOC,...là các tham số đáng quan tâm trong Allan Albrecht nhƣng đƣợc thiết kế cho các
quá trình ƣớc lƣợng yêu cầu cụ thể của các hệ thống HĐT.
 LOC phụ thuộc vào môi trƣờng lập trình nên khó so sánh  UCP phân tích các tác nhân, các kịch bản,
giữa các dự án nếu chúng phát triển trên các môi trƣờng các yếu tố môi trƣờng, kĩ thuật và đƣa chúng
lập trình khác nhau vào trong một phƣơng trình. Gustav Karner

3.8. Mô hình ƣớc lƣợng UCP ... 3.8. Mô hình ƣớc lƣợng UCP ...
3.8.2 Nội dung phƣơng pháp UCP a. Tính UUCW (số lƣợng và độ phức tạp của các Use Case)
UCP đƣợc tính dựa trên các yếu tố sau:  UUCW là một trong những yếu tố góp phần tạo nên kích
 Số lƣợng và độ phức tạp của các Use Case trong hệ thống, ký thƣớc của phần mềm đang đƣợc phát triển. Nó đƣợc tính dựa
hiệu UUCW (Unadjusted Use Case Weight) trên số lƣợng và độ phức tạp của các UC trong hệ thống.
 Số lƣợng và độ phức tạp của các tác nhân cho hệ thống, ký  Để xác định UUCW của hệ thống, mỗi UC phải đƣợc xác định
hiệu UAW (Unadjusted Actor Weight) và phân loại là “đơn giản”, “trung bình” hoặc “phức tạp” dựa
 Yếu tố Độ phức tạp Kỹ thuật, ký hiệu TCF (Technical Complexity trên số lƣợng các giao tác đƣợc sử dụng trong trƣờng hợp đó.
Factor): là các yếu tố kỹ thuật liên quan trong việc phát triển Mỗi phân loại nhận một trọng số xác định trƣớc (bảng dƣới)
chức năng đƣợc đánh giá tƣơng tự nhƣ trong ph pháp FPA. UUCW đƣợc xác định bằng
 Yếu tố Độ phức tạp Môi trƣờng, ký hiệu ECF (Environmental cách tính số giao tác tƣơng
Complexity Factor): là các yếu tố đƣợc sử dụng để điều chỉnh ứng cho từng trƣờng hợp
quy mô dựa trên các yếu tố về môi trƣờng. sử dụng.
 Khi đã tính đƣợc 4 đại lƣợng trên thì ta có thể tính đƣợc phần UUCW = (tổng số trƣờng hợp đơn giản x 5) + (tổng số trƣờng
tử cuối cùng, đó là điểm Use Case của hệ thống UCP hợp trung bình x 10) + (tổng số trƣờng hợp phức tạp x 15)

29
3.8. Mô hình ƣớc lƣợng UCP ... 3.8. Mô hình ƣớc lƣợng UCP ...
Mô tả Trọng
b. Tính UAW (số lƣợng và độ phức tạp của các tác nhân) c. Tính TCF (số lƣợng và độ Nhân
tố số
 UAW đƣợc tính tƣơng tự nhƣ UUCW, mỗi thành phần trong phức tạp của các tác nhân về T1 Hệ thống phân tán 2.0
số các tác nhân phải đƣợc xác định và phân loại là “đơn giản”, mặt kỹ thuật) T2 Các mục tiêu hiệu năng ứng dụng 1.0
“trung bình” hoặc “phức tạp” dựa trên loại tác nhân. Mỗi phân  TCF đƣợc xác định bằng T3 Hiệu quả sử dụng trực tuyến 1.0
loại tác nhân cũng có trọng số đƣợc xác định trƣớc. cách gán một điểm số giữa T4 Độ phức tạp của xử lý bên trong 1.0
Loại
Actor
tácType
nhân Mô tả
Definition Weight
Weight 0 (yếu tố không liên quan) T5 Mã nguồn tái sử dụng đƣợc 1.0
Đơn giản
Simple Hệ thốngsystem
External
lập
bên ngoài
trìnhAPI
defined
thatphải
musttƣơng tácwith
interact với the
ứng dụng (API) đƣợc xác định rõ
hệ thống bằng
system một
using giao diện
a well- 11 và 5 (yếu tố là cần thiết) T6 Dễ cài đặt 0.5

Average
Trung bình Hệ thốngsystem
External bên ngoài
thatphải
musttƣơng tácwith
interact với the
hệ thống bằng
system cácstandard
using giao thức 22 cho các Ti, i=1..13 đƣợc T7 Dễ sử dụng 0.5
truyền thông chuẩn
communicaion (nghĩa
procotols là TCP
(e.g / IP,FPT,
TCP/IP, FTP,HTTP,
HTTP,database)
cơ sở dữ liệu) liệt kê ở bảng bên. T8 Thích hợp với các nền tảng khác 2.0
Phức tạp
Complex Tác nhân
Human conusing
actor ngƣờia sử
GUIdụng giao diện
application ứng dụng đồ họa (GUI)
interface 33 T9 Bảo trì hệ thống 1.0
 Tổng tất cả các giá trị yếu Xử lý song song/đồng thời
T10 1.0
UAW là tổng số của các tác nhân đã nhân với trọng số tƣơng tố kỹ thuật TF đƣợc xác T11 Có tính năng bảo mật đặc biệt 1.0
ứng của chúng. Cụ thể: định bởi: 𝑇𝐹 = 13𝑖=1 𝑇𝑖 𝑤𝑖 T12 Cung cấp các truy vấn cho bên thứ 3 1.0

UAW = (tổng số tác nhân đơn giản x 1) + (tổng số tác nhân T13 Các chính sách đào tạo ngƣời dùng 1.0

trung bình x 2) + (tổng số tác nhân phức tạp x 3)  TF sau đó đƣợc sử dụng để tính TCF với công thức:
TCF = 0.6 + (TF/100)

3.8. Mô hình ƣớc lƣợng UCP ... 3.8. Mô hình ƣớc lƣợng UCP ...
d. Tính ECF (số lƣợng và độ Nhân Mô tả Trọng e. Tính UCP (tổng điểm Use Case của hệ thống)
tố số
phức tạp của các tác nhân
E1 Quen thuộc với UML 1.5  UCP đƣợc xác định khi đã biết:
so với môi trƣờng)
Kinh nghiệm ứng dụng
 ECF đƣợc xác định bằng
E2 0.5
 Số lƣợng và độ phức tạp của các Use Case UUCW
E3 Kinh nghiệm về hƣớng đối tƣợng 1
cách gán một điểm số E4 Khả năng phân tích 0.5
 Số lƣợng và độ phức tạp của các tác nhân UAW
giữa 0 (không có kinh E5 Động lực của đội dự án 1  Yếu tố kỹ thuật TCF
nghiệm) và 5 (chuyên gia) E6 Các yêu cầu ổn định 2
cho các Ei, i=1..8 đƣợc liệt  Yếu tố môi trƣờng ECF
E7 Nhân viên làm việc bán thời gian -1
kê ở bảng bên.  UCP đƣợc tính dựa trên công thức sau:
E8 Ngôn ngữ lập trình khó -1
 Tổng tất cả các giá trị yếu
UCP = (UUCW + UAW) x TCF x ECF
tố môi trƣờng EF đƣợc
xác định bởi công thức:  EF sau đó đƣợc sử dụng để
𝟖 tính ECF với công thức:
𝑬𝑭 = 𝑬𝒊 𝒘 𝒊 ECF = 1.4 + (-0.03 x EF)
𝒊=𝟏

3.8. Mô hình ƣớc lƣợng UCP ... 3.8. Mô hình ƣớc lƣợng UCP ...
3.8.3 Ví dụ 1: Một hệ thống mua sắm trực tuyến sẽ sử dụng biểu b. Bƣớc 2: Tính UAW
đồ Use Case dƣới đây để xây dựng các chức năng của hệ Biểu đồ Use Case hệ thống mô tả 5 tác nhân của hệ
thống. Hãy ƣớc lƣợng kích cỡ và sự nỗ lực của hệ thống.
thống: 1 đơn giản và 4 phức tạp cho mỗi tác nhân.
a. Bƣớc 1: Tính UUCW Online Shopping System
Có 9 Use Case đƣợc sử Hệ thống
Giả sử, tác nhân khách hàng là đơn giản, các tác
dụng cho hệ thống. Giả sử 2 Mua hàng thanh toán
nhân Hệ thống thanh toán, Cố vấn tiếp thị, Thủ kho và
trong 9 Use Case này là đơn hàng
Khách

giản, 3 trƣờng hợp là trung


online Kiểm kê
kho Người quản lý kho đều là phức tạp.
bình và 4 trƣờng hợp là phức Chọn hàng Khi đó UAW đƣợc tính nhƣ sau:
tạp. Khi đó UUCW đƣợc tính Xuất nhập
nhƣ sau: hàng Trọng Số lƣợng Kết
Kiểu Actor
Đánh giá sản Thủ kho số Actor quả
Kiểu Use Trọng Số lƣợng Kết phẩm

Case số Use Case quả Đơn giản 1 1 1


Báo cáo
tồn kho
Quản lý
Bình thƣờng 2 0 0
Đơn giản 5 2 10
sản phẩm
Phức tạp 3 4 12
Bình thƣờng 10 3 30 Cố vấn
Quản lý
kho UAW= 13
Phức tạp 15 4 60 tiếp thị Báo cáo Ngƣời quản
doanh số lý kho
UUCW= 100

30
3.8. Mô hình ƣớc lƣợng UCP ... 3.8. Mô hình ƣớc lƣợng UCP ...
Yếu Mô tả Trọng
c. Bƣớc 3: Tính TCF tố số
Gán
giá trị
Tích
Ti*wi d. Bƣớc 4: Tính ECF Yếu
tố
Mô tả Trọng
số
Gán
giá trị
Tích
Ei*wi
Mỗi yếu tố kỹ thuật đƣợc T1 Hệ thống phân tán 2.0 5 10 Mỗi yếu tố môi trƣờng E1 Quen thuộc với UML 1.5 3 4.5
gán một giá trị Ti[0..5] T2 Các mục tiêu hiệu năng
ứng dụng
1.0 5 5
đƣợc gán một giá trị E2 Kinh nghiệm ứng
0.5 2 1
dụng
dựa trên khía cạnh kỹ thuật T3 Hiệu quả ngƣời dùng cuối 1.0 3 3 Ei[0..5], i=1..8 dựa trên
E3 Kinh nghiệm về
của hệ thống đƣợc phát T4 Xử lý nội bộ phức tạp 1.0 2 2 mức độ kinh nghiệm của hƣớng đối tƣợng
1 3 3

triển nhƣ thế nào. Bảng T5 Tính sử dụng lại mã nguồn 1.0 3 3
nhóm. Bảng bên cho thấy E4 Khả năng phân tích 0.5 2 1
T6 Dễ cài đặt 0.5 1 0.5
bên cho thấy các giá trị Ti, T7 Dễ sử dụng 0.5 5 2.5 các giá trị Ei đƣợc gán cho E5 Động lực của đội dự
1 2 2
i=1..13 đƣợc gán cho hệ T8 Thích hợp với các nền 2.0 2 4 hệ thống mua sắm trực án
tảng khác E6 Các yêu cầu ổn định 2 1 2
thống. Các giá trị này sẽ Bảo trì hệ thống
tuyến. Các giá trị Ei đƣợc
T9 1.0 2 2 E7 Nhân viên làm việc
đƣợc nhân với trọng số wi, T10 Xử lý song song/đồng thời 1.0 3 3 nhân với các trọng số bán thời gian
-1 2 -2

i=1..13 tƣơng ứng để xác T11 Các đặc điểm về bảo mật 1.0 5 5 wi,i=1..8 tƣơng ứng và E8 Ngôn ngữ lập trình
-1 1 -1
định tổng TF theo công T12 Cung cấp các truy vấn cho
bên thứ 3
1.0 1 1
tổng EF đƣợc xác định khó

thức: 𝟏𝟑 T13 Các chính sách đào tạo 1.0 1 1 theo công thức: EF 10.5
𝑻𝑭 = 𝑻𝒊 𝒘 𝒊 ngƣời dùng 𝟖
𝒊=𝟏 TF 42 𝑬𝑭 = 𝑬𝒊 𝒘 𝒊 ECF=1.4+(-0.03x10.5)=1.085
𝒊=𝟏
TCF = 0.6 + (TF/100) TCF = 0.6 + (42/100) = 1.02 ECF = 1.4 + (-0.03 x EF)

3.8. Mô hình ƣớc lƣợng UCP ... 3.8. Mô hình ƣớc lƣợng UCP ...
 e. Bƣớc 5: Tính UCP - tổng điểm UC của hệ thống 3.8.3 Ví dụ 2: Cần xây dựng một hệ thống ATM với 3 chức năng:
Sau khi đã xác định đƣợc UUCW, UAW, TCF và ECF Đăng nhập, Rút tiền và Chuyển tiền. Giả sử chức năng của hệ
thống đƣợc mô tả qua các biểu đồ Use Case dƣới đây. Hãy ƣớc
thì UCP đƣợc xác định nhƣ sau:
lƣợng kích cỡ và sự nỗ lực của hệ thống.
UCP = (UUCW + UAW) x TCF x ECF
UCP = (100 + 13) x 1.02 x 1.085 = 125.06
 Nhƣ vậy, kích cỡ phần mềm ƣớc tính để phát triển hệ
thống mua sắm trực tuyến là 125.06 UCP
 Đối với ví dụ hệ thống mua sắm trực tuyến, sẽ ƣớc
lƣợng sự nỗ lực bằng cách chọn 28 [ngƣời-giờ] trên
mỗi UCP
 Nhƣ vậy, hệ thống mua sắm trực tuyến có ƣớc lƣợng CÓ 2 giao dịch
cho sự nỗ lực là: CÓ 2 giao dịch

E = 125.06 x 28 = 3501 [ngƣời-giờ]


Hình 1: Biểu đồ hoạt động mô tả Hình 2: Biểu đồ hoạt động mô tả
= 87.55 [ngƣời-tuần] = 21.89 [ngƣời-tháng] Use Case Đăng nhập Use Case Rút tiền

3.8. Mô hình ƣớc lƣợng UCP ... 3.8. Mô hình ƣớc lƣợng UCP ...
a. Bƣớc 1: Tính UUCW
Kiểu Use Tên Use Trọng Số lƣợng Kết
Case Case số Use Case quả
1. Đăng nhập
Đơn giản 5 2 10
2. Rút tiền
Bình thƣờng 3. Chuyển tiền 10 1 10
Phức tạp 15 0
UUCW = 20

b. Bƣớc 2: Tính UAW


Kiểu tác Trọng Số lƣợng Kết
Các tác nhân
nhân số tác nhân quả

Đơn giản 1 0 0
CÓ 4 giao dịch
Bình thƣờng 2 0 0
Phức tạp 1. Khách hàng 3 1 3
Hình 3: Biểu đồ hoạt động mô tả UAW = 3
Use Case Chuyển tiền

31
3.8. Mô hình ƣớc lƣợng UCP ... 3.8. Mô hình ƣớc lƣợng UCP ...
c. Bƣớc 3: Tính TCF d. Bƣớc 4: Tính ECF e. Bƣớc 5: Tính UCP
Yếu
tố
Mô tả Trọng
số
Gán
giá trị
Tích
Ti*wi
Yếu
tố
Mô tả Trọng
số
Gán
giá trị
Tích
Ei*wi
UCP = (UUCW + UAW) x TCF x ECF
T1 Hệ thống phân tán 2.0 5 10 E1 Quen thuộc với UML 1.5 3 4.5 UCP = (20 + 3) x 1.00 x 0.995 = 22.89  23
T2 Các mục tiêu hiệu năng 1.0 5 5 E2 Kinh nghiệm ứng dụng 0.5 2 1
ứng dụng
E3 Kinh nghiệm của team
1 4 4
 Nhƣ vậy, kích cỡ phần mềm ƣớc tính để phát triển là
T3 Hiệu quả ngƣời dùng cuối 1.0 3 3 về hƣớng đối tƣợng
T4 Xử lý nội bộ phức tạp 1.0 2 2 E4 Khả năng phân tích 0.5 2 1
23 UCP
T5 Tính sử dụng lại mã nguồn 1.0 2 2 Động lực của đội dự
 Đối với ví dụ hệ thống ATM, chúng ta ƣớc lƣợng sự
E5
1 2 2
T6 Dễ cài đặt 0.5 1 0.5 án
T7 Dễ sử dụng 0.5 5 2.5 E6 Các yêu cầu ổn định 2 2 4 nỗ lực bằng cách chọn 28 [ngƣời-giờ] trên mỗi UCP
T8 Thích hợp với các nền 2.0 2 4 E7 Nhân viên làm việc
tảng khác -1 2 -2
T9 Bảo trì hệ thống 1.0 2 2 E8
bán thời gian
Ngôn ngữ lập trình khó -1 1 -1
 Nhƣ vậy, hệ thống có ƣớc lƣợng cho sự nỗ lực là:
T10 Xử lý song song/đồng thời 1.0 3 3
T11 Các đặc điểm về bảo mật 1.0 4 4
EF 13.5
E = 23 x 28 = 644 [ngƣời-giờ] = 644/40 [ngƣời-tuần]
= 16.1 [ngƣời-tuần]  4 [ngƣời-tháng]
T12 Cung cấp các truy vấn cho 1.0 1 1
bên thứ 3 ECF =1.4+(-0.03x10.5)=0.995
T13 Các chính sách đào tạo 1.0 1 1
ngƣời dùng
TCF = 0.6 + (40/100) = 1.00 Bài tập cá nhân: Mỗi sinh viên hãy xác định các ƣớc lƣợng: thời
TF 40
gian, chi phí, số ngƣời của dự án nhóm

3.8. Mô hình ƣớc lƣợng UCP ... 3.8.9 Đánh giá và so sánh các phƣơng pháp
Một vài bình luận: a. Đánh giá phƣơng pháp UCP:
 Schneider (2001) đƣa ra một cách khác để
 UCP thích hợp cho các phần mềm đƣợc phân
xác định tỉ lệ nỗ lực ER (Effort Rate)
[ngƣời–giờ] cho mỗi UCP. tích thiết kế theo phƣơng pháp hƣớng đối
 Đối với dự án đơn giản thì dùng 20 tƣợng.
[ngƣời–giờ] cho mỗi UCP.  UCP sử dụng các biểu đồ Use Case, Active
 Đối với dự án phức tạp thì dùng 28 (hoạt động), Sequence (tuần tự) để xác định
[ngƣời–giờ] cho mỗi UCP. Điểm Use Case của hệ thống.
 Carroll (2005): tùy thuộc vào kinh nghiệm của các đội làm dự
án để quyết định tỉ lệ nỗ lực ER.  UCP là phƣơng pháp ƣớc lƣợng đầu tiên dựa
trên tiến trình nghiệp vụ để đƣa ra kết quả.
Nghĩa là, đội có kinh nghiệm thì chọn ER= 20, đội không có
knghiệm thì chọn ER=28. Trong khi đó, FPA chỉ dựa trên số chức năng,
còn COCOMO dựa trên kích cỡ chƣơng trình.
 RoyClem (2005), chọn ER[15,30] nên đƣợc đƣa ra bởi các
chuyên gia.

3.8.9 Đánh giá các phƣơng pháp UCP, FPA, COCOMO 3.8.9 Đánh giá các phƣơng pháp UCP, FPA, COCOMO
b. So sánh UCP với FPA:  Thứ hai, các yếu tố môi trƣờng ảnh hƣởng lên tiến độ
Quy trình tính toán của UCP dựa trên phƣơng pháp FPA, do dự án đã đƣợc đƣa vào quy trình tính toán. Việc đƣa
đó nó thừa hƣởng những ƣu điểm của FPA nhƣ độc lập về các yếu tố môi trƣờng vào quy trình tính toán tạo ra
mặt công nghệ và có thể đƣa ra đƣợc ƣớc lƣợng sớm ngay khả năng ánh xạ tuyến tính từ đơn vị Điểm Use Case
sau khi có bản đặc tả Use Case của hệ thống. sang [ngƣời–giờ], với các giá trị (Effort Rate) ER= 20
Ngoài ra, UCP khắc phục đƣợc nhiều nhƣợc điểm của FPA hay ER= 28, trong khi FPA không có khả năng này mà
nhƣ: phải tiến hành ƣớc lƣợng nỗ lực dựa trên một mô hình
 Thứ nhất, việc đánh giá và cho điểm các Yếu tố Kỹ thuật toán nhƣ COCOMO.
thuật của UCP đƣợc xây dựng là chi tiết hơn so với  Thứ ba, đối với vấn đề sử dụng lại mô đun trong Kĩ
FPA khi mà các yếu tố đã đƣợc đánh trọng số ảnh nghệ hƣớng đối tƣợng, FPA gặp khó khăn khi đếm số
hƣởng tổng quát, sau đó đánh giá tỉ lệ phạm vi ảnh chức năng của các mô đun thừa kế. Nhƣng đối với
hƣởng trên dự án, cuối cùng lấy tích để có điểm ảnh UPC, vì dựa trên biểu đồ Use Case, là một kí pháp của
hƣởng của yếu tố. Trong khi FPA lấy điểm ảnh hƣởng Kĩ nghệ hƣớng đối tƣợng, nên dễ dàng giải quyết vấn
chỉ là điểm tỉ lệ phạm vi ảnh hƣởng trên dự án, có đề này với các kĩ thuật <thừa kế>, <interface>,
khoảng giá trị cho tất cả các yếu tố từ 0 đến 5. <include> hay <extend>.

32
3.8.9 Đánh giá các phƣơng pháp UCP, FPA, COCOMO 3.8.9 Đánh giá các phƣơng pháp UCP, FPA, COCOMO
 Thứ tư, FPA đếm số lƣợng file thao tác logic nội bộ là c. So sánh UCP với COCOMO:
một bất cập đối với các hệ CSDL hiện đại, trong khi đó  UCP và COCOMO có điểm giống nhau là các yếu tố điều
UCP đã bỏ qua việc đếm này, mà đếm số giao dịch chỉnh đƣợc xem xét chi tiết và tính đến cả các yếu tố môi
Use Case nên dễ dàng hơn nhiều. trƣờng có ảnh hƣởng đến tiến độ hoàn thành dự án.
 COCOMO là mô hình ƣớc lƣợng giá cấu thành (nỗ lực
 Thứ năm, FPA chỉ có thể ƣớc lƣợng cho các ứng dụng và thời gian) dựa trên kích cỡ phần mềm theo đơn vị
nghiệp vụ bình thƣờng mà không thể cho các ứng LOC của chƣơng trình.
dụng khoa học và công nghệ, khi mà độ phức tạp nằm  Trong COCOMO việc đánh giá số sớm dòng lệnh là khó
trong nội hàm tính toán chứ không phải số lƣợng chức và phụ thuộc rất nhiều vào ngôn ngữ lập trình. Hơn nữa
năng, thì UCP lại giải quyết đƣợc vấn đề này ở số giao đánh giá là không phù hợp khi mà chƣơng trình đƣợc
dịch Use Case (liên quan tới số bƣớc tính toán). sinh ra tự động nhờ các công cụ hiện đại chứ không phải
do con ngƣời viết. Còn UCP trƣớc hết đánh giá kích cỡ
của chƣơng trình theo đặc tả yêu cầu, rồi sau đó đánh
giá nỗ lực theo một ánh xạ tuyến tính. Chỉ cần có biểu đồ
Use Case là có thể đƣa ra ƣớc lƣợng theo UCP.

3.8.9 Đánh giá các phƣơng pháp UCP, FPA, COCOMO NỘI DUNG THẢO LUẬN CỦA CÁC NHÓM

 Đánh giá nỗ lực theo COCOMO có vẻ không hợp lý khi


đã đồng nhất lƣợng tri thức ở trong một số lƣợng dòng 1. MÔ HÌNH ƢỚC LƢỢNG USE CASE POINTS
lệnh giống nhau của các ngôn ngữ khác nhau. UCP thì 2. SO SÁNH MÔ HÌNH UCP VỚI FPA, COCOMO
không mắc phải vấn đề này khi đánh giá nỗ lực trực tiếp
trên lƣợng tri thức chứa trong số Điểm Use Case. Nỗ lực
thay đổi theo ngôn ngữ đã đƣợc UCP đƣa vào yếu tố
môi trƣờng “Độ khó ngôn ngữ lập trình”.
 Khi đánh giá nỗ lực theo COCOMO, phải xác định một
trong ba phƣơng thức phát triển dự án (Organic, Semi-
detached, Embeded) để lấy các hệ số tính toán. Việc
xác định này dựa nhiều vào chủ quan và có thể gây
nhầm lẫn. Trong khi đó, các hệ số của UCP là rõ ràng và
không cần phải lựa chọn.

196

3.9 ƢỚC LƢỢNG THỜI GIAN 3.9.2 Công thức PERT

3.9.1 Ƣớc lƣợng thời gian theo PERT


PERT = Program and Evalution Review Technique T(cv)= (MO + 4ML + MP) / 6
Chương trình và Kỹ thuật đánh giá ước lượng
PERT sử dụng 3 đại lƣợng sau đây để ƣớc lƣợng thời gian Trong đó: MO – Most Optimistic: ƣớc lƣợng lạc quan
cho mỗi công việc của dự án:
 Ƣớc lƣợng lạc quan nhất (MO-Most Optimistic):
ML – Most Likely: ƣớc lƣợng bình thƣờng
Thời gian cần để hoàn thành công việc trong điều kiện "tốt MP – Most Pessimistic: ƣớc lƣợng bi quan
nhất" hay "lý tƣởng" (không có trở ngại nào).
 Ƣớc lƣợng khả dĩ nhất (ML-Most Likely):
Ƣớc lƣợng thời gian dự án theo PERT chỉ thích hợp
Thời gian cần để hoàn thành công việc trong điều kiện "bình
thƣờng" hay "hợp lý". đối với những dự án:
 Ƣớc lƣợng bi quan nhất (MP-Most Pessimistic):  Đòi hỏi tính sáng tạo
Thời gian cần để hoàn thành công việc một cách "tồi nhất“  Coi trọng chất lƣợng kết quả công việc hơn là
hoặc (đầy trở ngại). thời gian hoàn thành công việc.
197 198

33
3.9.3. DỮ LIỆU CẦN THAM KHẢO TRƢỚC KHI ƢỚC LƢỢNG 3.9.3. DỮ LIỆU CẦN THAM KHẢO TRƢỚC KHI ƢỚC LƢỢNG

Các dữ liệu sau đây giúp điều chỉnh thời gian thực hiện
công việc:  Trình độ, kỹ năng của ngƣời thực hiện dự án (lập
 Loại dự án: cũ hay mới – Loại dự án là cũ nếu đã có trình viên) thể hiện qua số năm kinh nghiệm
hơn 2 năm kinh nghiệm Số năm kinh nghiệm Hệ số nhân với ƣớc lƣợng
 Môi trƣờng triển khai dự án: cũ hay mới – Môi trường 10 0.5
áp dụng là cũ nếu đã có hơn 2 năm kinh nghiệm
8 0.6
 Trình độ, kỹ năng của ngƣời thực hiện dự án
 Hệ số quy đổi 6 0.8
4 1.0
Loại dự án Môi trƣờng Hệ số quy đổi 2 1.4
Cũ Cũ 1
1 2.6
Cũ Mới 1.4
Mới Cũ 1.4
 Tăng thêm từ 7% đến 10% thời gian cho mỗi
Mới Mới 2
199
công việc (thời gian tiêu phí giữa chừng) 200

3.9.4 KHÓ KHĂN TRONG VIỆC ƢỚC LƢỢNG THỜI GIAN 3.9.5 Ví dụ: Lập kế hoạch cho một hệ thống mạng

 Phần mềm chƣa làm bao giờ (khác với các dự án


khác)
 Khó dùng lại những kinh nghiệm của các dự án
trƣớc đây
 Công nghệ thay đổi
 Khó phân ranh giới rõ ràng giữa các giai đoạn
Chẳng hạn,
 Kiểm thử có bao gồm việc gỡ lỗi hay không?
 Thiết kế có bao gồm việc vẽ sơ đồ cấu trúc
chƣơng trình hay không?
 ...

201 202

3.9.5 Ví dụ: Lập kế hoạch cho một hệ thống mạng 3.9.5 Ví dụ: Lập kế hoạch cho một hệ thống mạng
BẢNG CÔNG VIỆC LẮP ĐẶT HỆ THỐNG MẠNG TĂNG THÊM 10% THỜI GIAN CHO MỖI CÔNG VIỆC
Mã CV Tên công việc MO ML MP EST Mã CV Tên công việc EST Tăng 10% Ngày công
1.0 Thiết kế hệ thống 1.0 Thiết kế hệ thống
1.1  Khảo sát 1.0 2.0 3.0 2.0 1.1  Khảo sát 2.0 0.20 2.20
1.2  Lập thiết kế 1.0 1.5 2.0 1.5 1.2  Lập thiết kế 1.5 0.15 1.65
2.0 Mua sắm thiết bị 0.5 1.0 1.5 1.0 2.0 Mua sắm thiết bị 1.0 0.10 1.10
3.0 Lắp đặt hệ thống 3.0 Lắp đặt hệ thống
3.1  Khoan tƣờng 1.0 1.5 2.5 1.6 3.1  Khoan tƣờng 1.6 0.16 1.76
3.2  Lắp ống gen 1.0 2.0 3.0 2.0 3.2  Lắp ống gen 2.0 0.20 2.20
3.3  Đi cáp 1.0 2.0 3.0 2.0 3.3  Đi cáp 2.0 0.20 2.20
4.0 Lắp đặt thiết bị 4.0 Lắp đặt thiết bị
4.1  Lắp các hộp kết nối 0.5 1.0 2.0 1.0 4.1  Lắp các hộp kết nối 1.0 0.10 1.10
4.2  Kết nối máy tính vào mạng 3.0 5.0 3.0 3.0 4.2  Kết nối máy tính vào mạng 3.0 0.30 3.30
5.0 Cài đặt, kiểm tra hệ thống mạng 0.5 1.0 10.0 2.5 5.0 Cài đặt, kiểm tra hệ thống mạng 2.5 0.25 2.75
Tổng thời gian 7.5 15 32 16.5 Tổng thời gian 16.5 1.65 18.15
203
Đơn vị tính: ngày Đơn vị tính: ngày

34
3.9.5 Ví dụ: Lập kế hoạch cho một hệ thống mạng 3.9.6 ƢU NHƢỢC ĐIỂM CỦA ƢỚC LƢỢNG PERT
GÁN NHÂN LỰC THỰC HIỆN CÔNG VIỆC
Mã CV Tên công việc Ngày Nhân Thời gian Ƣu điểm của PERT
công lực (ngày)
 Tính đến nhiều yếu tố
1.0 Thiết kế hệ thống
1.1  Khảo sát 2.20 2 1  Lấy ý kiến nhiều ngƣời
1.2  Lập thiết kế 1.65 2 1
2.0 Mua sắm thiết bị 1.10 1 1
 Có thể tin cậy đƣợc
3.0 Lắp đặt hệ thống Hạn chế
3.1  Khoan tƣờng 1.76 1 2
3.2  Lắp ống gen 2.20 2 1.5  Mất thời gian (đặc biệt khi tranh luận về từng ƣớc lƣợng)
 Đi cáp
3.3 2.20 2 1.5
 Khi khối lƣợng công việc của dự án lớn, lập sơ đồ
4.0 Lắp đặt thiết bị
này khá phức tạp
4.1  Lắp các hộp kết nối 1.10 1 1
4.2  Kết nối máy tính vào mạng 3.30 2 1.5  Chƣa thể tin cậy hoàn toàn
5.0 Cài đặt, kiểm tra hệ thống mạng 2.75 1 3
Tổng thời gian 18.15

3.10. LẬP LỊCH DỰ ÁN (PROJECT SCHEDULING) 3.10. LẬP LỊCH DỰ ÁN (PROJECT SCHEDULING)
Mục đích của lịch biểu Chuẩn bị lên lịch biểu
Biết đƣợc thứ tự thực hiện các công việc Giảm tối đa sự phụ thuộc giữa các công việc
Biết đƣợc thời gian bắt đầu, thời gian kết thúc của Xem xét sự chồng chéo về thời gian giữa các công
mỗi công việc trong dự án việc
Xác định đƣợc những công việc bắt buộc phải Lập bảng công việc
thực hiện đúng tiến độ ID Activities Duration days Predecessor
Thể hiện tài nguyên dùng trong từng giai đoạn A Analyzing 14 None
Là công cụ để rút ngắn, điều chỉnh thời gian trong B Designing 6 A
quá trình thực hiện dự án C Coding 7 A,B
D Testing 20 C
E Deploying 5 D,B
207 208

3.10.1 PHƢƠNG PHÁP ĐƢỜNG GANTT 3.10.1 PHƢƠNG PHÁP ĐƢỜNG GANTT ...
Ví dụ:
Sơ đồ Gantt
Sơ đồ Gantt là một trong Công ty TNHH gang thép Hƣng Nghiệp Formosa
những công cụ cổ điển Hà Tĩnh cần lắp đặt một hệ thống kiểm soát ô nhiễm
nhất mà vẫn đƣợc sử môi trƣờng nƣớc. Từ trƣớc đến nay, nƣớc qua sử
dụng phổ biến trong quản dụng trong quá trình sản xuất thép đƣợc xã thải trực
lý tiến độ thực hiện dự án. tiếp ra Biển Đông, làm cá chết hàng loạt ở 4 tỉnh
miền Trung. Để bảo vệ môi trƣờng ở địa phƣơng,
Sơ đồ này đƣợc xây dựng các cơ quan chức năng yêu cầu nhà máy phải lắp
vào năm 1915 bởi Henry hệ thống lọc nƣớc trong vòng 15 tuần nếu không sẽ
L. Gantt, một trong những đóng cửa nhà máy. Giám đốc nhà máy muốn hệ
nhà tiên phong về lĩnh vực thống này phải đƣợc lắp đặt đúng thời hạn. Những
quản lý khoa học. công việc của dự án lắp đặt thiết bị lọc nƣớc này
209
đƣợc trình bày trong bảng công việc sau đây. 210

35
3.10.1 PHƢƠNG PHÁP ĐƢỜNG GANTT ... 3.10.1 PHƢƠNG PHÁP ĐƢỜNG GANTT ...
Thời gian
(tuần)
ST Công Mô tả Công việc Thời gian TT Công việc 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

T việc trước (tuần) 1 A - Xây dựng hồ chứa


1 A Xây dựng hồ chứa bên trong none 2 bên trong
2 B -Sửa chữa đƣờng ống
2 B Sửa chữa đƣờng ống none 3 3 C - Xây hồ lắng
3 C Xây hồ lắng A 2 4 D – Lắp đặt hệ thống van
4 D Lắp đặt hệ thống van B 4 5 E - Xây hệ thống xả thải
5 E Xây hệ thống xả thải C 4 6 F - Lắp đặt hệ thống kiểm
soát
6 F Lắp đặt hệ thống kiểm soát C 3 7 G - Lắp thiết bị lọc nƣớc
7 G Lắp thiết bị lọc nƣớc D, E 5 8 H - Kiểm tra và thử nghiệm
8 H Kiểm tra và thử nghiệm F, G 2
Công việc Gantt Công việc không Gantt

211 Sơ đồ thanh ngang theo phƣơng thức triển khai sớm 212

3.10.1 PHƢƠNG PHÁP ĐƢỜNG GANTT ... 3.10.1 PHƢƠNG PHÁP ĐƢỜNG GANTT ...

Nhận xét:  Đƣờng Gantt là không duy nhất


Các công việc A-C-E-G-H nằm trên đƣờng Gantt  Phương thức triển khai sớm cho phép các
(đƣờng Gantt là đƣờng dài nhất, bất cứ sự muộn công việc có thể bắt đầu sớm nếu có thể, miễn
trễ của các công việc trên đƣờng Gantt đều dẫn là không ảnh hƣởng tới các công việc trƣớc đó.
đến sự chậm trễ của dự án).  Phương thức triển khai muộn, các công việc
Các công việc B-D-F không nằm trên đƣờng có thể bắt đầu trễ hơn mà không ảnh hƣởng tới
Gantt và chúng có thể dịch chuyển trong giới hạn thời gian hoàn thành dự án.
cho phép mà không ảnh hƣởng tới thời gian hoàn  Độ lệch giữa thời điểm bắt đầu hoặc kết thúc
thành dự án. Do đó, ta có thể sắp xếp các công
của một công việc trong hai sơ đồ (nét chấm
việc này theo phương thức triển khai sớm hoặc
gạch) đƣợc gọi là thời gian dự trữ.
phương thức triển khai muộn.

213 214

3.10.1 PHƢƠNG PHÁP ĐƢỜNG GANTT ... 3.10.1 PHƢƠNG PHÁP ĐƢỜNG GANTT ...

Example:
Thời gian (tuần) In the following example there are seven tasks,
TT công việc 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 labeled A through G. Some tasks can be done
1 A - Xây dựng hồ chứa bên
concurrently (A and B) while others cannot be done
trong
2 B - Sửa chữa đường ống until their predecessor task is complete (C cannot
3 C - Xây hồ lắng begin until A is complete). Additionally, each task
4 D - Lăp đặt hệ thống van has three time estimates: the optimistic time
5 E - Xây hệ thống xả thải estimate (O), the most likely or normal time
6 F - Lắp đặt hệ thống kiểm soát
estimate (M), and the pessimistic time estimate (P).
7 G - Lắp thiết bị lọc nước
The expected time (TE) is computed using the
8 H - Kiểm tra và thử nghiệm
formula (O + 4M + P) / 6.
công việc Gantt công việc không Gantt

Sơ đồ thanh ngang theo phƣơng thức triển khai muộn 215 216

36
3.10.1 PHƢƠNG PHÁP ĐƢỜNG GANTT ... 3.10.1 PHƢƠNG PHÁP ĐƢỜNG GANTT ...
Sử dụng Microsoft Project để xác định đƣờng Gantt, phƣơng thức triển khai sớm,
phƣơng thức triển khai muộn, thời gian dự trữ của các công việc không Gantt.

công việc Gantt công việc không Gantt


Lịch trinh dự án

Sơ đồ thanh ngang theo phƣơng thức triển khai sớm

217 218

Sơ đồ Gantt là gì? Gantt Chart


Là sơ đồ dùng để hiển thị, trình bày các công việc theo thời gian.
Sơ đồ gồm 2 phần chính:
 Trục tung thể hiện tên các công việc
 Trục hoành thể hiện mốc thời gian cho những công việc đó.
Một sơ đồ Gantt hoàn chỉnh sẽ bao gồm các thành phần sau:
 Task list: gồm các công việc sẽ đƣợc thực hiện trong dự án.
 Timeline: Thể hiện tổng thời gian của dự án, đƣợc chia thành
các khoảng thời gian. Thời gian có thể là ngày, tuần tháng,
năm. Timeline thể hiện trên trục hoành của biểu đồ.
 Bars: Cung cấp hình ảnh về thời gian và tiến độ công việc.
 Milestones: những cột mốc, sự kiện quan trọng.
 Predecessors: trật tự trƣớc sau giữa các công việc
 Duration: Thời gian thực hiện công việc
 Resource assigned: cá nhân hoặc nhóm chịu trách nhiệm
hoàn thành công việc. 219 220

CÁC BƢỚC VẼ MỘT SƠ ĐỒ GANTT CÁC BƢỚC VẼ MỘT SƠ ĐỒ GANTT ...


Bước 1: Liệt kê các công việc của dự án Bước 6: Vẽ sơ đồ Gantt với trục tung thể hiện trình tự
Bước 2: Sắp xếp trình tự thực hiện các công việc một các công việc của dự án. Trục hoành thể hiện thời
cách hợp lý theo đúng ràng buộc của chúng và quy gian. Thời gian có thể là: ngày, tuần, tháng, ... thực
trình công nghệ hiện từng công việc
Bước 3: Xác định thời gian thực hiện của từng công (có thể sử dụng MS Project để vẽ)
việc
Bước 4: Xác định thời điểm bắt đầu và kết thúc cho Độ dài thời gian thực hiện của từng công việc thể hiện
mỗi công việc bằng các thanh ngang ( ) nhƣ sau:
Bước 5: Xây dựng bảng công việc với ký hiệu hóa các
công việc bằng chữ cái Latin theo mẫu sau:
STT Tên công việc Ký hiệu Thời gian hoàn thành Thời điểm bắt đầu
1 Khảo sát hiện A 5 ngày 2021/09/01
trạng
221 222
2 ... B ... ...

37
VÍ DỤ: CHO BẢNG PHÂN RÃ CÔNG VIỆC VÍ DỤ (tt)

BIỂU ĐỒ GANTT– LỊCH TRÌNH DỰ ÁN


Công Thời gian Công việc Công Thời gian Công việc
việc tcv đi trƣớc việc tcv đi trƣớc
A 1 none K 2 G, I
B 5 none M 3 I
C 6 none L 3 I
D 4 none N 2 K
E 4 A O 1 L, N
F 3 B P 2 G, I, H
G 3 C Q 3 G, I, H
H 4 D R 2 O, P
I 2 E, F S 1 R, Q

223 224

3.10.1 PHƢƠNG PHÁP ĐƢỜNG GANTT ... NỘI DUNG THẢO LUẬN CỦA CÁC NHÓM

Ưu nhược điểm của sơ đồ Gantt:


Ưu điểm: 1. TÌM HIỂU VỀ PHƢƠNG PHÁP ƢỚC LƢỢNG GANTT
•Dễ xây dựng và làm cho ngƣời đọc dễ nhận biết công
2. XÁC ĐỊNH PHƢƠNG THỨC TRIỂN KHAI SỚM, TRIỂN KHAI
việc và thời gian thực hiện của các công việc
•Thấy rõ tổng thời gian thực hiện các công việc MUỘN, THỜI GIAN DỰ TRỮ BẰNG PHƢƠNG PHÁP GANTT
•Có thể thực hiện sớm/muộn các công việc không
3. NGHE CLIP “HƢỚNG DẪN LẬP KẾ HOẠCH DỰ ÁN ĐƠN
Gantt
GIẢN BẰNG MICROSOFT PROJECT”
Nhược điểm:
https://www.youtube.com/watch?v=qOFeYI1W2i8
•Không thể hiện đƣợc mối quan hệ giữa các công
việc, không ghi rõ quy trình công nghệ (trong dự án có
nhiều công việc thì điều này thể hiện rất rõ nét).
•Chỉ phù hợp cho những dự án có quy mô nhỏ, không
phức tạp. 225 226

3.10.2 LẬP LỊCH BẰNG MẠNG CÔNG VIỆC - CPM 3.10.2 LẬP LỊCH BẰNG MẠNG CÔNG VIỆC ...
CPM=Critical Path Method- phương pháp đường tới hạn Mạng công việc (CV) - Là một đồ thị có hƣớng:
Mục đích: dùng để ƣớc lƣợng thời gian thực hiện dự  Mỗi cung biểu diễn một CV
án, đƣợc sử dụng trong các hoạt động lập lịch đối với  Mỗi đỉnh biểu diễn một sự kiện là điểm bắt đầu
các dự án phức tạp. hoặc kết thúc của một số các CV
Đầu vào: bảng phân rã công việc với các nguồn lực  Có một đỉnh bắt đầu cho dự án (là đỉnh mà các
thực hiện. CV đầu tiên của dự án đi ra)
Đầu ra: đƣờng Gantt, công việc Gantt, thời gian thực
 Có một đỉnh kết thúc (là đỉnh mà các CV cuối
hiện dự án
cùng của dự án đi vào)
Tiến trình lập lịch:
Lập mạng công việc  Trên mỗi cung có ghi tên CV và thời gian thực
Tính thời gian bắt đầu sớm nhất, muộn nhất, dự phòng hiện của nó
Xác định công việc gantt, đƣờng gantt
Chú ý: Mạng CPM đƣợc vẽ nhƣ ở trên đƣợc gọi là biểu diễn CPM theo
Tối ƣu hóa thực hiện công việc khi tính đến ràng buộc về kiểu AOA (Activity On Arrow).
nguồn lực 227 Chúng ta cũng có thể vẽ mạng CPM theo kiểu AON (Activity On Node) 228

38
3.10.2 LẬP LỊCH BẰNG MẠNG CÔNG VIỆC ... 3.10.2 LẬP LỊCH BẰNG MẠNG CÔNG VIỆC ...
Quy tắc:
Ký pháp:
 Công việc a có độ dài là 3 đƣợc biểu diễn nhƣ sau:
Tên công việc (thời gian) a(3)
Công việc
Tên công việc (0) Công việc ảo (biểu diễn  Đầu và cuối các cung là các nút, mỗi nút là một sự
quan hệ ràng buộc) kiện, ký hiệu bằng vòng tròn, bên trong đánh số thứ
Sự kiện (đỉnh i) tự sự kiện:
i a(3)
1 2
0 Đỉnh đầu
 Công việc ảo có thời gian bằng 0, nó chỉ biểu diễn
quan hệ ràng buộc
n Đỉnh cuối
3 e(0) 4
229 230

3.10.2 LẬP LỊCH BẰNG MẠNG CÔNG VIỆC ... 3.10.2 LẬP LỊCH BẰNG MẠNG CÔNG VIỆC ...
 Hai công việc a và b đƣợc tiến hành đồng thời
 Các công việc (cung) đƣợc vẽ từ trái qua phải đƣợc biểu diễn nhƣ sau:
hoặc từ trên xuống dƣới và không nên cắt nhau 2
a(3) a(3) b(5)
1 b(4) 3
1 2 1 2 3
b(5)
3  Hai công việc a và b hội tụ (có nghĩa là chúng đƣợc
thực hiện trƣớc một công việc c nào đó), đƣợc biểu
 Giữa 2 sự kiện có duy nhất một công việc
diễn nhƣ sau:
a(3)
a(3) 1 2 1 c(2)
1 2 3
b(5) b(5)
2 231
2 232

3.10.2 LẬP LỊCH BẰNG MẠNG CÔNG VIỆC ... 3.10.2 LẬP LỊCH BẰNG MẠNG CÔNG VIỆC ...

 Công việc a phải sau hai công việc b và c không  Ví dụ: Cần phải thực hiện 4 công việc, công việc a
hội tụ. Có 3 cách biểu diễn: có độ dài 5 ngày, công việc b có độ dài 3 ngày,
công việc c có độ dài 4 ngày, công việc d có độ dài
a(6) 5 ngày, công việc b và c đƣợc tiến hành sau công
2 2
việc a, công việc d chỉ đƣợc tiến hành sau khi b và
1 c đã kết thúc.
1 a(6)
3 3
3
a(5)
2 e(0)
1 2
a(6)
4 d(5)
1 4 5
3
234

39
3.10.2 LẬP LỊCH BẰNG MẠNG CÔNG VIỆC ... Ví dụ:
Các mốc thời gian của sự kiện và công việc:
a) Sự kiện: Một công ty cần thực hiện dự án “Lắp ráp nhà công
xƣởng” với bảng phân rã công việc nhƣ sau:
 Thời điểm xuất hiện sớm nhất sự kiện i: tsi
 Thời điểm xuất hiện muộn nhất sự kiện i: tmi TT Tên Ký Thời gian Thời điểm
 Ta luôn luôn có: ts1 = 0; tsn = tmn = TDA với n là sự kiện kết thúc công việc hiệu (tuần) bắt đầu
 Thời gian dự phòng của sự kiện i: tdpi = tmi - tsi 1. Làm móng nhà a 5 Bắt đầu ngay
b) Công việc: 2. Vận chuyển cần cẩu về b 1 Bắt đầu ngay
3. Lắp dựng cần cẩu c 3 Sau b
 Thời gian thực hiện công việc (i,j): tij
4. Vận chuyển cấu kiện d 4 Bắt đầu ngay
 Thời điểm bắt đầu sớm nhất công việc (i,j): BSij = tsi
5. Lắp ghép khung nhà e 7 Sau a, d, c
 Thời điểm bắt đầu muộn nhất công việc (i,j): BMij = tmj - tij
 Thời điểm kết thúc sớm nhất công việc (i,j): KSij = tsi + tij Hãy lập mạng công việc của dự án trên.
 Thời điểm kết thúc muộn nhất công việc (i,j): KMij = tmj
 Thời gian dự phòng công việc (i,j): tdf (ij) = tmj - tsi - tij 236

Ví dụ: Nhận xét:


TT Tên Ký Thời gian Thời điểm  Tổng thời gian thực hiện dự án là 12 tuần (công
công việc hiệu (tuần) bắt đầu
việc Gantt: 5+0+7=12 tuần)
1. Làm móng nhà a 5 Bắt đầu ngay
2. Vận chuyển cần cẩu về b 1 Bắt đầu ngay  Công việc a, b, d làm ngay từ đầu
3. Lắp dựng cần cẩu c 3 Sau b  Công việc c làm ngay sau công việc b, công việc e
4. Vận chuyển cấu kiện d 4 Bắt đầu ngay
làm ngay sau công việc c; những công việc này có
5. Lắp ghép khung nhà e 7 Sau a, d, c
quan hệ trực tiếp với nhau.
2  Công việc f và g là các công việc ảo đƣợc thể hiện
bằng mũi tên đứt nét. Chúng chỉ ra rằng công việc e
e(7)
b(1) c(3)
5 6 chỉ có thể tiến hành khi công việc a và d cũng đã
1 3
hoàn thành.
Chú ý: Chúng ta cũng có thể lập mạng công việc theo cách sau:
4 237 238

CHO BẢNG PHÂN RÃ CÔNG VIỆC CÁCH XÁC ĐỊNH MẠNG CÔNG VIỆC
A. XÁC ĐỊNH CÁC ĐỈNH TRUNG GIAN CỦA MẠNG
Công Thời gian Công việc Công Thời gian Công việc
việc tcv đi trƣớc việc tcv đi trƣớc Xét cột “Công việc đi trƣớc” trong Bảng công việc:
a 1 none k 2 g, i Bƣớc 1: Khoanh tròn các CV là duy nhất/(2/3) trên dòng. Mỗi
b 5 none m 3 i CV đƣợc khoanh xác định một đỉnh ngay sau nó. Trong ví dụ
trên có 12 đỉnh:
c 6 none l 3 i
d 4 none n 2 k a  (1), b  (5), c  (6), d  (4), i  (2), g  (3), k  (8),
e 4 a o 1 l, n h  (10), (e,f)  (5), (l,n)  (9), (o,p)  (11), (r,q)  (12)
f 3 b p 2 g, i, h Bƣớc 2: Xóa tên tất cả CV đã đƣợc khoanh mà có mặt trong
g 3 c q 3 g, i, h các dòng chứa hơn 2 CV và quay về bƣớc 1.
h 4 d r 2 o, p Bƣớc 3: Nếu các dòng chứa 1 CV đã đƣợc khoanh hay đã bị
i 2 e, f s 1 r, q xóa, thì xét đến dòng chứa 2/(3) CV chƣa đƣợc khoanh hoặc
chƣa xóa. Lặp lại bƣớc 1 cho đến hết.
239 240

40
CÁCH XÁC ĐỊNH MẠNG CÔNG VIỆC ... CÁCH XÁC ĐỊNH MẠNG CÔNG VIỆC ...
B. VẼ SƠ ĐỒ MẠNG B. VẼ SƠ ĐỒ MẠNG (TT)
Bước 1: Vẽ đỉnh đầu tiên 0
Bước 4: Khi đã vẽ hết các CV, thì thêm đỉnh thứ n và
Bước 2: Từ đỉnh này, vẽ các CV đi ra khỏi nó (với lần đầu đó là những CV nào không có đỉnh kết thúc sau nó thì cho
các CV a, b, c, d không đi sau CV nào). Thêm 1 đỉnh vào sau kết thúc chung tại đỉnh cuối cùng này.
mỗi CV /(cặp CV) đƣợc khoanh tròn (cụ thể là đỉnh (1) sau a,
(2) sau b, (3) sau c và (4) sau d) Bước 5: Xét một CV có hơn 2 CV đi trƣớc nó và trong
số đó có CV đã bị xóa. Với mỗi CV bị xóa, cần thêm
Bước 3: Xuất phát từ 1 đỉnh vừa thêm (lần đầu là (1), (2), (3), một CV giả từ đỉnh sau CV bị xóa đến đỉnh mà CV
(4)) ta xét các CV đi ra từ các đỉnh này, tức là đi sau các CV kết
đƣợc xét từ đó đi ra.
thúc ở đỉnh này và lặp lại bước 2.
Nếu 1 CV không đi sau 1 CV nào đƣợc khoanh tròn, tức là các Chú ý: Khi đánh số cho các đỉnh mạng, cần đảm bảo
CV đi trƣớc nó đã bị xóa, thì thêm 1 đỉnh giả có các CV giả đi từ số đỉnh ở đầu CV phải nhỏ hơn số đỉnh ở cuối công
đỉnh sau CV bị xóa đến nó. CV đƣợc xét đi ra từ CV này. Sau việc.
đó lặp lại bước 2. 241 242

VÍ DỤ: CHO BẢNG PHÂN RÃ CÔNG VIỆC

Công việc Thời gian Công việc Công việc Thời gian Công việc
Công Thời gian Công việc Công Thời gian Công việc
tcv đi trƣớc tcv đi trƣớc
việc tcv đi trƣớc việc tcv đi trƣớc
a 1 none k 2 g, i
a 1 none k 2 g, i
b 5 none m 3 i
b 5 none m 3 i
c 6 none l 3 i
c 6 none l 3 i
d 4 none n 2 k
d 4 none n 2 k
e 4 a o 1 l, n
e 4 a o 1 l, n
f 3 b p 2 g, i, h
f 3 b p 2 g, i, h
g 3 c q 3 g, i, h
g 3 c q 3 g, i, h
h 4 d r 2 o, p
h 4 d r 2 o, p
i 2 e, f s 1 r, q
i 2 e, f s 1 r, q

243 244

A. XÁC ĐỊNH CÁC ĐỈNH VÀ LẬP MẠNG CÔNG VIỆC B. TÍNH THỜI GIAN BẮT ĐẦU SỚM NHẤT CỦA CÁC SỰ KIỆN

Thời gian bắt đầu sớm nhất của sự kiện i đƣợc xác
13
1 định theo công thức:
5 6 s(1)
b(5) 2 o(1) 11
0 9

3 8 13
12
7 1
6
h(4) 10 5 s(1)
4 b(5) 2 o(1) 11
0 9

Khi vẽ xong mạng với các đỉnh đã xác định, các công việc k, 8
3
p và q có công việc đi trƣớc nó đã bị xóa, cần 2 công việc 7
12
giả (6,7) và (7,10)
4 h(4) 10
245 246

41
ts(0)=0 QUÁ TRÌNH TÍNH TOÁN ts:
ts(1)=ts(0)+t(a)=0+1=1 ts(4)=ts(0)+t(d)=0+4=4 ts(6)=ts(5)+t(i)=8+2=10 C. TÍNH THỜI GIAN KẾT THÖC MUỘN CỦA CÁC SỰ KIỆN
ts(2)=ts(0)+t(b)=0+5=5 ts(5)=max(ts(2)+t(f),ts(1)+t(e)) ts(7)=max(ts(3)+t(g),ts(6)+0)
ts(3)=ts(0)+t(c)=0+6=6 =max(5+3,1+4)=8 =max(6+3,10+0)=10
Thời gian kết thúc muộn của sự kiện i đƣợc xác định
ts(8)=ts(7)+t(k)=10+2=12 ts(11)=max(ts(9)+t(o),ts(10)+t(p)) theo công thức:
=max(14+1,11+2)=15
ts(9)=max(ts(8)+t(n),ts(6)+t(l)) ts(12)=max(ts(11)+t(r),ts(10)+t(q))
=max(12+2,10+3)=14 =max(15+2,10+3)=17
ts(10)=max(ts(4)+t(h),ts(7)+0) ts(13)=max(ts(6)+t(m),ts(12)+t(s)) Tính ngƣợc từ đỉnh kết thúc: tm(13)=ts(13)=18
=max(4+4,10)=10 =max(10+6,17+1)=18 13
18
1
1 13 6
10 5 s(1)
1 8 b(5)
6 2 o(1) 11
5 5 14 15 s(1) 0 9
b(5) o(1) 11
0 0 2 9
6 12 8
3 12
10 8 7
3 12
7 10
4 17 h(4) 10
h(4) 10 247 4 248
4

tm(13)=ts(13)=18 QUÁ TRÌNH TÍNH TOÁN tm(i):


tm(12)=tm(13)-t(s)=18-1=17 tm(11)=tm(12)-t(r)=17-2=15 tm(9)=tm(11)-t(o)=14 D. TÍNH THỜI GIAN DỰ PHÕNG CỦA CÁC CÔNG VIỆC
tm(10)=min(tm(11)-t(p),tm(12)-t(q)) tm(8)=(tm(9)-t(n)) tm(7)=min(tm(8)-t(k),tm(10)-0)
=min(15-2,17-3)=13 =14-2=12 =min(12-2,13-0)=10
Thời gian dự phòng của công việc (i,j) đƣợc xác định
tm(6)=min(tm(13-t(m),tm(9)-t(l),tm(7)-0) tm(5)=tm(6)-t(i)=10-2=8
theo công thức:
=min(18-6,14-3,10)=10 tm(4)=tm(10)-t(h)=13-4=9
tm(3)=tm(7)-t(g)=10-3=7 tm(2)=tm(5)-t(f)=8-3)=5
tm(1)=tm(5)-t(e)=8-4=4 tm(0)=0 18/18
18 /18
1/4 13
1/4 13 10/10
10 /10 1 8/8
1 8 /8

s(1) /0
0/0 5/5 5 6 15/15
0/0 5 /5 5 6 15 /15 s(1) 14/14
14/14 b(5) /0 o(1) /0
b(5) o(1) 11 0 2 9 11
0 2 9 0
6/7 12/12
6 /7 12 /12
10 /10 10/10 8
8 3 12
3 12 7
7 10/13
10 /13 4/9 17/17
4 /9 17 /17
4 h(4)/5 10
4 h(4) 10
250
249

tdf(a)=tm(1)-ts(0)-t(a)=4-0-1=3 QUÁ TRÌNH TÍNH TOÁN tdf:


E. CÔNG VIỆC GANTT - ĐƢỜNG GANTT
tdf(s)= tm(13)-ts(12)-t(s)=0

tdf(b)=tm(2)-ts(0)-t(b)=5-0-5=0 tdf(c)=tm(3)-ts(0)-t(c)=7-0-6=1
tdf(d)=tm(4)-ts(0)-t(d)=9-0-4=5 tdf(e)=tm(5)-ts(1)- t(e)=8-1-4=3
18/18
tdf(f)=tm(5)-ts(2)-t(f)=8-5-3=0 tdf(g)=tm(7)-ts(3)-t(g)=10-6-3=1
1/4 13
tdf(h)=tm(10)-ts(4)-t(h)=13-4-4=5 tdf(i)=tm(6)-ts(5)-t(i)=10-8-2=0 10/10
1 8/8
tdf(k)=tm(8)-ts(7)-t(k)=12-10-2=0 tdf(l)=tm(9)-ts(6)-t(l)=14-10-3=1 0/0 5/5 6
s(1)/0

5 14/14 15/15
tdf(m)=tm(13)-ts(6)-t(m)=18-10-6=2 tdf(n)=tm(9)-ts(8)-t(n)=14-12-2=0 2 o(1)/0
0 9 11
tdf(o)=tm(11)-ts(9)-t(o)=15-14-1=0 tdf(p)=tm(11)-ts(10)-t(p)=15-10-2=3 6/7 12/12
tdf(q)= tm(12)-ts(10)-t(q)=17-10-3=4 tdf(r)= tm(12)-ts(11)-t(r)=0 10/10 8
18/18 3 12
7 10/13
1/4 13 4/9 17/17
8/8 10/10 h(4)/5 10
1 4
s(1) /0

0/0 5/5 5 6 15/15


14/14
0
b(5)/0
2 o(1) /0
11
Chú ý: Ở mạng công việc trên có 2 đƣờng đi từ sự kiện 0 đến sự
0 9
6/7 12/12 kiện 13 và đều đi qua các đỉnh có ts=tm. Đó là dãy các công việc:
3
10/10 8 b, f, i, x*, k, n, o, r, s và b, f, i, l, o, r, s nhƣng chỉ có dãy công việc
12
7 10/13 đầu là đƣờng Gantt vì dãy công việc này đều có thời gian dự
4/9 17/17
h(4)/5 10
phòng bằng 0 và độ dài của nó là lớn nhất.
4

42
Nhận xét về mạng công việc CPM 3.10.3 ƢU NHƢỢC ĐIỂM CỦA PHƢƠNG PHÁP CPM

 Trong CPM thƣờng có nhiều đƣờng đi xuất phát từ đỉnh đầu Ƣu điểm:
0 và kết thúc ở đỉnh cuối N của mạng công việc CPM.  Cung cấp nhiều thông tin chi tiết.
Đƣờng đi có độ dài lớn nhất đƣợc gọi là đường Gantt.  Thấy rõ đƣợc công việc nào là chủ yếu, có tính chất
 Công việc và sự kiện nằm trên đường Gantt đƣợc gọi là quyết định đối với tổng tiến độ của dự án để tập
công việc Gantt và sự kiện Gantt. trung chỉ đạo.
 Độ dài đường Gantt (thời gian Gantt) là thời gian hoàn  Thấy rõ mối quan hệ phụ thuộc giữa các công việc
thành dự án. và trình tự thực hiện chúng.
 Nếu một công việc Gantt bị chậm trễ thì toàn bộ dự án bị
chậm trễ theo. Nhƣợc điểm:
 Đối với công việc không Gantt thì có thể chậm trễ nhƣng  Đòi hỏi nhiều kỹ thuật để lập và sử dụng
không đƣợc vƣợt quá thời gian dự trữ của công việc đó.  Khi khối lƣợng công việc của dự án lớn thì lập
sơ đồ này khá phức tạp
253 254

3.10.4 PHƢƠNG PHÁP SƠ ĐỒ MẠNG LƢỚI PERT 3.10.4 PHƢƠNG PHÁP SƠ ĐỒ MẠNG LƢỚI PERT

Giới thiệu:
 Phƣơng pháp PERT đƣợc phát triển vào cuối thập niên 1950
dùng để điều hành các hoạt động nghiên cứu và phát triển
tên lửa đối cực.
 PERT đƣợc phát triển nhằm xử lý các thời gian công việc
không chắc chắn.
 Mặc dầu PERT và CPM có mục đích chung và sử dụng nhiều
thuật ngữ giống nhau nhƣng chúng đƣợc hình thành độc lập.
 Kỹ thuật PERT và CPM khác nhau bởi vì nó đƣợc các nhóm
chuyên gia làm việc trong các dự án khác nhau xây dựng.
 Ngày nay, ngƣời ta đã kết hợp các điểm mạnh của mỗi kỹ
thuật nhằm tạo ra một kỹ thuật điều hành dự án có giá trị.

255 256

3.10.4 PHƢƠNG PHÁP SƠ ĐỒ MẠNG LƢỚI PERT 3.10.4 PHƢƠNG PHÁP SƠ ĐỒ MẠNG LƢỚI PERT

257 258

43
3.10.4 PHƢƠNG PHÁP SƠ ĐỒ MẠNG LƢỚI PERT 3.10.4 PHƢƠNG PHÁP SƠ ĐỒ MẠNG LƢỚI PERT
 Thời gian xuất hiện sớm của sự kiện j, ký hiệu tjs, là thời gian
sớm nhất kể từ khi bắt đầu dự án đến khi đạt tới sự kiện j.
tjs đƣợc xác định bởi công thức:
tjs = max {tis+tij}, với mọi công việc (i,j) đi vào j.
Lƣu ý rằng, thời gian xuất hiện sớm của các sự kiện đƣợc tính
từ trái sang phải. Với sự kiện bắt đầu, thời gian xuất hiện sớm
bằng 0.
 Thời gian xuất hiện muộn của sự kiện i, ký hiệu tim, là thời gian
chậm nhất phải đạt tới sự kiện i nếu không muốn kéo dài toàn
bộ thời gian hoàn thành dự án. tim đƣợc xác định bởi công
thức: tim = min {tjm - tij}, với mọi công việc (i,j) đi ra khỏi i
Lƣu ý rằng, để xác định thời hạn muộn nhất của sự kiện i
trước hết phải xác định giới hạn kết thúc của toàn bộ dự án và
xuất phát từ đó thời gian xuất hiện muộn của các sự kiện
259
được tính từ phải sang trái. Với sự kiện kết thúc ta có thời gian
260
xuất hiện sớm bằng thời gian xuất hiện muộn.

3.10.4 PHƢƠNG PHÁP SƠ ĐỒ MẠNG LƢỚI PERT 3.10.4 PHƢƠNG PHÁP SƠ ĐỒ MẠNG LƢỚI PERT

 Xác định các sự kiện Gantt, công việc Gantt:  Ví dụ: Cần phải thực hiện 4 công việc, công việc a
 Sự kiện Gantt là những sự kiện có thời gian xuất có độ dài 5 ngày, công việc b có độ dài 3 ngày, công
hiện sớm bằng thời gian xuất hiện muộn. việc c có độ dài 4 ngày, công việc d có độ dài 5
 Công việc Gantt là những công việc nằm trên ngày, công việc b và c đƣợc tiến hành sau công việc
đƣờng Gantt. a, công việc d chỉ đƣợc tiến hành sau khi b và c đã
 Đường Gantt là đƣờng đi qua các sự kiện Gantt và kết thúc.
có thời gian dự phòng của các công việc Gantt  Sơ đồ mạng lƣới PERT vẽ đƣợc nhƣ hình dƣới đây
bằng 0. (cách vẽ giống nhƣ CPM)
 Xác định thời gian dự phòng của các công việc:
Thời gian dự phòng của mỗi công việc (i,j) đƣợc xác 3
a(5)
định bởi công thức tdf (ij) = tjm – tis – tij e(0)
1 2
Chú ý: Trong một sơ đồ PERT hoặc CPM có thể có nhiều hơn d(5)
một đƣờng Gantt. 261 4 5 262

Tính toán thời gian triển khai sớm, kết thúc muộn, dự trữ Ví dụ:
tjs = max { tis + tij } tim = min { tjm – tij } tdf (ij) = tjm – tis – tij Công ty phần mềm HueSoft cần thực hiện dự án phần mềm
t1s = 0 t5m = t4m-0 = 14-0 = 14 tdf a=t2m-t1s-ta=5-0-5=0 “Theo dõi tiêm chủng Covid 19” cho nhân dân thành phố Huế
t2s = t1s + ta = 0 + 5 = 5 t4m = t5m-td = 14-5 = 9 tdf b=t3m-t2s-tb=9-5-3=1
t3s = t2s + tb = 5 + 3 = 8 t3m = t4m - te = 9-0 = 9 tdf c=t4m-t2s-tc=9-5-4=0
với các công việc đƣợc cho trong bảng dƣới đây. Hãy vẽ sơ đồ
t4s = t2s + tc = 5 + 4 = 9 t2m = min (t3m-tb; t4m-tc) tdf d=t5m-t4s-td=14-9-5=0 mạng PERT để mô tả thời gian thực hiện dự án.
t5s = t4s + td = 9 + 5= 14 = min(9-3; 9-4) = 5 tdf e=t4m-t3s-te=9-8-0=1
t1m = t2m- ta = 5-5 = 0 Công Thời gian Công việc Công Thời gian Công việc
việc đi trƣớc việc đi trƣớc
i tij j 3
tis tim tjs tjm 8 9 a 12 none h 5 a, d, e
tdf 1 b 7 none i 6 b
1 2 tdf=1
c 4 none j 3 g
0 0 a(5) 5 5 e(0)
d 9 b k 5 i
tdf =0
e 10 c m 8 f, h, k
4 5
9 9 d(5) 14 14 f 15 c n 9 f, h, j, k
Vậy các công việc găng là {a; c; d} và độ dài 0 tdf=0 0
263
g 11 c o 22 i
đƣờng găng là 14.

44
Cách vẽ: Cách tính thời gian bắt đầu sớm nhất: tjs

i tij j
tis tim
tdf
tjs tjm tjs = max {tis + tij}
Với mọi cv (i,j) đi vào j

3 7 3 7
i(6) i(6)
7 13

1 2 5 m(8) 9 1 2 5 9
a(12 ) h(5) a(12 ) h(5) m(8)
0 16 21 35

4 6 8 4 6 8
4 15 21
g(11) j(3) g(11) j(3)

Cách tính thời gian kết thúc muộn nhất: tim Tính thời gian dự phòng tdf (ij). Độ dài đường Gantt

i tij j i tij j tdf (ij) = tjm – tis – tij


tis tim tjs tjm tim = min { tjm - tij } tis tim tjs tjm
tdf Với mọi cv (i,j) đi ra khỏi i tdf Đường Gantt: b, i, o
Độ dài đường Gantt: 35

3 7 3 7
i(6) i(6)
7 7 13 13 7 7 13 13
tdf =0

1 2 5 9 1 2 5 9
a(12 ) h(5) m(8) a(12 ) h(5) m(8)
0 0 16 21 21 26 35 35 0 0 16 21 21 26 35 35
tdf =9 tdf =2 tdf =6

4 6 8 4 6 8
4 11 15 23 21 26 4 11 tdf =8 15 23 tdf =8 21 26
g(11) j(3) g(11) j(3)

Bảng kết quả tính toán NỘI DUNG THẢO LUẬN CỦA CÁC NHÓM
Công Thời gian BĐ sớm KT sớm BĐ muộn KT muộn Thời gian
việc thực hiện nhất nhất nhất nhất dự phòng
a 12 0 12 9 21 9 1. TÌM HIỂU VỀ PHƢƠNG PHÁP ƢỚC LƢỢNG CPM
b 7 0 7 0 7 0
c 4 0 4 7 11 7 2. TÌM HIỂU VỀ PHƢƠNG PHÁP SƠ ĐỒ MẠNG PERT
d 9 7 16 12 21 5
e 10 4 14 11 21 7 3. XÁC ĐỊNH PHƢƠNG THỨC TRIỂN KHAI SỚM, MUỘN,
f 15 4 19 11 26 7
THỜI GIAN DỰ TRỮ, CÔNG VIỆC GANTT, ĐƢỜNG
g 11 4 14 12 23 8
h 5 16 21 21 26 5 GANTT BẰNG PHƢƠNG PHÁP CPM và PERT
i 6 7 13 7 13 0
j 3 15 18 23 26 8
k 5 13 18 21 26 8
m 8 21 29 27 35 6
n 9 21 30 26 35 5
o 22 13 35 13 35 0
270
Một số bài tập về mạng công việc PERT

45
3.11 ƢỚC LƢỢNG DỰA TRÊN CÂN ĐỐI TÀI NGUYÊN 3.11.2 XÁC ĐỊNH CÁC RÀNG BUỘC

3.11.1 THỜI GIAN ƢỚC LƢỢNG–TH.GIAN THỰC TẾ  Các ràng buộc về tài nguyên liên quan:
 Thời gian ƣớc lƣợng dự án bằng độ dài đƣờng  Ràng buộc về nhân lực (tổng số ngƣời, kỹ năng
Gantt. chuyên môn, kinh nghiệm)
 Thời gian thực tế thƣờng kéo dài hơn thời gian ƣớc  Ràng buộc về thiết bị, công cụ chia sẻ
lƣợng từ 25% đến 40%
 Ràng buộc về tiến trình: có những công việc
Tại sao?
cần kết thúc trƣớc các công việc khác hay có
 Có một số công việc không ƣớc lƣợng tốt thể thực hiện đồng thời
 Có một số công việc phải làm lại
 Ngƣời phát triển dự án tham gia đồng thời nhiều
công việc
271 272

3.11.3 NGUYÊN TẮC CÂN ĐỐI TÀI NGUYÊN 3.11.4 VÍ DỤ

CHO BẢNG PHÂN RÃ CÔNG VIỆC


 Lập biểu đồ sử dụng nguồn nhân lực
 Xét từng điểm vƣợt hay ít hơn mức nguồn lực cho
phép, tiến hành di chuyển các công việc thuộc
vùng này để giảm hay tăng nguồn lực sử dụng
đảm bảo dƣới mức cho phép và hiệu quả, bằng
cách:
 Giảm thời gian dự phòng
 Tận dụng các nguồn lực có thể
 Tính đến sự phụ thuộc giữa các công việc
 Cân đối tài nguyên là một quá trình lặp: theo dõi
thực hiện, đánh giá, ƣớc lƣợng lại, cân đối và
điều chỉnh, cập nhật lịch biểu
 Nên sử dụng các công cụ tự động 273 274

3.11.4 VÍ DỤ B. BIỂU ĐỒ SỬ DỤNG NGUỒN NHÂN LỰC

A. VẼ MẠNG CÔNG VIỆC CPM VÀ ĐƢỜNG GANTT Bđồ Gantt đã gán


nguồn nhân lực

Biểu đồ nhân lực

275 276

46
C. CÂN ĐỐI SỬ DỤNG NHÂN LỰC ≤ 3 3.12. KẾ HOẠCH VỀ NHÂN SỰ
Biểu đồ Gantt đã điều chỉnh với nguồn nhân lực ≤ 3  Nhân sự là yếu tố quyết định sự thành công của
dự án
 Các hoạt động liên quan đến nhân sự của dự án:
 Chọn nhân sự thích hợp
 Chọn cấu trúc của nhóm
 Chọn kích thƣớc của nhóm
 Xác định vai trò của các thành viên trong nhóm
Biểu đồ Gantt theo phƣơng thức triển khai muộn  Quản lý giao tiếp giữa các thành viên trong
nhóm

277

3.12.1 Chọn nhân sự thích hợp Các yếu tố cần xem xét khi chọn nhân sự:
Một vài chú ý khi chọn nhân sự:  Kinh nghiệm
Con ngƣời là yếu tố quan trọng nhất trong phát  Hiểu biết lĩnh vực ứng dụng
triển phần mềm  Kinh nghiệm trong môi trƣờng phát triển
 Hiểu biết về ngôn ngữ lập trình
Các thành viên rất khác nhau về năng lực
 Đào tạo
 Một số các công việc đặc thù không phải ai cũng  Ở đâu?
làm đƣợc  Xếp loại?
− Lập trình hệ thống  Khả năng
− Giao diện đồ họa cao cấp  khả năng giao tiếp
 khả năng thích ứng: công việc, môi trƣờng
− Điều khiển thiết bị  khả năng học tập, tiếp thu công nghệ
− Thiết kế cơ sở dữ liệu  Thái độ & Tính cách
279 280

Các câu hỏi cần xem xét khi chọn nhân sự: Các câu hỏi cần xem xét khi chọn nhân sự:
1. Có kinh nghiệm trong môi trƣờng phát triển dự án? 13.Thách thức lớn nhất của bạn trong vai trò mới?
2. Chia sẻ về kinh nghiệm hợp tác tốt nhất của bạn? 14. Đồng nghiệp cũ đã nói gì về bạn?
3. Bạn làm gì để duy trì động lực?
4. Làm thế nào để bạn xây dựng mối quan hệ? 15.Khối lƣợng công việc chuyên môn hiện nay của
5. Có chuyên môn để phục vụ dự án? ngƣời đó? Có thể giảm bớt? Dự đoán thời gian tới?
6. Đã có kinh nghiệm với dự án tƣơng tự nào chƣa? Có thể tham gia suốt quá trình dự án đƣợc không?
7. Hiện có tham gia dự án nào khác không? 16. Có hăng hái tham gia nhóm dự án không?
8. Nếu có thì khi nào kết thúc?
17. Có truyền thống làm việc với hiệu suất cao không?
9. Hãy nói về dự án mà bạn tự hào nhất?
10. Tại sao bạn muốn làm việc cho dự án này? 18. Có ngăn nắp và quản lý thời gian tốt không?
11. Có thể dành bao nhiêu thời gian cho dự án? 19. Có tinh thần trách nhiệm và hợp tác không?
12. Lời khen lớn nhất bạn nhận đƣợc trong công việc
của mình? 281 282

47
Những điều nên tránh khi chọn nhân sự 3.12.2 Chọn cấu trúc của nhóm
1. Tuyển chọn những ngƣời giống mình
2. Hiểu lầm nội dung của dự án Có 3 cấu trúc nhóm:
3. Trách nhiệm và quyền hạn không rõ ràng
4. Phân việc không đều, không rõ ràng i. Nhóm không hình thức (Egoless Team)
5. Không xác định đƣợc những ngƣời liên quan đến dự án ii. Nhóm Chief – Programmer
6. Mục tiêu chung không rõ
7. Thông tin không thông suốt iii. Nhóm phân cấp
8. Thành viên thiếu tin tƣởng nhau-nghi kị nhau
9. Quyền lợi cá nhân của thành viên không phù hợp với
công việc của dự án
10.Không cam kết thực hiện kế hoạch
11.Những ngƣời có tinh thần đồng đội yếu
12.Ngƣời it quan tâm tới chất lƣợng công việc 283 284

3.12.2 Chọn cấu trúc của nhóm 3.12.2 Chọn cấu trúc của nhóm
ii. Nhóm Chief – Programmer
i. Nhóm không hình thức (Egoless Team)  Phân công:
 Trƣởng nhóm: có năng lực vƣợt trội và là ngƣời
 Các thành viên của nhóm có vai trò nhƣ nhau
thực hiện các công việc chính
 Công việc đƣợc thảo luận và các thành viên  Các thành viên khác thực hiện công việc chi tiết
thống nhất giải pháp chung do nhóm trƣởng giao
 Các thành viên đều có kinh nghiệm và năng lực  Thƣ ký: quản lý thông tin
 Các chuyên gia hỗ trợ: quản lý, lập tài liệu, lập
 Nhóm nhỏ
trình, kiểm thử

 Đặc điểm:
 Phụ thuộc chủ yếu vào trƣởng nhóm
 Trƣởng nhóm phải có năng lực
285

3.12.2 Chọn cấu trúc của nhóm 3.12.3 Chọn kích thƣớc của nhóm

iii. Nhóm Phân cấp  Kích thƣớc nhóm nên dƣới 8 ngƣời, nhằm:
 Giảm thời gian giao tiếp
 Dự án lớn đƣợc chia thành nhiều dự án nhỏ
 Cơ động, dễ dàng làm việc cùng nhau
 Mỗi dự án nhỏ đƣợc thực hiện bởi một nhóm
 Không nên phân nhóm quá nhỏ:
 Mỗi nhóm có một trƣởng nhóm  Bảo đảm công việc tiếp tục đƣợc thực hiện
 Mỗi thành viên trong nhóm phải báo cáo công nếu có thành viên rời khỏi nhóm
 Số ngƣời trong nhóm có thể thay đổi
việc với trƣởng nhóm
 Chú ý:
 Một số công việc chỉ nên
 Khi một dự án bị chậm trể, thêm ngƣời vào
để một ngƣời thực hiện dự án sẽ không giải quyết đƣợc vấn đề
287 288

48
3.12.3 Chọn kích thƣớc của nhóm 3.12.4 Xác định vai trò của các thành viên

 Tổ chức nhóm Trƣởng dự án


− lập trình viên  Chịu trách nhiệm chính của dự án
 Bảo đảm nhóm có đầy đủ thông tin và nguồn tài
− chuyên gia giao diện nguyên cần thiết
− chuyên gia miền ứng dụng  Phân công công việc cho các nhóm trƣởng
 Kiểm tra thời hạn của các công việc
− thủ thƣ phần mềm (quản lý cấu hình)
 Giao tiếp với khách hàng
− kiểm thử viên  Nhóm trƣởng: chịu trách nhiệm trƣớc trƣởng dự án
 Cần có về các công việc đƣợc giao phó
 Các thành viên trong nhóm: chịu trách nhiệm trƣớc
− team leader
nhóm trƣởng về các công việc đƣợc phân công
− technical leader
289

3.12.5 Quản lý giao tiếp giữa các thành viên trong nhóm 3.12.5 Quản lý giao tiếp giữa các thành viên trong nhóm

Giao tiếp tốt cho phép nhóm hoạt động tốt Các đặc điểm trong giao tiếp nhóm
Thông tin cần trao đổi: Các thành viên có vị trí cao thƣờng hay áp đặt
 tiến độ công việc Nhóm có nam và nữ thƣờng giao tiếp tốt hơn
 các thay đổi liên quan đến dự án Giao tiếp thông qua một ngƣời điều phối trung tâm
 các khó khăn thƣờng không hiệu quả
Giao tiếp giữa các thành viên phụ thuộc vào cấu Tất cả các thành viên nên tham gia vào các quyết
trúc nhóm định ảnh hƣởng đến toàn bộ nhóm
 Nhóm không hình thức: giao tiếp trực tiếp giữa các Mỗi thành viên có một tính cách khác nhau
thành viên trong nhóm
 Nhóm phân cấp: giao tiếp thông qua nhóm trƣởng

291

3.12.6 Nhóm làm việc hiệu quả 3.13. KẾ HOẠCH VỀ NGÂN SÁCH
Các mục đích của dự án đƣợc thống nhất 3.13.1 Phân loại chi phí của dự án
Trả công cho Ban quản lý dự án
Mọi thành viên tin tƣởng vào vai trò và mục tiêu
Trả công lao động (đội phát triển dự án)
Chấp nhận mục tiêu và tiêu chí chất lƣợng
 Huấn luyện, đào tạo
Có phƣơng thức trao đổi thông tin hiệu quả  Máy móc, trang thiết bị làm việc
Họp, trao đổi ý tƣởng, kiểm soát thay đổi  Đi lại, trao đổi, họp hành
 Tiện nghi làm việc
Xác lập đƣợc mối quan hệ hợp tác giữa các thành
viên  Văn phòng phẩm
 Thu thập thông tin

293
 Khác 294

49
3.13.2 Các cách tính chi phí 3.13.2 Các cách tính chi phí ...
a. Ƣớc lƣợng chi phí (Costs estimate) b. Chi phí khác
 Là những khoản tiền dự kiến chi tiêu cho mỗi  Tiện nghi
công việc và cho toàn bộ dự án  Thông tin
 Đi lại (thuê khách sạn, công tác phí, thuê xe,...)
 Chi phí đƣợc tính trƣớc khi dự án bắt đầu  ...
 Lập bảng tính chi phí nhƣ sau: c. Chi phí ngân sách
 Là phân bổ tiền vào các hạng mục
Số hiệu Mô tả Tiền Vật tƣ Văn Nguyên Đào tạo, Khác Tổng  Tổng số tiền chính là bằng chi phí dự kiến
công công công, Thiết phòng vật Huấn
việc việc T.lƣơng bị phẩm liệu luyện d. Chi phí thực tế
... ... ... ... ... ... ... ... ...  Phát sinh trong thực tế thực hiện dự án.
... ... ... ... ... ... ... ... ...
 Lập bảng theo dõi chi tiêu thực tế, đƣợc cập
Tổng
nhật liên tục để biết đƣợc tình trạng chi tiêu cho
295
mỗi công việc. 296

3.13.3 Bảng theo dõi chi phí Chú ý:

Bảng theo dõi chi phí có dạng sau


 Nếu lạm chi và số chi còn dƣ là nhỏ: bình thƣờng
 Nếu lạm chi và số chi còn dƣ là lớn: phải tìm
nguyên nhân
 Ví dụ về các nguyên nhân tiêu cực của số tiền chi
chƣa hết: ƣớc lƣợng sai, chất lƣợng công việc kém,
làm ẩu, ...

297 298

3.13.4 Chi phí ƣớc lƣợng khi hoàn tất 3.13.5 Chi phí dự phòng

Tính toán tiền đã tiêu và tiền còn phải tiếp tục Để đảm bảo an toàn cho kinh phí.
tiêu, tại mỗi thời điểm giữa chừng của dự án.  Thông thƣờng: từ 5% - 7% tổng kinh phí để dự
phòng
Ƣớc tính số tiền phải chi khi hoàn thành 100%
công việc, theo tốc độ thực chi (là cột (9) trong  Kinh phí dự phòng có thể dùng vào bất kỳ việc gì
bảng theo dõi chi phí) mà ngƣời quản lý dự án thấy là cần thiết (trong
phạm vi cho phép).
Dòng tổng dƣới cùng phản ảnh toàn bộ kế hoạch
thu chi của dự án.

299 300

50
NỘI DUNG THẢO LUẬN CỦA CÁC NHÓM CÂU HỎI CUỐI CHƢƠNG

1. Phƣơng pháp và nguyên tắc chung để


1. Thảo luận về kế hoạch nhân sự của nhóm ƣớc lƣợng một dự án phần mềm.
2. Thảo luận về kế hoạch tài chính của nhóm 2. Các bƣớc ƣớc lƣợng tiến hành theo phƣơng
3. Thảo luận về nguyên tắc cân đối tài nguyên pháp chuyên gia và phƣơng pháp tƣơng tự?
3. Phƣơng pháp phân tích điểm chức năng nhằm
4. Sử dụng thông thạo Microsoft Project
ƣớc lƣợng gì? Dựa trên cơ sở nào?
4. Ƣớc lƣợng kích cỡ phần mềm theo mô hình
FPA, COCOMO, Use Case Points
5. Ƣớc lƣợng thời gian hoàn thành dự án theo
Gantt, CPM
6. Các đại lƣợng cần phải ƣớc lƣợng khi xây dựng
dự án.
7. Những khó khăn thƣờng gặp trong quá trình ƣớc
lƣợng. Cách giải quyết?
301 302

CHƢƠNG 4 QUẢN TRỊ RỦI RO

CHƢƠNG 4 WHERE?
Chƣơng 4 Chƣơng 5
QUẢN TRỊ RỦI RO Chƣơng 2 Chƣơng 3

XÁC ĐỊNH LẬP KẾ HOẠCH ĐIỀU HÀNH


PROJECT RISK MANAGEMENT • Truyền thông
• Bản công bố dự án • Lịch biểu
• Đưa ra ng. tài trợ • Ước lượng • Quản lý cấu hình
• Bản đề xuất dự án • Ngân sách
• Xđịnh ng.liên quan • Lập lịch chi tiết • Đo tiến trình
• Ma trận tr.nhiêm • KH nguồn lực
• Lập dự án cơ sở • Quản trị rủi ro • Điều chỉnh
• KH truyền thông • Bản rủi ro
• Đóng dự án

Phản hồi, thay đổi, điều chỉnh


PGS.TS. NGUYỄN MẬU HÂN
Khoa CNTT-ĐHKH HUẾ
VÕNG ĐỜI CỦA QUẢN LÝ DỰ ÁN
304
303

NỘI DUNG 4.1 GIỚI THIỆU VÀ PHÂN LOẠI RỦI RO

4.1 GIỚI THIỆU VÀ PHÂN LOẠI RỦI RO 1. Khái niệm


Rủi ro là các sự kiện xảy ra có tính ngẫu nhiên tác
4.2 HOẠT ĐỘNG QUẢN LÝ RỦI RO động bất lợi cho dự án hoặc sản phẩm của dự án.
2. Các loại rủi ro
4.3 XÁC ĐỊNH RỦI RO
 Rủi ro dự án: tác động đến lịch trình, nguồn lực
 Rủi ro sản phẩm: tác động lên chất lƣợng và
4.4 PHÂN TÍCH RỦI RO
hiệu năng của sản phẩm
 Rủi ro nghiệp vụ: tác động đến tổ chức phát triển
4.5 LẬP KẾ HOẠCH QUẢN LÝ RỦI RO
hoặc khách hàng
4.6 GIÁM SÁT VÀ XỬ LÝ RỦI RO
Tùy thuộc vào dự án (sản phẩm) mà số lượng và
tiêu chuẩn rủi ro thuộc về loại nào.
306

51
4.1.1 NGUYÊN NHÂN DẪN ĐẾN RỦI RO 4.1.1 NGUYÊN NHÂN DẪN ĐẾN RỦI RO
1. Kinh phí không đáp ứng theo kế hoạch 7. Ƣớc lƣợng sai:
 Không đủ kinh phí để điều hành dự án  Kích cỡ sản phẩm sai, dẫn đến sai các ƣớc
2. Suy giảm đội ngũ: lƣợng khác
 Ví dụ: nhân viên có kinh nghiệm ra đi 8. Khả năng CASE yếu kém
3. Thay đổi ngƣời quản lý  CASE không thực hiện đƣợc công việc nhƣ dự
 Thay đổi thứ tự ƣu tiên công việc kiến
4. Phần cứng không sẵn sàng: 9. Thay đổi công nghệ:
 Thiếu công cụ để triển khai công việc  Tốn thời gian để học hỏi, làm quen
5. Thay đổi yêu cầu 10.Tính cạnh tranh của sản phẩm kém
 Thay đổi thứ tự các công việc đã có.  Sản phẩm cạnh tranh khác ra thị trƣờng trƣớc
6. Đặc tả chậm trễ
 ảnh hƣởng đến lịch trình 307 308

4.1.2 MỘT CÁCH PHÂN LOẠI RỦI RO KHÁC 4.1.3 Những rủi ro phổ biến trong quản lý dự án

1. Rủi ro chung (cho tất cả dự án) Dƣới đây là một số rủi ro dự án phổ biến rất nhiều các doanh
nghiệp đã-đang và sẽ gặp phải:
 Có thể chọn ra một danh sách các rủi ro trên cơ
1. Ƣớc tính thời gian và chi phí quá lạc quan
sở phân tích rủi ro của các dự án trƣớc
2. Chu kỳ đánh giá và phản hồi của khách hàng quá chậm
2. Rủi ro chuyên biệt (cho dự án cụ thể)
3. Cắt giảm ngân sách bất ngờ
 Khó tìm ra 4. Vai trò và trách nhiệm từng cá nhân, tập thể không rõ ràng
 Cần sự trợ giúp của các thành viên dự án 5. Không hiểu rõ nhu cầu của các bên liên quan
 Cần một môi trƣờng trợ giúp 6. Các bên liên quan thay đổi yêu cầu sau khi dự án bắt đầu
3. Rủi ro biết và không biết 7. Các bên liên quan bổ sung các yêu cầu mới sau khi dự án
đã bắt đầu
 Loại biết: có thể đánh giá, tìm giải pháp cụ thể
8. Thiếu sự tƣơng tác, trao đổi đa chiều dẫn đến hiểu lầm, bất
 Loại không biết: ƣớc đoán theo kinh nghiệm đồng quan điểm ảnh hƣởng đến tiến độ và chất lƣợng dự án
9. Thiếu cam kết về nguồn lực
309 310

4.2 HOẠT ĐỘNG CỦA QUẢN LÝ RỦI RO 4.2 HOẠT ĐỘNG CỦA QUẢN LÝ RỦI RO
 Quản lý rủi ro?
Thêm mới, loại các rủi ro đã qua
Là phƣơng tiện để giám sát một cách có hệ thống
các bất trắc có thể xảy ra nhằm tăng cƣờng khả XÁC ĐỊNH PHÂN TÍCH LẬP KẾ KIỂM
năng đáp ứng các yêu cầu của dự án. RỦI RO RỦI RO HOẠCH SOÁT RỦI
RỦI RO RO
 Mọi hoạt động của dự án đều có thể xem nhƣ là
quản lý rủi ro
 Quản lý phạm vi: rủi ro về tiến trình, chi phí
 Quản lý chi phí: rủi ro về ngân sách
Danh Danh Kế hoạch Giám sát
 Quản lý lịch trình: rủi ro về thời gian sách rủi ro sách rủi ro tránh, hạn sự kiện và
 Quản lý nhân lực: rủi ro về nhân lực tiềm ẩn sắp thứ tự chế rủi ro áp dụng
ƣu tiên giải pháp
Quản lý rủi ro là công việc quan trọng đối với các dự án phần
mềm và diễn ra liên tục suốt quá trình thực hiện dự án. 311 312

52
4.3 XÁC ĐỊNH CÁC RỦI RO 4.3 XÁC ĐỊNH CÁC RỦI RO
Xét từng yếu tố liên quan đến rủi ro để phát hiện Xét từng yếu tố liên quan đến rủi ro để phát hiện
mọi rủi ro có thể xảy ra mọi rủi ro có thể xảy ra
Loại yếu tố Vấn đề Xử lý phức tạp, cần an toàn cao Loại yếu tố Vấn đề Xử lý phức tạp, cần an toàn cao
Loại # Nhiều lỗi, giao tiếp khó khăn 6. Công nghệ Mới, lạ Tốn thời gian, không tƣơng thích
1. Ứng dụng Kích cỡ lớn Thêm Tăng chi phí, kéo dài thời gian
7. Yêu cầu
Số lƣợng Thiếu, nhân viên bỏ việc Thay đổi Điều chỉnh tiến độ, nguồn lực
2. Nhân sự
Chất lƣợng Thiếu ngƣời có kỹ năng yêu cầu Sản phẩm Không đáp ứng yêu cầu
3. Tổ chức Thay đổi Thay ngƣời quản lý, tài trợ 8. Nhà cung cấp
Tiến độ Chậm, không ổn định
4. Phần cứng Mới Không ổn định, không đồng bộ 9. Môi trƣờng Thay đổi Không thích hợp, tốn kém
5. Phần mềm Mới Tốn thời gian, không tƣơng thích 10. Khác Tai họa Mất ngƣời, mất dữ liệu, hỏng thiết
bị
313 314

4.3.1 KỸ THUẬT XÁC ĐỊNH RỦI RO 4.3.1 KỸ THUẬT XÁC ĐỊNH RỦI RO

a) Hỏi những ngƣời liên quan:


Có 4 kỹ thuật để xác định rủi ro:
 Đƣa ra một danh sách rủi ro, đề nghị xác định, bổ
a) Hỏi những ngƣời liên quan sung và lý giải
 Sắp xếp, phân loại để mọi ngƣời tranh luận về sự
b) Sử dụng danh sách các rủi ro có thể có đầy đủ, phù hợp và giải pháp tránh rủi ro
 Phỏng vấn các các thành viên về từng rủi ro, lý
c) Học từ quá khứ, dự án tƣơng tự giải tại sao, mức độ xảy ra và nguy hại, tranh luận
để hiểu đƣợc một cách có cấu trúc các khía cạnh
d) Tập trung vào rủi ro lịch biểu và ngân sách của rủi ro

315 316

4.3.1 KỸ THUẬT XÁC ĐỊNH RỦI RO 4.3.1 KỸ THUẬT XÁC ĐỊNH RỦI RO

b) Sử dụng danh sách các rủi ro có đƣợc c) Học từ quá khứ, dự án tƣơng tự

Sử dụng hồ sơ tổng hợp, tƣ liệu: nhật ký rủi ro, lịch d) Tập trung vào lịch biểu và ngân sách
biểu, chi phí, kế hoạch thực hiện, các bài học, đúc  Lập kế hoạch chi tiết là cơ hội để phát hiện rủi ro
kết kinh nghiệm của các dự án trƣớc để biết đƣợc
 Tuy nhiên, các công việc khó ƣớc lƣợng và yêu
các rủi ro đã xảy ra.
cầu nguồn lực khan hiếm là tiềm ẩn nhiều rủi ro
Chúng sẽ cho các hƣớng dẫn:
 Rủi ro trong một ngành cụ thể
 Rủi ro cho mỗi loại tổ chức cụ thể
 Mức độ ảnh hƣởng đến sản phẩm, tiến trình
 Mức độ xảy ra: thấp, cao, trung bình
317 318

53
4.3.2 MỘT SỐ CÂU HỎI XÁC ĐỊNH RỦI RO 4.3.2 MỘT SỐ CÂU HỎI XÁC ĐỊNH RỦI RO

2. RỦI RO ĐẾN TỪ KHÁCH HÀNG


1. RỦI RO ĐẾN TỪ ĐỘI DỰ ÁN
 Có bao nhiêu ngƣời trong đội?  Khách hàng thay đổi hoặc bổ sung yêu
cầu sau khi dự án bắt đầu?
 Có bao nhiêu phần trăm ngƣời trong đội thực sự
làm việc cho dự án?  Khách hàng thay đổi quy trình hiện tại để
 Số thành viên dành 20% thời gian hay ít hơn cho sử dụng sản phẩm?
dự án?  Dự án yêu cầu khách hàng tổ chức lại quy
 Kinh nghiệm chung của đội đạt ở mức nào? trình làm việc?
 Thành viên của đội trƣớc đây có làm việc chung  Khách hàng ở trong nhiều đơn vị hoặc
với nhau hay không? nhiều công ty khác nhau?
 Không gian địa lý mà đội trải ra nhƣ thế nào? 319 320

4.3.2 MỘT SỐ CÂU HỎI XÁC ĐỊNH RỦI RO 4.3.2 MỘT SỐ CÂU HỎI XÁC ĐỊNH RỦI RO

3. RỦI RO ĐẾN TỪ CÔNG NGHỆ 4. RỦI RO ĐẾN TỪ VIỆC ĐIỀU HÀNH


 Công nghệ có mới đối với đội phát triển dự án  Nhà tài trợ dự án là ngƣời tích cực tham gia vào dự
không? án hay không?
 Trong dự án có sử dụng công nghệ mới hoặc tiên  Có sự ủng hộ và tham gia của lãnh đạo khi có yêu
tiến không? cầu cho sự thành công của dự án không?
 Công nghệ có mới đối với ngƣời sử dụng hoặc  Lãnh đạo có đƣa ra thời hạn hoặc ngân sách hạn
khách hàng không? chế mà nó độc lập với kế hoạch và ngân sách ƣớc
 Các yêu cầu về sản phẩm có đƣợc ghi chép rõ ràng tính dự án không?
và có chữ ký của các bên liên quan không?
 Có yêu cầu sản phẩm phải ổn định không?
321 322

4.4 PHÂN TÍCH RỦI RO 4.4 PHÂN TÍCH RỦI RO

Thêm mới, loại các rủi ro đã qua  Đánh giá khả năng xảy ra rủi ro (thấp, vừa, cao)
và mức tác động đến dự án (thƣờng, nghiêm
XÁC ĐỊNH PHÂN TÍCH LẬP KẾ KIỂM trọng, rất nghiêm trọng)
RỦI RO RỦI RO HOẠCH SOÁT RỦI
RỦI RO RO  Sắp thứ tự ƣu tiên các loại rủi ro:
 Lập thứ tự ƣu tiên trên cơ sở phân tích từng rủi
ro theo xác suất xảy ra và mức độ tác động
 Loại bỏ các rủi ro ít khả năng xảy ra hay ít tác
Danh Danh Kế hoạch Giám sát động đến dự án
sách rủi ro sách rủi ro tránh, hạn sự kiện và
tiềm ẩn sắp thứ tự chế rủi ro áp dụng  Điều này giúp tập trung quản lý tốt rủi ro và sử
ƣu tiên giải pháp dụng hiệu quả nguồn lực vốn hạn chế.
323 324

54
4.4 PHÂN TÍCH RỦI RO 4.4 PHÂN TÍCH RỦI RO

 Sử dụng bảng trọng số để tính điểm rủi ro: Ví dụ: Một công ty sản xuất phần mềm nhận ra các
Điểm rủi ro = (Xác suất xảy ra) x (mức tác động) rủi ro của mình trong khi triển khai một dự án mới
Rủi ro Xảy ra Tác động Điểm
Tác Thƣờng Nghiêm Rất nghiêm rủi ro
động =1 trọng=3 trọng=5 Nguồn tài chính giảm đáng kể Thấp (1) Rất nghiêm trọng 5
(5)
Thấp = 1 1 3 5
Không thuê đƣợc nhân viên có Cao (5) Rất nghiêm trọng 25
kỹ năng đúng yêu cầu (5)
Xác Vừa = 3 3 9 15
suất CASE không tích hợp đƣợc Cao (5) Thƣờng (1) 5
Cao = 5 5 15 25
Môi trƣờng phát triển mới Thấp (1) Nghiêm trọng (3) 3

Phần mềm dùng lại còn nhiều Vừa (3) Nghiêm trọng (3) 9
khiếm khuyết 326

4.4 PHÂN TÍCH RỦI RO Một số rủi ro thông thƣờng và giải pháp
Nhân sự: thiếu ngƣời
Sử dụng bảng tính điểm các rủi ro và sắp chúng theo
Giải pháp:
mức độ giảm dần của điểm tính đƣợc
 Sử dụng ngƣời có năng lực
Sắp thứ tự ƣu tiên các rủi ro Điểm rủi  Chọn ngƣời có khả năng làm việc theo nhóm
ro  Có kế hoạch đào tạo bổ sung
1. Không thuê đƣợc nhân viên có kỹ năng 25 Công nghệ: công nghệ mới
đúng yêu cầu
Giải pháp:
2. Phần mềm dùng lại nhiều khiếm khuyết 9  Tìm chuyên gia trợ giúp
3. CASE không tích hợp đƣợc 5  Thuê công ty chuyên dụng
4. Nguồn tài chính giảm đáng kể 5 Sản phẩm không đạt yêu cầu: thiếu, sai chức năng
Giải pháp:
5. Môi trƣờng phát triển mới 3
 Phân tích kỹ mô hình chức năng/nghiệp vụ về phía
khách hàng để tìm ra sai sót
327
 Làm bản mẫu 328

Một số rủi ro thông thƣờng và giải pháp ... 4.5. LẬP KẾ HOẠCH ĐỐI PHÓ RỦI RO
Nhà cung cấp: cung cấp vật tƣ không bảo đảm chất
Thêm mới, loại các rủi ro đã qua
lƣợng. Giải pháp:
 Chọn nhà cung cấp uy tín, thích hợp XÁC ĐỊNH PHÂN TÍCH LẬP KẾ KIỂM
 Kiểm soát chặt chẻ việc thực hiện hợp đồng RỦI RO RỦI RO HOẠCH SOÁT RỦI
RỦI RO RO
Yêu cầu về sản phẩm của dự án: thêm và thay đổi
chức năng
Giải pháp:
 Áp dụng PTTK theo hƣớng đối tƣợng
 Phát triển theo mô hình xoắn ốc Danh Danh Chiến lƣợc Giám sát
 Hợp đồng chặt chẻ sách rủi ro sách rủi ro tránh, hạn sự kiện và
Rủi ro khác: hỏng thiết bị, mất dữ liệu, ... tiềm ẩn sắp thứ tự chế, đối áp dụng
Giải pháp: ƣu tiên phó rủi ro giải pháp
 Lập quỹ dự phòng từ 5%-7% 329 330

55
4.5 LẬP KẾ HOẠCH ĐỐI PHÓ RỦI RO ... 4.5 LẬP KẾ HOẠCH ĐỐI PHÓ RỦI RO ...

Lập kế hoạch bao gồm: 1. Chấp nhận rủi ro:


 Phân loại đánh giá, sắp ƣu tiên  Không làm gì cả. Chờ và xem rủi ro
 Chọn chiến lƣợc đáp ứng các rủi ro có độ ƣu tiên xảy ra
cao  Chọn chiến lƣợc này khi xác suất
xảy ra rủi ro là thấp và tác động đến
Một số chiến lƣợc thƣờng sử dụng:
dự án là là tối thiểu. Nếu xảy ra, dễ
 Chấp nhận rủi ro dàng xử lý
 Tránh rủi ro
2. Tránh rủi ro:
 Giám sát và chuẩn bị dự phòng
 Bỏ đi phần dự án có liên quan đến rủi ro, tức là làm
 Chuyển rủi ro cho ngƣời khác thay đổi phạm vi dự án.
 Hạn chế rủi ro  Chọn hƣớng đi khác hoặc thay đổi mục tiêu của dự
331 án 332

4.5 LẬP KẾ HOẠCH ĐỐI PHÓ RỦI RO ... 4.5 LẬP KẾ HOẠCH ĐỐI PHÓ RỦI RO ...
3. Giám sát và chuẩn bị dự phòng: 4. Chuyển giao rủi ro cho ngƣời khác:
 Chọn một chỉ số quan sát xem rủi ro đến hay chƣa?  Mua bảo hiểm
 Ví dụ nếu rủi ro liên quan đến thầu phụ, cần cập nhật  Ký một hợp đồng dịch vụ cho thầu phụ với giá cố
trạng thái tiến độ của họ. định.
 Kế hoạch đáp ứng đƣợc chuẩn bị trƣớc khi rủi ro xảy  Chuyển giao rủi ro là một lợi thế. Tuy nhiên có thể
ra. Nên dự trữ một số tiền. nảy sinh rủi ro mới cần tính toán một cách cụ thể
 Phần quan trọng trong chiến lƣợc này là ký đƣợc
một hợp đồng hiệu quả và quản lý tốt các nhà thầu
phụ.

333 334

4.5 LẬP KẾ HOẠCH ĐỐI PHÓ RỦI RO ...

5. Hạn chế rủi ro:


 Hạn chế hoặc giảm tác động rủi ro bằng các
biện pháp đầu tƣ hay nỗ lực nhiều hơn, bao gồm
những gì mà đội dự án có thể làm để vƣợt qua
đƣợc rủi ro từ môi trƣờng của dự án

335 336
Một số chiến lƣợc và phƣơng pháp đối phó rủi ro thƣờng gặp

56
4.6 GIÁM SÁT VÀ XỬ LÝ RỦI RO 4.6 KIỂM SOÁT RỦI RO
Kiểm soát rủi ro bao gồm:
Thêm mới, loại các rủi ro đã qua
 Thu thập thông tin (qua nhật ký rủi ro), đánh giá khả
XÁC ĐỊNH PHÂN TÍCH LẬP KẾ KIỂM năng thực tế xảy ra của rủi ro cũ, mới
RỦI RO RỦI RO HOẠCH QLÝ SOÁT RỦI
RỦI RO RO  Đánh giá lại mức tác động, sắp xết ƣu tiên
 Chuẩn bị kế hoạch đáp ứng rủi ro mới
 Thảo luận các rủi ro chính, quan trọng để đi đến áp
dụng giải pháp nếu cần thiết
Danh Danh Kế hoạch Giám sát Loại bỏ các rủi ro có độ ƣu tiên
sách rủi ro sách rủi ro tránh, hạn sự kiện và thấp, hoặc các rủi ro đã qua
tiềm ẩn sắp thứ tự chế rủi ro áp dụng Lặp lại các hoạt động của tiến trình
ƣu tiên giải pháp ở mỗi mốc lớn hơn hoặc sau 6 -> 9
337
tuần, hoặc ở đầu một pha mới 338

BÀI TẬP VÀ THẢO LUẬN NHÓM CÂU HỎI CUỐI CHƢƠNG ...

1. Các rủi ro dự án phổ biến hiện nay mà các doanh


1. Các nhóm xác định các rủi ro có thể có của dự án
nghiệp đã-đang và sẽ gặp phải.
nhóm mình đang thực hiện. 2. Vì sao cần quản lý rủi ro? Trình bày các nội dung
2. Thảo luận, phân tích, sắp xếp các rủi ro quản lý rủi ro? Vẽ sơ đồ tiến trình quản lý rủi ro?
3. Giải pháp hạn chế và khắc phục rủi ro nếu xảy ra 3. Giải thích nội dung mỗi hoạt động của quản lý rủi
ro? Nêu một số loại rủi ro và giải pháp tƣơng ứng
có thể áp dụng cho nó?
4. Nêu các phƣơng pháp và kỹ thuật xác định rủi ro?
Giải thích nội dung của mỗi kỹ thuật đó?
5. Mục đích của việc sắp thứ tự các rủi ro là gì? Dùng
tiêu chí gì làm cơ sở để sắp thứ tự? Cách xác định
339 giá trị của nó nhƣ thế nào? 340

CÂU HỎI CUỐI CHƢƠNG

6. Một số rủi ro thông thƣờng và giải pháp hạn chế


rủi ro
7. Các hoạt động quản lý rủi ro
8. Các phƣơng pháp xác định và phân tích rủi ro CHƢƠNG 5:

9. Một số chiến lƣợc thƣờng sử dụng để đối phó rủi ĐIỀU HÀNH VÀ GIÁM SÁT DỰ ÁN
ro
CONTROLLING AND MONITORING SOFTWARE PROJECT

PGS.TS. Nguyễn Mậu Hân


Khoa CNTT-ĐHKH HUẾ
341

57
CHƢƠNG 5: ĐIỀU HÀNH VÀ GIÁM SÁT DỰ ÁN CHƢƠNG 5: ĐIỀU HÀNH VÀ GIÁM SÁT DỰ ÁN

NỘI DUNG
WHERE? 5.1. TRUYỀN THÔNG TRONG DỰ ÁN
Chƣơng 4 Chƣơng 5
Chƣơng 2 Chƣơng 3 5.2. QUẢN LÝ CẤU HÌNH VÀ KIỂM SOÁT THAY ĐỔI
5.3. GIÁM SÁT VIỆC THỰC HIỆN DỰ ÁN
XÁC ĐỊNH LẬP KẾ HOẠCH ĐIỀU HÀNH

• Đưa ra ng. tài trợ


• Bản công bố dự án
• Ước lượng
• Lịch biểu •

Truyền thông
Quản lý cấu hình
5.4. ĐO MỨC ĐỘ HOÀN THÀNH DỰ ÁN
• Bản đề xuất dự án • Ngân sách
• Xđịnh ng.liên quan • Lập lịch chi tiết • Đo tiến trình
• Ma trận tr.nhiêm • KH nguồn lực
• Lập dự án cơ sở
• KH truyền thông
• Quản trị rủi ro
• Bản rủi ro •

Điều chỉnh
Đóng dự án
5.5. XÁC SUẤT THỜI GIAN HOÀN THÀNH DỰ ÁN
5.6. KỸ THUẬT RÚT NGẮN TIẾN ĐỘ DỰ ÁN (TỰ ĐỌC)
Phản hồi, thay đổi, điều chỉnh 5.7. NHỮNG TIÊU CHÍ CỦA MỘT DỰ ÁN THÀNH CÔNG
5.8. KẾT THÚC DỰ ÁN
VÕNG ĐỜI CỦA QUẢN LÝ DỰ ÁN
343 344

5.1 TRUYỀN THÔNG TRONG DỰ ÁN 5.1.1 Vấn đề giao tiếp trong dự án


5.1.1 Vấn đề giao tiếp trong dự án Một số hình thức giao tiếp trong dự án
 Giao tiếp là yếu tố quan trọng dẫn đến sự thành  Giao tiếp trong đội phát triển dự án
công của dự án  Giao tiếp giữa ngƣời quản lý với khách hàng
 Giao tiếp nhằm các mục đích:  Kiểm soát thay đổi
 thiết lập và tiếp nhận thông tin  Báo cáo kết thúc dự án
 tìm sự đồng thuận về mục tiêu
 phối hợp, phát hiện và giải quyết vấn đề quản lý Kỹ năng của NQL trong giao tiếp
theo sự mong đợi
 Chủ trì các cuộc họp có hiệu quả
Sử dụng một số kỹ thuật để đảm bảo thông tin dự
án đến đúng ngƣời, đúng thời gian.  Giải quyết các xung đột một cách xây dựng
345
 Biết lắng nghe và tiếp thu 346

5.1.2 Giao tiếp trong đội dự án 5.1.2 Giao tiếp trong đội dự án
Các nhu cầu giao tiếp của các thành viên đội dự án Nguyên tắc giao công việc:
 Trách nhiệm: cần biết phải làm phần công việc Giải thích đầy đủ về sản phẩm: biết chính xác làm
nào trong dự án gì để tạo ra sản phẩm và các tiêu chuẩn đánh giá
 Phối hợp: cần thông tin để phối hợp làm việc sản phẩm
cùng nhau về những vấn đề liên quan Nêu rõ công sức cần thiết và thời hạn hoàn thành
 Hiện trạng: theo dõi, đáp ứng yêu cầu tiến trình công việc
dự án, xác định vấn đề và điều chỉnh Các khó khăn, trở ngại có thể gặp và thông tin
 Thẩm quyền: cần biết mọi quyết định của khách cần có từ đâu để đƣợc tƣ vấn
hàng, nhà tài trợ, ngƣời quản lý liên quan đến dự Khi giao công việc cho cá nhân, khuyến khích
án và môi trƣờng nghiệp vụ việc hỏi và thảo luận

347 348

58
5.1.2 Giao tiếp trong đội dự án 5.2. QUẢN LÝ CẤU HÌNH VÀ KIỂM SOÁT THAY ĐỔI

Giao tiếp với thành viên trong đội dự án 5.2.1 QUẢN LÝ CẤU HÌNH
Kế hoạch làm việc với thành viên trong đội phải thƣờng (SOFTWARE CONFIGURATION MANAGEMENT – SCM)
xuyên. Tốt nhất là hàng tuần phải kiểm tra, thảo luận. a. Cấu hình phần mềm là gi?
Cần bố trí thời gian và lịch làm việc để các thành viên có  là các thành phần liên quan đến cách xác định
thể gặp nhau dễ dàng. và tổ chức cơ bản của phần mềm đó
Tổ chức cuộc họp chung khi bắt đầu dự án  Các thành phần của một phần mềm có thể:
Nhà tài trợ tổ chức cuộc họp để giải thích mục tiêu dự án,  mã nguồn
sự liên hệ của dự án với toàn bộ hoạt động nghiệp vụ.  các file dữ liệu
Giới thiệu khách hàng, giải thích tầm quan trọng dự án với  tài liệu đặc tả yêu cầu
hoạt động nghiệp vụ.
 tài liệu thiết kế
Giới thiệu NQL dự án với những ngƣời liên quan.
 cấu hình phần cứng
Giới thiệu các thành viên dự án, ngƣời liên quan khác.
349  ... 350

5.2.1 QUẢN LÝ CẤU HÌNH ... d. Tại sao phải quản lý cấu hình?...
b. Quản lý cấu hình phần mềm? Một số tình huống:
Quản lý cấu hình là quá trình theo dõi, quản lý,  Một lỗi nào đó của phần mềm
và duy trì thông tin về cấu hình của hệ thống, đang xây dựng đã tốn nhiều công
ứng dụng. sức sửa chữa, bỗng xuất hiện trở lại
nhƣ ... “chưa sửa chữa”.
c. Mục tiêu của quản lý cấu hình
 Một chức năng nào đó của phần
 Đảm bảo rằng tất cả các thành phần của hệ
mềm đã đƣợc phát triển và kiểm tra
thống hoạt động với cấu hình chính xác và
cẩn thận bổng thất lạc hoặc biến mất
tƣơng thích với nhau.
một cách khó hiểu.
 Giúp giảm thiểu lỗi do cấu hình không đồng bộ
Một chƣơng trình đã đƣợc kiểm tra
và đảm bảo tính ổn định và tin cậy của hệ
hết sức cẩn thận, bỗng nhiên không
thống.
“chạy” đƣợc nữa.
351 352

d. Tại sao phải quản lý cấu hình?... d. Tại sao phải quản lý cấu hình?...
Một chƣơng trình gồm nhiều modun, mỗi modun 1. SCM để hỗ trợ ngƣời quản lý dự án
gồm nhiều chức năng, các chức năng đƣợc chia ra  Giám sát các thay đổi trong quá trình phát triển
cho nhiều lập trình viên, mỗi chức năng bao gồm
nhiều file mã nguồn với nhiều phiên bản khác nhau.  Bao gồm các hoạt động:
Khi tích hợp hệ thống và biên dịch, trong hàng chục  Xây dựng các thủ tục cần thực hiện khi có sự
file mã nguồn với hàng trăm phiên bản khác nhau, file thay đổi
nào, phiên bản nào là đúng và cần phải lấy để tiến
 Ghi nhận các thành phần và yêu cầu thay đổi
hành tích hợp? Xóa đi thì ...uổng, để lại thì ... quên,
 ... không quản lý được
 Đo lƣờng chi phí và công sức thực hiện thay
đổi
Những vấn đề trên sẽ được giải
quyết nếu trong dự án việc quản
lý cấu hình được thực hiện một
cách nghiêm túc. 353 354

59
d. Tại sao phải quản lý cấu hình?... e. Một số thuật ngữ liên quan

2. SCM để hỗ trợ ngƣời phát triển  CI là gì?


 Cung cấp chức năng và công cụ cho ngƣời phát  Configuration Item - CI: định danh đƣợc sử dụng
triển thực hiện các thay đổi trong QLCH, là tên gọi của các sản phẩm, sản phẩm
trung gian, một file hoặc nhóm file, tài liệu hoặc
 Bao gồm các hoạt động: nhóm tài liệu trong một dự án mà ta cần phải quản
 Quản lý các chức năng khác nhau của phần mềm lý và kiểm soát.
 Xây dựng lại cấu hình trƣớc đó  Nói chung là những “món” đƣợc tạo ra trong một
dự án mà ta cần phải quản lý, ví dụ: một file source
 Ghi nhận vết thay đổi của phần mềm
code, tài liệu về yêu cầu sản phẩm, bản thiết kế v.v.
3. Theo CMM và ISO15504: Trong sản xuất phần mềm, một CI có thể bao gồm
 “Mục đích của SCM là để thiết lập và bảo đảm tính toàn vẹn một hay nhiều file.
của các sản phẩm trung gian cũng như các sản phẩm sau  Ví dụ: một module tên ExpMod có thể đƣợc coi là
cùng của một dự án phần mềm, xuyên suốt chu kỳ sống của một CI, module này có 2 file ExpMod.h và ExpMod.c
dự án đó.” 355

e. Một số thuật ngữ liên quan ... e. Một số thuật ngữ liên quan...
 Phiên bản là gì?  Baseline là gì? - một điểm “mốc” đƣợc thỏa thuận
 Một phiên bản là một thực thể mới của một CI sau bởi những ngƣời liên quan trong một dự án, sao cho
khi đã qua một hoặc nhiều lần xem xét và thay đổi. sau điểm “mốc” này, mọi thay đổi phải đƣợc thông
 Mỗi phiên phản sẽ có một số ID đầy đủ, và đƣợc báo tới tất cả những ngƣời có liên quan.
tăng dần cho mỗi phiên bản mới.  Các loại baseline thƣờng gặp:
 Thuật ngữ:
 Version: một phiên bản phần mềm đã hoàn chỉnh  Tìm hiểu nhu cầu  Chức năng (functional)
 Promotion: một phiên bản chuyển giao cho  Phân tích  Kế hoạch (planning)
ngƣời phát triển.  Thiết kế  Yêu cầu (requirements)
 Release: một phiên bản chuyển giao cho ngƣời  Mã hóa hoặc  Sản phẩm (product)
sử dụng (ngoài nhóm phát triển)  Kiểm thử  Bản phân phối (release)
 Đặt tên cho phiên bản  Chuyển giao  Kiểm tra (test)
 Rõ ràng, không nhập nhằng  Bảo trì, bảo hành  Môi trƣờng hoạt động
 Phƣơng pháp đánh số: 1.0, 2.0, ...
357 358

e. Các công việc thƣờng làm trong SCM f. Bản kế hoạch quản lý cấu hình

 Cập nhật đồng thời: Khi 2 hoặc nhiều LTV làm việc Software Configuration Management Planning – SCMP
cách biệt nhau nhƣng trên cùng một chƣơng trình SCMP bao gồm:
Mục đích, ý nghĩa và phạm vi áp dụng của SCMP
hoặc dự án, những thay đổi mà ngƣời này thực hiện
Vai trò và trách nhiệm của nhóm, cá nhân trong dự án thực
có thể sẽ phá vỡ kết quả làm việc của ngƣời khác. hiện các hoạt động khác nhau liên quan đến SCM. Với mỗi CI
 Chia sẻ source code: Trong các hệ thống lớn, khi của dự án cần xác định rõ:
 Ai thực hiện (perform)?
các chức năng chung bị thay đổi, tất cả những ngƣời
 Ai xem xét (review)?
liên quan phải đƣợc biết và chia sẻ cho nhau.  Ai phê duyệt (approve)?
 Đồng bộ phiên bản (release): Trƣờng hợp một  Chú ý rằng, trong một dự án thƣờng có rất nhiều file
release khách hàng đang dùng, một release khác source code, quy tắc cơ bản là: các file cùng tạo nên một
khối chức năng đƣợc gom chung thành một CI.
đang đƣợc kiểm tra, và một release khác nữa đang
Ví dụ: CI = PRJ015_DATA_1.0 _draft_B cho biết:
trong quá trình phát triển, khi có lỗi xảy ra, việc sửa lỗi
ID của dự án: PRJ0015
phải đồng bộ giữa ba phần này. ID của Item: DATA
359 360
Phiên bản của Item: 1.0, bản nháp thứ 2

60
f. Bản kế hoạch quản lý cấu hình ... 5.2.2 QUẢN LÝ BASELINE
SCMP bao gồm (tiếp):  Quản lý Baseline bao gồm:
Công cụ (tool) đƣợc sử dụng trong SCM  Chọn các CI cho mỗi loại baseline
Môi trƣờng (environment)
Cơ sở hạ tầng (infrastructure).  Tiến hành “cố định” các baseline tại thời điểm
Phƣơng pháp định danh và thiết lập BASELINE sau khi các thay đổi đã đƣợc chấp thuận.
trên các CI  Thông thƣờng, baseline đƣợc tiến hành tại điểm
Quy ƣớc đặt tên trong dự án, gồm cả tên file kết thúc của mỗi giai đoạn hay tại các “mốc” quan
Quy trình xử lý và kiểm soát các thay đổi (change trọng trong dự án.
control process)
 Trong quản lý baseline, vai trò và nhiệm vụ của
Thông tin nơi lƣu trữ các CI
những ngƣời thiết lập hoặc phê chuẩn baseline cũng
Kiểm kê và báo cáo cấu hình
phải đƣợc xác định.
Quy trình thủ tục lƣu trữ và chép dự phòng các CI
361 362

5.2.3 Báo cáo tình trạng cấu hình 5.2.3 Báo cáo tình trạng cấu hình

 Công việc này bao gồm việc ghi nhận và báo cáo Báo cáo này thƣờng làm rõ những điểm sau:
tình trạng của các CI cũng nhƣ yêu cầu thay đổi, tập  Liệt kê tất cả baseline và CI thành phần hoặc có
hợp số liệu thống kê về CI, đặc biệt là các CI góp liên quan
phần tạo nên sản phẩm. Nó trả lời những câu hỏi
 Làm nổi bật các Cl đang đƣợc phát triển hoặc vừa
nhƣ: có bao nhiêu file bị ảnh hƣởng khi sửa chữa một
bị thay đổi
lỗi phần mềm nào đó.
 Liệt kê các thay đổi còn đang dang dở hay đang
 Kết quả của công việc này đƣợc ghi nhận trong
hoàn thành, và các baseline bị ảnh hƣởng (bởi sự
một báo cáo mang tên Configuration Status
thay đổi đó)
Accounting Report (CSAR).
 Việc báo cáo này đƣợc làm thƣờng xuyên và định
kỳ, xuyên suốt dự án.

363 364

5.2.4 Kiểm tra và xem xét (auditing) 5.2.4 Kiểm tra và xem xét (auditing)

Có 3 loại audit thƣờng thƣờng đƣợc thực hiện: b) Physical Configuration Audit (PCA): nhằm mục
a) CSAR Audit: thƣờng đƣợc làm sau mỗi lần một đích khẳng định xem những gì khách hàng yêu
CSAR đƣợc tạo ra, việc kiểm tra bao gồm: cầu có đƣợc hiện thực hay không.

 Bảo đảm các baseline mới nhất đƣợc liệt kê Gồm 2 việc:
trong CSAR  Kiểm tra vết để phản ánh tính 2 chiều
 Bảo đảm tất cả CI tạo nên một baseline đƣợc (traceability) giữa yêu cầu khách hàng và việc
liệt kê hiện thực code trong dự án.

 Kiểm tra các CI đã bị thay đổi từ lần baseline  Xác định những gì sẽ đƣợc phân phối cho
trƣớc đó, so sánh chúng với các yêu cầu thay khách hàng (executable files, source code, tài
đổi để khẳng định rằng sự thay đổi trên CI là liệu đi kèm...) có đáp ứng yêu cầu khách hàng
hợp lý. hay không.
365 366

61
5.2.4 Kiểm tra và xem xét (auditing) 5.2.5 Quản lý Release (Release Management)

c) Functional Configuration Audit (FCA): Nhận xét:


Nhằm mục đích khẳng định những gì khách hàng  Quá trình phát triển một phần mềm thƣờng qua
yêu cầu có đƣợc kiểm tra chặt chẽ trên sản phẩm tạo nhiều lần tích hợp. Kết quả của mỗi lần tích hợp là
ra trƣớc khi giao cho khách hàng hay không. một bản “build”
Bao gồm:  Trong rất nhiều bản “build” đó, một số bản đáp ứng
Kiểm tra vết để phản ánh tính 2 chiều giữa yêu cầu các yêu cầu đã định hoặc lập kế hoạch trƣớc, sẽ
khách hàng và việc kiểm tra sản phẩm. đƣợc gửi cho khách hàng để kiểm tra hoặc đánh giá.
 Các bản build này đƣợc gọi là “release”; công việc
tạo ra và phân phối các bản release đƣợc gọi là
công việc “release”. Theo cách hiểu này, sản phẩm
sau cùng cũng là một bản release, đôi khi đƣợc gọi
367
là “final release”. 368

5.2.5 Quản lý Release (Release Management) 5.2.6 Lƣu trữ và chép dự phòng (Backup & Archive)

Trong quá trình release, việc quản lý đòi hỏi phải thực  Là một hoạt động của QLCH và là một trong
hiện các công việc sau: những hoạt động quan trọng phải có của sản xuất
 Baseline môi trƣờng phát triển sản phẩm và các phần mềm.
file, tài liệu  Nó giúp khắc phục các trƣờng hợp rủi ro bị mất
 Thực hiện báo cáo CSAR mát dữ liệu do thao tác sai, virus, hoặc sự cố phần
cứng/phần mềm.
 Thực hiện các audit: PCA và FCA
 Nó hỗ trợ cho hoạt động version control trong
 Đóng gói file và tài liệu sẽ release trƣờng hợp muốn sử dụng những version khác
 Xác nhận đã nhận bản release từ khách hàng nhau.
 Yêu cầu toàn bộ sản phẩm và sản phẩm trung gian
của dự án phải đƣợc định kỳ chép dự phòng trên
369
những thiết bị một cách an toàn. 370

5.2.6 Lƣu trữ và chép dự phòng (Backup & Archive) 5.2.7 KIỂM SOÁT THAY ĐỔI - (Change Control)
Khi dự án kết thúc, các hoạt động sau cần phải thực Nhận xét:
hiện: Phần mềm thƣờng xuyên thay đổi do yêu cầu của:
 Lƣu trữ toàn bộ dữ liệu của dự án, tuân thủ quy Ngƣời sử dụng/khách hàng/ngƣời phát triển/thị
trình lƣu trữ đã đƣợc thiết lập (định nghĩa bởi dự trƣờng. Do đó, thay đổi phần mềm trong quá trình
án hoặc quy định ở cấp công ty). điều hành dự án là không tránh khỏi.
 Lƣu trữ hoặc huỷ bỏ các tài liệu ở dạng giấy  Thay đổi cái gì?

 Dọn sạch dữ liệu hoặc thông tin của dự án vừa kết  Lịch biểu, phạm vi, chất lƣợng sản phẩm, cấu trúc
thúc, sau khi đã chép lƣu trữ. tổ chức, nhân viên.
Làm sao để kiểm soát các thay đổi này?
 Cần xây dựng một hệ thống quản lí thay đổi để
bao quát những thay đổi có thể xảy ra. Mọi thay đổi
371 cần đƣợc quản lí trên cơ sở tập trung. 372

62
5.2.7 KIỂM SOÁT THAY ĐỔI b. Tiến trình kiểm soát thay đổi

a. Mục đích và ý nghĩa của KSTĐ:


Để kiểm soát đầy đủ tất cả các thay đổi làm ảnh Xác định
hƣởng đến việc phát triển một sản phẩm. đối tƣợng
cần thay đổi Các hoạt động lặp lại
Chỉ một vài yêu cầu thay đổi nhỏ của khách hàng,
tất cả các chặng của quy trình phát triển phần
NQL đƣa ra Ngƣời liên Ngƣời Cơ sở cho
mềm từ thiết kế, viết code, kiểm tra sản phẩm đều yêu cầu cần quan xem Quản lý hoạt động
phải thay đổi theo. thay đổi xét, sửa đổi chấp nhận dự án

Nếu các thay đổi này không đƣợc kiểm soát chặt
chẽ sẽ dẫn đến nhiều sai sót.
Đội dự án Ghi nhật
Ví dụ: 5 lập trình viên cùng làm trong một dự án, đánh giá, đƣa ký yêu cầu
ra đề nghị thay đổi
nhƣng chỉ có 3 đƣợc thông báo về việc thay đổi thiết
kế. Kết quả là khi tích hợp, hệ thống sẽ không vận
hành đƣợc. 373
Giải thích 374

b. Tiến trình kiểm soát thay đổi b. Tiến trình kiểm soát thay đổi ...
1. Xác định đối tƣợng cần thay đổi: xác định các 5. Ghi lại yêu cầu thay đổi: một yêu cầu thay đổi từ
xuất phẩm sẽ là t quản lý thay đổi để những người liên quan/thành viên đội dự án đƣợc ghi vào
ngƣời liên quan thông qua nhật ký, bao gồm: ngày, nguồn và mô tả thay đổi với
2. NQL đƣa ra yêu cầu cần thay đổi: nêu lý do phải một định danh duy nhất.
thay đổi và giải thích sau khi thay đổi sản phẩm 6. Đánh giá yêu cầu và đề nghị: định kỳ, NQL/thành
(sản phẩm trung gian) sẽ nhƣ thế nào? viên dự án đánh giá mọi thay đổi tiềm năng, tác
Các hoạt động lặp lại: động của nó lên chi phí, lịch biểu và chất lƣợng sản
3. Ngƣời liên quan đánh giá về yêu cầu sửa đổi: một phẩm. Viết đề xuất chấp nhận hay bát bỏ thay đổi.
xuất phẩm tạo ra đƣợc những ngƣời liên quan 7. NQL đánh giá/sửa đổi: xem xét đề nghị thay đổi để
khác nhau đánh giá và yêu cầu sửa đổi (nếu cần) quyết định: (1) thay đổi đƣợc chấp nhận; (2) yêu cầu là
4. Chấp nhận chính thức: ngƣời liên quan chính hợp lý nhƣng cần xem xét lại; (3) bát bỏ yêu cầu.
thức chấp nhận sản phẩm, một bản ghi sản phẩm 8. Chấp nhận chính thức: yêu cầu đƣợc chính thức
đã thông qua, ngày thông qua đƣợc tạo ra. 375
chấp nhận và đƣợc ghi vào nhật ký thay đổi.
376

5.2.7 KIỂM SOÁT THAY ĐỔI ... 5.2.7 KIỂM SOÁT THAY ĐỔI ...

Trong kiểm soát thay đổi, ta cũng thƣờng gặp khái Nhiệm vụ của CCB
niệm “nhóm kiểm soát thay đổi” (Change Control
 Bảo đảm tất cả các thay đổi đƣợc các bộ phận liên
Board-CCB), nhóm này đƣợc thành lập trong từng dự
quan nhận biết và tham gia
án và thƣờng bao gồm:
 Ngƣời quản lý cấu hình (Configuration Manager)  Xem xét, phê chuẩn hoặc phủ quyết các thay đổi
trên các baselines
 Trƣởng dự án (Project Manager)
 Kiểm tra, xác nhận các thay đổi
 Trƣởng nhóm (Team Leader)
 Trƣởng nhóm kiểm soát chất lƣợng (Test Leader)  Phê chuẩn các bản phân phối sản phẩm (release)
đến khách hàng
 Kỹ sƣ về chất lƣợng (Quality Engineer)
 Và những ai bị ảnh hƣởng bởi các thay đổi
377 378

63
c. Vai trò của các thành viên trong việc quản lý và c. Vai trò của các thành viên trong việc quản lý và
thay đổi cấu hình thay đổi cấu hình
Trong một dự án điển hình, thông thƣờng có 4 (nhóm) 2. Trƣởng dự án (Project Manager):
chức năng tham gia thực hiện các hoạt động SCM:  Giám sát các hoạt động quản lý cấu hình
1. Ngƣời quản lý cấu hình (Configuration Manager)  Bảo đảm các yêu cầu cần thiết cho hoạt động của
 Thiết lập và bảo trì kho lƣu trữ của dự án. SCM.
 Phát triển và triển khai các quy trình, thủ tục SCM Ví dụ: hỗ trợ thời gian cho thành viên dự án bỏ ra để tham
của dự án. gia nhóm CCB, các công cụ hỗ trợ cho SCM, ...
 Thiết lập các baseline, ghi nhận chi tiết các thay 3. CCB (Change Control Board)
đổi trên các baseline Bao gồm một số thành viên trong dự án, có chức
 Bảo đảm các baseline không bị thay đổi khi chƣa năng nhƣ đã nói ở trên.
đƣợc phê chuẩn. 4. Các thành viên của dự án
 Tổ chức và điều phối các cuộc họp của CCB Các thành viên của dự án, kể cả CM, PM và thành
 Ngƣời quản lý cấu hình không nhất thiết phải là viên CCB, có trách nhiệm:
ngƣời quản lý dự án. • Tuân thủ các quy trình thủ tục của bản SCMP
379
• Tham gia vào nhóm CCB khi có yêu cầu 380

d. Các câu hỏi ... để quản lý cấu hình và KSTĐ KẾT LUẬN

Việc quản lý cấu hình và kiểm soát thay đổi đƣợc gọi Tóm lại, 5 nhiệm vụ quan trọng của quản lý cấu hình
là có hiệu quả nếu nhóm phát triển phần mềm trả lời và kiểm soát thay đổi là:
hoàn chỉnh các câu hỏi sau:
1. Làm thế nào để xác định và quản lý đƣợc nhiều  Xác định cấu hình
versions phần mềm để có thể thay đổi nó một cách  Quản lý cấu hình
hiệu quả?
2. Làm thế nào để kiểm soát đƣợc các thay đổi phần  Kiểm soát thay đổi
mềm sau khi đã phân phát cho khách hàng?  Kiểm soát phiên bản
3. Ai chịu trách nhiệm việc chấp thuận và đặt thứ tự
ƣu tiên các thay đổi này?  Báo cáo thay đổi
4. Làm thế nào để có thể bảo đảm rằng việc thay đổi
đã đƣợc thực hiện đúng?
5. Dùng cơ chế nào để đánh giá các thay đổi khác? 381 382

SINH VIÊN TÌM HIỂU THÊM: 5.3. GIÁM SÁT VIỆC THỰC HIỆN DỰ ÁN

 Hiện có nhiều công cụ trên thị trƣờng hỗ trợ cho 5.3.1 Khái niệm giám sát dự án:
việc kiểm soát phiên bản, một số công cụ thông  GSDA là quá trình kiểm tra, theo dõi dự án về:
dụng là: Visual Source Safe của Microsoft,  Lịch trình (thời gian thực hiện các công việc)
ClearCase của Rational, CVS (nguồn mở).  Chi phí (chênh lệch giữa chi theo thực tế và kếhoạch)
nhằm đánh giá mức độ hoàn thành và đề xuất những
 Sinh viên đọc và hiểu hƣớng dẫn về quản lý cấu biện pháp cần thiết để thực hiện thành công dự án.
hình và kiểm soát thay đổi: ”HD Quan ly cau hinh  GSDA có tác dụng giúp các ngƣời quản lý dự án:
va thay doi” của một công ty phần mềm hƣớng dẫn  Quản lý tiến độ, đảm bảo yêu cầu kế hoạch dự án
cho nhân viên dự án.  Điều chỉnh chi phí trong phạm vi ngân sách đƣợc
duyệt.
 Phát hiện kịp thời những tình huống bất thƣờng
nảy sinh và đề xuất biện pháp giải quyết.
383 384

64
5.3. GIÁM SÁT VIỆC THỰC HIỆN DỰ ÁN ... 5.3.3 Tiến trình giám sát thời gian của dự án
5.3.2 Mục đích của giám sát dự án:
 Biết đƣợc dự án đã đƣợc thực hiện đến đâu so với Lập lại kế Chỉnh sửa
kế hoạch hoạch kế hoạch

 Có khả năng vƣợt kinh phí không? Thông No


tin mới
 Bàn giao sản phẩm đúng hạn không? Cập nhật So sánh
thông tin tiến độ với Thỏa Yes

 ...? để có những điều chỉnh cần thiết dự án kế hoạch mãn

 Mỗi công việc trong kế hoạch dự án là một đơn vị


có thể đo đƣợc về:
 Thời gian: điểm bắt đầu, điểm kết thúc
 Chi phí: tổng số chi phí, nguồn lực để thực hiện
công việc 385 386

5.3.4. GIÁM SÁT DỰ ÁN THEO PHƢƠNG PHÁP (0-50-100) 5.3.5. GIÁM SÁT DỰ ÁN THEO BIỂU ĐỒ

Sử dụng phương pháp đèn giao thông (0-50-100 Rule) Sử dụng một số công cụ để:
để đánh giá mức độ hoàn thành các công việc: Hiển thị tiến trình
Xác định định danh các công việc (các CI) Trình bày dữ liệu một cách dễ hiểu
Chia chúng thành các thành phần nhỏ Giúp xác định dễ dàng các hoạt động/các vùng
Đánh giá mỗi thành phần bằng cách gán: quan tâm
đèn xanh: nếu đạt hoặc vƣợt kế hoạch Các kỹ thuật hiển thị:
đèn vàng: chƣa đạt kế hoạch, có thể hoàn thành Sử dụng biểu đồ Gantt: hình ảnh tĩnh chỉ ra tiến
đèn đỏ: không đạt kế hoạch, gặp khó khăn trình của dự án

Tiến hành tính khối lƣợng mỗi thành phần để ƣớc Sử dụng biểu đồ dây xích
lƣợng và xác định % hoàn thành của nó. Sau đó xác
định % hoàn thành của dự án 387 388

5.3.6. GIÁM SÁT THỜI GIAN DỰ ÁN THEO BIỂU ĐỒ 5.3.6. GIÁM SÁT THỜI GIAN DỰ ÁN THEO BIỂU ĐỒ

Sử dụng biểu đồ Gantt để biểu thị mức độ hoàn Sử dụng biểu đồ dây xích để biểu thị mức độ
thành công việc hoàn thành công việc
Biểu đồ dây xích

389 390

65
5.4 ĐO MỨC ĐỘ HOÀN THÀNH DỰ ÁN 5.4.1 Đo chi phí dự án bằng phƣơng pháp lập bảng

Nhận xét: Biểu diễn các loại chi phí cho mỗi gói công việc
Khi so sánh chi phí theo thực tế và chi phí theo kế
hoạch để thực hiện một số công việc nào đó thì chƣa
đủ cơ sở để kết luận dự án (vƣợt/không vƣợt) về kinh
phí.
Để đo mức độ hoàn thành dự án ở mỗi thời điểm,
thông thƣờng ngƣời ta phân tích các giá trị theo thực
tế và giá trị theo kế hoạch của các công việc.
Ví dụ, các trƣờng hợp sau có thể xảy ra:
 on schedule and on budget Nhận xét:
 on schedule and over budget  Khó hình dung
 on schedule and under budget  Không đánh giá đƣợc tiến độ của toàn dự án
391 392
 ...

5.4.2 Đo chi phí dự án bằng cách dùng đồ thị 5.4.3 Đo chi phí dự án bằng cách dùng mặt phẳng tọa độ
Đồ thị theo dõi chi phí thực tế so với kế hoạch

DƣớI hạn mức


Ngân sách

Chi phí theo


kế hoạch

Chi phí theo


thực tế Sau Trƣớc
lịch biểu lịch biểu

Vƣợt
Ngân sách
Nhận xét:Trong ba tháng đầu tiên, dự án đã chi tiền nhanh hơn so
với kế hoạch, nhƣng chƣa thể kết luận dự án sẽ vƣợt ngân sách. 393
Biểu đồ theo dõi sai số chi phí và lịch biểu 394

5.4.4 Đo chi phí dự án trên cơ sở các giá trị thu đƣợc 5.4.4 Đo chi phí dự án trên cơ sở các giá trị thu đƣợc
Các chữ viết tắt và ý nghĩa: CPI (Cost Performance Index): chỉ số hiệu suất về
BCWP (Budgeted Cost of Work Performed): chi phí chi phí. CPI=BCWP/ACWP
theo kế hoạch của các công việc đã thực hiện.  Nếu CPI>1.0: chi phí thực hiện dƣới hạn mức
ACWP (Actual Cost of Work Performed): chi phí  Nếu CPI<1.0: chi phí thực hiện vƣợt ngân sách
theo thực tế của các công việc đã thực hiện. BAC (Budget At Completion): chi phí kế hoạch của
CV (Cost Variance): sai số giữa chi phí thực tế và kế toàn dự án.
hoạch của các công việc đã thực hiện. EAC (Estimate At Completion): ƣớc lƣợng lại tổng
CV = BCWP − ACWP ngân sách của dự án trên cơ sở của các công việc đã
CV%=CV/BCWP: phần trăm sai số chi phí thực hiện đến thời điểm đƣợc xét. (do ngân sách gốc
bị tăng lên bởi ACWP).
Nếu CV%>0: chi phí thực hiện dƣới hạn mức
Nếu CV%<0: chi phí vƣợt ngân sách 395 396

66
5.4.4 Đo chi phí dự án trên cơ sở các giá trị thu đƣợc 5.4.5 Xác định độ lệch của lịch biểu dự án
ETC (Estimate To Complete): Ngân sách cần thiết Các chữ viết tắt và ý nghĩa:
để hoàn thành dự án sau khi đã chi tiêu thực tế (tính ở BCWS (Budgeted Cost of Work Scheduled): chi phí dự
thời điểm đang xét) kiến của các công việc đã lên lịch (tính đến ngày xem xét)
ETC = EAC − ACWP SV (Schedule Variance): sai số giữa giá trị công việc
theo kế hoạch phải hoàn thành và giá trị công việc đã
VAC (Variance At Completion): sai số ƣớc lƣợng hoàn thành theo thực tế.
giữa ngân sách và thực tế của toàn dự án SV = BCWP − BCWS
VAC = BAC − EAC SV%=CV/BCWS: phần trăm sai số chi phí
Nếu SV%>0: nhiều công việc đã hoàn thành trƣớc kế
hoạch
Nếu SV%<0: nhiều công việc đã không hoàn thành
397 theo kế hoạch 398

5.4.4 Đo chi phí dự án trên cơ sở các giá trị thu đƣợc Ví dụ minh họa

Ví dụ: Xét số liệu dƣới đây của một dự án đang thực


hiện:

Hãy ƣớc lƣợng lại chi phí toàn bộ dự án trên cơ sở của


các công việc đã thực hiện (tính đến thời điểm đang
xét). Nghĩa là phải tính EAC (Estimate At Completion):
399 400

5.4.5 Xác định độ lệch của lịch biểu dự án Ví dụ minh họa

Phân tích ví dụ:


 SV%=CV/BCWS: phần trăm sai số chi phí
 SV%<0: nhiều công việc không hoàn thành theo
kế hoạch
CV (Cost Variance): sai số giữa chi phí thực tế và kế Độ lệch của lịch biểu

hoạch của các công việc đã thực hiện. Độ lệch của chi phí

 CV%=CV/BCWP: phần trăm sai số chi phí


 CV%>0: chi phí thực hiện dƣới hạn mức
 EAC =760.
Nghĩa là, ƣớc lƣợng lại chi phí toàn bộ dự án trên cơ sở của
các công việc đã thực hiện đến thời điểm đƣợc xét là 760 chứ401 402
không phải nhƣ ban đầu theo kế hoạch là 800. Dự án dưới ngân sách và chậm tiến độ

67
5.5. XÁC SUẤT THỜI GIAN HOÀN THÀNH DỰ ÁN 5.5.1 Nhắc lại một số kiến thức cơ bản về xác suất và thống kê

THỐNG KÊ MÔ TẢ
XÁC SUẤT THỜI GIAN
HOÀN THÀNH DỰ ÁN

Phân phối chuẩn (Normal distribution) Phân phối chuẩn (Normal distribution)

a) Hai tham số quan trọng trong một phân phối là giá Một số kết quả:
trị trung bình µ và phƣơng sai σ2 (hoặc độ lệch
chuẩn σ) và thƣờng biểu thị bằng X ~ N(µ, σ2).
b) Hàm mật độ phân phối chuẩn (Normal density
probability function) có dạng tổng quát:

a) Đặt thì

5.5.1 Nhắc lại một số kiến thức cơ bản về xác suất và thống kê

 Thời gian thực hiện một công việc i là một đại


lƣợng ngẫu nhiên nên chúng ta có thể xác định
Phƣơng sai (variance) của một công việc i, ký hiệu
𝑆 2 𝑒𝑖 , phản ánh độ biến động về thời gian thực hiện
dự tính của công việc i.
 Công thức tính phƣơng sai của công việc i:
𝑡𝑝 −𝑡𝑜 2  to: Thời gian lạc quan (Optimistic)
𝑆 2 𝑒𝑖 =( )  tp: Thời gian bi quan (Pessimistic)
6

 Độ lệch chuẩn của công việc i:


𝑡𝑝 −𝑡𝑜
𝑆𝑒𝑖 = 𝑆 2 𝑒𝑖 = 6

408

68
5.5.1 Nhắc lại một số kiến thức cơ bản về XSTK Chúng ta sẽ giải quyết các vấn đề sau:

 Thời gian ƣớc lƣợng te của công việc e đƣợc tính a) Xác định khả năng (xác suất) hoàn thành dự án
𝑡𝑜 +4𝑡𝑚 +𝑡𝑝
theo PERT te = . Trong đó: b) Phƣơng sai và độ lệch chuẩn thời gian thực hiện
6
dự tính của một công việc
 to: Thời gian lạc quan: O (Optimistic)
 tm: Thời gian bình thƣờng: M (Most Likely) c) Phƣơng sai và độ lệch chuẩn thời gian thực hiện
 tp: Thời gian bi quan: P (Pessimistic) dự tính của một tiến trình (một dãy các công việc)
 Hàm mật độ xác suất d) Tính xác suất hoàn thành dự án trƣớc, đúng hoặc
sau thời hạn quy định

e) Xác định thời gian hoàn thành dự án khi cho trƣớc


một giá trị xác suất.
409 410

5.5.2. Tính xác suất thời gian hoàn thành dự án Vẽ mạng công việc CPM ta đƣợc:

Xét một dự án có bảng công việc nhƣ sau: Độ dài đƣờng Gantt tdg là tiến
trình dài nhất:
(O) (M) (P) tdg = 5+6+14+4+2=31
Phƣơng sai của đƣờng Gantt:
2 2
𝑆𝑑𝑔 = 𝑆𝑒𝑖 =1.78+1+4+1+0.11=7.89

10/11

3
0/0 5/5 11/11
A(5) D(14) F(4) H(2)
1 2 5 7 8 9
tdp=0 tdp=0 tdp=0 tdp=0
25/25
29/29 31/31
𝑡𝑝 −𝑡𝑜 2
Trong đó, variance đƣợc xác định bởi 𝑆 2 𝑒𝑖 =( ) 4 G(9)
6 411
11/11

5.5.2. Tính xác suất thời gian hoàn thành dự án 5.5.2. Tính xác suất thời gian hoàn thành dự án
 Tính xác suất để dự án hoàn thành trong thời gian X bé hơn
Độ dài đƣờng Gantt tdg = 31 34 ngày.
Độ lệch chuẩn: 𝑺𝒅𝒈 = 7.89 = 2.8 ngày 𝑋−𝑡𝑑𝑔 34−31
Tính giá trị Z: Z = = = 1.07 . Trong đó:
𝑆𝑑𝑔 2.8
 X=34: ngày tới hạn (Due Date)
 tdg=31: thời gian dự kiến hoàn tất dự án (độ dài đƣờng Gantt)
 Sdg=2.8: độ lệch chuẩn của thời gian dự kiến hoàn tất dự án
 Để tính xác suất hoàn thành dự án trong thời gian X<34 ngày
ta sử dụng hàm NORM.S.DIST(Z,1) trong Excel

413

69
5.5.3 Phƣơng sai và độ lệch chuẩn về thời gian thực hiện
dự tính của một tiến trình 5.5.4 Quy trình tính XS thời gian hoàn thành dự án
 Định nghĩa: Phƣơng sai về thời gian thực hiện dự Chú ý:
tính của một tiến trình p, ký hiệu 𝑆𝑝2 , bằng tổng  Để có căn cứ ra quyết định huy động các nguồn
phƣơng sai thời gian thực hiện dự tính của các lực, nhằm hoàn thành dự án một cách hợp lý,
công việc nằm trên tiến trình đó. chúng ta phải tính xác suất thời gian hoàn thành
 Nhƣ vậy, nếu dg là các công việc Gantt thì: dự án.
 Công thức tính phƣơng sai của đƣờng Gantt là:  Thời gian hoàn thành dự án dự tính, có thể xảy ra
2 𝑛 2 3 khả năng, đó là:
𝑆𝑑𝑔 = 𝑖=1 𝑆𝑒𝑖 n: số các công việc Gantt a) trƣớc hạn (under time)
 Độ lệch chuẩn của các công việc Gantt: b) đúng hạn (on time)
c) quá hạn (over time)
2 𝑛 2
𝑆𝑑𝑔 = 𝑆𝑑𝑔 = 𝑖=1 𝑆𝑒𝑖

415 416

5.5.4 Quy trình tính XS thời gian hoàn thành dự án 5.5.4 Quy trình tính XS thời gian hoàn thành dự án

 Bước 1: Vẽ mạng công việc CPM  Bước 4: Tính phƣơng sai (𝑺𝟐𝒅𝒈 ) và độ lệch chuẩn
 Bước2: Xác định đƣờng Gantt và độ dài tdg của nó (𝑺𝒅𝒈 ) của đƣờng Gantt
2
 Bước 3: Xác định thời gian mong muốn hoàn thành 𝑆𝑑𝑔 = 𝑆𝑑𝑔
dự án (ký hiệu X). Thời gian này có thể xảy ra trƣớc
hoặc sau hay đúng bằng thời gian dự tính của đƣờng  Bước 5: Tính hệ số phân bố xác suất GAUSS:
Gantt. Nhƣ vậy các khả năng có thể xảy ra: 𝑋−𝑡𝑑𝑔
Z= 𝑆𝑑𝑔
Trong đó:
(1) X<tdg : Dự án hoàn thành trƣớc thời hạn dự tính
Z: Hệ số phân bố xác suất GAUSS
(2) X=tdg : Dự án hoàn thành đúng thời hạn dự tính X: Thời gian mong muốn hoàn thành dự án
tdg: Độ dài đƣờng Gantt = thời gian thực hiện dự án
(3) X>tdg : Dự án hoàn thành sau thời hạn dự tính
Sdg: Độ lệch chuẩn về thời gian của đƣờng Gantt
 Chú ý: Để tính xác suất hoàn thành dự án trong thời gian X có thể tra
bảng xác xuất Gauss hoặc sử dụng hàm NORM.S.DIST(Z,1) trong Excel.
417

5.5.4 Quy trình tính XS thời gian hoàn thành dự án 5.6. KỸ THUẬT RÖT NGẮN TIẾN ĐỘ DỰ ÁN (SV tự đọc, tự học)

Nhận xét: 5.6.1 Giới thiệu


Phần trên cho trƣớc thời hạn X, từ đó tính đƣợc Mục đích: cần giải quyết vấn đề trễ tiến độ dự án
giá trị của Z, cuối cùng tra bảng và đƣợc xác suất hoặc kết thúc trƣớc thời hạn dự án theo yêu cầu
P tƣơng ứng với thời hạn X. Đây là bài toán xuôi nhƣng không thay đổi phạm vi dự án
Bài toán ngƣợc lại là: cho trƣớc một xác suất P ta Giải pháp:
có thể tìm đƣợc xác suất hoàn thành dự án  Thực hiện song song một số công việc để rút
trƣớc/đúng/sau thời gian X tƣơng ứng với P hay ngắn công việc Gantt
không?.  Đặt áp lực lên nhân viên
 Tăng tài nguyên:
 Tăng giờ làm việc của đội dự án
are you tired? ...  Thêm ngƣời (ngƣời phân tích để phỏng vấn ngƣời NSD)
 Sử dụng ngƣời có chuyên môn cao để thực hiện các
hoạt động Gantt
419 420

70
5.6. RÚT NGẮN TIẾN ĐỘ DỰ ÁN 5.6. RÚT NGẮN TIẾN ĐỘ DỰ ÁN

 Sắp xếp lại các hoạt động (các công việc)


 Bỏ đi hoặc xây dựng lại “mối quan hệ trước sau” giữa
các công việc, nếu có thể
 Phân rã một công việc thành nhiều công việc nhỏ
hơn để tạo ra khả năng thực hiện song song
c. Kỹ thuật rút ngắn tiến độ:
Có hai kỹ thuật để rút ngắn tiến độ hay đẩy nhanh
tiến độ nhằm bắt kịp với thời hạn mà vẫn đảm
bảo đƣợc phạm vi dự án:
 Fast-Tracking
 Crashing

421

5.6.2 KỸ THUẬT FAST-TRACKING 5.6.3 KỸ THUẬT CRASHING

 Fast-Tracking là kỹ thuật rút ngắn tiến độ bằng  Crashing là kỹ thuật rút ngắn tiến độ nhằm rút
cách thực hiện các hoạt động song song, chồng ngắn thời gian thực hiện của các công việc bằng
lặp với nhau (một phần hoặc toàn bộ) để tiết cách thêm vào nguồn lực bổ sung (nhân lực/vật
kiệm thời gian. lực)
 Các hoạt động đƣợc thực hiện song song nên
 Crashing sẽ làm tăng chi phí dự án vì nguồn lực
cần phân tích kỹ tính chất các công việc, để
bổ sung có thể thêm từ việc:
đảm bảo mối quan hệ chặt chẽ và cả hai có thể
hoạt động đồng thời cùng lúc với nhau (có thể  Làm thêm giờ/Tăng ca
một phần hoặc toàn bộ)  Thêm nhân lực
 Thông thƣờng kỹ thuật Fast-Tracking không cần  Thuê/Hợp đồng bên ngoài
thêm nguồn lực bổ sung khác
 Fast-Tracking có thể tạo ra thêm rủi ro nhƣ
không đảm bảo khả năng cung ứng nguồn lực 423 424

5.6.3 KỸ THUẬT CRASHING 5.6.3 KỸ THUẬT CRASHING


 Chú ý: Thuật toán rút ngắn thời gian hoàn thành hoàn thành dự án
 Fast-Tracking đƣợc ƣa tiên lựa chọn hơn Crashing vì Bƣớc 1: Tìm đƣờng Gantt và xác định các công việc Gantt
Fast-Tracking không liên quan đến tài nguyên cũng nhƣ Bƣớc 2: Tính toán chi phí rút ngắn cho một đơn vị thời gian
chi phí bổ sung, ảnh hƣởng đến hiệu suất ngân sách của của tất cả các công việc trong mạng với giả thiết chi phí rút
dự án. ngắn là tuyến tính.
 Crashing có thể dẫn đến rủi ro, tạo ra lỗi hay phải làm lại. Bƣớc 3: Chọn công việc Gantt có chi phí rút ngắn nhỏ nhất.
 Cả hai kỹ thuật trên đều phải áp dụng cho các công việc Rút ngắn thời gian thực hiện công việc này để dự án hoàn
nằm trên đƣờng Gantt để có thể rút ngắn thời gian dự án. thành đúng thời hạn yêu cầu hay có lợi nhất về mặt kinh phí.
Nếu áp dụng cho các công việc không Gantt, thì chỉ làm Bƣớc 4: Kiểm tra đƣờng Gantt đƣợc thực hiện rút ngắn có
tăng độ trễ mà không thể rút ngắn thời hạn dự án. còn là đƣờng có chiều dài lớn nhất không. Nếu chƣa xuất
 Ngƣời quản lý dự án cần quyết định sử dụng kỹ thuật nào hiện đƣờng Gantt mới, tiếp tục thực hiện bƣớc 3. Nếu xuất
hiện đƣờng Gantt mới thì xác định tất cả các đƣờng Gantt
chi phí thấp nhất và mang lại hiệu quả cao nhất.
trên mạng và trở lại bƣớc 3.
426

71
Bƣớc 1: Tìm đƣờng Gantt và xác định
VÍ DỤ VỀ CRASHING các công việc Gantt.
Một công ty phần mềm cần thực hiện một dự án với bảng Đƣờng Gantt: A – C – E – G – H
công việc đƣợc cho dƣới đây: Độ dài đƣờng Gantt = 2+2+4+5+2=15
1. Vẽ mạng công việc CPM và xác định thời gian ƣớc lƣợng
của dự án.
2. Sử dụng kỹ thuật Crashing để rút ngắn tiến độ dự án với 7

chi phí tăng lên là nhỏ nhất.


Công việc Công việc trƣớc Thời gian C(2) E(4) G(5) H(2)
2 4 6 8 9
A None 2
B None 3
C A 2 1
D B 4
D(4)
E C 4 3 5

F C 3
G D,E 5 Chú ý: Nguyên tắc rút ngắn thời gian là rút ngắn công việc trên
H F,G 2
đƣờng Gantt
427 428

Bƣớc 2: Tính toán chi phí rút ngắn cho một đơn vị thời gian của Bƣớc 2: Tính toán chi phí rút ngắn cho một đơn vị thời gian của
tất cả các công việc trong mạng với giả thiết chi phí rút ngắn là tất cả các công việc trong mạng với giả thiết chi phí rút ngắn là
tuyến tính. tuyến tính.
Công việc Công việc đi Thời gian (tuần) Chi phí ($)
trƣớc
B.thƣờng Rút ngắn B.thƣờng Rút ngắn
A None 2 1 22000 23000
B None 3 1 30000 34000
C A 2 1 26000 27000
D B 4 3 48000 49000
E C 4 2 56000 58000
F C 3 2 30000 30500
G D,E 5 2 80000 86000
H F,G 2 1 16000 19000
308000

429 430

Bƣớc 3: Chọn công việc Gantt có chi phí rút ngắn nhỏ nhất. Rút
Nhƣ vậy:
ngắn thời gian thực hiện công việc này để dự án hoàn thành đúng
thời hạn yêu cầu và có lợi nhất về mặt kinh phí.
Công Công Thời gian (tuần) Chi phí ($) Chi phí Thời gian
việc việc đi rút đƣợc
B.thƣờng Rút ngắn B.thƣờng Rút ngắn
trƣớc ngắn phép rút
đơn vị ngắn
7 A None 2 1 22000 23000 1000 1
B None 3 1 30000 34000 2000 2

C(2) E(4) G(5) H(2)


C A 2 1 26000 27000 1000 1
2 4 6 8 9
D B 4 3 48000 49000 1000 1
E C 4 2 56000 58000 1000 2
1 F C 3 2 30000 30500 500 1
D(4) G D,E 5 2 80000 86000 2000 3
3 5
H F,G 2 1 16000 19000 3000 1
Đƣờng Gantt của dự án là: A,C,E,G,H. 308000
Thời gian hoàn thành dự án là: 15 tuần
Chi phí hoàn thành dự án là: 309.000 USD 431
Chú ý: CV Gantt có màu vàng; chi phí rút ngắn CV Gantt có đơn vị nhỏ nhất là 1000

72
Tiếp tục phân tích, có 2 phƣơng án rút ngắn tiếp theo:
VÍ DỤ VỀ CRASHING
a) Phƣơng án 1: Rút G(5) xuống 1 tuần thành G(4)
b) Phƣơng án 2: Rút D(4) xuống 1 tuần và C(2) (hoặc E(4))
xuống 1 tuần

C(2) E(4) G(5) H(2)


2 4 6 8 9 7

1 C(2) E(4) G(5) H(2)


2 4 6 8 9
D(4)
3 5

1
Ta chọn Phƣơng án 1
Đƣờng Gantt của dự án là: A,C,E,G,H và B,D,G,H. đơn giãn hơn
Thời gian hoàn thành dự án là: 14 tuần 433 3
D(4)
5 434
Chi phí hoàn thành dự án là: 308.000$+1.000$=309.000$

Tiếp tục rút ngắn G(5) thành G(4) thì:


BẢNG TỔNG KẾT CÁC PHƢƠNG ÁN VỀ CRASHING
-Đƣờng Gantt dự án là: A,C,E,G,H và B,D,G,H
Thời gian hoàn thành dự án là: 13 tuần Tiếp tục thực hiện việc rút ngắn thời gian tƣơng tự ta có
Chi phí hoàn thành dự án là: 309.000$ + 2.000$ = 311.000$ kết quả sau:

C(2) E(4) G(4) H(2)


2 4 6 8 9

D(4)
3 5
435 436

BẢNG TỔNG KẾT CÁC PHƢƠNG ÁN VỀ CRASHING 5.7. NHỮNG TIÊU CHÍ CỦA MỘT DỰ ÁN THÀNH CÔNG

5.7.1 Tiêu chí quản lý dự án:


 Hoàn thành đúng thời hạn
 Chi phí nằm trong dự toán ban đầu.
 Sản phẩm đạt yêu cầu về chất lƣợng
 Đáp ứng mục tiêu thƣơng mại về doanh thu và lợi
nhuận
5.7.2 Tiêu chí về sản phẩm:
 Đáp ứng đƣợc mọi yêu cầu của ngƣời dùng cuối
 Có rất ít thay đổi hoặc có đƣợc sự nhất trí cho các
thay đổi về phạm vi công việc.
 Không gây ra các sự kiện bất lợi lớn cho công ty
chủ quản của nhóm thực hiện dự án.
437  Sự hài lòng của khách hàng 438

73
5.7. NHỮNG TIÊU CHÍ CỦA MỘT DỰ ÁN THÀNH CÔNG 5.8. KẾT THÖC DỰ ÁN

5.7.3 Những yếu tố dùng để đo mức độ thành công 5.8.1 Điều kiện kết thúc dự án
 Lợi ích của ngƣời thừa hƣởng dự án  Đã hoàn thành các yêu cầu của dự án
 Thời gian/Lịch trình để cung cấp các đầu ra của
dự án  Chƣa hoàn thành các yêu cầu nhƣng có các yếu tố
 Chi phí sau:
 Phạm vi công việc Kinh phí hết, không đƣợc cấp thêm
 Chất lƣợng sản phẩm và
Thời gian hết, không cho phép gia hạn
chất lƣợng của quá trình
 Rủi ro có thể xảy ra BQL và nhà tài trợ quyết định dừng dự án
Những lý do đặc biệt khác

440

5.8. KẾT THÖC DỰ ÁN 5.8. KẾT THÚC DỰ ÁN

Trƣớc khi kết thúc dự án, cần làm 1 số công việc 5.8.2 Đóng gói dự án
dƣới đây: Đánh giá mỗi thành viên và kiến nghị lợi ích
 Thống kê lại các số liệu về chi phí, thời gian thực Hoàn thiện tài liệu, chứng từ, dữ liệu
hiện, chất lƣợng công việc, chất lƣợng sản phẩm. Cảm ơn những ngƣời tham gia, giúp đỡ
Xử lý vấn đề tổ chức, nguồn lực liên quan
 So sánh giữa kế hoạch và thực tế
5.8.3 Tổng kết dự án
 Tìm nguyên nhân (kể cả trong trƣờng hợp mọi sự Xác định mặt mạnh/yếu của sản phẩm
là hoàn hảo) Mức độ hài lòng của khách hàng
Cái đƣợc/chƣa đƣợc về quản lý
Bài học kinh nghiệm, bàn giao

441 442

5.8. KẾT THÚC DỰ ÁN 5.8. KẾT THÖC DỰ ÁN

5.8.4. Thanh lý hợp đồng đối với khách và các đối 5.8.6 Một số việc cần làm trƣớc khi kết thúc dự án:
tƣợng khác  Giảm bớt ngƣời, phân công lại công việc
5.8.5. Lƣu trữ và chép dự phòng (Backup & Archive)  Xác nhận và công bố những cá nhân/đơn vị đã làm
Khi dự án kết thúc, phải thực hiện: tốt (động viên tinh thần)
 Lƣu trữ toàn bộ dữ liệu của dự án, tuân thủ quy  Lấy ý kiến/xác nhận từ phía khách hàng (một cách
trình lƣu trữ đã đƣợc thiết lập. để ngƣời quản lý dự án tự bảo vệ mình)
 Lƣu trữ hoặc huỷ bỏ các tài liệu ở dạng giấy.
 Dọn sạch dữ liệu hoặc thông tin của dự án vừa
kết thúc, sau khi đã chép lƣu trữ.

443 444

74
5.8.7 ĐỀ CƢƠNG TỔNG KẾT DỰ ÁN 5.8.7 ĐỀ CƢƠNG TỔNG KẾT DỰ ÁN

1. Giới thiệu chung về dự án Các nguồn tài liệu tham khảo để viết tài liệu tổng kết:
1.1. Mục đích  Yêu cầu kiểm soát thay đổi
1.2. Phạm vi
2. Tình hình/hiện trạng trƣớc khi thực hiện dự án  Bản ghi chi phí
3. Tóm tắt nội dung công việc của dự án đã thực hiện  Phỏng vấn với các thành viên tổ, Ban lãnh đạo và
4. Những điểm đã đạt đƣợc/thành công khách hàng
4.1 Các thành công  Biên bản các cuộc họp
4.2 Thảo luận từng bài học thành công
5. Những cái chƣa đạt đƣợc/thất bại  Phác thảo dự án và những sửa đổi
5.1 Thảo luận về từng vấn đề  Lịch biểu thời gian
5.2 Cách khắc phục, rút kinh nghiệm
 Tài liệu thống kê
6. Cơ hội cho công việc trong tƣơng lai 446

Chƣơng 2 Chƣơng 3
Chƣơng 4 Chƣơng 5 ... any questions?
XÁC ĐỊNH LẬP KẾ HOẠCH ĐIỀU HÀNH
• Bản công bố dự án • Lịch biểu • Truyền thông
• Đưa ra ng. tài trợ • Ƣớc lƣợng • Quản lý cấu hình
• Bản đề xuất dự án • Ngân sách
• Xđịnh ng.liên quan • Lập lịch chi tiết • Đo tiến trình
• Ma trận tr.nhiêm • KH nguồn lực
• Lập dự án cơ sở • Quản trị rủi ro • Điều chỉnh
• KH truyền thông • Bản rủi ro
• Đóng dự án

Phản hồi, thay đổi, điều chỉnh

VÕNG ĐỜI CỦA QUẢN LÝ DỰ ÁN

HẾT CHƢƠNG 5
ĐIỀU HÀNH VÀ GIÁM SÁT DỰ ÁN

449

75

You might also like