PMA – Professional Management Academy

Sức Mạnh của Epic trong Agile: Xây Dựng và Quản Lý Dự Án Hiệu Quả

suc-manh-cua-epic-trong-agile

Cập nhật lần cuối vào 13/12/2023 bởi Nguyễn Quang Hoàng

Quản lý dự án Agile không chỉ đơn giản là một xu hướng mà là một yếu tố quyết định sự thành công của nhiều dự án. Trong bài viết này, chúng ta sẽ đào sâu vào khám phá về sức mạnh của Epic, công cụ quan trọng giúp xây dựng và quản lý dự án một cách hiệu quả trong phương pháp Agile. Hãy cùng nhau tìm hiểu về lợi ích, cách viết, và cách quản lý Epic trong Agile.

Epic nghĩa là gì?

Ngày nay, “Epic” có thể được sử dụng như một tính từ thông dụng để miêu tả điều gì đó ấn tượng. Một trong những định nghĩa của Merriam-Webster là “một chuỗi các sự kiện hoặc truyền thống được cho là tạo nên đề tài chính của một Epic.” Điều này liên quan chặt chẽ đến một Epic trong quản lý dự án theo phương pháp Agile.

Epic trong phương pháp Agile là gì?

Trong phương pháp Agile, một Epic đề cập đến một công việc lớn (Large user story), quá lớn để hoàn thành trong một chu kỳ làm việc hay sprint duy nhất. Epic hoạt động như một bảng chứa cho các user stories liên quan, giúp tạo nên cấu trúc và hệ thống bậc thang trong các mục tiêu của sản phẩm. 

Cách trình bày Epic trong Agile cũng sử dụng hình thức giống như trình bày user story (ví dụ: As a…, I want…, So that/ In order to a…, I want). Một số nhóm dự án khác thể hiện Epic dưới dạng nhưng cụm phát biểu ngắn (short phrase)

Cấu trúc trình bày của Epic

Mặc dù không thuộc chính thức vào Scrum, Epic được coi là một công cụ tùy chọn trong Agile, giúp phân chia công việc thành các phần nhỏ hơn mà nhóm Scrum có thể giải quyết trong mỗi chu kỳ làm việc.

Giống như các chương trong một cuốn sách, User Story được tích hợp trong các Epic và cuối cùng tạo nên Epic. User Story được cho là cách truyền thống nhất để chia Epic lớn thành các phần nhỏ hơn, mặc dù không phải là cách duy nhất.

Các nhóm Scrum sử dụng Epic có thể thể hiện các phần công việc nhỏ hơn dưới dạng các hạng mục tồn đọng của sản phẩm. Đồng thời Epic cho phép nhóm dự án theo dõi những ý tưởng lớn, chưa chi tiết trong backlog mà không cần phải tạo ra quá nhiều hạng mục backlog. 

Epic có lợi ích chính gì trong phương pháp Agile? 

Việc sử dụng Epic trong phương pháp Agile mang lại nhiều lợi ích quan trọng đóng góp vào sự thành công và linh hoạt của dự án. Dưới đây là một số lợi ích chính:

  1. Theo dõi các ý tưởng mơ hồ trong Backlog
    • Epic giúp theo dõi ý tưởng lớn, chưa rõ ràng trong backlog mà không làm quá tải backlog với nhiều mục.
    • Ghi nhớ ý tưởng mơ hồ với một mục backlog cho đến khi nhóm cần triển khai kết quả mà Epic hỗ trợ.
  2. Tổ chức hiệu quả
    • Epic giúp tạo ra một cơ chế tổ chức chặt chẽ cho ý tưởng và user stories, giữ chúng được sắp xếp một cách có hệ thống trong một nơi.
    • Nhóm có thể dễ dàng theo dõi và quản lý các ý tưởng quan trọng và đảm bảo rằng không có yêu cầu quan trọng nào bị bỏ sót.
  3. Thiết lập cấp độ ưu tiên cho backlog items:
    • Chia Epic thành các sprint giúp xây dựng lịch dự án một cách hiệu quả.
    • Sử dụng story points để đánh giá độ khó của từng sprint, tăng cường độ chính xác trong ước lượng thời gian và giúp đảm bảo rằng các mục tiêu thời gian được duy trì.
  4. Rõ ràng về ưu tiên của khách hàng:
    • Epic đóng vai trò là một công cụ để đảm bảo rằng nhóm Agile đang hoàn toàn hiểu về nhu cầu của khách hàng.
    • User stories cụ thể liên quan đến Epic giúp loại bỏ sự nhầm lẫn và đảm bảo rằng tất cả các bên đều đồng thuận về sản phẩm cuối cùng.

