Có khác biệt giữa “Vòng đời phát triển phần mềm” và “Vòng đời quản lí dự án”.

Vòng đời phát triển phần mềm là tập các hoạt động có liên quan để tạo ra sản phẩm hay dịch vụ. Vòng đời quản lí dự án giải quyết với phạm vi lớn hơn nhiều so với dự án như hiểu nhu cầu khách hàng, thiết lập môi trường dự án, đảm bảo dự án được gióng thẳng với chiến lược và mục đích công ti, lập kế hoạch và ngân sách, ra quyết định mua hay dựng, thực hiện dự án, quản lí và kiểm soát dự án, và báo cáo tình trạng cho cấp quản lí và khách hàng v.v.

Vòng đời quản lí dự án bao gồm năm pha: Pha khởi đầu, Thực hiện, Kiểm soát và Đóng. Không thành vấn đề kiểu vòng đời phát triển dự án nào (Thác đổ, xoáy ốc, đưa ra tăng dần v.v.) bạn vẫn áp dụng cùng năm pha này cho việc quản lí dự án.

Pha khởi đầu: Trong pha này, người quản lí dự án phải làm việc cùng khách hàng để xác định nhu cầu. Đây có thể là vấn đề doanh nghiệp hay cơ hội kinh doanh. Người quản lí dự án phải phân tích nhu cầu với giải pháp để xác định liệu nó là có thể được hay không. Điều đó bao gồm các vấn đề kĩ thuật (chúng ta có thể làm dự án này không?) và biện minh doanh nghiệp (chúng ta có nên làm dự án này không? Nó có hiệu quả chi phí không?). Nếu giải pháp được chấp thuận, người quản lí dự án phải thiết lập môi trường dự án, thu lấy ngân sách, thuê thành viên tổ, và làm tài liệu yêu cầu v.v. trước khi chuyển vào pha lập kế hoạch.

Pha lập kế hoạch: Trong pha này, các yêu cầu dự án được phân tích chi tiết và chia ra thành các nhiệm vụ nhỏ hơn (Cấu trúc phân việc). Thành viên tổ được phân công cho các vai trò và trách nhiệm và cho mọi công việc cần được thực hiện. Bản kế hoạch dự án được tạo ra để làm tài liệu cho mọi hoạt động, nhiệm vụ, sự phụ thuộc và khuôn khổ thời gian. Người quản lí dự án ước lượng chi phí cho lao động, trang thiết bị và chi phí vật tư thành ngân sách dự án. Ngân sách này được dùng để giám sát và kiểm soát chi tiêu chi phí trong khi thực hiện dự án. Người quản lí dự án cũng ước lượng thời gian để hoàn thành mọi nhiệm vụ và chuẩn bị lịch biểu cùng các thành viên tổ. Cùng nhau, họ nhận diện và cố gắng giải quyết với mọi rủi ro có thể tạo ra vấn đề cho dự án. Họ cũng phát triển bản kế hoạch chất lượng; cung cấp mục tiêu chất lượng, đảm bảo chất lượng và kiểm soát cách đo cùng với danh sách các tiêu chí cần được đáp ứng. Khi mọi thứ được thực hiện, người quản lí dự án thiết lập kế hoạch trao đổi mô tả thông tin được cần và lịch chuyển giao để giữ cho khách hàng và cấp quản lí được thông tin.

Pha thực hiện: Trong pha này, bản kế hoạch dự án được thực hiện. (Đây là chỗ vòng đời phát triển phần mềm bắt đầu với những người phát triển thực hiện thiết kế, viết mã, kiểm thử v.v.). Những hoạt động này liên tục được giám sát và điều chỉnh khi cần. Người quản lí dự án sẽ dành hầu hết thời gian của họ theo dõi các hoạt động theo kế hoạch để chắc chắn dự án đang tiến triển tương ứng.

Pha kiểm soát: Trong pha này, người quản lí dự án duy trì kiểm soát chiều hướng của dự án bằng việc đo hiệu năng của hoạt động dự án. Có các báo cáo tình trạng hàng tuần và kiểm điểm theo cột mốc được nhận diện trong kế hoạch dự án nơi người quản lí dự án có thể giám sát tiến bộ dự án. Báo cáo trạng thái được hội tụ vào chi phí, lịch biểu và chất lượng công việc. Một khi mọi nhiệm vụ đã được thực hiện, phần mềm cuối cùng có thể được tạo ra và khi khách hàng chấp nhận sản phẩm cuối cùng, dự án sẵn sàng cho việc đóng lại.

Pha đóng: Trong pha này, hoạt động chính là: chuyển giao sản phẩm cuối cho khách hàng; cung cấp tài liệu cho doanh nghiệp; và trao đổi việc đóng dự án với cấp quản lí và khách hàng. Người quản lí dự án cũng tiến hạnh kiểm điểm hậu dự án để cân nhắc cái gì diễn ra tốt và cái gì không. Qua bài học này, người quản lí và thành viên tổ dự án cả tiến kĩ năng và kinh nghiệm của họ, điều có ích cho dự án tương lai.

—-English version—-

Software Developmen​t Life cycle and Project Management Life Cycle

There is a difference between a “Software Development Life Cycle” and a “Project Management Life Cycle”. The Software development lifecycle is a set of related activities to produce a product or service. The Project management lifecycle deals with much larger scope than the project such as understand customer’s needs, set up project environment, ensure project is aligned with company strategy and goals, planning and budgeting, make decision to buy or to build, execute the project, manage and control the project, and reporting status to management and customers etc.

Project management life cycle consists of five phases: Initiate Plan, Execute, Control, and Close Out. No matter what type of project development life cycle (Waterfall, spiral, incremental release etc.) you still apply the same five phases to manage the project.

Initiation Phase: During this phase, project manager must work with customers to determine the need. This can be a business problem or a business opportunity. Project manager must analyze the need with the solution to determine if it is possible or not. It involves technical issues (can we do the project?) and business justification (should we do the project? Is it cost effective?). If the solution is approved, project manager must set up the project environment, obtain budget, hiring team members, and document requirements etc. before move on the planning phase.

Planning Phase: In this phase, the project requirements are analyzed further in detail and break down to smaller tasks (Work Breakdown Structure). Team members are assigned to roles and responsibilities and to all of the works that need to be done. A project plan is created to document all activities, tasks, dependencies and timeframes. The project manager estimates cost for the labor, equipment and materials costs into a project budget. The budget is used to monitor and control cost expenditures during project execution. Project manager also estimates the time to complete all the tasks and prepares the schedule with team members. Together, they identify and try to deal with any risks that might create potential problems to the project. They also develop a quality plan; providing quality targets, assurance, and control measures along with a list of criteria to be met. When everything is done, project manager establishes a communication plan describing the information needed and the delivery schedule to keep customers and management informed.

Execution Phase: In this phase, the project plan is being executed (This is where software development life cycle start with developers performs the design, code, test etc.). These activities are continuously monitored and adjusted as needed. The project manager will spend most of their time tracking activities against the plan to make sure that the project is progressing accordingly.

Control Phase: In this phase, the project manager maintains control over the direction of the project by measuring the performance of project activities. There are weekly status reports and milestone reviews identified in the project plan where project manager can monitor the project progress. Status reports are focused on cost, schedule and quality of works. Once all of the tasks have been done, the final software can be produced and when customer accepted the final product, the project is ready for closure.

Closure Phase: In this phase, the major activities are: deliver the final product to the customer; provide documentation to the business; and communicating the closure of the project to management and customers. Project manager also conduct post-project review to examine what went well and what did not. Through this lesson learning, the manager and project team members improve their skills and experiences, which will help future projects.