Backlog – danh sách những hạng mục tồn đọng

Bài viết

Sprint Backlog là gì?

Sprint Backlog là bảng công việc được Nhóm Phát triển sử dụng để quản lý quá trình phát triển trong một Sprint. Sprint Backlog được Nhóm Phát triển tạo ra trong buổi Lập kế hoạch Sprint và cập nhật trong suốt Sprint. Sprint Backlog chứa danh sách các hạng mục được phát triển trong Sprint và các công việc cần làm tương ứng với từng hạng mục để hoàn thành nó. Một Sprint Backlog cơ bản có cấu trúc như sau:

Sprint Backlog

Cấu trúc của Sprint Backlog

Trong đó, cột “Hạng mục trong Product Backlog” chứa danh sách các hạng mục được phát triển trong Sprint. Cột “Công việc trong Sprint” là danh sách công việc cần thực hiện tương ứng với từng hạng mục Product Backlog. Cột “Ước tính khối lượng công việc ban đầu” chứa giá trị ước tính mà Nhóm Phát triển đã đưa ra ở đầu Sprint. Sau mỗi ngày làm việc, nhóm sẽ cập nhật lại các giá trị này tương ứng với lượng công việc còn lại cần thực hiện cho từng nhiệm vụ. Ví dụ, sau 3 ngày thì Sprint Backlog có thể được cập nhật như sau:

Cập nhật Sprint Backlog

Cập nhật Product Backlog

Các công việc trong Sprint Backlog có thể được cập nhật (thêm, chỉnh sửa, loại bỏ,….) tùy theo tình hình phát triển hiện tại.

Nhóm Phát triển có thể sử dụng công cụ chuyên nghiệp, excel hay các bảng vật lý để thể hiện Sprint Backlog. Lý tưởng nhất vẫn là một bảng vật lý đặt ngay tại không gian làm việc của Nhóm Phát triển để giúp các thành viên luôn luôn nắm rõ được tình hình phát triển của Sprint.

Dựa trên Sprint Backlog, nhóm có thể sử dụng thêm Biểu đồ Sprint Burndown (Sprint Burndown Chart) để thể hiện tiến độ của Sprint qua từng ngày.

Agipedia

Product Backlog

Product Backlog là nơi lưu trữ danh sách các tính năng mong muốn của sản phẩm. Danh sách này được sắp xếp dựa trên độ ưu tiên của từng hạng mục. Các hạng mục có độ ưu tiên cao hơn nằm ở phía trên của danh sách và sẽ được Nhóm Phát triển lựa chọn để đưa vào sản xuất sớm, các hạng mục có độ ưu tiên thấp hơn sẽ nằm ở phía cuối của danh sách và được phát triển muộn hơn.

Product Owner là người chịu trách nhiệm quản lý và bảo trì Product Backlog. Việc này bao gồm xác định nội dung (các hạng mục cần phát triển), đánh giá độ ưu tiên và sắp xếp các hạng mục, làm mịn các hạng mục, làm rõ và giải thích tất cả mọi thắc mắc liên quan đến sản phẩm.

Product Backlog có thể chứa các hạng mục thuộc các loại như:

  • Tính năng sản phẩm
  • Lỗi
  • Công việc liên quan đến kỹ thuật
  • Công việc nghiên cứu

Các hạng mục Product Backlog có thể được mô tả bằng nhiều hình thức khác nhau. Một cách làm phổ biến đó là sử dụng User Story (một User Story là một đoạn mô tả ngắn về tính năng mong muốn của sản phẩm dưới góc nhìn của người dùng, nó có dạng: Là ….. tôi muốn …. để…… Ví dụ: Là khách hàng tôi muốn xem danh sách sản phẩm để chọn mua). Nhưng đây không phải là cách làm duy nhất, mỗi nhóm có thể lựa chọn cho mình hình thức phù hợp, chẳng hạn sử dụng User Case, User Scenario, v.v.. Cho dù nhóm lựa chọn hình thức nào thì cũng cần đảm bảo tính ngắn gọn, súc tích và rõ ràng của từng hạng mục.

Một Product Backlog tốt cần thỏa mãn tiêu chí DEEP, bao gồm:

  • Detailed Appropriately (Đủ chi tiết Hợp lý): Có nghĩa là các hạng mục cần có đủ chi tiết để hiểu đúng, nhưng không có nghĩa là tất cả các hạng mục đều có một mức độ chi tiết như nhau mà chúng được giữ ở mức chi tiết phù hợp. Có nghĩa là, những hạng mục ở trên cùng (sẽ được đưa vào sản xuất sớm) cần có đầy đủ chi tiết ở mức cao nhất, những hạng mục ở phía dưới (sẽ được đưa vào sản xuất muộn hơn) thì chỉ cần giữ ở mức chi tiết cơ bản.
  • Estimated (Được ước tính): Tất cả các hạng mục đều phải được ước tính, bao gồm cả giá trị thương mại và kích thước (lượng nỗ lực cần thiết để xây dựng).
  • Emergent (Tiến hóa): Product Backlog không phải là một danh sách cố định. Nó liên tục được cập nhật và duy trì trong suốt quá trình phát triển dựa theo những hiểu biết học được.
  • Prioritized (Sắp xếp theo độ ưu tiên): Các hạng mục trong Product Backlog cần được sắp xếp theo độ ưu tiên để tối ưu hóa giá trị của công việc phát triển.

Product Backlog là duy nhất, kể cả trong trường hợp có một hay nhiều Nhóm Scrum cùng làm tham gia phát triển sản phẩm.

Sprint Backlog

Sprint Backlog là bảng công việc được Nhóm Phát triển sử dụng để quản lý quá trình phát triển trong một Sprint. Sprint Backlog được Nhóm Phát triển tạo ra trong buổi Lập kế hoạch Sprint và cập nhật trong suốt Sprint. Sprint Backlog chứa danh sách các hạng mục được phát triển trong Sprint và các công việc cần làm tương ứng với từng hạng mục để hoàn thành nó. Một Sprint Backlog cơ bản có cấu trúc như sau:

Sprint Backlog

Cấu trúc của Sprint Backlog

Trong đó, cột “Hạng mục trong Product Backlog” chứa danh sách các hạng mục được phát triển trong Sprint. Cột “Công việc trong Sprint” là danh sách công việc cần thực hiện tương ứng với từng hạng mục Product Backlog. Cột “Ước tính khối lượng công việc ban đầu” chứa giá trị ước tính mà Nhóm Phát triển đã đưa ra ở đầu Sprint. Sau mỗi ngày làm việc, nhóm sẽ cập nhật lại các giá trị này tương ứng với lượng công việc còn lại cần thực hiện cho từng nhiệm vụ. Ví dụ, sau 3 ngày thì Sprint Backlog có thể được cập nhật như sau:

Cập nhật Sprint Backlog

Cập nhật Product Backlog

Các công việc trong Sprint Backlog có thể được cập nhật (thêm, chỉnh sửa, loại bỏ,….) tùy theo tình hình phát triển hiện tại.

Nhóm Phát triển có thể sử dụng công cụ chuyên nghiệp, excel hay các bảng vật lý để thể hiện Sprint Backlog. Lý tưởng nhất vẫn là một bảng vật lý đặt ngay tại không gian làm việc của Nhóm Phát triển để giúp các thành viên luôn luôn nắm rõ được tình hình phát triển của Sprint.

Dựa trên Sprint Backlog, nhóm có thể sử dụng thêm Biểu đồ Sprint Burndown (Sprint Burndown Chart) để thể hiện tiến độ của Sprint qua từng ngày.