###### 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)


* 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.