- 10.3 Overview of Features
- 10.4 Benefits of Feature Preparation
- 10.5 Feature Preparation Activities
- 10.6 Timing of Feature Preparation
- 10.7 Assessing Readiness
- 10.8 Accounting for Preparation Work: Tasks and Spikes
- 10.9 Specifying Features and Their Acceptance Criteria
- 12.4 MVP Planning
- 17.3 Why Do We Need a Scaled Agile Approach?
- 17.4 Planning: Choosing an Approach That Supports Inter-team Collaboration
- 17.8 Scaling the Agile Organization
- 18.6 Agile Corporate Culture
- 18.7 Overview of Principles and Practices for an Agile Corporate Culture
- 18.8 Three Principles for Applying Agile Practices
10.8 Accounting for Preparation Work: Tasks and Spikes
Once you’ve flagged the need for preparatory analysis, how do you account for that work in your plans? If the analysis will be performed during the iteration in which it’s flagged, represent it as a developer task. A developer task is a work item carried out by an individual team member. (The term developer is deceiving. Analysis, design, testing, and coding are all treated as developer tasks.) Developer tasks are posted on a developer task board.
If you plan to defer the analysis work to a future iteration, you’ll have to add it to the product backlog. However, you can’t represent it as a user story because it doesn’t result in working code. Instead, you manage the analysis as a functional spike, also known as an enabler story. We’ll look at functional spikes in Chapter 13. Figure 10.2 is an example of one.
Figure 10.2 illustrates the functional spike to investigate pricing rules. The value that it delivers is expressed in the “so that” clause: the spike enables a future story to order a product. The spike is assigned five story points, indicating the estimate and time limit for the analysis.
Once you’ve identified the analysis activities required to prepare the feature, the next step is to perform them. The following sections provide guidelines for performing feature AC specification, persona analysis, journey and value stream mapping, and process and use-case modeling.