What's in a feature?
As mentioned in Chapter 2, Impact Mapping and Behavior-Driven Development, specifically the Capabilities and Features section, a feature is a functionality implemented by our system in support of a capability. At a minimum, a feature consists of a Feature Title and a Scenario. A scenario is a look at the feature's functionality from a specific perspective. So, if our feature is titled Bank customer withdraws cash from cash machine, for instance, we could have scenarios such as Not enough cash in machine or Bank note denominations don't match requested amount.
However, having just a title and a scenario doesn't help us describe the whole functionality. A fully formed feature will include the following:
- Feature Title: A brief description of the presented functionality – for example, Bank customer withdraws cash from cash machine.
- User Story: Most people use the following template:
- As an
[Actor]
- I want
[specific system behavior...