Establish Backlog (APS02)
Establish Backlog (APS02)
Generate Themes (APS02.1)
|
Description |
Once the vision is established the team can decompose that statement into a few more specific themes (or goals) that the system will be expected to satisfy. These are usually at the “idea” level or “goal” level and can be used decompose the vision further if need be into more detail. They can also be used to spur innovation by giving people a starting point of ideas to decompose |
|
Who is Involved |
|
|
Mechanism |
|
|
Frequency |
At least once at the beginning of a project, periodically as needed in later backlog grooming if business needs/priorities change |
|
Outcomes |
A few theme statements of a similar format to the vision which all stakeholders agree is a complete listing of their hopes for the solutions capabilities and uses |
|
Guidelines |
|
Generate Epics (APS02.2)
|
Description |
Once the themes are identified they can be broken into epics, which are large units of scope that start to describe what, specifically, the solution must do or enable. These are the first “concrete chunks” of a solution, and are commonly expressed at the level of feature sets, features, procedures/processes, and the like. These are the basis of the “working solution” desire which is the goal of each sprint. |
|
Who is Involved |
|
|
Mechanism |
|
|
Frequency |
As frequently as needed. |
|
Outcomes |
A more concrete set of solution features, integration points, processes, and other functioning units. |
|
Guidelines |
|
Generate User Stories (APS02.3)
|
Description |
Using epics as a base point, the team then analyzes each epic individually (starting with the highest-priority or highest-value) and determines how to define milestones for the epic in terms of solution components, features, modules, pages, or other types of work items. User stories can be as big or as small as needed for the team. They can be as large as whole modules (i.e. think of a check-out module), individual pages/screens (i.e. a confirmation pop-up), or could even be specific aspects of a single page elements (i.e. database calls made by a “Buy Now” button), all depending on the team capacity and length of the sprints. The appropriate “Size” of a story will become evident later as the team as a whole starts planning work for individual user stories. |
|
Who is Involved |
|
|
Mechanism |
|
|
Frequency |
As frequently as needed to establish enough user stories to “fill up” the first several development sprints for the project. Depending on the availability of the Product Owner and team some teams do a few long meetings (2-4 hours), other teams do daily 1-hour meetings until the team is comfortable they have enough user stories to begin working. |
|
Outcomes |
The first iteration of the “Solution” backlog will be populated with user stories. |
|
Guidelines |
|
Adaptive Planning Illustration for Initial Backlog Creation
It is acceptable for requirements to be at a high-level at project inception. At this early stage, it is more important to define a full list of the desired scope at the theme, epic, and feature level than to get caught up in detailed analysis for detailed requirements. For initial backlog generation, it is acceptable for the Product Owner to focus on exhausting their notion of features and scope, prioritizing that list, and then refining that down over time into user stories and acceptance criteria
This prevents so-called “Analysis Paralysis”, whereby a project gets stuck spending too much time thinking about detailed requirements for the full solution and thus sacrifices time that could be spent building the highest-priority parts of the solution.
NOTE: That said, IF DETAILED REQUIREMENTS ARE KNOWN AND CLEAR at this stage, they can (and should) still be captured, as that will make user story and acceptance criteria generation easier later in the process. The premise here is that if the detailed requirements are unclear at this time, don’t worry about them and focus more on the high-level requirement for the whole solution, as in Agile there is time later on to refine

