In a lot of Scrum projects I see people who make issues "Ready". The term "Ready" sounds strange to me, because it looks to me as making something ready to be picked up by a Scrum team is just the transition from a "New" issue to an "Open" issue. Is this a too short approach? Let's find out.
The process of making issues ready for development contains the following tasks:
- Dependencies; Is there other work to be completed before this issue can be solved?
- Skills; Is the team skilled enough for this task?
- Space; Is there room in the code to make the change, or do we need too much refactoring?
- Design.; Does the user story have design and workflow?
- Stakeholders; Who is involved in the user story and has a say (is he the Reporter)?
- Work ahead; are there any issues dependent on this one?
- Following work: are the recievers of this work ready to recieve it?
- Requirements: Functional and non-functional requirements are clear?
- Acceptance: Acceptance criterea are clear?
- Flows: Are the happy and bad flows defined?
To complete the above steps the refinement discipline in Scrum is the solution. All items with status "New" cannot be picked up before the refinement is done; refinement is the step in which issues are made ready. Refinement is not done in a Scrum event, it is a continous process between the Scrum master, Product owner, stakeholders and the team.
All items in the "Open" status ought to be groomed enough to be picked up, teams can define a threshold of quality for "Open" tickets; this is written down in a Definition of Ready. A DoR can be different for different teams.
Resources:
- http://leanmagazine.net/lean/make-ready-agile-projects/
- http://guide.agilealliance.org/guide/definition-of-ready.html
- http://www.allaboutagile.com/is-it-ready/
--
02-03-2016 Updated grooming to refining