- What’s required to build it?
- How should it behave?
- What people and computer systems are involved?
- Who are the actors and what are their roles?
- What’s the purpose of this feature?
- What are the use cases?
- How do the use cases relate to each other?
Expand our definition of “actors” from just people to include everything that interacts with the system: users, administrators, our client-side application, our API, external APIs, cloud services, and hardware interfaces. Each of these actors has a role and a responsibility in the system that we should identify.
Purpose of the feature, we are just looking for a high-level summary of why we care about it. What’s the business value?
Think through all of the use and misuse cases, considering the Happy, Sad, Evil and Weird paths. For each one, we’ll choose a a noun (the actor), verb (actions taken), and a brief description of the desired result.
Answer the last question (how do they relate?).