---
# System prepended metadata

title: Requirements
tags: [reading]

---

###### tags: `reading`

# Requirements

### 10.2.3 Why Bother? The importance of getting it right.
* The cost of fixing errors early during the requirement activities (design phase) is much less than late (e.g. finding and fixing a problem after delivery).

### 10.2.4 Why 'Establish' Requirements?
* The term requirements analysis is normally used to describe the activity of investigating and analyzing an initial set of requirements.
    * Analyzing the information gathered is a interpretation of the facts. This, not the facts itself, inspires the design.
    * Requirements engineering is a better term because it is a iterative process.
*  The term establishing requirements to represent that requirements are established from a sound understanding of user' needs and they can be justified by the data.

## 10.3 What Are Requirements
* A requirement is a statement about an intended product that specifies what it should do or how it should perform.
* A requirement should be specific, unambiguous and clear.

### 10.3.1 Different Kinds of Requirements
* Functional and non-functional requirements are traditionlly identified in software engineering.
    * Functional: what the system should do (e.g. a new video game should be challenging for a range of user abilities)
    * Non-functional: what constraints there are on the system and its development, not the product itself (e.g. This new game should run a variety of platforms such as Xbox, PlayStation and Wii; a product should be delivered in 6 months' time)
![](https://i.imgur.com/FMk87VN.png)
![](https://i.imgur.com/LChjNFG.png)
* Data requirements capture the type, volatility, size/amount, persistence, accuracy, and the value of the required data.
* Environmental requirements refer to the circumstances in which the interactive product will operate. Four aspects must be considered.
    * Physical environment, such as lighting, noise, movement, dust...
    * Social environment, such as collaboration and coordination.
    * Organizational environment, e.g. how good is user support likely to be, how easily can ite be obtained?
    * Technical environment, e.g., what techonologies will the product run on?
* User characteristics
    * User characteristics capture the key attributes of the intended user group, such as a user's abilities and skills, nationality, education, preferences...
    * A user may be a novice, an expert, a casual, or a frequent user. This requires different interaction design.
    * Personas are rich descriptions of typical users of the product under development that the designers can focus and and design the product for.
    * A persona is characterized by a unique set of goals relating to the product, and a description a the user's skills, attitudes, tasks and environment.
* Usability goals and user experience goals are another kind of requirement

## 10.4 Data Gathering for requirements
* Collect sufficient, relevant and appropriate data so a set of stable requirements can be produced.
* Data gathering needs to cover a wide spectrum of issues.
* Common forms of data gathering: interviews, questionnaires and observation.