Chapters Notes
Chapter 6:
Finding the Voice of the User
1
User Involvement is a critical factor in creating excellent software. Hence, finding the voice of the user is critical.
Fundamental Steps in finding the User’s voice
Step 1: Identify user classes Step 2: Select and work with individuals
Representing each user class Step 3: Agree on the decision makers of the
requirements
2
6.1 Step 1: Identify User classes User Classes(V)
3
(manufacturing, legal, help desk)
(Procurers, Managers)
(secondary users, nonhuman)
Favored user classes: users whose satisfaction is most closely aligned with business objectives
Disfavored user classes: who normally should not have access to the software (thief, unauthorized person etc.)
Ignored user classes: who will use the product but the product is not built to suit them (secondary users)
Any Other user classes: E.g., nonhuman users
4
Forming User Classes
Identify and characterize early Look for similar needs, so groups can be
combined Document characteristics, responsibilities,
locations Create a persona—a description of a
fictional example of each user class
5
How to identify them?
• External entities in the context diagram • See organizational charts
6
E.g., Some user class in Cafeteria Ordering System Patron (favored)
A Patron is a Process Impact employee at the corporate campus in Clackamas, Oregon, who wishes to order meals to be delivered from the company cafeteria.
There are about 600 potential Patrons, of which an estimated 400 are expected to use the Cafeteria Ordering System an average of 4 times per week each (source: current cafeteria usage data). Patrons will sometimes order multiple meals for group events or guests.
An estimated 90 percent of orders will be placed using the corporate Intranet, with 10 percent of orders being placed from home.
All Patrons have Intranet access from their offices. Some Patrons will wish to set up meal subscriptions, either to have the same meal to be delivered every day or to have the day’s meal special delivered automatically.
A Patron must be able to override a subscription for a specific day.
7
Menu Manager • The Menu Manager is a cafeteria employee, perhaps the
cafeteria manager, who is responsible for establishing and maintaining daily menus of the food items available from the cafeteria and the times of day that each item is available. Some menu items may not be available for delivery.
• The Menu Manager will also define the cafeteria’s daily specials.
• The Menu Manager will need to edit the menus periodically to reflect planned food items that are not available or price changes.
8
9
Meal Deliverer • As the Cafeteria Staff prepare orders for delivery, they will print delivery instructions and issue delivery requests to the Meal Deliverer, who is either another cafeteria employee or a contractor.
• The Meal Deliverer will pick up the food and delivery instructions for each meal and deliver it to the Patron.
• The Meal Deliverers’ primary interactions with the system will be to reprint the delivery instructions on occasion and to confirm that a meal was (or was not) delivered.
10
Another Example:
6.2 User Representatives: need to select and work with individuals representing each user class
• are needed for the development life-cycle: ◦ To provide requirements ◦ To review specifications ◦ To evaluate demonstrations ◦ To perform or witness testing
direct contact is best Intermediaries (managers, sales people,
marketing,…) can mistranslate user needs
11
In order to promote direct access to BA and Development => Product Champion is important Product Champions (V) • serves as the primary interface between
members of a single user class and BA. • collects the requirements from others members
of the user classes and try to reconcile, if any inconsistencies
• best if they have power to make the decision needs to have clear understanding of vision must be enthusiastic, see benefits of product
12
External Product Champions
For commercial (resold) software products Harder to find than for internal or single
contract customer projects Look at long-term customers Hire from target industry
13
Examples of Product Champion activities:
Planning ◦ Refine scope and limitation of the product ◦ Identify external with system interfaces ◦ evaluate the impact on business ◦ transition to new system
14
Requirements ◦ Collect input from the user class (other
users) ◦ develop scenarios/use cases/user stories ◦ resolve conflicts of requirements with the
user class ◦ define priorities ◦ evaluate prototypes ◦ provide input regarding the performance and
other quality requirements(non functional)
15
Validation and Verification ◦ Review specifications, ◦ develop acceptance criteria, ◦ provide test data, ◦ do beta testing
User Aids ◦ write or review manuals, ◦ prepare training, ◦ give demonstrations to user class
Change Management ◦ Evaluate and prioritize defects and enhancements, ◦ determine change impact on user and business
16
Multiple Champions for users One per user class => each class has ◦ Different tasks, needs, experience, knowledge
For large user classes ◦ There may be subclasses ◦ There may be expert/nonexpert users within class
17
Selling the Idea of PC if there are resistance of having PC
“Can’t afford it” => Can’t afford failure, bad requirements cause failures
“Can’t spare such a valuable person” => Can’t use an non-valuable one
“Managers must make decisions” => ◦ Champion makes user requirements decisions ◦ Managers retain business decisions—scope,
schedule, cost
18
Traps to Avoid (things to avoid)
Managers override champion’s decisions Champions present their view, not their users
views Champions lack clear picture of new system,
leave decisions to analyst Champions don’t belong to user class they
represent
19
20
6.3 Agree on the decision makers of the requirements (Resolving Conflicts )
Between individual users => champion decides
Between user classes => most favored user, i.e., greatest impact on business success
Between corporate customers: => use business objectives to establish priorities
Between managers and their users: => defer to champion
Between developers and users: => customer decides
21
E ND
22