WEEK 20 CS2003 Usability Engineering Lecture Notes
Course Information
Course Code: CS2003
Course Title: Usability Engineering
Instructor: Dr. Faris Alwzinani
Contact Email: Faris.Alwzinani@brunel.ac.uk
Office Location: WLFB-111, Brunel University, London
Week 20 Lecture: User Requirements Gathering
Lecture Topics
Requirements: Development of requirements and understanding their types.
System Requirements: Needs of the system.
Usability Requirements: Clarifies that these are not just UI features.
User-Centered Design (UCD): Importance of aligning requirements with UCD principles.
The Requirements Process: Steps involved in gathering user requirements.
Personas: How to use personas effectively.
Gathering Techniques: What to look for and methods to use.
Questions and Extensions: Evaluating the usefulness and adaptability of written requirements.
Importance of Requirements Engineering
Quote from F. Brooks emphasizes the challenges of software requirements gathering.
Key Point: The hardest part of software development is clearly defining what to build.
UE/HCI Role: User Experience and Human-Computer Interaction is central to effective requirements engineering.
UCD Methods: Selecting appropriate UCD design methods is crucial.
Human-Centered Design (ISO 13407)
Standard Framework: Guidelines for applying human-centered design techniques.
Lifecycle Supplementation: Integrates with existing lifecycle frameworks and suggests activities during the development process.
Prototyping: Early designs are often low fidelity mockups, improving to higher fidelity over time.
HCI Approach: The STAR Life Cycle
Activity Order: Non-linear, evaluation-centered approach which encourages iteration.
Phases include: implementation, task/functional analysis, prototyping, requirement specification, conceptual/formal design, and evaluation.
Determining User Needs
Challenges: Users often do not recognize their actual needs or the possibilities.
Goal: Address their actual goals and interests effectively.
Gathering Requirements
Why Gather Requirements?: They are often misunderstood, can appear conflicting, and evolve during design.
ISO 13407: User and Organizational Requirements
Specification Goals:
Identify relevant users and stakeholders.
State clear human-centered design goals.
Set priorities and measurable criteria for testable designs.
Ensure proper documentation.
Requirement Identification Techniques
Approaches:
Asking Users: Start with queries and then seek empirical observations.
Data Collection: Utilize a user-centered approach.
Specification: Numerous formal methods are available, but fluid adaptability is often beneficial.
Usability Requirements Discovery
Key Areas: Understand context of use, user interactions, processes, constraints, and challenges faced by users.
Environmental & User Requirements: Consider physical and cognitive aspects to fulfill user goals effectively.
Types of Requirements
Functional Requirements
Definition: What the system should do.
Questions to Consider: Is it necessary? Is it useful?
Non-Functional Requirements
Definition: Characteristics/qualities a system should uphold.
Assessment Standards: Usability parameters determining the operational effectiveness of the system.
User and Usability Requirements
User Requirements: Core functionalities necessary for the product to meet user needs, e.g., categories and syncing in a note-taking app.
Usability Requirements: Focus on user experience aspects, such as ease of use and learning efficiency.
‘Right’ Requirement Characteristics
Attributes:
Timely and sufficient detail.
Realistic expectations.
Clarity and relevance to design processes.
Understanding Personas
Defining Personas: Hypothetical archetypes representing user groups.
Use of Personas: Orienting design teams by generating empathy and focus during user requirement gathering.
Scenarios and User Stories
Scenarios: Describe contexts in which users interact with products, guiding designs.
User Stories: Concise user-focused descriptions of features expressed in a favorable format, prioritizing user needs.
Building Functional and Non-Functional Requirements
Examples: Translate user stories into specific features and qualities.
Functional Requirements: Search features, meal planning tools.
Non-Functional Requirements: Usability, accessibility, system performance, and compatibility criteria.
Challenges with Personas
Drawbacks: Abstraction and lack of empathy often hamper effective usage.
Benefits of Personas
Utilize for enhanced user insight and maintain design focus.
Minimum Persona Components
Basic elements like picture, name, age, and background narrative crucial for persona realism.
Additional Persona Content (Optional)
Factors such as education, salary, social behavior, and motivations can add depth to personas.
Summary of Today's Lecture
Emphasized critical aspects of gathering and defining requirements, distinguishing types of requirements, and the role of personas in usability engineering.