Quy hoạch dự án theo Scrum

Mô hình Scrum là một phương pháp tổ chức công việc linh hoạt và hướng mục tiêu. Nó tập trung vào việc tạo ra giá trị cho khách hàng bằng cách tối đa hóa sự tương tác và sự phản hồi giữa các thành viên trong nhóm phát triển của doanh nghiệp và khách hàng.

Ngày nay, Scrum ngày càng trở nên phố biến vì tính linh hoạt và khả năng ứng dụng rất rộng. Nó có thể áp dụng được vào nhiều công việc khác nhau như quản trị dự án, phát triển sản phẩm, thực hiện chiến dịch marketing hay các công việc cá nhân khác.

Để tìm hiểu thêm về mô hình này, bạn có thể đọc thêm tại bài viết: Giới thiệu về mô hình Scrum.

Một số định nghĩa

Các khái niệm dưới đây là các thuật ngữ cơ bản, được sử dụng trong một dự án Agile theo mô hình Scrum:

Epic

Epic là một đầu việc lớn dựa trên các nhu cầu/yêu cầu của khách hàng hoặc người dùng cuối. Epic thường chứa đựng cả một lượng lớn các công việc không thể hoàn thành trong một sprint. Do đó, Epic có thể được bóc nhỏ thành các công việc nhỏ hơn (User Stories).

Một Epic cần có ý nghĩa gắn liền với một mục tiêu cụ thể của dự án và trả lời được các câu hỏi:

  • Who: Mang lại lợi ích cho ai?

  • What: Giúp người đó làm được những gì?

  • Why: Tại sao khách hàng hoặc người dùng cuối lại cần nó?

User Story (US)

User Story là các yêu cầu được viết dưới góc nhìn của người dùng cuối.

Trong quá trình thực hiện dự án, các User Story đóng vai trò như công cụ giao tiếp giữa nhà phát triển và khách hàng, đồng thời cũng là giới hạn phạm vi của dự án.

Thông thường, một User Story có dạng: Là một <vai trò người dùng>, tôi muốn <một số mục tiêu> để <một số lý do>. Trong đó:

  • <Vai trò người dùng>: Phải là một người/nhóm người thực tế. Vì các giải pháp đưa ra đều nhằm mục đích giải quyết vấn đề của người dùng.

  • <Một số mục tiêu>: Là vấn đề của người dùng cuối cần được giải quyết (Problem Space), không phải các tính năng mà sản phẩm đáp ứng.

  • <Một số lý do>: Giá trị mang lại (benefit) cho người dùng cuối khi giải quyết được vấn đề trên.

Khái niệm về Epic và User Story

Điểm (Story Point)

Điểm là thước đo tương đối về quy mô của các nhiệm vụ trong cùng một dự án.

Điểm cho mỗi công việc được đánh giá dựa trên các yếu tố: độ lớn, độ phức tạp và độ rủi ro của công việc đó. Việc đánh giá này được thực hiện bởi tất cả thành viên của nhóm phát triển sản phẩm.

Giai đoạn nước rút (Sprint)

Giai đoạn nước rút là các giai đoạn, chu trình ngắn để tạo ra một giá trị hoàn chỉnh, có độ dài từ một đến bốn tuần.

Trong một dự án, các giai đoạn nước rút diễn ra nối tiếp nhau đến khi dự án hoàn thành. Mỗi giai đoạn nước rút đều có mục tiêu (sprint goal) và mục tiêu này không đổi trong suốt quá trình thực hiện.

Khái niệm về Sprint trong dự án Scrum

Nhóm Scrum

Nhóm Scrum là nhóm các thành viên thực hiện các công việc trong dự án/sprint. Một nhóm scrum gồm có:

  • Product Owner (PO): là người đại diện cho người ra yêu cầu với nhóm scrum. PO chịu trách nhiệm đảm bảo truyền đạt rõ ràng các yêu cầu của sản phẩm hoặc dịch vụ cho nhóm scrum, xác định các tiêu chí chấp nhận và đảm bảo cho các tiêu chí đó được đáp ứng. PO cần phải hiểu nhu cầu và mức độ ưu tiên của các nhu cầu của khách hàng và người dùng cuối.

  • Scrum Master (SM): là người điều phối, tổ chức hoạt động trong nhóm scrum, có trách nhiệm truyền đạt lý thuyết và kỹ thuật Scrum để đảm bảo các thành viên trong nhóm hoạt động theo đúng quy trình Scrum. SM giúp các thành viên trong nhóm tương tác với nhau, loại bỏ các trở ngại để các thành viên tập trung vào các mục tiêu của giai đoạn nước rút hoặc dự án.

  • Nhà phát triển: là một nhóm các cá nhân trực tiếp làm ra sản phẩm cho dự án. Trong dự án, dựa trên yêu cầu về sản phẩm, các nhà phát triển có quyền tự định hướng và lựa chọn phương thức thực hiện để đạt được kết quả cuối cùng.

