Sprint Planning – Lập kế hoạch thế nào cho hiệu quả?
Benjamin Franklin có câu: “Không lập kế hoạch là lập kế hoạch cho thất bại”. Khi thực hiện công việc mà không có kế hoạch trước, chúng ta sẽ rất dễ rơi vào thế bị động, hoặc tệ hơn là dẫn đến những kết quả không mong muốn. Đó là lý do buổi lập kế hoạch – Sprint Planning – luôn là một trong những sự kiện quan trọng để làm nên một Sprint thành công.
Sprint Planning là gì?
Sprint planning là sự kiện khởi đầu ở mỗi Sprint, nhằm mục đích xác định mục tiêu và lên kế hoạch chi tiết cho những công việc cần thực hiện. Buổi Sprint Planning sẽ lần lượt giải quyết những vấn đề sau:
- Xác định mục tiêu của Sprint (Sprint goal)
- Lựa chọn các công việc cần làm để hoàn tất mục tiêu Sprint đặt ra
- Chia nhỏ hạng mục công việc (Sprint backlog), ước lượng và thống nhất mục tiêu.
Ai tham gia Sprint Planning?
Toàn bộ Scrum Team bắt buộc cần tham gia phần thứ nhất của sự kiện – tức xác định mục tiêu của Sprint, riêng Product Owner (PO)có thể vắng mặt ở phần sau. Cụ thể:
- Scrum Master: là người bắt buộc phải tham dự buổi Sprint Planning để đưa ra mục tiêu và kế hoạch để hoàn thành các nhiệm vụ có trong Sprint.
- Development Team (Nhóm phát triển): tham dự để chọn lượng công việc sẽ làm trong Sprint dựa vào lượng công việc đã hoàn thành trong các Sprint trước đó.
- Product Owner: bắt buộc tham gia phần thứ nhất và có thể vắng mặt ở phần 2, nhưng phải luôn ở trạng thái sẵn sàng support, giải đáp thắc mắc cho nhóm ở những hạng mục quan trọng.
- Trưởng bộ phận có thể không tham gia hoặc có mặt để giám sát quy trình của Sprint.
Thời lượng của Sprint Planning là bao lâu?
Thời lượng tối đa của Sprint 1 tháng là 8 tiếng và ngắn hơn đối với các sprint 3 tuần, 2 tuần, 1 tuần. Hãy cùng tham khảo bảng bên dưới:
Nhìn chung, thời lượng không quá 2 giờ mỗi tuần được xem là khởi điểm tốt cho các nhóm mới thành lập và đang tích lũy kinh nghiệm với Scrum.
Diễn biến của một buổi Sprint Planning:
Phần 1: Xác định mục tiêu Sprint
Product Owner sẽ đề xuất làm thế nào để tăng giá trị và tính hữu dụng của sản phẩm trong Sprint. Cả Scrum Team cùng nhau xác định Sprint Goal (hoặc nhắc lại mục tiêu đã được thống nhất từ đầu dự án), qua đó truyền đạt lý do Sprint sẽ mang lại giá trị đến các bên liên quan. Mục tiêu Sprint phải được thông qua trước khi kết thúc Sprint Planning.
Phần 2: Lựa chọn các công việc cần làm để hoàn tất mục tiêu Sprint đặt ra
Thông qua thảo luận với Product Owner, Nhóm phát triển sẽ chọn những hạng mục trong Product Backlog để đưa vào Sprint hiện tại. Scrum Team có thể tinh chỉnh những hạng mục đó trong quá trình này để tăng sự hiểu biết và độ chắc chắn.
Việc xác định số lượng vừa đủ các hạng mục công việc để hoàn thành trong Sprint đôi khi khá thử thách. Tuy nhiên, một khi các Developers đã có thông tin về hiệu suất làm việc trong quá khứ, năng suất hiện tại và định nghĩa về sự hoàn tất, họ sẽ chắc chắn hơn về việc tính toán số lượng công việc của mình.
Phần 3: Chia nhỏ hạng mục công việc (Sprint backlog), ước lượng và thống nhất mục tiêu
Ở bước này, nhóm phát triển sẽ phân tách các hạng mục trong danh sách lựa chọn thành những hạng mục nhỏ để có thể hoàn thành trong một ngày hoặc ít hơn. Đồng thời, Nhóm phát triển cũng cần ước tính thời gian và lượng nỗ lực cần bỏ ra để hoàn thành từng hạng mục công việc.
Sau khi đã tính toán khối lượng công việc, các Developer có thể trao đổi với PO để điều chỉnh thêm hoặc cắt bớt một vài hạng mục nếu cần thiết.
Các tips để triển khai Sprint Planning hiệu quả
1. Thống nhất thời điểm Sprint Planning
Thời điểm Sprint Planning nên được thống nhất sao cho phù hợp với tính chất công việc của cả nhóm. Ví dụ, đối với Sprint 1 tuần, thời điểm thực hiện Sprint Planning thường là sáng thứ Hai đầu tuần hoặc chiều ngày thứ Sáu.
2. Xác định thời gian nhóm có trong Sprint
Cần xác định thời gian cả nhóm có trong Sprint, vì qua đó mới có thể tính toán đúng khối lượng công việc mà nhóm sẽ hoàn thành. Nếu tính toán không chính xác, sẽ dẫn đến khả năng nhóm nhận nhiều hoặc ít việc hơn, ảnh hưởng đến hiệu suất.
Theo đó, mỗi thành viên sẽ đưa ra thời gian mình có thể dành cho công việc phát triển trong sprint tới như sau:
- Thông báo số ngày nghỉ trong sprint tới
- Tính số giờ có trong sprint = số ngày đi làm * 6.4. (Một ngày làm việc có 8 giờ nhưng thực chất thời gian tập trung vào công việc mỗi người cao nhất khoảng 6.4 giờ, sau khi trừ những khoảng thời gian phát sinh như họp hành đột xuất, trả lời email, cà phê…).
Sau khi có thời gian mỗi thành viên thì cộng tất cả lại sẽ được tổng thời gian nhóm có trong Sprint tới.
3. Các thành viên chủ động rà soát & chuẩn bị các task của bản thân
Một trong những đặc điểm của Scrum Team là Self-managed (tính tự chủ). Mỗi thành viên có sự chủ động trong việc rà soát và chuẩn bị các task của bản thân trước khi bước vào cuộc họp thì buổi Sprint planning sẽ được thực hiện một cách nhanh chóng, hiệu quả hơn.
4. Thực hiện Grooming (Làm mịn) thường xuyên
Làm mịn là một kỹ thuật trong việc quản lý Product Backlog. Các hạng mục trong Product Backlog có kích thước khác nhau, mức độ chi tiết khác nhau và thường chúng cần được làm mịn trước khi đi vào sản xuất.
Scrum Team có thể dành ra 10% thời gian trong Sprint để làm mịn Product Backlog cho các phiên tiếp theo. Việc tư duy công việc từ trước để có sự chuẩn bị và không bị động là bí kíp để các buổi Sprint Planning được hiệu quả cao.
5. Sự cộng tác giữa các thành viên trong nhóm
Như tuyên ngôn của Agile: “Cá nhân và tương tác hơn là quy trình và công cụ”, bản kế hoạch Sprint chính là kết quả đến từ sự cộng tác của toàn bộ thành viên trong nhóm Srum. Và bí kíp cho một story thành công là nên có sự nhìn nhận từ nhiều phía. Bởi, trong một nhóm thường là tập hợp của các thành viên có những kỹ năng khác nhau, mỗi vị trí khác nhau sẽ nhìn nhận được những khó khăn mà vị trí còn lại không lường trước được.