Mặc dù không nổi tiếng như Definition of Done, một số team Scrum sử dụng Definition of Ready để kiểm soát những item trong product backlog có thể được quay vòng trong các sprint. Mỗi team hoặc tổ chức được tự do định nghĩa cho definition of ready của mình. Không có định nghĩa chung nào được đề xuất cho tất cả các team.

Một mẫu Define of Done

Các loại Story được phép vào vòng lặp

  • Điều kiện thỏa mãn đã được xác định đầy đủ cho user story
  • Story đã được estimate và tách nhỏ vừa phải. Ví dụ team đang sử dụng Story point, team có thể chọn số lượng point nhất định để làm trong mỗi sprint. Thường số point tối đa sẽ tương ứng với khoảng một nửa năng suất của đội.
  • Team design đã thực hiện mock up hoặc design tất cả các màn hình hay giao diện có liên quan đến user story này rồi
  • Tất cả các yếu tố phụ thuộc bên ngoài đều đã được xử lý, cho dù là phụ thuộc vào 1 team khác (design, front-end) hay là phụ thuộc vào nhà cung cấp bên ngoài.

Definition of Ready Defines Pre-Conditions

Definition of Ready cho phép một team chỉ ra một số điều kiện tiên quyết cần phải hoàn thành trước khi Story được đưa vào Sprint. Mục đích là để ngăn ngừa vấn đề trước khi nó xảy ra. Ví dụ: bằng cách đưa ra số lượng point nhất định cho User story trong mỗi Sprint, team có thể tránh được việc đưa và sprint một User story quá lớn và có thể không hoàn thành xong được trong 1 sprint. Tương tự như vậy, không cho vào Sprint một Story còn đang phụ thuộc vào các yếu tố bên ngoài (chưa hoàn thiện design…) sẽ tránh được việc Story bị scope out khi mà các yếu tố liên quan bị chậm trễ. Nếu nhóm liên quan kia thường xuyên không hoàn thành những việc họ nói là sẽ làm vào đúng hạn thì đội dự án có thể quyết định để không đưa bất cứ một Story nào phụ thuộc nhóm kia vào. Một Định nghĩa về Ready đòi hỏi sự phụ thuộc bên ngoài phải được giải quyết trước khi một Story được đưa vào Sprint hay các vòng lặp.

Definition of Ready không phải luôn luôn là một ý tưởng tốt

Definition of Ready có thể được xem như một cổng vào lặp lại, như một người bảo vệ xét duyệt các tiêu chuẩn trước khi một Story được đưa vào Sprint. Nhưng đôi khi Definition of Ready lại trở thành trở ngại. Nếu các quy tắc của Definition of Ready yêu cầu một số nội dung cần được hoàn thành 100% trước khi một Story có thể được đưa vào Sprint thì có thể khiến cho mất đi tính linh hoạt của Agile

Definition of Ready có thể dẫn đến việc thực hiện theo trình tự

Define of Ready yêu cầu các giai đoạn thiết kế phải được hoàn thành hoàn toàn trước khi đưa Story vào Sprint, việc này dần dẫn chúng ta về với mô hình waterfall truyền thống, làm mất đi các tính chất quan trọng của 1 dự án Agile.

Nhóm Agile nên thực hiện các công việc đồng thời

Khi một task không thể bắt đầu cho tới khi một task khác hoàn thành thì team sẽ bị quá tải. Overlapping work cũng là một trong các chỉ số mà team Agile cần phải xem xét. Một team Agile nên làm xem kẽ: phân tích, thiết kế, coding, testing. Và mục tiêu của Agile là các công việc này có thể lặp đi lặp lại nhiều lần. Trong một số trường hợp thì Definition of Ready có thể giải quyết vấn đề và có thể có giá trị sử dụng.

Sử dụng Definition of Ready một cách chính xác

Để sử dụng Definition of Ready thành công, bạn nên tránh bao gồm các quy tắc đòi hỏi phải hoàn thành 100% trước khi Story được đưa vào Sprint, cũng có thể phụ thuộc vào một team khác hoặc nhà cung cấp nhất định. Hơn nữa, hãy sử dụng hướng dẫn thay vì các quy tắc về Definition of Ready. Mỗi Story nên được chuẩn bị sao cho "Mỗi Story phải được đi kèm với một mockup của tất cả các new screen." Quy tắc cho Definition of Ready thay vì việc ngăn chặn không thực hiện task cho đến khi các chi tiết thiết kế được hoàn thành thì chúng ta có thể chuyển thành yêu cầu ‘Nếu Story bao gồm các màn hình mới thì mockup cho new screen cần được thực hiện trước và trước một khoảng thời gian đủ dài để team có thể giải quyết các vấn đề còn tồn đọng’ Sự thay đổi ở đây là.

  1. Quy tắc này đã trở thành một hướng dẫn.
  2. Cho phép công việc được thực hiện đồng thời chứ ko bắt buộc theo thứ tự, screen mockup được thực hiện đủ xa để có thể task chính có thể bắt đầu được.

Nguồn: https://www.mountaingoatsoftware.com/blog/the-dangers-of-a-definition-of-ready