Mỗi Nhóm Scrum đều có 2 đặc điểm:

  • Tự quản: Các thành viên trong nhóm chủ động thảo luận và thống nhất mọi công việc của nhóm. Không có người nào phân công công việc cho ai.

  • Liên chức năng: Các thành viên trong một nhóm có đủ kỹ năng, kiến thức cần thiết để hoàn thành toàn bộ công việc của một sprint/dự án.

Khái niệm về Scrum team trong dự án

Ghi chú

Mỗi dự án có thể được thực hiện bởi nhiều nhóm Scrum.

Định nghĩa Hoàn thành

Định nghĩa Hoàn thành (DoD) là một danh sách các yêu cầu mà các User Story phải tuân theo nếu một Nhóm Scrum muốn tuyên bố đã hoàn thành công việc đó. Các yêu cầu này được thống nhất và công bố chính thức đến tất cả thành viên của Nhóm Scrum để đảm bảo tính minh bạch.

Nếu một Product Backlog không đáp ứng Định nghĩa Hoàn thành, thì nó không thể được phát hành hoặc thậm chí không được trình bày tại Sprint Review.

Định nghĩa Hoàn thành giúp xây dựng sự hiểu biết chung trong nhóm về tiêu chí đánh giá một công việc là hoàn thành, đảm bảo rằng các sản phẩm được thực hiện trong giai đoạn nước rút có chất lượng cao và chất lượng đó được tất cả mọi người tham gia hiểu rõ.

Tiêu chí chấp nhận

Tiêu chí chấp nhận (AC) là các điều kiện cụ thể mà một sản phẩm cần phải đáp ứng để có thể được chấp nhận. Tiêu chí này được xác định trước khi bắt đầu làm việc và được sử dụng để đánh giá tính hoàn thiện của sản phẩm hoặc tính năng.

Tiêu chí chấp nhận thường được sử dụng trong quá trình lập kế hoạch sprint và được đưa vào product backlog để đảm bảo rằng đội phát triển hiểu rõ yêu cầu của khách hàng và có thể đáp ứng chúng trong quá trình phát triển sản phẩm. Tiêu chí chấp nhận cũng được sử dụng để định nghĩa các bài kiểm tra cho tính năng và là một phần quan trọng của quy trình kiểm thử sản phẩm trong Scrum.

Quy hoạch dự án theo Scrum

Để thực hiện theo bài viết này, bạn cần cài đặt các module:

Để quy hoạch một dự án với mô hình Scrum, bạn cần thực hiện theo các bước sau:

Thiết lập dự án và xác định nguồn lực của dự án

Tạo Định nghĩa Hoàn thành

Truy cập Dự ánCấu hìnhTiêu chí DoD, ấn Mới để tạo một định nghĩa hoàn thành.

Tạo Định nghĩa Hoàn thành
  • Tiêu đề: Tên của công việc cần làm.

  • Miêu tả: Miêu tả cụ thể về công việc cần làm.

Tạo Nhóm Scrum

Truy cập Dự ánCấu hìnhTiêu chí DoD, ấn Mới để tạo một định nghĩa hoàn thành.

Tab Thành viên Scrum trên giao diện nhóm scrum
  • Tên: Tên nhóm Scrum.

  • Scrum Master: Chọn Scrum Master cho nhóm.

  • PO nhóm Scrum: Chọn Product Owner cho nhóm.

  • Miêu tả: Miêu tả thêm thông tin về nhóm. Ví dụ: Kỹ năng, lĩnh vực, điểm mạnh điểm yếu, v.v.

  • Thời gian dư địa của Team: Lượng thời gian trung bình từ ngày kết thúc đến hạn chót nhiệm vụ của đội hiện tại, được phần mềm tự động tính toán và cập nhật.

  • Dự án: Chọn các dự án mà nhóm Scrum này tham gia thực hiện.

  • Tốc độ: Số điểm tương ứng với công việc của nhiệm vụ mà nhóm scrum hoàn thành trung bình trong một giờ, được tính toán và cập nhật tự động bới phần mềm.

  • Tab Thành viên Scrum: Danh sách các thành viên của nhóm scrum.

  • Tab User Story: Các User Story trong dự án mà team này thực hiện.