Rủi ro phổ biến khi sử dụng Epic là gì?

Các nhóm có thể làm phức tạp việc sử dụng Epic khi xem chúng không chỉ là những user story lớn. Điều này trở nên rõ ràng khi nhóm tạo ra những cơ chế phức tạp để phân biệt giữa Epic và user story (cũng như các cấp độ backlog khác nếu có) và tạo ra các công cụ mở rộng để theo dõi Epic một cách riêng biệt so với các mục backlog khác.

Cả hai hành động này đều dẫn đến việc lãng phí nỗ lực trong việc xác định xem một điều gì đó có phải là Epic hay user story, và thời gian được tiêu tốn để theo dõi thông tin về một mục backlog. 

Nhóm cũng có thể cố gắng ước lượng Epic mặc dù những mục này thường rất mơ hồ và dễ xảy ra nhiều không chắc chắn, giảm khả năng có được các ước lượng đáng tin cậy hoặc hữu ích.

Epic đã hỗ trợ Countinous Value Driven như thế nào?

“The Epic is intentionally broad. Light on details, the Epic is flexible.” 

Epic được phân chia thành các phần nhỏ hơn của công việc. Nhóm của bạn có thể gọi chúng là các mục sản phẩm trong backlog, user stories, issues, hoặc một cái gì khác.

Khi điều kiện hoặc yêu cầu của khách hàng thay đổi theo thời gian, những phần nhỏ này có thể được sửa đổi, loại bỏ, hoặc thêm vào backlog sản phẩm của nhóm mỗi sprint. Theo cách này, Epic trở nên linh hoạt. Nó chỉ định hướng mà không đầu tư quá nhiều vào kế hoạch và chi tiết.

Thay vì đối mặt với toàn bộ Epic một lần với một hạn chót trong vài tháng, bạn và đồng đội của bạn cung cấp Increments (những đơn vị giá trị) nhỏ đến khách hàng, người dùng, hoặc bên liên quan mỗi sprint. Khi họ cần thay đổi, bạn có thể dễ dàng điều chỉnh kế hoạch.

Ngược lại, công việc của bạn có thể trở nên vô ích nếu nhóm đối mặt với toàn bộ Epic một lần, chỉ để cuối cùng phát hiện ra rằng các thay đổi đã làm cho Epic trở nên lạc hậu.

Làm sao để viết được một Epic? 

Luôn là một ý tưởng tốt khi viết User Stories sau khi đã viết một Epic. Có nhiều cách để viết một Epic, nhưng có 5 phần được yêu cầu trong tất cả Epic

Bước 1: Gọi tên Epic

Trước khi bắt đầu lên kế hoạch chi tiết về Epic, việc đưa ra một tên gọi thống nhất và rõ ràng là rất quan trọng.
Tên nên chỉ ra Epic chứa đựng gì hoặc nói về cái gì. Đó có thể là một cụm từ ngắn mô tả tổng quát mục tiêu chiến lược. Ví dụ, tên Epic có thể đọc như “Đơn giản hóa các quy trình gia công.” Ở đây, cần có sự rõ ràng đầy đủ và không có sự nhầm lẫn về mục tiêu chiến lược, điều này sẽ giảm đáng kể khả năng nhầm lẫn giữa các thành viên trong nhóm.

Bước 2: Viết Narrative (bản tường thuật) mô tả về Epic

