To build a good user story, Bill Wake described six characteristics of a good user story – Independent: Ideally, our goal is to be able to reprioritize and develop our user stories in any order. And this can be achieved, though hard, by creating independent user stories that can be selected on merit, rather than dragging into the release because other user stories depend on it. Negotiable: The team should be able to discuss user stories with the product owner and make trade-offs based on cost and function. Negotiating user stories leads to an improved understanding of the true requirements, costs, and acceptable compromises. Valuable: User stories without clearly understood business benefits will be difficult to prioritize, since backlogs are usually ranked in business value. And if we cannot determine the value of a requirement, then we should question why it is a part of the project. Estimable: Estimation is required to prioritize work based on its cost-benefit trade-off. Small: Small user stories are easier to estimate and test than large user stories. Testable: Having testable user stories is important for tracking progress because agile teams often measure their progress based upon the number of stories that have been successfully accepted.