Hiểu hơn về Project Life Cycle qua lăng kính PMP

Project Life Cycle là gì?

Project life cycle (vòng đời dự án), hay còn có tên gọi khác là development life cycle (vòng đời phát triển), được hiểu một cách đơn giản là những gì bạn cần để làm công việc (work).

Có một khái niệm nữa cũng khá dễ gây confuse là Project Management Life Cycle (vòng đời quản lý dự án) – là những gì bạn cần để quản lý công việc (work).

Theo đinh nghĩa của PMI, một project life cycle là một loạt các phase mà một project sẽ trải qua từ lúc nó bắt đầu cho đến lúc kết thúc. Nó cung cấp một framework căn bản để quản lý dự án. Việc lựa chọn cách tiếp cận nào, thì tùy thuộc vào một số yếu tố như là loại của sản phẩm sẽ được phát triển, lĩnh vực công nghiệp, hoặc sự ưu tiên của tổ chức.

Đọc thêm:

A project life cycle is the series of phases that a project passes through from its start to its completion.

Đây là một minh hoạ cho Project Life Cycle
Hình trên là ví dụ của Project Management Life Cycle.

Project life cycle có thể được phân loại thành: plan-driven (hướng kế hoạch) và change-driven (hướng thay đổi). Trong một project life cycle, thường sẽ có một hoặc nhiều phase liên quan đến việc phát phát triển product, service hoặc result. Những cái này được gọi là development life cycle. Development life cycle có thể là một trong những mô hình dưới đây:

  • Đối với plan-driven, ta có predictive development life cycle (vòng đời phát triển dự đoán).
  • Đối với change-driven, chúng ta có: iterative (lặp), incremental (tăng trưởng) hoặc adaptive (thích nghi) development life cycle.
  • Ngoài ra, còn có hybrid development life cycle, là sự kết hợp giữa predictive và adaptive development life cycle.

Cách phân chia trên đây thì chủ yếu liên quan đến mức độ chi tiết của scope, schedule, cost và cách mà chúng ta sẽ deliver sản phẩm của dự án như thế nào.

Hướng tiếp cận Plan-driven

Như đã nói ở trên, đối với plan-driven, chúng ta chỉ có predictive development life cycle (đôi khi người ta còn gọi là waterfal, hoặc traditional life cycle).

Hướng tiếp cận này đòi hỏi phải có scope, schedule và cost là phải được xác định chi tiết từ đầu dự án, ngay cả trước khi công việc bắt đầu. Trong đó thì scope là đã được fixed, và thông thường thì cost cũng sẽ được fixed.

Một số ví dụ điển hình là các dự án cầu đường, xây dựng, … có yêu cầu đầu vào rõ ràng, hoặc là đã chốt được với các bên hữu quan ngay từ lúc lập kế hoạch dự án.

Hướng tiếp cận Change-driven

Change-driven có thể là Iterative (lặp), Incremental (tăng trưởng) hoặc Adaptive (thích nghi).

Iterative development life cycle

Project scope được xác định ở mức high-level ngay từ đầu dự án, còn schedule và cost thì sẽ được điều chỉnh đều đặn qua từng phase của dự án.

Về cách thức delivery sản phẩm của project, thì đối với model này, các lần lặp (iteration) sẽ phát triển sản phẩm thông qua một loạt các vòng lặp, mà mỗi vòng lặp sẽ tạo ra một phần hay một ít kết quả trung gian hướng tới deliverable (product) cuối cùng của dự án.

Kết thúc mỗi iteration, thì kết quả có thể là sản phẩm trung gian hoặc là sản phẩm mà có thể đưa đến cho người dùng cuối.

Ví dụ, đối với dự án phát triển một website, ở iteration đầu tiên, sẽ focus vào việc tạo prototype, ở iteration tiếp theo thì sẽ focus vào việc thêm các chức năng chi tiết hơn, cho đến cuối cùng là một website hoàn thiện.

Incremental development life cycle

Cũng tương tự như Iterative, nó cũng có scope được xác định ngay từ đầu và schedule, cost sẽ làm rõ hơn trong quá trình chạy qua các phase.

Mô hình này cũng chia dự án thành các iteration, tuy nhiên, kết thúc mỗi iteration, thì sẽ cho ra một sản phẩm có thể dùng được bởi user (shippable product) và cộng thêm vào tổng sản phẩm đã hoàn tất của dự án.

