“Agile planning” means enough planning to move forward and measure progress. Agile requirements are focused on delivering functionality to users and start with three things:
- A user, who has a business need
- A feature, which is what the system will do
- A goal, which is reason the user wants to do the task
While many teams can develop lists of features, the user and end-goal parts of the story are often missing. The user and his goal are the most difficult parts to express but also the most important.
Having a clear statement of a goal allows you to decide what implementation will satisfy the core need and to evaluate whether the story is even necessary to implement. Since implementing features that do not have a clear use is wasteful, removing items from the backlog can be a major efficiency gain for a team.
Tracking and Defining "Done"
Tracking progress on a frequent basis is an important way to identify problems. Agile teams measure progress by continually re-evaluating the amount of work remaining, rather than effort spent or “percent complete.”
Even when the product owner has a clear vision, teams often struggle with defining what needs to be built in a way that can be evaluated. Tests pass or fail, and builds are successful or not, but it’s more difficult to determine if the test is testing the right thing. Deciding whether a team has completed a story may always have a subjective element, but you can make it easier if you have a good sense of what “done” means.