Một Narrative ngắn mô tả chính xác những gì kỳ vọng đạt được từ Epic. Nó cần dễ hiểu và chứa ít nhất 3 yếu tố để mô tả về một Epic:

  • WHO: Sản phẩm này phục vụ nhu cầu của khách hàng hoặc thu hút người dùng mới. Bạn đang thêm tính năng vào một sản phẩm hiện tại để đáp ứng yêu cầu của khách hàng, hay bạn đang ra mắt một cái gì đó mới để lợi ích cho khách hàng mới? Tóm lại, Narrative nên mô tả sản phẩm này dành cho ai
  • WHAT: Mục tiêu của dự án là gì? Bạn muốn đạt được điều gì từ nó? Những câu hỏi này phải được trả lời khi viết một Epic. 
  • WHY: Tại sao sản phẩm này được thực hiện? Nó sẽ mang lại giá trị gì? Điều này nhấn mạnh sự cần thiết của sản phẩm. Có nên mô tả giá trị đằng sau mục tiêu chiến lược.

Bước 3: Đặt phạm vi cho Epic

Sau khi đã viết Narrative, bản cần thiết lập phạm vi công việc cần thực hiện và giới hạn trong Epic sẽ triển khai. Nếu nhóm của bạn rõ ràng về phạm vi, sẽ ít khả năng bị lạc hướng.

Nhìn lại Tên đã cung cấp cho Epic trong ví dụ, “Đơn giản hóa quy trình gia công,” phạm vi có thể được xác định bằng cách chỉ định quy trình gia công nào cần tập trung và những bước nào có thể được loại bỏ hoặc đơn giản hóa. Khi phạm vi rõ ràng, nó sẽ tiết kiệm thời gian và công sức, với sự tập trung chỉ vào những thứ có thể được giao.

Bước 4: Xác định Định nghĩa Hoàn thành cho Epic

Nhóm của bạn nên biết Định nghĩa khi nào Epic đã hoàn thành. Acceptance Criteria sẽ như thế nào để xem xét Epic đã hoàn thành?  (Acceptance Criteria không phải là các công việc và không hướng dẫn về quá trình xây dựng một tính năng hoặc sản phẩm.)

Trong ví dụ của chúng ta, Acceptance Criteria có thể như sau: 

  • Người sử dụng cuối cùng chấp nhận các thay đổi trong quy trình gia công.
  • Có sự giảm thiểu trong thất thoát thời gian.
  • Năng suất đã cải thiện.

Bước 5: Chia nhỏ Epic thành các User Story

Bước cuối cùng trong việc viết một Epic là chia nó thành các User Story. Lý do để thêm giai đoạn này ở đây là trước khi bạn bắt đầu triển khai Epic, việc quan trọng là phải chia nó thành các User Story nhỏ hơn. Bạn sẽ có các Narrative nhỏ hơn của một Epic từ Acceptance Criteria của nó. Như trong ví dụ của chúng ta, có 3 User Stories. Có thể có nhiều hoặc ít Narrative hơn trong mỗi Epic theo Acceptance Criteria. 

Quản lý Epic như thế nào?

Một trong những cách mà các nhà quản lý dự án theo phương pháp Agile áp dụng để quản lý dự án và Epic là thông qua bảng Kanban. Một bảng Kanban có cấu trúc tốt giúp tăng cường sự minh bạch, kết nối bước kế hoạch với việc thực hiện, và cho phép linh hoạt. Dưới đây là các bước phổ biến để liên kết một Epic lên bảng Kanban.

  1. Hiển thị Epic của bạn trên bảng Kanban, nơi mà đội đã xác định tất cả các bước quy trình.
  1. Cho phép các nhóm khác nhau phân rã Epic thành nhiều công việc cụ thể (User Story) sẽ thúc đẩy mỗi Epic.

Với bảng Kanban, các nhóm có thể đạt được sự minh bạch cao bằng cách hiển thị đồng thời Epic và các User Story tương ứng. Việc tạo kết nối này giúp phân chia công việc mà không làm vượt ra khỏi tầm nhìn của mục tiêu đã đặt ra.

Bảng Kanban

Ví dụ trong hình ảnh là cấu trúc bảng Kanban của một Procurement team. Phương pháp Kanban chú trọng vào việc sử dụng visualization để xây dựng một hệ thống quản lý công việc một cách hiệu quả và thống nhất.

