Professional Documents
Culture Documents
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
[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
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
3
QUẢN TRỊ DỰ ÁN là gì? QUẢN TRỊ DỰ ÁN?
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.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
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
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
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
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
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
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
62
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
– 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
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
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
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
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
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%)
15
3. Đề xuất giải pháp 4. Các tiêu chí lựa chọn phƣơng án dự án
91 92
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
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 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
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
18
CHƢƠNG 3 LẬP KẾ HOẠCH DỰ ÁN 3.1 KHÁI NIỆM VỀ KẾ HOẠCH DỰ ÁN
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 ...
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
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
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)
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
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
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
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
Ư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 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 ...
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 ...
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 ...
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 ...
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
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
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
Đơ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
196
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
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
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 ...
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.
217 218
37
VÍ DỤ: CHO BẢNG PHÂN RÃ CÔNG VIỆC VÍ DỤ (tt)
223 224
3.10.1 PHƢƠNG PHÁP ĐƢỜNG GANTT ... NỘI DUNG THẢO LUẬN CỦA CÁC NHÓM
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
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
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
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(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
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
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
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
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
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
CHƢƠNG 4 WHERE?
Chƣơng 4 Chƣơng 5
QUẢN TRỊ RỦI RO Chƣơng 2 Chƣơng 3
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
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
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
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 ...
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
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 ...
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
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
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
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)
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
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
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
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
hoạch của các công việc đã thực hiện. Độ lệch của chi phí
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ê
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
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)
70
5.6. RÚT NGẮN TIẾN ĐỘ DỰ ÁN 5.6. RÚT NGẮN TIẾN ĐỘ DỰ ÁN
421
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
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
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
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
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$
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
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
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.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
HẾT CHƢƠNG 5
ĐIỀU HÀNH VÀ GIÁM SÁT DỰ ÁN
449
75