Writing Requirements from a UX Perspective
Here is Alan Cooper's five step cycle for requirements refinement and solidification. With some products one iteration may be enough often refinements will need to be made several times to maintain a comprehensive focus.
- Create problem and vision statements
- Brainstorm
- Identifying persona expectations
- Constructing context scenarios
- Identifying requirements
One: Creating Problem and Vision Statements (an argument of purpose)
In every product there must be a central thesis or argument of purpose behind which all stake holders unite. This statement will then be used to assign value to each proposed feature during the following brainstorming sessions. It also provides a cohesive focus for the product. It is vital that the feature set be as concise and focused as possible. This statement will help reduce features which may be appealing to specific stake holders, but do not facility the user in efficiently realizing his primary goals. Finally, it is vital that usability issues, which are always critical to the success of the application, be illustrated in terms of business goals!
Two: Brainstorming
During brainstorming it is important to focus on how users will use the product. Spend more time talking about use cases and little on features and layout. Let go of preconceived ideas about how the product will look and allow new UI concepts to form around the specific needs of the user. Do not lock down UI here.
Three: Identifying User Expectations
Understand the features the users will expect to find in the product. Focus on making expected functionality as apparent as possible. Also, realize that different users will expect to accomplish the same task in different ways. Attempt to outline areas where the application needs to be permissive. (An application is said to be permissive when a user has many ways and orders in which he can accomplish the same task.) This is usually expensive so identifying key areas here will save time. Remember as these are issues of usability it is vital to tie them directly to business objectives.
Four: Constructing Context Scenarios
Context Scenarios focus on how the users will interactive with the product in their typical usage environments. Here we focus on how the user lives with the product throughout his day. From our context scenarios we will form requirements designed around how the user will accomplish his goals while driving, multitasking in a busy office, or in whatever environment he typically finds himself. It is important to focus on overall user-objectives first and then iteratively fill in the details. Context Scenarios should not describe specific UI design, but will be used as a source for discovering the priority of user's needs. Context Scenarios allow us to create novel solution. It is important to never mention specific UI interactions at this stage! An example Context Scenario can be found in The Essentials of Interaction Design 3 on pg 120.
Five: Identifying Requirements
Accept that Requirements are not to be comprised of features and tasks. It is recommended to think of requirements as consisting of the following three primary components:
From here it should be possible to begin drawing UI diagrams and defining interactions.
(For more information on this topic view the text: The Essentials of Interaction Design 3 pg 115.)Two: Brainstorming
During brainstorming it is important to focus on how users will use the product. Spend more time talking about use cases and little on features and layout. Let go of preconceived ideas about how the product will look and allow new UI concepts to form around the specific needs of the user. Do not lock down UI here.
Three: Identifying User Expectations
Understand the features the users will expect to find in the product. Focus on making expected functionality as apparent as possible. Also, realize that different users will expect to accomplish the same task in different ways. Attempt to outline areas where the application needs to be permissive. (An application is said to be permissive when a user has many ways and orders in which he can accomplish the same task.) This is usually expensive so identifying key areas here will save time. Remember as these are issues of usability it is vital to tie them directly to business objectives.
Four: Constructing Context Scenarios
Context Scenarios focus on how the users will interactive with the product in their typical usage environments. Here we focus on how the user lives with the product throughout his day. From our context scenarios we will form requirements designed around how the user will accomplish his goals while driving, multitasking in a busy office, or in whatever environment he typically finds himself. It is important to focus on overall user-objectives first and then iteratively fill in the details. Context Scenarios should not describe specific UI design, but will be used as a source for discovering the priority of user's needs. Context Scenarios allow us to create novel solution. It is important to never mention specific UI interactions at this stage! An example Context Scenario can be found in The Essentials of Interaction Design 3 on pg 120.
Five: Identifying Requirements
Accept that Requirements are not to be comprised of features and tasks. It is recommended to think of requirements as consisting of the following three primary components:
- Objects: The information that the user will need in order to accomplish his goals, these would be messages, comments, images, blog entries, as well as associated information publish date, file size etc.
- Actions: The operations the user will need to perform on the objects. Later UI controls will be created to conduct these operations. Hence, actions will also help determine where information should appear in the UI.
- Contexts: Development timelines, business models, technical limitiations, customer based limitations.
From here it should be possible to begin drawing UI diagrams and defining interactions.