Lấy lại ví dụ website ở trên, thì ở model này ta phải ưu tiên các requirements và phân bổ vào các iteration, và đến cuối cùng, ta sẽ deliver được sản phẩm đầy đủ theo specs của khách hàng.

Adaptive development life cycle

Mô hình này có thể là agile, iterative hoặc incremental. Nó đòi hỏi schedule và cost là đã được fixed. Scope sẽ được xác định lại trước mỗi iteration.

Các biểu đồ trên đây giải thích được điểm khác nhau của hướng tiếp cận predictive (waterfall) và adaptive (agile) trên các phương diện: visibility, ability to change, biz value và risk.

Hybrid development life cycle

Hướng tiếp cận này là sự kết hợp giữa predictive và adaptive life cycle. Có thể là requirements sẽ được fixed theo hướng tiếp cận predictive, còn các phase sau đó sẽ là theo hướng tiếp cận adaptive.

Phân biệt rõ hơn Predictive/Incremental/Iterative/Adaptive Development Life Cycle

Ở trên thì chúng ta đã có định nghĩa về các hướng tiếp cập của development life cycle, tuy nhiên để phân biệt thì cũng không dễ dàng lắm. Ở đây, sẽ chỉ ra một số điểm khác nhau tiêu biểu giữa các loại development life cycle trên.

Các đặc tính của Project Life Cycle

Predictive Iterative/Incremental Adaptive
Yêu cầu (REQs) được làm rõ và baseline trước khi xây dựng sản phẩm Yêu cầu được phát triển theo kiểu “cuốn chiếu”, sau từng lần lặp trong suốt quá trình thực thi dự án Yêu cầu được phát triển thường xuyên liên tục trong quá trình phát triển dự án.
Lập kế hoạch một lần từ đầu cho tất cả deliverables.
Deliver 1 lần, thường ở cuối dự án
Deliver sản phẩm (trung gian hay một phần hoàn thiện sản phẩm dự án) sau mỗi lần lặp (iteration). Deliver từng phần customer-valued subsets thường deliver sau mỗi Sprint/Iteration 2-4 tuần
Thay đổi được hạn chế, được kiểm soát chặt chẽ Thay đổi được đáp ứng và thích nghi sau mỗi lần lặp Thay đổi được đáp ứng và thực hiện theo thời gian thực
Các bên liên quan quan trọng (Key stakehplders) thường tham gia vào đầu, cuối hay những milestones cụ thể Stakeholders tham gia định kỳ sau mỗi khoảng thời gian (iteration) Stakeholders tham gia thường xuyên liên tục trong quá trình vận hành dự án
Rủi ro và chi phí được kiểm soát bảng kế hoạch chi tiết cho dự án với những thông tin biết trước Rủi ro và chi phí được kiểm soát thông qua việc cập nhật kế hoạch sau mỗi lần lặp (iteration) và trên cơ sở hiểu biết mới nhất Rủi ro và chi phí được kiểm soát liên tục và ngay khi có phát sinh trong quá trình phát triển yêu cầu

Phân biệt giữa các loại Life Cycles tiêu biểu

Loại Life Cycle Yêu cầu cho project hay product (REQs) Thời điểm thực hiện Tần suất chuyển giao sản phẩm Mục tiêu chính
Predictive Cố định (fixed) ngay từ đầu dự án Thực hiện 1 lần trong dự án (đầu dự án) Một lần, cuối dự án Quản lý chi phí
Iterative Biến động, thay đổi trong quá trình làm dự án Lặp lại, thực hiện trong suốt quá trình dự án Một lần, cuối dự án Đảm bảo tính đúng đắn của giải pháp
Incremental Biến động trong quá trình làm dự án Thực hiện mỗi lần cho mỗi chu trình Từng ít một, hoàn thiện sau mỗi lần lặp Tăng tốc độ delivery
Agile Biến động trong quá trình làm dự án Lặp lại, thực hiện trong suốt quá trình dự án Từng ít một, hoàn thiện sau mỗi lần lặp Giá trị mang lại cho khách hàng

Vòng đời quá trình phát triển dự án phần mềm

Trên đây, tôi đã giới thiệu về Project Life Cycle, một trong những chủ đề khá dễ gây nhầm lẫn. Ngoài ra, chúng ta còn một số life cycle sau:


St

Category

Tags