The requirement gathering process can be divided into 4 key components:
- Developing a vision for the high-level details – The objective of developing a vision is to identify the main theme, high-level vision and scope, target users, main goals and create high-level backlog. Stakeholder interviews workshop, role playing along with out-of-the-box methods like Vision Statement in a product box, user roles (personas), use case modeling, process diagrams and UI flow and context diagrams are some of the most popular visioning technique.
- Brainstorming for features of requirement – Requirement brainstorming focuses on breadth rather than depth and identifies large number of features/epics/user stories. Some of the most popular requirement brainstorming techniques are story writing workshops, post it note brainstorming and teams breakout converge.
- Breakdown of features into user story – Requirement breakdown divides existing epics into smaller user stories. Some of the most popular requirement breakdown techniques are CRUD, acceptance test slicing and process steps.
- Defining detailed requirements – Defining detailed requirements for each user story along with acceptance tests and UI prototypes. Some of the most popular techniques are acceptance tests, test scenarios, UI prototyping, wireframing, example tables and activity diagrams.