Requirements Internal Process Guidelines

advertisement
Internal Process Guidelines
SUBJECT:
Requirements
REVISED:
Click here to enter a date.
APPLIES TO:
ITS Iterative Framework
ISSUED:
4/30/2010
ISSUED BY:
Process & Service Management
ATTACHMENT(S):
N/A
Description
The ITS Iterative Design and Development (ITS Iterative) Framework requirements are like other requirements. They define what
solution the team is building, for whom, and why. The difference with the ITS Iterative approach is that the requirements are
developed and elaborated iteratively so that not all the requirements are necessary to start development.
User-centered design practices, while not exclusive to ITS Iterative, compliment ITS Iterative development because they call for
collaboration with the stakeholder and users to understand actual user goals. Design solutions focus on helping users accomplish
those goals instead of detailing speculative features that may consume budget but are rarely used once deployed. Exposing users
and stakeholders to the design early can help the team expose design flaws and hidden opportunities before they are coded.
User-centered design artifacts such as persona maps, screen mock ups, and storyboards communicate the design to stakeholders,
users, and the entire development team. Story cards are developed from these artifacts to express business value as assignable work
packages. The story cards become the currency of the project and represent the business value the stakeholder wants to develop,
although not all of the story cards may be developed as time and budget constrain. These artifacts are ideally visible at all times, in a
common team space, to facilitate conversation among team members.
Requirements: Elicit and Gather
Activities
Interviews
Interviews are face-to-face meetings with stakeholders. The interviewer asks questions to collect information about stakeholder
needs. Interviews identify a wide range of requirements topics such as business goals and priorities, stakeholder tasks and data
requirements, and the environment in which business processes are executed. Interviews probe what a business process should be
after the project is successfully completed. Interviews also help identify additional sources of requirements information.
Prepare open-ended, non-specific questions when planning the interview; for instance, “What do you like about your job?” rather
than, “Should we put this button here?” The interviewer’s goal is to engage users in a conversation about their work, not simply read
off a list of questions.
Specific steps:
 Identify the stakeholders to interview.
 Arrange the interview.
 Conduct the interview.
 Debrief with the rest of the project team.
 Document the results.
Maintained by Knowledge Support
Page 1 of 5
ITS
Iterative Framework IPG
Requirements
Direct Observation
Observation is the activity of watching stakeholders perform their jobs in the workplace in order to understand how software will be
used in its work context. Observations define ‘As Is’ business processes and uncover details (workarounds, solved problems) that
might not be obvious when stakeholders describe tasks and activities that are often second-nature to them.
Direct observation is not necessarily the same as an interview. The interview focuses on conversation, while the direct observation
focuses on observation. Reserve questions that come up during the direct observation for a later time. When a user begins
answering questions, the intimacy of direct observation is lost because a formal mode of communication takes over.
Specific steps:
 Identify the users to observe.
 Arrange the observation.
 Conduct the observation.
 Analyze and document the observations.
Requirements: Analyze
Tools
Persona
According to advanced agile practitioner and author Scott W. Ambler, “A persona . . . defines an archetypical user of a system, an
example of the kind of person who would interact with it. The idea is that if you want to design effective software, then it needs to
be designed for a specific person. For the bank, potential personas could be named Frances Miller and Ross Williams. In other words,
personas represent fictitious people which are based on your knowledge of real users.”
Ambler continues, “Unlike actors, personas are not roles which people play. In use case modeling actors represent the roles that
users, and even other systems, can take with respect to your system. For example, in a banking application we would have actors
such as Customer and Credit Card Processor. Actors are often documented by a sentence or two describing the role. For example the
description for Customer might read ‘A person or organization which does business with the bank.’
Personas are different because they describe an archetypical instance of an actor. In a use case model we would have a Customer
actor, yet with personas we would instead describe several different types of customers to help bring the idea to life.
It is quite common to see a page or two of documentation written for each persona. The goal is to bring your users to life by
developing personas with real names, personalities, motivations, and often even a photo. In other words, a good persona is highly
personalized.”
See example.
Persona Map
A persona map focuses the project team on specific users rather than every possible user. Use it to prioritize personas into tiers in
order to later focus development and design efforts.
It is a common assumption that if a team is using a persona map, the design is for only one user group, or rather, a primary persona.
This is not the case. The persona map allows for design for all persona tiers. Its purpose is to guide design decisions so that when a
feature is designed for one tier in the persona map, the goals and experiences of higher tiers are not violated. For example, when
designing for a tier 2 persona, features or functions that would violate the goals and user experiences of the tier 1 persona might not
be incorporated. The persona map is in this way used by the design team (and larger project team) to describe—and keep front and
center—the user(s) for whom the system will be built.
The persona map is particularly useful because raw user data is not inherently helpful and user-centered design is not intuitive. The
persona map provides the project team with a simple, fun tool for organizing and prioritizing raw data gathered during interviews
Maintained by Knowledge Support
Page 2 of 5
ITS
Iterative Framework IPG
Requirements
and observations. It also allows the project sponsors and stakeholders to have a hand in limiting scope early on in the project,
thereby setting expectations for the full project lifecycle.
Specific steps:
 Create a group of user personas based on user research. It is a good idea to include stakeholders who have goals related to