Làm sao để Đo lường và Theo dõi Epic trong Agile?

Sự thành công của mỗi epic trong môi trường Agile phụ thuộc vào việc theo dõi, đo lường và nắm bắt khả năng dự báo thời gian của nó. Tùy thuộc vào phương pháp Agile được đội áp dụng, có hai phương pháp rộng rãi để đo lường epic.

Các đội Agile sử dụng framework Scrum thường sử dụng biểu đồ Burndown để theo dõi thực hiện epic và các Stories của họ. Ngược lại, người dùng Kanban sử dụng chỉ số throughput để xác định tốc độ delivery trung bình của đội về User Stories, công việc hoặc epic dựa trên dữ liệu lịch sử.

Phương pháp Kanban cung cấp các công cụ quý giá như biểu đồ Cumulative Flow, giúp cung cấp thông tin về cách đội thực hiện và sự ổn định của quy trình làm việc để bạn có thể đưa ra dự báo dựa trên dữ liệu.

Hãy xem cách phương pháp Scrum và Kanban hoạt động trong thực tế.

Biểu đồ Burndown

Một biểu đồ đơn giản theo dõi tiến triển công việc của một nhóm so với thời gian còn lại để hoàn thành công việc.
Biểu đồ Burndown thông báo cho đội về lượng công việc liên quan đến một Epic đã hoàn thành và bao nhiêu Stories còn chưa hoàn thành. Biểu đồ này giúp các quản lý dự án Agile ước lượng và giám sát lượng công việc mà đội Scrum có thể hoàn thành trong một sprint duy nhất.

Nó cũng có thể được sử dụng để dự đoán cần bao nhiêu sprint để hoàn thành một epic. Mặc dù biểu đồ này rất phổ biến trong các đội Agile, nhưng nó thiếu khả năng cung cấp thông tin về nguyên nhân của các rào cản dự án, chẳng hạn như thay đổi yêu cầu, chặn quy trình, v.v.

Biểu đồ Burndown

Biểu đồ Cumulative Flow

Biểu đồ Cumulative Flow trong Kanban hình dung toàn bộ quy trình làm việc của bạn và hiển thị dữ liệu lịch sử tích lũy về tỷ lệ tiến công của đội, thời gian chu kỳ và công việc đang tiến triển. Biểu đồ này giúp đội Agile giám sát sự ổn định của quy trình làm việc bằng cách hình dung các chỉ số quy trình làm việc quan trọng nhất.

Biểu đồ này mở khóa thông tin về vấn đề trong quy trình và hỗ trợ để giảm thiểu thời gian chu kỳ trung bình, quản lý giới hạn công việc đang tiến hành tốt hơn và tăng cường công suất của nhóm. Biểu đồ Cumulative Flow là một trong những công cụ phân tích nổi bật nhất cho quản lý dự án Agile.

Biểu đồ Cumulative Flow

Trên hành trình của chúng ta trong thế giới của Epic và Agile, chúng ta đã chiêm nghiệm những cơ hội và thách thức của việc quản lý công việc lớn. Epic không chỉ là một khái niệm lịch sử mà còn là một công cụ đắc lực trong tay những người quản lý dự án Agile.

Việc phân tích, đo lường và theo dõi Epic không chỉ là quan trọng cho sự thành công của dự án mà còn mang lại sự linh hoạt cần thiết để đối mặt với những biến động không ngừng trong thế giới phần mềm hiện đại. Chúng ta hãy tiếp tục khám phá và áp dụng những kiến thức này để đưa dự án của chúng ta đến những tầm cao mới.

Kết luận

Sức mạnh của Epic không chỉ là ở việc giúp định rõ chiến lược mà còn ở khả năng thích ứng với thay đổi và giữ cho dự án luôn tiến triển theo hướng đúng. Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về cách sử dụng Epic trong quản lý dự án Agile và làm thế nào nó có thể đóng góp vào sự thành công của dự án của bạn. Hãy áp dụng những kiến thức này vào công việc của bạn và trải nghiệm sức mạnh thực sự của Epic trong môi trường Agile.