Sprint Backlog là gì? Hiểu đúng để không làm sai

Sprint Backlog là 1 phần của Sprint vậy nên trước khi tìm hiểu sâu về sprint backlog hãy cùng Học Viện Agile tìm hiểu về Sprint nhé.

Sprint là gì?

Sprint trong Scrum là khoảng thời gian mà Nhóm Scrum tiến hành tất cả các hoạt động cần thiết để sản xuất được một phần tăng trưởng có khả năng chuyển giao được.

Sprint được đóng khung thời gian, có độ dài không quá một tháng và nhất quán trong suốt quá trình phát triển. Sprint ngắn gia tăng tính thích ứng với thay đổi và giảm thiểu rủi ro nhưng tăng chi phí quản lý (thời gian cho các cuộc họp tăng lên). Các Sprint diễn ra liên tiếp nhau mà không bị gián đoạn.

Các hoạt động trong một Sprint

Sprint chứa và bao gồm buổi Lập kế hoạch Sprint (Sprint Planning), các cuộc Họp Scrum hằng ngày (Daily Scrum), một buổi họp Sơ kết Sprint (Sprint Review) và một buổi họp Cải tiến Sprint (Sprint Retrospective).

 

  • Lập kế hoạch Sprint: 

Một Sprint bắt đầu bằng buổi Lập kế hoạch Sprint để xác định Mục tiêu Sprint và lên kế hoạch các công việc cần thực hiện. Sjw kiện này được chia làm 2 phần: Phần thứ nhất để lựa chọn các công việc cần làm trong Sprint và Phần thứ 2 để quyết định cách thức hoàn thành các công việc đã lựa chọn trước đó.

Toàn bộ buổi Lập kế hoạch Sprint sẽ lần lượt trả lời các câu hỏi: “Mục tiêu của Sprint này là gì?”, “Sprint này phải chuyển giao cái gì?”, “Làm sao để đạt được điều đó?”

  • Scrum hằng ngày: 

Scrum hằng ngày là một nghi thức quan trọng diễn ra đều đặn hằng ngày. Đây là một buổi trao đổi ngắn không kéo dài quá 15 phút với mục đích giúp các Nhà Phát triển đồng bộ công việc và lập kế hoạch cho ngày làm việc tiếp theo.

Buổi Scrum Hằng ngày nên được diễn ra tại một địa điểm và khung thời gian cố định để giảm thiểu sự phức tạp. Việc lựa chọn thời điểm tùy thuộc vào nhóm, điều quan trọng là đảm bảo sự kiện này luôn luôn diễn ra đúng thời điểm đã lựa chọn nhằm tạo ra thói quen và không biến nó thành một sự kiện phức tạp.

  • Sơ kết Sprint:

Buổi Sơ kết Sprint sẽ được tiến hành khi thời gian triển khai Sprint đã hết để kiểm tra phần tăng trưởng đạt được trong Sprint vừa qua. Đây là một hoạt động thanh tra và thích nghi đối với sản phẩm đang được xây dựng.  

Khung thời gian của buổi Sơ kết Sprint là một giờ tương ứng với một tuần làm việc của Sprint.

  • Cải tiến Sprint:

Cải tiến Sprint là sự kiện diễn ra ở cuối Sprint, ngay sau buổi Sơ kết Sprint và trước phiên Lập kế hoạch Sprint tiếp theo. Mục đích của sự kiện này là để cải thiện cách làm việc cho hiệu quản hơn và thú vị hơn sau mỗi Sprint.

Các buổi Cải tiến Sprint nên được đặt vào một chu trình khép kín Plan-Do-Check-Act vốn là quy trình cải tiến liên tục (Kaizen).

Hoạt động cải tiến liên tục cần phải trở thành thói quen của từng cá nhân và nhóm, và dần dà thành văn hóa của tổ chức thì sẽ đạt hiệu quả cao nhất.

Những quy tắc trong Sprint

  1. Không cho phép bất kì sự thay đổi nào ảnh hưởng đến Mục tiêu Sprint (Sprint Goal)
  2. Thành phần Nhóm Phát triển được giữ nguyên
  3. Mục tiêu chất lượng không được cắt giảm
  4. Phạm vi có thể được làm rõ và tái thương lượng giữa Product Owner và Nhóm Phát triển

 

Hủy một Sprint

Sprint có thể bị hủy trước khi kết thúc khung thời gian. Chỉ có Product Owner mới có đủ thẩm quyền dừng Sprint.

Một Sprint có thể bị hủy nếu như Mục tiêu Sprint không còn phù hợp nữa. Điều này xảy ra khi công ty chuyển hướng kinh doanh hoặc khi tình thế công nghệ có sự thay đổi. Nhìn chung, Sprint có thể bị hủy nếu nó không mang lại điều gì có ích. Thế nhưng, do thời gian mỗi Sprint tương đối ngắn nên việc hủy một Sprint không mấy khi xảy ra.

Khi Sprint bị hủy, các phần sản phẩm đã hoàn chỉnh được xem xét lại. Nếu phần nào đó của công việc có thể chuyển giao được thì Product Owner có thể chấp nhận chúng. Các hạng mục Product Backlog chưa hoàn tất sẽ được ước lượng lại và trả về Product Backlog để phát triển tiếp. Các phần việc đã thực hiện trên đó sẽ nhanh chóng hết tác dụng và phải thường xuyên được ước lượng lại.

Việc hủy Sprint sẽ gây lãng phí tài nguyên, do mọi người phải mất thời gian, công sức để lên kế hoạch cho một Sprint mới. Việc hủy Sprint thường gây tổn hại nhất định cho các Nhà Phát triển, và rất ít khi xảy ra.