Tab User Story trên giao diện nhóm scrum

Tạo Dự án

Truy cập Dự ánDự án, ấn nút Mới để tạo một dự án.

Tạo dự án trên phần mềm Viindoo
  • Tab Định nghĩa hoàn thành, ấn Thêm một dòng:

    • Tiêu chí DoD: Chọn một Tiêu chí DoD đã được tạo trước đó.

    • Tiêu đề: Điền để tạo một định nghĩa hoàn thành dành riêng cho dự án này.

    • Điểm: Điểm của định nghĩa hoàn thành này (công việc này).

    • Trọng số: Trọng số của định nghĩa hoàn thành này trong dự án.

    • Miêu tả: Mô tả chi tiết về định nghĩa hoàn thành.

Tab Định nghĩa hoàn thành trên giao diện Dự án
  • Tab Nhóm Scrum: Chọn các nhóm Scrum tham gia thực hiện dự án.

Tab nhóm scrum trên giao diện Dự án

Mẹo

Bạn có thể xem thêm các thiết lập khác của dự án tại bài viết: Hướng dẫn tính năng cơ bản của ứng dụng Dự án

Xây dựng Backlog (Lập danh sách các công việc cần làm)

Product Backlog là danh sách các giá trị mà dự án cần mang lại và phản ánh qua các Epic. Danh sách này được sắp xếp theo thứ tự ưu tiên và dựa trên đánh giá của Product Owner. Backlog này bao gồm các Epic, Epic phân nhỏ thành các User Story và đưa vào từng Sprint để Nhóm Scrum thực hiện.

Tạo Epic

Trên giao diện dự án, ấn biểu tượng ba chấm và chọn Sprints, ấn nút Mới.

Tạo Epic
  • Tiêu đề: Tóm tắt ngắn gọn Epic.

  • Dự án: chọn dự án Epic này thuộc về.

  • Người chịu trách nhiệm: Người chịu trách nhiệm quản lý, điều phối Epic.

  • Ngày dự kiến: Ngày dự kiến thực hiện Epic.

  • Tiến trình: Tiến độ hoàn thành của Epic. Tự động tính toán dựa trên tiến độ hoàn thành của các User Story thuộc Epic này.

  • Tốc độ: Số điểm tương ứng với công việc của nhiệm vụ của Epic hiện tại mà người được giao hoàn thành trung bình trong một giờ.

  • Thẻ: Các từ khóa, nhóm đánh dấu với mục đích phân loại, tìm kiếm các Epic.

  • Ưu tiên: Mức độ cần thiết của Epic. Bao gồm: Ưu tiên Thấp, Ưu tiên Cao, Ưu tiên Khẩn cấp.

  • Lượng thời gian dư địa: Tự động tính toán trung bình chênh lệch giữa số ngày hoàn thành các nhiệm vụ sớm và muộn so với Hạn chót của người dùng đang xem trong Epic hiện tại.

Tạo User Story

Trên giao diện dự án, ấn biểu tượng ba chấm và chọn Sprints, ấn nút Tạo.

Tạo User Story
  • Tiêu đề: Tóm tắt ngắn gọn User Story.

  • Product Owner: Là Product Owner của Epic mà User Story này thuộc về.

  • Dự án: Dự án mà US này thuộc về.

  • Epic: Epic mà US này thuộc về.

  • Nhóm Scrum: nhóm Scrum thực hiện US này.

  • Mẫu DoD: các mẫu DoD chung cho US này. Sau khi chọn mẫu DoD, các Tiêu chí DoD sẽ tự động được thêm vào US.

  • Tóm lược: Nội dung chi tiết của US. Có thể viết dưới dạng Là một <vai trò người dùng>, tôi muốn <một số mục tiêu> để <một số lý do>.

  • Hạn chót: Thời gian US cần hoàn thành.

  • Ngày dự kiến: Thời gian dự kiến thực hiện US. Khoảng thời gian này phải nằm trong khoảng thời gian thực hiện Epic của US.

  • Thẻ: Các từ khóa, nhóm đánh dấu với mục đích phân loại, tìm kiếm các US.

  • Kế hoạch đánh giá Poker: Poker kế hoạch cho US này.

  • Điểm: Điểm của US.

  • Ưu tiên: Mức độ ưu tiên của US trên tống số US của dự án.

  • Tiến trình: Tự động tính toán tiến độ hoàn thành của US dựa vào các định nghĩa hoàn thành của nó.

  • Tốc độ: Số điểm trung bình mà những người tham gia thực hiện US này hoàn thành trong mỗi giờ.

  • Lượng thời gian dư địa: Tương tự với Epic.

  • Tab Miêu tả: Mô tả thêm để làm rõ yêu cầu của US hoặc các ghi chú trong quá trình thực hiện US.

  • Tab Định nghĩa hoàn thành: Danh sách các Tiêu chí DoD cho US này.

