07 Uid Prog
07 Uid Prog
1
Topics
• User analysis
• Task analysis
• Domain analysis
• Requirements analysis
Sysadmin
100
create
Users
Requirements
Tasks
Domain
How:
23
Requirements:
what, how and why?
Why
25
Volere Requirements Template
26
Establishing requirements
What do users want? • Requirements need clarification, refinement,
What do users need? completion, re-scoping
27
Different kinds of requirements
• Functional:
– What the system should
do
– Historically the focus of
requirements activities
– A functional
requirement for a word
processor may be that it
should support a variety
of formatting styles
28
Different kinds of requirements
• Non-Functional:
– Portability, response
time, etc.
– A non-functional
requirement for a
word processor
might be that it must
be able to run on a
variety of platforms
such as PCs, Macs
and Unix machines
29
Different kinds of requirements
• Data:
– Data requirements
capture the type,
volatility, size,
amount, persistence,
accuracy, and value
of the amounts of
the required data
– How will they be
stored (e.g.,
database)?
30
Environment or context of use
Physical
• dusty, noisy, vibration, light, heat,
humidity, …. (e.g., ATM)
Social
• sharing of files, view of files
synchronously across great distances,
work individually, privacy for clients
Organizational
• hierarchy, IT department’s attitude,
user support, communications
structure and infrastructure,
availability of training
31
Users: Who are they?
Characteristics
32
What are the users’ capabilities?
Size
• of hands may affect the size and positioning of input buttons
motor abilities
• may affect the suitability of certain input and output devices
Height
• if designing a physical kiosk
Strength
• a child’s toy requires little strength to operate, but greater strength to change batteries
Disabilities
• (e.g., sight, hearing)
33
Requirements Vary
• What factors (environmental, user, usability)
would affect the following systems?
– Self-service filling and payment system for a petrol
(gas) station
– On-board ship data analysis system for geologists
searching for oil
– Fashion clothes website
34
Personas
A personal facade
Capture user
that one presents to
characteristics
the world
35
Personas
36
Data gathering for requirements
• Interviews
– Props, e.g., sample
scenarios of use,
prototypes, can be
used in interviews
– Good for exploring
issues
– But are time
consuming and may be
infeasible to visit
everyone
37
Data gathering for requirements
• Focus groups interviews
– Group interviews
– Good at gaining a
consensus view
and/or highlighting
areas of conflict
– But can be
dominated by
individuals
38
Data gathering for requirements
Questionnaires
39
Data gathering for requirements
• Direct observation
– Gain insights into
stakeholders’ tasks
– Good for understanding
the nature and context
of the tasks
– But it requires time and
commitment from a
member of the design
team, and it can
result in a huge amount
of data
40
Data gathering for requirements
• Indirect observation
– It largely involves analyzing
textual material generated
indirectly, e.g.,
• Diaries
• Interaction logging (key
presses, mouse /
device movements)
– Not often used in
requirements activity
– Good for logging current
tasks
41
Data gathering for requirements
• Studying documentation
– Procedures and rules are often written down in
manuals
– Good source of data about the steps involved in
an activity, and any regulations governing a task
– Not to be used in isolation
– Good for understanding legislation, and getting
background information
– No stakeholder time, which is a limiting factor on
the other techniques
42
Data gathering for requirements
• Contextual Inquiry
– An approach to ethnographic study (scientific
description of individual human societies) where
user is expert, designer is apprentice
– A form of interview, but
• at users’ workplace (workstation)
• 2 to 3 hours long
– Four main principles:
• Context: see workplace & what happens
• Partnership: user and developer collaborate
• Interpretation: observations interpreted by user and
developer together
• Focus: project focus to understand what to look for
43
Problems with data gathering
44
Problems with data gathering
Requirements management:
45
Problems with data gathering
Political problems
within the organization
Dominance of certain
stakeholders
Economic and business
environment changes
Balancing functional
and usability demands
46
Some basic guidelines
Focus on Focus on identifying the stakeholders’ needs
47
Some basic guidelines
Support the process with props such as prototypes and task descriptions
You will need to compromise on the data you collect and the analysis to be
done, but before you can make sensible compromises, you need to know what
you’d really like
48
Data interpretation and analysis
This phase starts soon after data
gathering phase
49
Task descriptions
50
Scenario: university admissions
office
• You walk in, and are greeted the supervisor,
who starts by saying something like:
– “Well, this is where the admissions forms arrive.
We receive about 50 a day during the peak
application period. Brian here opens the forms and
checks that they are complete, that is, that all the
documentation has been included. You see, we
require copies of relevant school exam results or
evidence of work experience before we can
process the application. Depending on the result
of this initial inspection, the forms get passed to…”
51
Use Case Diagram
52
Use Case Diagram
53
Task analysis
Task descriptions are often used to envision new systems or
devices
54
Hierarchical Task Analysis
Involves breaking a task down
HTA focuses on physical and
into subtasks, then sub-sub-
observable actions, and
tasks and so on. These are
includes looking at actions not
grouped as plans which
related to software or an
specify how the tasks might
interaction device
be performed in practice
55
Hierarchical Task Analysis
0. In order to buy a DVD
1. locate DVD
4. complete address
5. confirm order
plan 0:
56
Hierarchical Task Analysis
57
Best Practices For Writing User
Requirements
Understand the User Perspective:
1.Gain a deep understanding of the target
user group, their characteristics,
preferences, and goals.
2.Identify the user personas and their specific
needs, roles, and responsibilities within the
system.
58
Best Practices For Writing User
Requirements
59
Best Practices For Writing User
Requirements
Use User-Centric Language:
1.Express user requirements in user-centric
language, using terms and concepts familiar
to the intended users.
2.Avoid technical jargon or complex
terminology that may confuse or alienate
the users.
60
Best Practices For Writing User
Requirements
Focus on User Goals and Tasks:
1.Identify the goals and tasks users need to
accomplish using the software system.
2.Frame requirements around the specific
actions or functionalities that support user
goals and tasks.
61
Best Practices For Writing User
Requirements
Be Specific and Concrete:
1.Clearly define the desired behavior or
outcomes from the user’s perspective.
2.Use concrete examples, scenarios, or
stories to illustrate the desired interactions
or workflows.
62
Best Practices For Writing User
Requirements
Consider User Experience (UX) Design:
1.Address the user experience aspects such
as ease of use, intuitiveness, and efficiency
in completing tasks.
2.Specify requirements related to navigation,
layout, interaction design, and visual
aesthetics.
63
Best Practices For Writing User
Requirements
Include Performance Expectations:
1.Define user requirements related to system
responsiveness, speed, and efficiency.
2.Specify performance targets or thresholds
that contribute to a satisfactory user
experience.
64
Best Practices For Writing User
Requirements
Prioritize User Needs:
1.Assign priorities to user requirements to
ensure the most critical needs are
addressed first.
2.Prioritization helps in resource allocation,
decision-making, and trade-off analysis.
65
Best Practices For Writing User
Requirements
Validate with User Feedback:
1.Regularly validate user requirements with
user representatives or usability experts.
2.Seek feedback on prototypes, mock-ups, or
design iterations to ensure that
requirements align with user expectations.
66
Best Practices For Writing User
Requirements
Consider Accessibility and Inclusivity:
1.Incorporate requirements to address
accessibility and inclusivity considerations.
2.Ensure the software system accommodates
diverse user needs, including those with
disabilities or different cultural
backgrounds.
67
Best Practices For Writing User
Requirements
Review and Iterate:
1.Conduct regular reviews and iterations of
user requirements with stakeholders and
the development team.
2.Ensure that the requirements are complete,
accurate, and align with the overall project
goals.
68
Managing User Requirements throughout
the UI Development Lifecycle
Requirements Elicitation
• To gather user requirements effectively, employ various
techniques during the requirements elicitation phase.
Consider these practices:
• Conduct interviews with users, stakeholders, and subject
matter experts to understand their needs, preferences, and
expectations.
• Utilize surveys or questionnaires to collect feedback from a
broader user population, allowing for a comprehensive
understanding of their requirements.
• Conduct observations or user shadowing sessions to gain
insights into how users interact with existing systems or
69
perform their tasks.
Managing User Requirements throughout
the UI Development Lifecycle
• Analysis and Refinement
• Once user requirements are gathered, analyzing and
refining them is essential to ensure clarity,
completeness, and consistency. Consider these
practices:
• Organize and categorize user requirements based on
their similarities or related functionalities to identify
patterns or commonalities.
• Remove any duplicate or conflicting requirements to
eliminate ambiguity and ensure consistency.
• Collaborate with users and stakeholders to validate
and refine the requirements, ensuring they accurately
capture the desired functionality and user experience.70
Managing User Requirements throughout
the UI Development Lifecycle
• Traceability and Impact Analysis
• Establishing traceability between user requirements and
other project artifacts is crucial for impact analysis and
change management. Consider these practices:
• Use unique identifiers or tags to link user requirements to
design decisions, test cases, and other project artifacts.
• Maintain a traceability matrix that shows the relationships
between user requirements and other project elements,
enabling impact analysis during changes.
• Assess the impact of proposed changes on user
requirements to understand the potential consequences
and make informed decisions.
71
Managing User Requirements throughout
the UI Development Lifecycle
• User-Centric Design and Prototyping
• Incorporating user requirements into the design and
prototyping stages of the software development process
helps validate and refine the user experience. Consider
these practices:
• Create design mock-ups, wireframes, or interactive
prototypes that reflect the user requirements, allowing
users to provide feedback and validate the proposed
solutions.
• Conduct usability testing sessions with users to gather
insights and identify any usability issues or areas for
improvement.
• Iteratively refine the design and prototype based on user
feedback, ensuring that the final product meets user 72
expectations and needs.
Managing User Requirements throughout
the UI Development Lifecycle
• User Acceptance Testing
• Involving users in the acceptance testing phase ensures
that the developed software meets their requirements and
expectations. Consider these practices:
• Develop user acceptance testing scenarios that align with
the documented user requirements.
• Collaborate with users to perform acceptance testing,
allowing them to validate whether the software meets their
needs and performs as expected.
• Address any identified issues or discrepancies between the
software and user requirements, ensuring necessary
adjustments are made before deployment.
73
Common Errors in User Analysis
• Describing what your ideal users should be, rather than what they actually
are
– “Users should be literate in English, fluent in spoken Swahili, right-handed,
and color-blind”
79
Qualitative vs Quantitative Data
Qualitative Data Quantitative Data
Overview: Overview:
•Deals with descriptions. •Deals with numbers.