the project but may not directly use the product; for example, the sponsor.
 Have project stakeholders prioritize personas by breaking them into three tiers. Limit the number of personas included in
each tier to:
o
Tier 1: one persona
o
Tier 2: two personas
o
Tier 3: three personas
 Visually represent the tiers by physically placing the personas in their respective tiers. Reference the resulting artifact throughout
the development cycle to justify scope, resolve goal conflicts, and focus design decisions.
See example.
User Goal Diagram
The user goal diagram is a tool for analyzing the various goals that are relevant to a project.
Complete a user goal diagram when there is a need to illustrate synergy or conflict among user goals, when a visual tool would help
to identify relevant goals before findings are summarized and reported, or to identify priority goals for crafting a vision statement.
The user goal diagram can also serve as a rudimentary prioritization tool for identifying shared goals among users/user groups and
highlighting narrow goals with limited business value. The user goal diagram is most useful when pursued after completing the
persona map. The tool can be re-used at increasing levels of detail throughout the project’s lifecycle.
In complex projects, the user goal diagram defines and justifies scope decisions and reinforces a shared understanding of goals.
The user goal diagram’s usefulness can be prolonged by including success criteria for each goal. However, this additional step is not
required.
Specific steps:
 After completing the persona map, create a document listing all the persona map actors and their goals.
 Indicate each actor’s goals as well as those other goals that, based on their persona, they would support.
 Notice that some goals connect only to a single user. This may indicate an edge-case goal, depending on the priority or tier of
the user concerned. Other goals will connect to multiple users, indicating a higher business value.
See example.
Conceptual Object Model
The object model describes the entities or objects in the system and the relationships between them. It does not include specific
attributes or table properties. The object model informs the data model and must be as complete as possible prior to beginning
database and/or application development.
See example.
Maintained by Knowledge Support
Page 3 of 5
ITS
Iterative Framework IPG
Requirements
Data Model
A data model documents the informational needs of the system. It lists the data attributes needed to satisfy functional
requirements. A data model will also portray the logical structure of data independent of the data design or data storage
mechanism. It is the basis for designing the physical data structures (tables and rows) of the system. A data model summarizes
information needs into groups that eliminate redundant or complex data structures and promote efficient system design. The data
model is created and updated over multiple iterations as development progresses.
See example.
Requirements: Design (User Centered)
Techniques (Terms and Definitions)
Workflow Diagram
Workflow diagrams are both a concept and a practical tool. A workflow diagram uses flow diagramming techniques to illustrate
directed flows between processing steps. Workflow diagrams provide a means to expose waste and eliminate steps that do not
deliver business value. For example, the diagram can expose excessive queuing or bottlenecks.
Single processing steps or components of a workflow diagram can be defined by three parameters:
 Input description—information required to complete the step
 Transformation rules—algorithms applied to the input by system and/or user
 Output description—information produced by the step and provided as input to downstream steps
See example.
Thin Slicing
Thin slicing is a design practice where a business process supporting user goals is broken down by both breadth and depth. The most
valuable components are elaborated, developed, and deployed before every case and edge case is, if ever, addressed. For example,
Figure 1 below represents the path a user would take to accomplish their goal of going from Point A to Point B.
Path to completion
A
Most Likely
(Happy Path)
Least Likely
(Edge Cases)
B
Scenario 1, satisfies most use cases for most users
Scenario 10, satisfies use cases for some users’ infrequent goals
Figure 1
Maintained by Knowledge Support
Page 4 of 5
ITS
Iterative Framework IPG
Requirements
The development team would focus on defining requirements for developing Scenario 1 long before Scenario 10. The sponsor
may eventually decide that Scenario 10 is not worth the remaining budget; thus, requirements would not be developed for
Scenario 10. Meanwhile, the team has already delivered the business value of Scenario 1.
A basic example of the concept of thin slicing might be the addition of a date field to a web form. Scenario 1 might be the
addition of a string field labeled “Date.” Scenario 2 could then be adding validation to the date field to enforce the format of
DD/MM/YYYY. Scenario 3 could be to include validation that ensures that no date before 1900 can be entered. Other scenarios
would follow as relevant.
In Figure 2, the development team could further break down scenarios into features prioritized by business value:
Scenario 1
Feature 1
Feature 2
Feature 3
Figure 2
If Feature 3 will provide more business value, Feature 3 may be developed first. Features 1 and 2 may be satisfied with a process
outside the system until they become a priority.
Tools
Storyboard
Storyboards graphically organize a series of functions derived from user stories, mockups, use cases, and the like. They are displayed
in sequence to assist in visualizing the chronological interactions between users and systems.
The team places ideas on storyboards and then arranges them on the wall. This process of visual thinking and planning stimulates
group brainstorming, which fosters more ideas and generates group consensus.
See example.
Maintained by Knowledge Support
Page 5 of 5
Download