User Analysis (Task)
- User Analysis
- the
requirements engineering
task during which the current and future intended
user organizations of the
system(s) and/or
application(s) of the
customer organization’s business
enterprise
are identified, studied, modeled, and analyzed
As illustrated in the preceding figure, User Analysis is part of the following inheritance hierarchy:
The typical responsibilities of User Analysis are to:
- Identify the different kinds of
users and
user organization(s).
- Understand their needs and desires as well as the relevant tasks they perform.
- Provide a foundation on which to:
- Produce creative ways to organize and improve user tasks and workflows.
- Design application user interfaces (e.g., navigation and screens or webpages).
User analysis can typically begin when the following
preconditions hold:
User analysis is typically complete when the following
postconditions hold:
- The different kinds of users and their organizations have
been identified, profiled, and analyzed.
- The
user profiles and
user/task matrice(s) have been developed, evaluated, and
approved.
- The
user analysis document has been developed, evaluated,
approved, and delivered to the customer organization.
User analysis typically involves the
business strategy team performing the following steps in an
iterative, incremental, parallel, and time-boxed manner:
- Identify the Users.
Identify the different kinds of target users (e.g., by
user roles of job titles) and associated user organizations
by determining who will:
- Benefit from the reorganized business enterprise,
especially from its new or updated application(s).
- Be supported by the reorganized business
enterprise.
- Be interested in the application’s associated
content and functionality.
- Have access to the applications (especially the
distributed, network-based applications).
- Obtain Information about the Users.
Use multiple
techniques to obtain relevant input
from:
- Analyze the User’s Tasks.
For each classification of user, use the task analysis
technique to analyze their associated tasks:
- Identify the current and planned user tasks.
- Allocate these tasks to user types (e.g., roles, job
titles) to create one or more user/task matrices.
- Analyze each identified user task:
- Determine its objective(s).
- Determine the frequency of performing the task.
- Determine the importance of performing the task.
- Determine the current steps of the tasks (with the
user’s intent).
- Identify potential new ways of performing these
tasks.
- Determine the situation (e.g., when, where) in which
the user performs the tasks.
- Produce the User Analysis Document.
Combine the information in the informal user profiles
and user/task matrice(s) to produce the user analysis
document.
User analysis typically can be performed using the following
techniques:
-
Cross Functional Teams.
Use a cross-functional strategy or requirements team
including multiple
roles to perform user analysis.
-
Demonstration of prototype user-interfaces.
-
Incremental development.
Incrementally perform user analysis.
-
Interviews with:
-
Iteration.
Iterate the user profiles, user/task matricies, and
user analysis document.
-
Observation (a.k.a., Anthropological or Ethnographic Research) of
users:
- Observe and record representative users performing
relevant tasks with current applications, prototype of
future applications, or competitor’s
applications.
- Have users vocalize their thoughts as they perform
their tasks.
- Summarize and document the resulting findings.
-
Questionnaires:
- Post an email questionnaire or survey.
- Set up a Web or intranet questionnaire or
survey.
-
Joint Application Development.
Hold user analysis sessions with focus groups of
relevant roles:
- Obtain an experienced facilitator.
- Obtain and schedule an appropriate facility.
- Recruit representative [potential] users (e.g., from a
user group, email discussion group, or
advertisements).
- Provide information and questions about the planned
application (e.g., slides, demonstration, sample user
interface, questionnaire, and/or checklist).
- Lead the discussion.
- Obtain anonymous feedback.
-
Parallel Development.
Perform user analysis in parallel with:
- Other requirements engineering tasks (e.g., customer
analysis, market analysis, technology analysis,
requirements reuse, requirements management).
- Other activities (e.g., architecting, management,
configuration management, training).
-
Timeboxing.
Timebox the user analysis task so that new increments
of user information are available at regular intervals.
- Usability Testing of prototype
user-interface.
- User-Centered Design (UCD).
-
Task Analysis.
Perform task analysis to understand the user’s
tasks and how they are performed.
User analysis typically results in the production of the
following work products:
The following guidelines have proven useful when performing
user analysis:
- The better the requirements team understands the users,
the better they can produce user-oriented requirements.
- The information listed above to be collected is probably
a superset of the information actually needed for any
specific user analysis task. It is intended to be tailored to
meet the needs of the specific endeavor, primarily by
tailoring out inappropriate content.
- User analysis should typically be performed during the
business strategy phase, but it can also be performed during
the initiation phase if insufficient business [re]engineering
was required to justify a separate business strategy
phase.
- The questions asked during user analysis vary depending
on the type of application. For example, a B2C application
with private individuals as customers vs. a B2B application
with employees as users.
- User analysis is a prerequisite for successfully
performing user-centered design technique and the
content personalization task.