— Khởi động hoạt động theo lịch trình— Theo dõi việc thực hiện — Ước lượng lại các tham số dự án — Cập nhật tiến trình — Thoả thuận lại về các hạn chế và xuất phẩm — Nếu có vấn đề: xem l
Trang 1Chương 7 Quản lý dự án
Vai trò, mục tiêu quản lý dự án
— Vấn đề thường xảy ra với dự án
—Không hoàn thành đúng hạn
— Xây dựng vượt quá dự toán
— Chất lượng không đảm bảo
— Các yếu tố quản lý
—Thời gian: đúng thời hạn
— Chi phí: không vượt dự toán
— Sản phẩm: đầy đủ các chức năng đã định
— Thỏa mãn yêu cầu của khách hàng
Quản lý dự án – vai trò
Bộ ba ràng buộc
—Mọi dự án bị ràng buộc theo nhiều cách, do:
—Các mục tiêu về phạm vi: dự án tìm cách đạt được
cái gì?
—Các mục tiêu về thời gian: dự án mất bao lâu để
hoàn tất?
—Các mục tiêu về chí phí: sẽ tốn kém bao nhiêu?
—Nhiệm vụ của người quản lý dự án là cân đối các mục
tiêu thường xung đột nầy
Quản lý dự án – trách nhiệm Trách nhiệm của người quản lý
—Quản lý thời gian
—Quản lý tài nguyên
—Quản lý sản phẩm
—Quản lý rủi ro
—Tổ chức cách làm việc
Trang 2—Giám sát, cân đối kế hoạch, lịch trình
—Quản lý: rủi ro, thay đổi, cấu hình
—Viết báo cáo dự án
Xác định dự án
Xác định dự án
—Mục tiêu, ý nghĩa
— Hình thành dự án: hiểu dự án, đấu thầu,
— Cơ sở để lập kế hoạch, phát triển
—Chuẩn bị viết đề án
—Xác định bài toán
— Thu thập, nghiên cứu tài liệu nghiệp vụ
— Xác định nguồn lực sơ bộ của dự án
— Các điểm mốc thời gian quan trọng
— Kinh phí: phân theo giai đoạn
— Lựa chọn công nghệ phát triển
— Phần hiệu chỉnh/điểu chỉnh
Trang 3Lập kế hoạch dự án
—Là hoạt động tốn nhiều thời gian nhất Nó liệt kê các hành
động từ pha khởi tạo cho đến khi đưa ra được hệ thống Kế
hoạch phải được theo dõi thường xuyên, nhất là khi có
những thông tin hoặc những yêu cầu mới xuất hiện
—Trong quá trình thực hiện, có nhiều loại kế hoạch được xây
dựng để hỗ trợ cho kế hoạch chính của dự án như:
Trang 4— Khởi động hoạt động theo lịch trình
— Theo dõi việc thực hiện
— Ước lượng lại các tham số dự án
— Cập nhật tiến trình
— Thoả thuận lại về các hạn chế và xuất phẩm
— Nếu có vấn đề: xem lại kỹ thuật và phiên bản
— Các yêu cầu về nguồn lực
—Phân đoạn công việc
— Là cơ sở để ước lượng chi phí, kinh phí dự án
— Cơ sở để xác định nhiệm vụ giữa các cá nhân
— Cơ sở để xây dựng lịch trình dự án
Trang 5Lập kế hoạch dự án
— Các bước xây dựng
— Bước 1: Viết ra sản phẩm chung nhất
— Bước 2: Tạo danh sách sản phẩm
— Bước 3: Tạo lập danh sách công việc, mô tả công
việc ở dưới mỗi sản phẩm mức thấp nhấtv
—Bước 4: Đánh mã cho mỗi ô của bảng công việc
— Bước 5: Xét duyệt lại bảng công việc
Lập kế hoạch dự án
— Ví dụ: bảng công việc cho dự án phần mềm,
Lập kế hoạch dự án
Ước lượng công việc
—Các yếu tố cần ước lượng
—Yêu cầu đặt ra cho lập lịch
—Lượng hóa làm cơ sở ước lượng dự án
—Lịch trình phụ thuộc vào mô hình lựa chọn
— Người tham gia thay đổi theo từng pha của dự án
— Cần phải phân tích công việc chi tiết hơn và lập lịch để kiểm soát
Trang 6Quản lý dự án - Lịch biểu
Mục tiêu của lập lịch
—Mục tiêu của lập lịch là kiểm soát công việc
— Xác định nhiệm vụ
— Thời điểm bắt đầu, thời điểm kết thúc
— Người thực hiện (số người, yêu cầu, )
— Ràng buộc (mối liên hệ giữa các nhiệm vụ)
=> Cần có độ mềm dẻo về thời gian
Quản lý dự án - Lịch biểu
Quy trình lập lịch biểu
Quản lý dự án - Lịch biểu
Nhiệm vụ được giao phải:
—Là công việc có kết quả bàn giao
— Quy trách nhiệm cho một cá nhân
—Các nhiệm vụ phải được kết thúc trước các nhiệm
vụ có thể được thực thi kế tiếp
—Thời gian thực hiện
—Giảm tối đa các nhiệm vụ phụ thuộc
— Thực hiện các nhiệm vụ song song khi có thể
Trang 7Quản lý dự án - Lịch biểu
Nội dung của hoạt động lập lịch
—Phân dự án thành các nhiệm vụ và ước lượng thời
gian, nguồn lực thực hiện chúng
— Tổ chức thực hiện đồng thời các nhiệm vụ để tối ưu
luồng công việc
— Hạn chế sự phụ thuộc giữa các nhiệm vụ để tránh tác
Khuyến cáo cho lập lịch
— Giảm tối đa thời gian thừa
— Tận dụng tối đa các nguồn lực
— Điều phối tài nguyên (chỗ thừa/thiếu)
Trang 8Tổ chức dự án
—Lập tổ dự án (vẽ thành sơ đồ, mô tả)
— Chức năng nhiệm vụ của từng bộ phận
— Phân bổ tài nguyên cho từng bộ phận
Tổ chức dự án – lựa chọn nhân sự
Lựa chọn nhân sự
—Con người là yếu tố quan trọng nhất trong phát triển phần mềm
—Các thành viên khác nhau về năng lực
—Một số các công việc đặc thù không phải ai cũnglàm được
Nhân sự dự án
Nhóm làm việc (teamwork)
—Là mô hình hiện tại cho hầu hết các dự án phần mềm:
—Khả năng chuyên nghiệp hóa cao
—Hiệu quả trong quản lý, giao tiếp và điều hành
—Một software project team được tạo ra từ nhiều nhóm
Team 1 Team 2
Team 3 Team 4
Team 5 Team 6
Project 3 Công ty phần mềm
Trang 913 System Administration Team
14 Reuse & Reengineering Team
Nhân sự dự án
System Analysis
—Xác định tính khả thi của dự án
—Phân tích chi phí (Cost analysis)
—Dự đoán lợi nhận (Estimate revenues)
—Tiên liệu các khó khăn về kỹ thuật và công nghệ
—Sau khi nghiên cứu khả thi, nhóm này sẽ làm việcvới Requirement Team để nhận feedbacks
—Nếu dự án được phát triển theo mô hình tương táccao như Prototype/Spiral model thì tính tương tác vàfeedback là rất quan trọng kể cả với các nhóm khác
Nhân sự dự án
Planning Team
—Nhóm này có nhiệm vụ xây dựng tổng thể tất cả các kế
hoạch quản trị dự án và bảo đảm các tiến trình diển ra
đúng tiến độ đã định
• Xây dựng các kế hoạch thực hiện
• Lập các time frame cho các tiến trình
• Kế hoạch sử dụng tài nguyên của hệ thống bao gồm cả
• Nếu không có khách hàng, có thể tiếp xúc với các user tiềm năng
—Sau khi xác định các yêu cầu, nhóm này sẽ làm việcvới System Design Team để nhận các feedback
—Nếu dự án được phát triển theo mô hình tương tác caonhư Prototype/Spiral model thì tính tương tác vàfeedback là rất quan trọng kể cả với các nhóm khác
Trang 10Nhân sự dự án
System Design Team
—Xây dựng thiết kế chi tiết của hệ thống sau khi các yêu
cầu đã được xác định
—Nếu sử dụng mô hình Waterfall, nhóm này phải
feedback cho nhóm Requirement những khó khăn nếu
có
—Sau khi hoàn chỉnh thiết kế, nhóm này phải cộng tác
với Implementation Team để nhận feedback
—Nếu dự án được phát triển theo mô hình tương tác cao
như Prototype/Spiral model thì tính tương tác và
feedback là rất quan trọng kể cả với các nhóm khác
Nhân sự dự án
Implementation Team
—Phát triển hệ thống theo thiết kế đã có
• Coding
• Kiểm tra cấp Module
—Sau khi hoàn tất chương trình, nhóm này sẽ cộng tácvới nhóm Tesing & Integration để kiểm tra các module
—Nếu dự án được phát triển theo mô hình tương tác caonhư Prototype/Spiral model thì tính tương tác vàfeedback là rất quan trọng kể cả với các nhóm khác
Nhân sự dự án
Testing & Integration Team
—Xây dựng thiết kế chi tiết của hệ thống sau khi các yêu
cầu đã được xác định
—Nếu sử dụng mô hình Waterfall, nhóm này phải
feedback cho nhóm Requirement những khó khăn nếu
có
—Sau khi hoàn chỉnh thiết kế, nhóm này phải cộng tác với
Implementation Team để nhận feedback
—Nhóm này có thể tiếp nhậncác module rời rạc và kiểm
tra sau đó tích hợp thành hệ thống hoàn chỉnh
Nhân sự dự án
—Nếu dự án được phát triển theo mô hình tương tác caonhư Prototype/Spiral model thì tính tương tác vàfeedback là rất quan trọng kể cả với các nhóm khác
—Nhóm này cũng có vai trò trong Interface Control Document để đặc tả các giao diện và giao tiếp giữa cácthành phần trong hệ thống
TrainningTrainning Team Team
—Chuẩn bị các công cụ và tài liệu cho việc trainning chongười dùng
• Kế hoạch trainning
• Các tài liệu giảng dạy
Trang 11Nhân sự dự án
Delivery & Installation Team
—Nhiệm vụ là cài đặt hệ thống cho khách hàng và các hỗ
trợ kỹ thuật trong cài đặt vận hành hệ thống
— Các tiêu chuẩn này dùng trong nội bộ và không chia sẻ vớikhách hàng
— Các tiêu chuẩn có thể được công bố khi cần thiết, vì vậycần được lưu trữ và báo cáo cho project manager để hoạtđộng với bộ phận Q&A
Nhân sự dự án
Metrics Team
—Lưu trữ các thông tin thống kê về các hoạt động của các
Team trong dự án
• Số lượng các yêu cầu maintenance
• Số lượng thực hiện dịch vụ maintenance
• Số dòng code được viết
• Thời gian thực hiện từng công việc
—Nhóm này làm việc với hầu hết các nhóm để cung cấp
báo cáo về chất lượng, hiệu quả, đồng thời feedback
cho các nhóm đó về hiệu quả công việc
Trang 12Nhân sự dự án
System
System AdministrationmAdministrationm Team Team
—Nhóm này có nhiệm vụ cung cấp và bảo đảm các hoạt
động của các hệ thống hạ tầng kỹ thuật cần thiết cho
dự án
—Nhóm này thông thường bao gồm cả Network
Administration Team
Reuse & Reengineering Team
—Chọn lựa và quyết định việc reuse các module đã có
—Việc reengineering cũng cần thiết khi mà việc phát
triển đòi hỏi phải dùng đến các code cũ khi công nghệ
đã thay đổi
Nhân sự dự án
Bên cạnh còn có một số nhân sự khác tham gia vào quátrình phát triển dự án nhưng có thể không được nêu tênmột cách chính qui
—Human Human Computer Interface Evaluation Computer Interface Evaluation: Đánh giákhả năng thích hợp của giao diện cả như người dùngcấp thấp và cấp cao
công cụ cần thiết như tools, software, network vậnhành theo yêu cầu của quá trình phát triển
cần thiết để ước lượng chi phí phần mềm, phần cứng, resource và thời gian cần cho dự án hoàn tất
Nhân sự dự án
cần thiết để ước lượng chi phí phần mềm, phần cứng,
resource và thời gian cần cho dự án hoàn tất
hệ thống tất cả các tài liệu của dự án
—Chuyên Chuyên gia gia hỗ hỗ trợ trợ: Một số dự án cần có những
chuyên gia trong lĩnh vực tương ứng hổ trợ, tư vấn về
mặt chuyên môn hay kỹ thuật
NHÂN SỰ CỦA CÁC TEAM CÓ THỂ THAY ĐỔI
THƯỜNG XUYÊN TRONG QUÁ TRÌNH HOẠT
ĐỘNG DO NHIỀU YẾU TỐ
Nhân sự dự án
—Nhân sự cần thay đổi theo từng công đoạn: các công đoạncần nhiều nhân sự và cần thời gian dài như cài đặt Kiểmthử…
—Các nguyên nhân khách quan khác:
—Nhân sự thay đổi công việc: chuyên môn thay đổi, côngnghệ mới cập nhật
—Nhân sự nghĩ do thay đổi việc, bệnh, về hưu
—Nhân sự mới: mang lại tư duy mới và công nghệ mới tuynhiên phải cần thời gian tiếp cập
—Việc xây dựng các team là linh động theo từng dự án và cần
có điều phối giữa các dự án theo từng tiến độ công việc
Trang 13Giám sát và hiệu chỉnh Giám sát và hiệu chỉnh
Mục tiêu của giám sát và điều chỉnh
—Đảm bảo chất lượng phần mềm
—Quản lý thay đổi/quản lý cấu hình phần mềm
—Quản lý thay đổi về yêu cầu, thiết kế, mã nguồn…
—Quản lý cấu hình (được phát triển phân tán)
—Trong quá trình thực hiện dự án:
—Tuân thủ quy trình (các chuẩn, các tài liệu)
Trang 14— Kiểm thử Alpha (trong xưởng, dữ liệu thật)
— Kiểm thử Beta (cho người dùng sử dụng)
Quản lý rủi ro
Rủi ro
—Rủi ro là các hoàn cảnh bất lợi có thể xảy ra tác động lên dự án và sản phẩm
—Các loại rủi ro:
—Rủi ro của dự án có ảnh hưởng tới lịch biểu và tài nguyên của dự án
—Rủi ro của sản phẩm ảnh hưởng tới chất lượng hoặc hiệu năng của phần mềm sẽ được xây dựng
—Rủi ro thương mại sẽ ảnh hưởng tới tổ chức xây dựng phần mềm
—Quan tâm rủi ro có thể quản lý được
Trang 15Quản lý rủi ro Các Hoạt động quản lý rủi ro
Các hoạt động của quản lý rủi ro
—Xác định (dự đoán) các rủi ro
—Phân tích rủi ro (đánh giá khả năng, thiệt hại)
—Lập kế hoạch tránh hay hạn chế tác động
—Giám sát (theo dõi sự xuất hiện, tác động của rủi ro)
và áp dụng giải pháp quản lý trong suốt quá trình dự án
Các Hoạt động quản lý rủi ro
—Tiến trình quản lý rủi ro là một quá trình lặp
Các Hoạt động quản lý rủi ro
Giải pháp quản lý rủi ro
—Giải pháp dựa trên phân tích loại yêu cầu
—Chức năng cần thiết
—Chức năng mong muốn
—Chức năng tuỳ chọn
—Nguyên lý giải pháp: Pareto (80-20)
—Phân tích, đưa ra quyết định có áp dụng biện pháp quản lý cần thiết hay không
—Dựa trên thống kê (kinh nghiệm)
—Dùng cây quyết định
Trang 16Các Hoạt động quản lý rủi ro
Một số rủi ro và nguyên nhân
—Rủi ro nhân sự: thiếu người
—Rủi ro ước lượng: kế hoạch, dự án không sát thực tế
— Phát triển sai chức năng
— Phát triển sai giao diện
— Rủi ro kinh tế: khách hàng yêu cầu quá cao
— Khách hàng thay đổi yêu cầu liên tục
Quản lý thay đổi
Quản lý thay đổi
—Xác định thay đổi của bất cứ hoạt động nào:
— Lưu trữ tài liệu, mã nguồn, dữ liệu
— Tạo điểm truy cập duy nhất (đảm bảo tính thống
nhất của mã nguồn)
—Trên diện hẹp, còn gọi là quản lý mã nguồn
Quản lý cấu hình
Lợi ích của quản lý cấu hình
—Cung cấp cho người phát triển phiên bản mới nhất của phần mềm
—Quản lý các mã nguồn được lưu trữ phân tán
— Quản lý các phiên bản khác nhau
— Ghi chú lý do của sửa đổi mã nguồn
— Dễ dàng truy cập các phiên bản cũ
— Tiết kiệm không gian đĩa
Trang 17Quản lý cấu hình
Quản lý phiên bản
—Khái niệm phiên bản phần mềm
—Phiên bản hoàn thành (version)
—Những thay đổi bộ phận (variant)
— Mã nguồn, tài liệu, công cụ
—Lưu trữ duy nhất (logic)
—Quản lý sửa đổi
— Không cho phép sửa đổi đồng thời
—Lưu trữ phiên bản cũ
—Thông tin sửa đổi: lý do, người thực hiện, thời điểm
Quản lý cấu hình
Nội dung lưu trữ
—Tài liệu:phân tích, thiết kế, tài liệu người dùng…
— Mã nguồn
— Công cụ phát triển
—Cần để biên dịch lại các mã nguồn cũ
— Cần cho việc bảo trì
— Các bộ dữ liệu test
Quản lý cấu hình
Chia sẻ mã nguồn
— Sử dụng cơ chế lock/unlock cho phép chỉ một người
có quyền sửa tại một thời điểm
— Cần công cụ ghép nối tự động các sửa đổi
Công cụ chia sẻ mã nguồn
—Visual SourceSafe (Visual Studio – Microsoft)
—Quản lý mã nguồn
— Check out/check in
Trang 18Hồ sơ dự án
Hồ sơ dự án
—Bao gồm tất cả giấy tờ, tài liệu liên quan đến quá trình
hoạt động của dự án
—Thư từ trao đổi với bên ngoài
— Các ước lượng thời gian
— Các biểu mẫu, bản ghi nhớ, biên bản họp
— Các thủ tục, các báo cáo
— Các quy định về trách nhiệm, quyền hạn trong dự án
— Các cập nhật lịch biểu, các tài liệu khác
Hồ sơ dự án
Thư ký dự án
—Thư ký dự án lưu trữ, bảo quản tài liệu dự án
—Phân loại tài liệu
— Tạo lập, thu thập, bổ sung hồ sơ
— Cung cấp tài liệu khi cần
— Lưu trữ trên máy, trên giấy
Hồ sơ dự án
Lợi ích của việc lưu trữ hồ sơ dự án
—Mất thời gian một lần, tiết kiệm nhiều lần
— Tạo điều kiện theo dõi dự án
— Tạo thuận lợi cho cấp trên kiểm tra dự án
— Là cơ sở để lập báo cáo
— Là chỗ dựa để Người quản lý dự án tự bảo vệ mình
— Chia sẻ thông tin trong tập thể thực hiện dự án
Trang 20Một số kỹ thuật
—Kỹ thuật nghiên cứu khả thi
—Đo và ước lượng dự án
—Phương pháp đường găng cho lập lịch
Nghiên cứu khả thi
Kỹ thuật nghiên cứu khả thi
—Xác định, phân tích các yếu tốsau:
—Phân tích lợi ích, chi phí
— Chi phí xây dựng (đầu tư 1 lần: nguồn, số vốn)
— Phí tổn vận hành (chi thường xuyên)
— Hiệu quả kinh tế (thời gian hoàn vốn)
— Vị trí của sản phẩm
—Khả năng tài chính của khách hàng
—Khách hàng ≠ nhà phát triển: về quan điểm kinh tế
— Nhà phát triển cần thuyết phục khách hàng
Nghiên cứu khả thi
Khả thi về kỹ thuật
—Các yếu tố cần xem xét:
—Có công nghệ để thực hiện không?
— Có năng lực triển khai không?
— Có tài nguyên kỹ thuật để thực hiện không?
— Khách hàng có vận hành được không?
=>Khó khăn đánh giá ở giai đoạn phân tích
Trang 21Nghiên cứu khả thi
Khả thi về pháp lý
—Không vi phạm:
—Luật, quy định trong hoạt động phát triển
—Bản quyền
—Tự do cá nhân: kiểm duyệt email, phá mật khẩu
—Gây hại đối với bên thứ ba: virus, spam email…
— Các luật pháp khác: cung cấp các dịch vụ cấm,
Nghiên cứu khả thi
Các nhân tố có thể làm dự án thất bại:
—Rủi ro kỹ thuật: quá khó
—Rủi ro kinh tế: quá đắt
—Rủi ro thời gian: thời gian quá ngắn
Báo cáo khả thi để quyết định
=> Chỉ quản lý các yếu tố có thể đo được
Đo và ước lượng dự án
Độ đo và ước lượng
—Ước lượng phần mềm là công việc quan trọng hàng đầu trong quản lý dự án
—Kích cỡ, chi phí
—Thời gian, nhân lực
—Để ước lượng được cần có độ đo
—Kích cỡ, chất lượng, hiệu năng
—Nguyên lý: cần xác lập độ đo cho mọi công việc
—Độ đo phải định lượng được