CHƯƠNG 2: QUẢN LÝ DỰ ÁN PHẦN MỀM I. Tổng quan về quản lý dự án phần mền : Quản lý dự án phần mềm là việc lên kế hoạch có tính khoa học và nghệ thuật trong quá trình quản lý các dự án phần mềm. Nó chính là quản lý dự án theo các chính sách được lên kế hoạch, theo dõi và kiểm soát. Các công ty nhanh chóng nhận ra việc sử dụng lập trình phần mềm dễ hơn so với phần cứng vì vậy nghành công nghiệp sản xuất phần mềm nhanh chóng phát triển trong giai đoạn từ thập niên 1970 đến thập niên 1980 . Để quản lý các nỗ lực phát triển mới, các công ty ứng dụng các phương thức quản lý phần mền, nhưng quá trình thử nghiệm bị chậm theo thực thi, đặc biệt là sự mẫu thuẫn xảy ra trong vùng xám giữa các đặc tả người dùng và phần mềm được chuyển giao. Để tránh các vấn đề trên, các phương thức quản lý dự án phần mềm tập trung vào các yêu cầu người dùng trong các sản phẩm phần mềm theo mô hình nổi tiếng đó là mô hình thác nước Theo tổ chức IEEE, một số nguyên nhân dẫn đến sự thất bại trong việc quản lý dự án như sau:
Trang 1CHƯƠNG 2: QUẢN LÝ DỰ ÁN PHẦN MỀM
I.Tổng quan về quản lý dự án phần mền :
Quản lý dự án phần mềm là việc lên kế hoạch có tính khoa học và nghệ thuật trong quá trình quản lý các dự án phần mềm Nó chính là quản lý dự án theo các chính sách được lên kế hoạch, theo dõi và kiểm soát
Các công ty nhanh chóng nhận ra việc sử dụng lập trình phần mềm dễ hơn so với phần cứng vì vậy nghành công nghiệp sản xuất phần mềm nhanh chóng phát triển trong giai đoạn từ thập niên 1970 đến thập niên 1980
Để quản lý các nỗ lực phát triển mới, các công ty ứng dụng các phương thức quản lý phần mền, nhưng quá trình thử nghiệm bị chậm theo thực thi, đặc biệt là sự mẫu thuẫn xảy ra trong "vùng xám" giữa các đặc tả người dùng và phần mềm được chuyển giao Để tránh các vấn đề trên, các phương thức quản lý dự án phần mềm tập trung vào các yêu cầu người dùng trong các sản phẩm phần mềm theo mô hình nổi tiếng đó là mô hình thác nước Theo tổ chức IEEE, một số nguyên nhân dẫn đến sự thất bại trong việc quản lý dự án như sau:
1 Dự án không có tính thực tế và không khớp
2 Ước tính không chính xác nguồn lực cần thiết cho dự án
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
5 Không quản lý độ rủi ro
6 Việc giao tiếp khách hàng, người sử dụng và người phát triển dự án không tốt
7 Sử dụng công nghệ chưa phát triển
8 Không có khả năng xử lý độ phức tạp của dự án
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
11.Các bên liên quan mang tính chính trị
12.Các áp lực mang tính thương mại
II.Khái niệm:
Quản lý dự án phần mền là quá trình hoạch định, tổ chức, lãnh đạo và kiểm tra các công việc và nguồn lực thông qua việc áp dụng các công cụ, kiến thức và kĩ thuật nhằm định nghĩa, lập kế hoạch, tiến hành triển khai, tổ chức kiểm soát và kết thúc dự án
Trang 2III Quy trình quản lí dự án phần mềm
Quy trình quản lý dự án phần mềm là quy trình vận dụng những kiến thức, kỹ năng và kỹ thuật công nghệ vào hoạt động của dự án để đạt được mục tiêu của dự án đặt ra
Để đảm bảo dự án thành công, các thành viên dự án phải đảm bảo:
Lựa chọn quy trình phù hợp để đạt được mục tiêu của dự án
Tuân theo các yêu cầu để đáp ứng được nhu cầu và mong đợi của các bên liên quan
Cân bằng được các yêu cầu (nhân tố) cạnh tranh trong dự án như: phạm vi công việc, ngân sách , tiến độ, chất lượng, rủi ro, thay đổi Tùy theo quy mô của từng dự án mà các mỗi giai đoạn lại có thể gồm những quy trình nhỏ hơn
Ngoài các lợi ích chiến lược nêu trên phần mềm, còn cung cấp đầy đủ các tính năng hệ thống Việc bảo mật được tiến hành một cách tuyệt đối nghiêm ngặt Việc phân quyền được cụ thể đến từng vai trò của người sử dụng
Quy trình kiểm tra và giám sát dự án quản lý phần mềm bao gồm 5 giai đoạn
1 Khởi tạo dự án (Initiating): Giai đoạn này thực hiện việc định nghĩa một dự án mới hoặc
một phát sinh (hoặc trộn lẫn) mới của một dự án có sẵn như: Xác định yêu cầu của dự án, mức
độ ưu tiên của dự án, phân tích các yêu cầu đầu tư, phân công trách nhiệm cho các bộ phận triển khai
2 Lập kế hoạch dự án (Planning): Giao đoạn này yêu cầu thiết lập phạm vi công viêc của dự
án, điều chỉnh lại mục tiêu và xác định đường đi tới mục tiêu đó
3 Triển khai (Executing): Giai đoạn này thực hiện hoàn thành các công việc được xác định
trong phần lập kế hoạch để đảm bảo các yêu cầu của dự án
4 Giám sát và kiểm soát (Monitoring & Control): Giai đoạn này yêu cầu việc theo dõi, rà
soát và điều chỉnh lại tiến độ và khả năng thực hiện của dự án Theo dõi các rủi ro, thay đổi, phát sinh trong quá trình thực hiện và có những đề xuất điều chỉnh kịp thời
5 Kết thúc (Closing): Giai đoạn này thực hiện để kết thúc tất cả các hoạt động của dự án để
chính thức đóng lại dự án
Trang 3IV Các hoạt động chính trong dự án phần mềm
1.Xác định các bước thực hiện dự án phần mềm
- Xác định yêu cầu chung
Trước tiên, cần xác định các yêu cầu chức năng (công việc phần mềm thực hiện) cũng như phi chức năng (công nghệ dùng để phát triển phần mềm, sử dụng trong hệ điều hành) của phần mềm
Tiếp theo cần xác định rõ tài nguyên cần thiết để xây dựng phần mềm Tài nguyên ở đây có thể gồm có nhân tố con người, các thành phần, phần mềm có thể sử dụng lại, các phần cứng hoặc công cụ có sẵn cần dùng đến; trong đó nhân tố con người là quan trọng nhất
Điều cuối cùng là xác định thời gian cần thiết để thực hiện dự án Trong quá trình này cần phải nắm bắt được bài toán thực tế cần giải quyết cũng như các hoạt động mang tính nghiệp vụ của khách hàng để có thể xác định rõ ràng yêu cầu chung của đề án, xem xét dự án có khả thi hay không
- Viết đề án
Viết đề án là quá trình xây dựng tài liệu mô tả đề án để xác định phạm vi của dự án, trách nhiệm của những người tham gia dự án; là cam kết giữa người quản lý dự án, người tài trợ dự
án và khách hàng Nội dung của tài liệu mô tả đề án thường có những nội dung sau:
Bối cảnh thực hiện dự án: Căn cứ pháp lý để thực hiện dự án, hiện trạng công nghệ thông tin của khách hàng trước khi có dự án, nhu cầu ứng dụng phần mềm của khách hàng, đặc điểm và phạm vi của phần mềm sẽ xây dựng
Mục đích và mục tiêu của dự án: xác định mục đích tổng thể, tin học hóa hoạt động nào trong quy trình nghiệp vụ của khách hành, xác định mục tiêu của phần mềm gồm lượng dữ liệu xử lý, lợi ích phần mềm đem lại
Phạm vi dự án: Những người liên quan tới dự án, các hoạt động nghiệp vụ cần tin học hóa
Nguồn nhân lực tham gia dự án: Cán bộ nghiệp vụ, người phân tích, người thiết kế, người lập trình, người kiểm thử, người cài đặt triển khai dự án cho khách hàng, người hướng dẫn khách hàng sử dụng phần mềm, người bảo trì dự án phần mềm
Ràng buộc thời gian thực hiện dự án: Ngày nghiệm thu dự án, ngày bàn giao dự án
Ràng buộc kinh phí: Kinh phí trong từng giai đoạn thực hiện dự án
Ràng buộc công nghệ phát triển: Công nghệ nào được phép sử dụng để thực hiện dự án
Chữ kí các bên liên quan tới dự án
Trang 42.Xác định các bước thực hiện dự án phần mềm
Lập kế hoạch thực hiện dự án là hoạt động diễn ra trong suốt quá trình từ khi bắt đầu thực hiện
dự án đến khi bàn giao sản phẩm với nhiều loại kế hoạch khác nhau nhằm hỗ trợ kế hoạch chính của dự án phần mềm về lịch trình và ngân sách
- Các loại kế hoạch thực hiện dự án
Kế hoạch đảm bảo chất lượng: Mô tả các chuẩn, các qui trình được sử dụng trong dự án
Kế hoạch thẩm định: Mô tả các phương pháp, nguồn lực, lịch trình thẩm định hệ thống
Kế hoạch quản lý cấu hình: Mô tả các thủ tục, cấu trúc quản lý cấu hình được sử dụng
Kế hoạch bảo trì: Dự tính các yêu cầu về hệ thống, chi phí, nỗ lực cần thiết cho bảo trì
Kế hoạch phát triển đội ngũ: Mô tả kĩ năng và kinh nghiệm của các thành viên trong nhóm dự
án sẽ phát triển như thế nào
- Quy trình lập kế hoạch thực hiện dự án
Thiết lập các ràng buộc của dự án: thời gian, nhân lực, ngân sách
Đánh giá bước đầu về các "tham số" của dự án: quy mô, độ phức tạp, nguồn lực
Xác định các mốc thời gian trong thực hiện dự án và sản phẩm thu được ứng với mỗi mốc thời gian
Trong khi dự án chưa hoàn thành hoặc chưa bị hủy bỏ thì thực hiện lặp đi lặp lại các công việc sau:
1 Lập lịch thực hiện dự án
2 Thực hiện các hoạt động theo lịch trình
3 Theo dõi sự tiến triển của dự án, so sánh với lịch
4 Đánh giá lại các tham số của dự án
5 Lập lại lịch thực hiện dự án cho các tham số mới
6 Thỏa thuận lại các ràng buộc và sản phẩm bàn giao của mỗi mốc thời gian
7 Nếu có vấn đề nảy sinh thì xem xét lại các kĩ thuật khởi đầu đưa ra các biện pháp cần thiết
- Cấu trúc kế hoạch thực hiện dự án
Tổ chức dự án
Trang 5 Phân tích các rủi ro
Yêu cầu về tài nguyên phần cứng, phần mềm
Phân công công việc
Lập lịch dự án
Cơ chế kiểm soát và báo cáo
V Quản lý dự án phần mềm - Quy trình lập kế hoạch quản lý dự án
1.Quản lý dự án phần mềm là gì?
- Quản lý dự án thiet ke website chuyen nghiep là quá trình hoạch định ,tổ chức ,lãnh đạo và kiểm tra các công việc và nguồn lực thông qua việc áp dụng các công cụ ,kiến thức và kĩ thuật nhằm định nghĩa ,lập kế hoạch ,tiến hành triển khai ,tổ chức kiểm soát và kết thúc dự án
- Quản lý dự án được tiến hành bằng cách kết hợp các quy trình :
+ Lập kế hoạch dự án : quá trình thiết lập các mục tiêu và những phương thức hoạt động để đạt mục tiêu của dự án
+.Thực hiện dự án : quá trình xây dựng và đảm bảo những điều kiện để đạt mục tiêu
+.Điều hành và kiểm soát dự án :quá trình chỉ đạo ,thúc đẩy các thành viên làm việc đồng thời giám sát và chấn chỉnh ,uốn nắn các hoạt động để đảm bảo công việc thực hiện theo đúng kế hoạc đã đề ra
+.Kết thúc dự án : quá trình cuối cùng của quản lý dự án dich vu thiet ke web,đánh giá lại toàn
bộ các quá trình ở trên
Các quy trình của quản lý dự án được thực hiện qua các bước cụ thể theo trình tự sau:
Xác định vấn đề
Phát triển các phương án giải pháp
Lên kế hoạch cụ thể :
Cái gì phải làm?
Ai sẽ làm ?
Làm như thế nào ?
Khi nào làm ?
Tốn kém bao nhiêu?
Trang 6Cần những gì để làm ?
Thực hiện kế hoạch
Kiểm soát và điều hành
Dự án đang đi đúng hướng hay không ?
Nếu không thì phải làm gì ?
Có cần thay đổi kế hoạch không ?
Kết thúc dự án
Những gì đã làm tốt ?
Những gì cần cải thiện ?
Bài học rút ra là gì?
Quản lý dự án bao gồm 2 cấu phần chính :
Quản lý về kĩ thuật :bao gồm công việc ,ngân sách ,tiến độ ,chất lượng
Quản lý về con người :bao gồm con người và các tổ chức tham gia thực hiện dự án và sự trao đổi
Vấn đề về con người thường là vấn đề ảnh hưởng tới sự thành bại của các dự án Bên cạnh các kĩ năng kĩ thuật ,cần phát triển các kĩ năng con người trên cơ sở các chuẩn kĩ năng :suy nghĩ ,trao đổi ,giao tiếp trình bày
Xét theo khía cạnh khác ,quản lý dự án là một quá trình lập kế hoạch ,điều phối thời gian ,nguồn lực và giám sát quá trình phát triển của dự án nhằm đảm bảo cho dự án hoàn thành đúng thời hạn trọng phạm vi ngân sách được duyệt và đạt được các yêu cầu đã định vềkyx thuật ,chất lượng của sản phẩm ,dịch vụ bằng các phương pháp và điều kiện tốt nhất cho phép
Nội dung chủ yếu trong QLDA:
+) Xác định rõ được các yêu cầu về phạm vi, thời gian, chi phí, rủi ro, chất lượng,…
+)Kiểm soát những tập thể, cá nhân có liên quan trong mỗi giai đoạn
+)Một dự án được quản lý tốt tức là khi kết thúc phải thỏa mãn được các yêu cầu về mặt thời hạn, chi phí và chất lượng hiệu quả
2 Tại sao lại phải quản lý dự án?
Vì mỗi một dự án thông thường không hoàn thành đúng hạn ,chi phí vượt quá dự án ,chất lượng ko đảm bảo
Trang 7Do vậy chúng ta phải quản lý dự án Quản lý dự án đem lại cho chúng ta nhiều lợi ích và giải quyết các mục tiêu mà dự án đã đề ra
Mục tiêu của quản lý dự án :là hoàn thành các công việc dự án theo đúng yêu cầu kỹ thuật và chất lượng ,trong phạm vi ngân sách được duyệt và theo đúng tiến độ thời gian cho phép
-Quản lý các yếu tố :
Thời gian :đúng thời hạn
Chi phí :không vượt quá dự toán
Sản phẩm đầy đủ các chức năng đã định
Thỏa mãn về yêu cầu khách hàng : thỏa mãn về nhu cầu và thỏa mãn về tiến trình
Lợi ích của quản lý dự án :
Liên kết tất cả các hoạt động, các công việc của dự án
Tạo điều kiện thuận lợi cho việc liên hệ thường xuyên, gắn bó giữa các nhóm quản lý dự án với khách hàng và các nhà cung cấp đầu vào cho dự án
Tăng cường sự hợp tác giữa các thành viên và chỉ rõ trách nhiệm của các thành viên tham gia dự án
Tạo điều kiện sớm phát hiện những khó khăn, vướng mắc phát sinh và điều chỉnh kịp thời
Tạo ra sản phẩm và dịch vụ có chất lượng cao
VI Các nguyên lý chung của phương pháp luận quản lý dự án
Linh hoạt
Hướng kết quả, không hướng nhiệm vụ (nhằm thoả mãn các thượng đế - khách hàng)
Huy động sự tham gia của mọi người (tính chất dân chủ)
Làm rõ trách nhiệm (chữ ký)
Phân cấp có mức độ (không nên chia thành quá nhiều mức )
Tài liệu cô đọng và có chất lượng (quá nhiều tài liệu tức là có quá ít thông tin!!!)
Kết quả quan trọng hơn công cụ hay kĩ thuật (thực dụng)
Tạo ra các độ đo tốt (để có đánh giá đúng)
Suy nghĩ một cách nhìn xa trông rộng
Trang 8 Cải tiến liên tục (kế hoạch không xơ cứng)
VII Lập kế hoạch quản lý dự án là gì ?
1 Định nghĩa
- Lập kế hoạch là giai đoạn thứ nhất của quy trình quản lý dự án và là sự khởi đầu cần thiết để xác định các phương pháp ,tài nguyên và các công việc cần thiết để đạt được mục tiêu của dự
án Giai đoạn này diễn ra trong suốt quá trình từ khi bắt đầu thực hiện dự án cho đến khi bàn giao sản phẩm với nhiều loại kế hoạch khác nhau nhằm hỗ trợ kế hoạch chính của dự án về lịch trình và ngân sách
2 Các loại kế hoạch quản lý dự án
Kế hoạch đảm bảo chất lượng: Mô tả các chuẩn, các qui trình được sử dụng trong dự án
Kế hoạch đảm bảo chất lượng: Mô tả các chuẩn, các qui trình được sử dụng trong dự án
Kế hoạch quản lý cấu hình: Mô tả các thủ tục, cấu trúc quản lý cấu hình được sử dụng
Kế hoạch bảo trì: Dự tính các yêu cầu về hệ thống, chi phí, nỗ lực cần thiết cho bảo trì
Kế hoạch phát triển đội ngũ:Mô tả kĩ năng và kinh nghiệm của các thành viên trong nhóm dự
án sẽ phát triển như thế nào
Thiết lập các ràng buộc của dự án: thời gian, nhân lực, ngân sách
Đánh giá bước đầu về các "tham số" của dự án: quy mô, độ phức tạp, nguồn lực
Xác định các mốc thời gian trong thực hiện dự án và sản phẩm thu được ứng với mỗi mốc thời gian
Trong khi dự án chưa hoàn thành hoặc chưa bị hủy bỏ thì thực hiện lặp đi lặp lại các công việc sau:
Lập lịch thực hiện dự án
Thực hiện các hoạt động theo lịch trình
Theo dõi sự tiến triển của dự án, so sánh với lịch trình
Đánh giá lại các tham số của dự án
Lập lại lịch thực hiện dự án cho các tham số mới
Thỏa thuận lại các ràng buộc và sản phẩm bàn giao của mỗi mốc thời gian
Nếu có vấn đề nảy sinh thì xem xét lại các kĩ thuật khởi đầu đưa ra các biện pháp cần thiết
Trang 9 Tổ chức dự án
Phân tích các rủi ro
Yêu cầu về tài nguyên phần cứng, phần mềm
Phân công công việc
Lập lịch dự án
Cơ chế kiểm soát và báo cáo
VIII Các phong cách quản lý dự án
Quản lý theo kiểu đối phó: Là hình thức sau khi vạch kế hoạch rồi phó mặc cho anh em thực hiện không quan tâm, theo dõi Sau khi có chuyện gì xảy ra mới nghĩ cách đối phó
Quản lý theo kiểu mất phương hướng: Khi thực hiện nghiên cứu một đề tài khoa học mà không có sáng kiến mới, cứ quanh quản với phương pháp cũ, công nghệ cũ
Quản lý theo kiểu nước đến chân mới nhảy: Không lo lắng đến thời gian giao nộp sản phẩm, đến khi gần hết hạn mới huy động thật đông người làm cho xong
Quản lý chủ động, tích cực: Suốt quá trình thực hiện dự án không bị động về kinh phí, nhân lực, tiến độ đảm bảo ( Đây là cách quản lý lý tưởng nhất.)
IX Nội dung chính của việc triển khai một dự án
Khởi thảo, xác định dự án:
Viết bản đề xuất: Bản đề xuất cần mô tả các đối tượng của dự án, cách thức triển khai dự án Thường thì nội dung phải bao gồm các ước lượng sơ bộ chi phí và lịch trình thực hiện dự án qua các mốc Có thể phải trình bày rõ vì sao hợp đồng dự án được trình ra cho một tổ chức hay một đội cụ thể.Viết bản đề xuất là một công việc quan trọng Nó phụ thuộc vào việc có đủ cơ
sở hay không để dự án được chấp nhận và hợp đồng đưa ra được ký kết Không có một hướng dẫn cụ thể và đầy đủ nào cho nhiệm vụ này Công việc này đòi hỏi những kỹ năng thu nhận được từ kinh nghiệm của người viết
-Thiết lập quan hệ với khách hàng
-Xây dựng dự án sơ bộ
-Thiết lập thủ tục quản lý
-Thiết lập môi trường quản lý và tài liệu dự án
Lập kế hoạch dự án: được bắt đầu bằng mục tiêu đã được xác định sau cùng.Trong giai đoạn này, mỗi nhiệm vụ chính và phụ đều phải được sắp xếp một khoảng thời gian hợp lý để tiến
Trang 10hành Cả nhà quản lý và các thành viên trong nhóm sẽ phân tích các nhiệm vụ đẻ đấy nhanh tiến độ và giảm chi phí
Tổ chức thực hiện
Kết thúc dự án: Những vấn đề chính liên quan đến việc kết thúc dự án là:
Tranh chấp giữa khách hàng và nhà phát triển về việc lý giải và cung ứng mọi đặc điểm được yêu cầu
Ý đồ đưa vào những thay đổi ở phút chót
Thất bại của hệ thống và khuyết tật thiết kế xác định trong quá trình cài đặt và kiểm thử hệ thống
Khó khăn trong việc cho đội ngủ phát triển hợp lực lại với nhau và năng động