Trong một Sprint sẽ gồm có nhiều bước khác nhau đòi hỏi cả Scrum Team cần nắm rõ chức năng và nhiệm vụ của từng bước để có thể triển khai Agile thành công. Trong đó, Sprint Backlog là tập hợp các công việc mà Scrum Team cần thực hiện trong một Sprint. Chúng ta sẽ cùng tìm hiểu sâu hơn trong bài viết dưới đây.

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ó.

Cấu trúc Sprint Backlog 

Bảng mẫu Sprint Backlog

Có nhiều cách để thể hiện Sprint Backlog, tùy theo lựa chọn và tính phù hợp đối với nhóm. Dưới đây là bảng mẫu Sprint Backlog theo dạng Spreadsheet:

Ước tính lượng công việc còn lại tới ngày…
Hạng mục trong Product BacklogCông việc trong SprintNgười thực hiệnƯớc tính khối lượng công việc ban đầu123
Là người mua, tôi muốn đưa một cuốn sách vào giỏ hàng (xem giao diện phác thảo trên wiki)Thay đổi cơ sở dữ liệu5
Tạo trang web (UI)8
Viết acceptance test tự động13
Tăng tốc độ xử lý giao dịchTrộn mã DCP và hoàn thành kiểm thử mức tầng5
Hoàn thành máy đặt hàng cho pRank8
Chuyển DCP và người đọc sang sử dụng pRank http API13

Giải thích các chỉ số trong bảng Sprint Backlog 

  • 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ô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í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 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.

Làm sao để Sprint Backlog diễn ra hiệu quả?

1. Ước tính thời gian hợp lý

Mỗi Sprint thường diễn ra trong thời gian ngắn dưới 1 tháng (thường là tầm 2 tuần), vì vậy cần ước tính thời gian công việc hợp lý cho từng công việc là rất quan trọng. Bản chất của các Sprint là theo nguyên tắc của Agile, cụ thể là chúng ta sẽ sắp xếp công việc liên chức năng, liên bộ phận. Vì vậy các đầu việc cần rõ ràng và mỗi thành viên sẽ ước tính thời gian làm việc và hoàn thành công việc để tận dụng tối đa thời gian. Điều này sẽ giúp một Sprint diễn ra hiệu quả hơn, tránh việc chồng chéo công việc không thể có đủ thời gian dẫn tới kết quả sơ sài, hoặc lãng phí nguồn lực do ước tính thời gian quá dài. 

2. Thiết kế độ dài Sprint phù hợp

Ngoài việc ước tính thời gian, thì các thành viên cần phải thiết kế độ dài của Sprint tối ưu và phù hợp nhất. Trong một nhóm Scrum thì công việc trong Sprint sẽ gồm: xử lý công việc tồn đọng của Sprint trước và giải quyết công việc mới. Vì vậy nhóm cần họp lại để sắp xếp công việc để biết công việc nào nào quan trọng cần làm trước và khả năng có thể làm đến đâu. 

3. Luôn có sự minh bạch

Trước khi chuyển các nhiệm vụ từ Product Backlog sang Sprint Backlog, Product Owner và ScrumMaster phải chắc chắn rằng nhóm đã nắm rõ các bước cần thiết để hoàn thành nhiệm vụ đó. Yêu cầu họ xác nhận công việc, để không có sự nhầm lẫn có thể gây ra rắc rối trong quá trình diễn ra Sprint.

Lợi ích của Sprint Backlog

Công việc được sắp xếp phù hợp

Sprint Backlog luôn rõ ràng các đầu việc và thời gian xử lý công việc sẽ giúp cho tất cả thành viên trong nhóm có cái nhìn tổng quan nhất về các công việc trong Sprint đó. Từ đó nhóm có thể làm việc một cách hiệu quả và đúng theo những hoạt động công việc ngắn hạn mà mình đã đề ra trong Sprint.

Quản lý công việc hiệu quả

Những đầu mục công việc phải làm đều cụ thể một cách khoa học giúp nhóm tập trung cao vào các mục đích đã đề ra và tránh việc lộn xộn công việc, quá tải việc dẫn tới hiệu quả đầu ra thấp.

Liên tục học hỏi và cải tiến công việc

Scrum là một phương pháp theo triết lí Agile, vì vậy Scrum luôn nổi bật đặc điểm Agile như linh hoạt – tốc độ thích nghi chứ không phải vận tốc. Nghĩa là nhóm sẽ luôn tập trung vào chất lượng sản phẩm chứ không phải ra sản phẩm cuối. Nhóm cần cải tiến liên tục, thích nghi với thay đổi và thử những điều mới, học hỏi thêm để đi đến mục đích chung là chất lượng sản phẩm rõ ràng, không mơ hồ, có ước lượng, thứ tự ưu tiên cao,…

Như vậy, Team khi thực hành tốt Agile sẽ giúp cho mỗi thành viên hình thành một tư duy phát triển, nghĩa là bạn sẽ luôn học hỏi, luôn cố gắng để trở nên tốt hơn. Từ đó có thể xây dựng những kỹ năng cực kỳ quan trọng trong cuộc sống như kỹ năng ước tính thời gian, tài nguyên, làm việc nhóm, sắp xếp công việc,…

Bạn đọc có thể tham khảo thêm các thông tin hữu ích về Agile/Scrum tại link sau: https://hocvienagile.com/cam-nang-scrum-cac-tai-nguyen-chia-se/