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