Thêm DoD vào US
  • Tab Tiêu chí Chấp nhận: Danh sách tiêu chí chấp nhận của US này.

Thêm AC vào US
  • Tab Sprint: Hiển thị các Sprint mà US này thực hiện.

Thêm AC vào US

Đánh giá điểm cho User Story bằng phương pháp Planning Poker

Planning Poker là một trong những phương pháp đánh giá điểm cho các US trong một dự án Agile theo mô hình Scrum. Phương pháp này dựa trên sự đồng thuận, kỹ thuật gamified để đưa ra con số ước tính. Trong đó, các thành viên của dự án sẽ cùng thảo luận và thống nhất một kết quả cuối cùng.

Thông thường, điểm của User Story sẽ được ước tính dựa trên dãy số Fibonacci.

Truy cập Dự ánPlanning Poker, ấn Mới.

Tạo Poker kế hoạch cho các US
  • Tên: Tên kế hoạch poker này.

  • Dự án: Dự án của các User Story mà nhóm muốn đánh giá.

  • Loại trừ giai đoạn: Các User Story nằm trong giai đoạn này sẽ không được thêm vào để đánh giá điểm.

  • User Stories: Các User Story trong dự án cần đánh giá điểm.

  • Người tổ chức: Người tổ chức phiên đánh giá này.

  • Người chơi: Những người tham gia đánh giá.

  • Thêm thành viên nhóm Scrum: Tích chọn để tự động thêm các thành viên nhóm scrum vào danh sách Người chơi.

Cách Planning Poker:

  • Bước 1: Ấn Bắt đầu để tạo các thẻ bài chứa User Story cho các người chơi. Ấn nút Bài của Tôi để xem các User Story. Tại giai đoạn này, Product Owner sẽ mô tả các yêu cầu và cùng làm rõ yêu cầu với các thành viên team.

Planning Poker bước 1 Planning Poker bước 1
  • Bước 2: Sau khi các thành viên hiểu rõ về các User Story, các thành viên kéo thả các User Story vào các cột điểm tương ứng để ước lượng điểm cho User Story.

Planning Poker bước 2
  • Bước 3: Ấn Đánh giá để xem kết quả đánh giá của các thành viên trong nhóm.

Planning Poker bước 3
  • Bước 4: Thảo luận và đánh giá đến khi tất cả thành viên đồng thuận điểm được đánh giá cho User Story. Sau đó ấn Chấp thuận để áp dụng điểm cho các User Story.

Planning Poker bước 4

Sau khi chấp thuận, trên giao diện của User Story, điểm được tự động cập nhật.

US Point tự động cập nhật

Thiết lập các Sprint cho dự án

Trên giao diện dự án, ấn biểu tượng ba chấm và chọn Sprints, ấn nút Mới.

Tạo sprint cho dự án
  • Tên: Tên sprint. Ví dụ: sprint 1.

  • Ngày dự kiến: Thời gian thực hiên của sprint này.

  • Lượng thời gian dư địa: Tự động tính toán trung bình chênh lệch giữa số ngày hoàn thành các nhiệm vụ sớm và muộn so với Hạn chót của người dùng trong sprint này.

  • Tab Miêu tả: Mô tả thêm về sprint. Ví dụ: mục tiêu sprint, đánh giá, v.v.

  • Tab User Story: Danh sách các US thực hiện trong sprint này.

Tạo sprint cho dự án

Sau khi xây dựng danh sách các công việc cần làm cho dự án, các thành viên của Nhóm Scrum sẽ thống nhất phân bổ nhiệm vụ (tạo backlog cho từng sprint). Các nhà phát triển sẽ chủ động tạo nhiệm vụ để hoàn thành công việc của mình và kết thúc giai đoạn lập kế hoạch cho dự án.