Planning Poker
- Date 15/11/2019
Khi một agile team cần ước lượng số story points của các user story thì phương pháp phổ biến nhất là một trò chơi tập thể có tên là Planning Poker. Planning Poker được thiết kế để trở thành một quá trình ước lượng hiệu quả vì mang tính vòng lặp, tính thích ứng, tính cộng tác và đủ mức độ ẩn danh cần thiết để giảm thiểu sự thiên vị.
Planning Poker sử dụng các quân bài đánh số dựa theo chuỗi số Fibonacci (2, 3, 5, 8, 13, 21 …). Mỗi người chơi bài nhận được cùng một bộ bài giống nhau. Các con số trên quân bài tính bằng một đơn vị ước lượng tương đối, chẳng hạn như story point, hay ngày lập trình (developer day), hay hạt đậu đen, hoặc bất cứ cái gì mà agile team muốn gọi tên cho đơn vị ước lượng của mình.
Sau khi mỗi thành viên có trong tay bộ bài của mình, một người điều khiển trò chơi (facilitator) – có thể đó là Product Owner, là ScumMaster, hay một thành viên bất kỳ của agile team – sẽ lần lượt đọc to từng user story. Chẳng hạn đầu tiên là user story sau đây: “Với tư cách khách hàng, tôi muốn có thể thay đổi password để tôi có thể đảm bảo an toàn cho tài khoản truy cập của mình”. Cả team sẽ thảo luận ngắn về user story rồi sau đó mỗi thành viên chọn lấy một quân bài tương ứng với con số anh ta muốn ước lượng về user story, nhưng chưa lật lên.
Khi mọi người đều đã chọn được quân bài và sẵn sàng, facilitator hô to “Một, hai, ba!” và tất cả đồng thời lật bài của mình lên. Các quân bài được lật lên thể hiện ước lượng về khối lượng công việc cần thiết để hoàn thành user story. Vì các quân bài được lật đồng thời nên ở vòng ước lượng đầu tiên này sẽ không có sự tác động ý kiến của người khác lên ước lượng của từng thành viên.
Lấy ví dụ agile team có bốn người và ba người có quân bài số 5 và một người có quân bài số 3. Thì ước lượng user story sẽ được thống nhất là lấy 5: dải số được chọn khá tập trung thì số lớn nhất sẽ được chọn. Và cả team chuyển sang ước lượng user story tiếp theo theo cùng cách như trên.
Nếu như xảy ra trường hợp có ba quân bài số 5 còn một thì là số 13, thì phải làm sao? Lúc này cả team sẽ thảo luận về quân bài cực đoan 13. Ví dụ có mẩu đối thoại như sau:
- Facilitator: Này Bob giải thích vì sau cậu chọn 13?
- Bob: Vì ở đây chúng ta phải dùng LDAP để giữ đồng bộ password cho các ứng dụng khác trong công ty. Password mới thay đổi phải được đẩy ngược về LDAP server, mà chúng ta hiện chưa được phân quyền thực hiện quá trình đồng bộ như vậy, và đòi hỏi có sự tham gia của security team. Sẽ phải mất thời gian để hoàn thành.
- Facilitator: Hừm, tôi không biết là phải tính đến việc này đấy. Ok vậy hãy bắt đầu ước lượng lại vòng thứ hai nhé!
Đến đây mọi người lại chọn lại quân bài của mình sau khi đã thảo luận và có thêm thông tin mới như Bob vừa giải thích. Ở vòng 2 này chúng ta có thể đạt được sự nhất trí cao hơn về ước lượng của user story là 13.
Planning Poker là một ví dụ về mô hình ra quyết định tập thể (participatory decision model) mang tính vòng lặp, tính thích ứng, tính cộng tác và đủ mức độ ẩn danh cần thiết, giúp cho quá trình ước lượng được hội tụ và giảm thiểu sự thiên vị.
Theo Mike Griffiths
