Guideline: User-Roles Modeling
This guideline describes the technique of user roles modeling, including identifying and refining user roles and personas.
Relationships
Main Description

When developing a new system, it is important to understand who the system is being built for. If we know who the key stakeholders and sponsors are,we understand their objectives for bringing the system to life.

But more importantly,we need to identify those who will use the system. Invariably, the system under development will be used by more than one user, and users probably have different reasons for using the system. We need to identify who the various users are so that you can identify stories that are relevant to those users. This process increases the likelihood of making the system more tangible to users, because you start thinking about how to solve the needs of real people.

The next sections describe common steps performed in sessions to model user roles. These sessions should be conducted with stakeholders as needed to help the team and stakeholders identify, group, refine, and capture user roles and personas.

Identifying user roles

A user role represents a population of users that share similar attributes and interaction with the system.Each user role has different characteristics or attributes that help identify different ways that each interacts with system.

Brainstorm with stakeholders and identify the different user roles for the system. Try to identify as many as possible, based on user role characteristics, such as their backgrounds, their objectives for using the system, their levels of experience with using software in general or using similar systems, and so on. Don't criticize suggestions nor be concerned about consolidating user roles at this stage.

For an ATM system, the following are examples of user roles:

  • ATM User withdraws the full balance of his bank account in cash once a month
  • ATM User withdraws cash every week and pays or schedules payment of bills through the ATM system
  • ATM operator runs operational reports and maintains the ATM functions

Grouping user roles

Look at common attributes of user roles so that you can group those who have similar characteristics. Typical attributes to look for when grouping user roles are how frequently they will use the system, how proficient they are with computers and software in general, how much they know about the business domain, and so on.

The previous list of user roles might indicate there are two types of user roles: ATM Users and ATM operators. A careful look at the ATM Users, though, indicates that some use the ATM system for one common operation only (withdrawing cash) and only once in a while; whereas, other users use more of the ATM functions more often. This results in at least three possible user roles:

  • Infrequent ATM User
  • Advanced ATM User
  • ATM operator

Capturing user roles

As part of the identification and grouping of user roles, use an interactive and practical way to capture a list of roles that can be easily changed to accommodate the grouping. This can be done in any electronic format, such as word processor, spreadsheet, or any collaboration tool, as well as in simple ways, such as using index cards that can be tossed around and grouped.

After grouping user roles by type, write a short description for each user role,perhaps on an index card, such as this example:

User role: Advanced ATM User

Likes to pay bills before due date to avoid fees and penalties. Pays or schedules bills to be paid electronically. Withdraws cash once or twice a week to pay daily expenses. Values the availability of ATM systems near work and home more than richness of user interface or speed of transactions.

Capturing personas

A persona, as the term implies, is a personification or imaginary representation of a user role.As you go through the identification and grouping of user roles with stakeholders, it can be helpful to identify and capture one or two personas per user role, because this helps to identify which goals typical users have for using the system and how they will interact with the system.

This is an example of persona for the Advanced ATM User role:

Jill is an independent HR professional who is currently providing services for the XYZ company. As part of her job, she usually spends three to five days week visiting different offices across the state. Because she is out of town most of the time, Jill likes to pay her utility bills in advance so that she will avoid late-payment fees, interest, and penalties. She does not use credit cards, because she is trying to pay off her debts. Jill does not have a computer or easy access to Internet banking services currently, so she cannot schedule payments or pay her utility bills online. She prefers to do handle her bill payments by using ATM systems, instead. Jill does not like to drive in the cities where the offices are located, so she usually catches a train or cab and pays in cash. She also prefers to pay other daily expenses in cash, such as coffee and dinner, which are not included in her per diem expenses rate. For Jill, it is essential to have ATMs conveniently located to pay bills and withdraw cash regularly.