Task: Identify User Roles and User Stories |
This task describes how to identify and capture the initial set of user roles and user stories for the system under development.
Disciplines: Requirements
Purpose
To identify and capture the requirements that form the basis of communication and agreement between the stakeholders and the development team about what the system must do to satisfy stakeholder needs. To understand the requirements at a high level so that the initial scope of work can be determined.
Relationships
Roles | Primary Performer: Analyst | Additional Performers: Architect Developer Stakeholder Tester
Inputs | Mandatory: None | Optional: [Technical Specification] Glossary User Role User Story
Outputs | Glossary User Role User Story
Main Description
This task is about having an initial conversation with stakeholders to identify what the objectives are for the system under development. The team and stakeholders brainstorm to identify and capture the user roles and personas of those who will interact with the system and what user stories provide their objectives and reasons for using the system. User stories are captured at a high level (user story statement only) to encourage further conversation about them when it is time to add details.
Steps
Determine sources of information
Be prepared for requirements-gathering sessions with stakeholders by gathering and reviewing information related to the problem domain, problem statement, business environment, and key stakeholders. Most of this information should be available in the vision statement. Also review the existing requirements repository for stakeholder requests.
Identify and capture user roles and personas
Conduct User-Roles Modeling sessions to help you brainstorm with stakeholders. Go through candidate user roles repeatedly until you have identified and captured an initial set of user roles, with their goals for the system and how they will interact with it. Another useful technique is to identify one or more personas for each user role. A persona is an imaginary representation of a user role. It helps identify the reasons that people typically use the system and how they will interact with the system.
Identify and capture user stories
Conduct story-writing workshops to help you collaborate with stakeholders and gather the information needed. Conduct a couple of brainstorming sessions to start identifying as many stories as possible, without worrying about their size at this point. Capture the identified user stories for later prioritization, refinement, and detailing. Keep these brainstorm sessions short (1 to 2 hours), limit negative feedback, and avoid lengthy debates about user stories. To write independent and valuable user stories at this stage, follow the INVEST Model. The identification of new user stories should trigger the addition of new work items for the project.
Identify and capture domain terms
If there are ambiguous or domain-specific terms that need to be clearly defined, make sure that you work closely with stakeholders to capture these terms in the glossary and that you use these terms consistently.
Key Considerations
Use various techniques to make gathering requirements easier. Face-to-face meetings with stakeholders are the most effective way to understand stakeholder needs and to gather and validate requirements. When face-to-face conversation is not an option, you can use other means of communication, such as video conferences, conference calls, instant messaging, or project collaboration tools, such as Rational Team Concert (RTC). This task is one aspect of initially envisioning requirements, as part of agile modeling early in the development lifecycle.
More Information
Concepts | INVEST Model Requirements
Tool Mentors | Managing User Stories with IBM Rational Team Concert
© Copyright IBM Corp. 1987, 2009. All Rights Reserved.