In simple terms the requirements for a product implies what that product should be able to accomplish for the user. The requirements are a very essential part of product design because they give direction for the design activity. Before the requirements can be established we need an understanding about the user, their work and context of their work. From that information we can then produce a set of requirements for the product at hand. Sharp et al gave a simplistic view of this process: “first gather some data, then analyze and interpret it, then extract some requirements from it”. (Sharp, Rogers, & Preece 2007)
During the design process requirements are constantly refined due to a better understanding of the needs of users. This is important because as more information is gathered the designer gets a clearing understanding of users’ needs which was probably not communicated at first. Another reason to refine requirements is the fact that it is a lot more difficult and expensive to fix errors late in the development cycle or when the product is already sent to market. Getting a correct understanding of product requirements avoids these problems.
Types of requirements
We basically have two types of requirements: functional requirements and non functional requirements. “Functional requirements say what the product show do while non functional requirements say what constraints there are on the system and its development.” (Sharp, Rogers, & Preece 2007) Understanding the functional requirements of a product is exceptionally important since a failure to do so will result in absolute failure of the product.
Context inquiry is a very important part of establishing requirements because it helps uncover requirements based on context of use. It contains four main principles: context, partnership, interpretation and focus.
(Sharp, Rogers, & Preece 2007)
- The context principle emphasizes the importance of going to the workplace and seeing what happens.
- The partnership principle states that the developer and the user should collaborate in understanding the work.
- The interpretation principle says that the observations must be interpreted in order to be used in design, and this interpretation should also be developed in cooperation between the user and the developer.
- The focus principle focuses on keeping the data gathering focused on your goals.
Another aspect of establishing requirements is task description, which can come in three flavors: scenarios, use cases and essential use cases.
- A scenario describes activities or tasks in a story format, and usually place emphasis on the context and user goals.
- Like scenarios use cases also focus on user goals, but emphasizes on a user-system interaction rather than the user’s activities.
- Essential use cases are sort of in the middle of scenarios and use cases. Essential uses cases consist of a name that expresses the overall user intention, a stepped description of user actions, and a stepped description of system responsibility.