identifying needs and establishing requirements presenters: veronica gasca jennifer rhough

27
Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Upload: cornelius-byrd

Post on 08-Jan-2018

218 views

Category:

Documents


0 download

DESCRIPTION

Requirements Make it as clear, specific, and unambiguous as possible Abstract Web site should appeal to teenage girls Precise Search time for a query is less than 3 seconds Issue an auditory and visual alert when a download fails

TRANSCRIPT

Page 1: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Identifying Needs and Establishing Requirements

Presenters:Veronica GascaJennifer Rhough

Page 2: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Introduction: The whysUser’s needs, requirements, aspirations, and expectations should be taken into considerationRewards if established correctlyDisadvantages if wrong or not done

Page 3: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

RequirementsMake it as clear, specific, and unambiguous as possibleAbstract

Web site should appeal to teenage girlsPrecise

Search time for a query is less than 3 seconds Issue an auditory and visual alert when a

download fails

Page 4: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Types of RequirementsFunctionalData (volatility, size, persistence, accuracy, value)

UserUsabilityEnvironment Physical Social Organizational Technical

Page 5: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Data Gathering Techniques

QuestionnairesInterviewsFocus Groups/Workshops

Naturalistic ObservationStudying Documentation

Page 6: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Technique #1QuestionnairesElicit specific informationNeeds to be written wellGood for large groups of people, spread

geographicallyOften used in conjunction with other

techniques

Page 7: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Technique #2Interviews In-person or phoneStructured or UnstructuredGood at getting people to explore issuesMore enjoyableTime consumingNot good for large groups of people

Page 8: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Technique #3Focus Groups/WorkshopsConsensus viewHighlights conflicts/disagreementsStructured or facilitator mediatedStrong personalities can dominate

discussions

Page 9: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Technique #4Naturalistic ObservationShadow day to day tasksMore accurate, detailed descriptionsVary from outside to participant

observationTime consumingGenerates large amounts of data

Page 10: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Technique #5Studying DocumentationBackground legislationPrevious software

Page 11: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Which one?TimeExperience of analystNature of taskOther resource availabilitystakeholders

Page 12: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Some TipsInvolve all stakeholdersUse combo of techniquesObtain diversity

Props/prototypesRun pilot data gathering sessions

Page 13: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Data Interpretation and Analysis

Interpretation Goal: to structure and record descriptions of requirements.

Start interpretation as soon after the gathering session as possible. Discuss the findings with others.

Page 14: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Requirements template (Volere, Atlantic Systems Guild):

Requirement #: Unique Id Requirement Type: Template sectionEvent/use case #: Origin of the requirement Description: A one-sentence statement of the intention of the

requirement.Rationale: Why is the requirement considered important or necessary?Source: Who raised this requirement?Fit Criterion: A quantification of the requirement used to determine

whether the solution meets the requirement.…

Page 15: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Techniques to understand users’ goals and tasks

Task Description

Task Analysis

ScenariosUse CasesEssential Use Cases

Page 16: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

ScenariosScenario: Informal narrative description of human activities or tasks in a story that allows exploration and discussion of contexts, needs, and requirements.

Concentrate on the human activity rather than interaction with technology.

Page 17: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Sample scenarioMary needs to send some documents to her boss, who is currently in France. She scans the documents and places the electronic copies into her working directory and then opens her eMail application to send the information through electronic Mail. She creates a new memo and selects….

Page 18: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Advantages of using scenarios

Scenarios help explain or discuss some aspect of the user’s goals. They can be used to imagine potential users of a device as well as to capture existing behavior.

Capturing scenarios of existing behavior helps in determining new scenarios and hence gathering data for new requirements.

Page 19: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Use casesAlso focus on user goals, but the emphasis here is on a user-system interaction rather than the user’s task itself.

A use case is associated with an actor, and it is the actor’s goal in using the system that the use case wants to capture.

Page 20: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Creating use casesThe main use case describes what is called the “normal course” through the use case To develop a use case: First, identify the actors (people or systems that will

be interacting with the system under development). Examine these actors and identify their goals or

goals in using the system. Each of these will be a use case.

Page 21: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Sample use case1. The user chooses the option to arrange a meeting.2. The system prompts user for the names of attendees.3. The user types in a list of names.4. The system checks that the list is valid.5. The system prompts the user for meeting constraints.6. The user types in meeting constraints.7. …

Alternative course:5. If the list of people is invalid, display an error message and

return to step 2.

Page 22: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Use case diagram

Arrange a meeting

Page 23: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Essential use casesThey represent abstractions from scenarios, and consist of: Name to express overall user intention Stepped description of user actions Stepped description of system responsibility

Instead of actors, essential use cases are associated with user roles.

Page 24: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Sample essential use case

User Intention System responsibilityArrange a meeting

request meeting attendeesIdentify meeting attendeesIdentify meeting constraints

suggest potential dates…

Page 25: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Task analysisIt’s used to analyze the underlying rationale and purpose of what people are doing.

The most widely used version is known as HTA (Hierarchical Task Analysis) HTA involves breaking a task down into subtasks and then

Into sub-subtasks And so on….

The starting point is a user goal

Page 26: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

Sample task analysis0. In order to arrange a meeting

1. compile a list of meeting attendees2. compile a list of meeting constraints3. find a suitable date

3.1 identify potential dates from departmental calendar3.2 identify potential dates from each individual’s calendar3.3 …

4. enter meeting into calendars…

Page 27: Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough

For more information…Interaction Design (Preece, Rogers, Sharp)Chapter 7, Identifying needs and establishing

requirements.