ch 7 identifying needs and establishing requirements group 3: lauren sullivan chris moore steven...

33
Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Upload: sharon-murphy

Post on 01-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Ch 7Identifying needs and

establishing requirements

Group 3:

Lauren SullivanChris MooreSteven PautzJessica Herron

Page 2: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Overview

•The importance of requirements

•Different types of requirements

•Data gathering

•Task descriptions: Scenarios

Use Cases

Essential use cases

•Task analysis: HTA

Page 3: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

What, how and why? •What

Two aims: 1. Understand as much as possible about users, task, context2. Produce a stable set of requirements

•How:Data gathering activitiesData analysis activitiesAll of this is iterative

Page 4: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

What, how and why? •Why:

Getting requirements right is crucial. It must support stakeholders needs.

Requirements definition: is the stage where failure occurs most commonly. Think of a CS project where the objectives were unclear and

possibly led to misunderstandings and even failure.

Requirements Engineering: iterative process of evolution

Page 5: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Establishing requirements

• What do users want? What do users ‘need’? Requirements need clarification, refinement, completion, re-scoping

Input: requirements document (maybe)

Output: stable requirements

• Why?Requirements arise from understanding users’ needs

Requirements can be justified & related to data

Process Impact

Page 6: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Different kinds of requirements

• Functional: —What the system should do—Historically the main focus of requirements activities

• Non-Functional: —Memory size—Response time and downtime

• Data:—What kinds of data need to be stored?—How will they be stored (e.g. database)?

Page 7: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Different kinds of requirements

Environment or context of use:—physical: dusty? noisy? vibration? light? heat? humidity? …. (e.g. OMS insects, ATM)

—social: sharing of files, of displays, in paper, across great distances, work individually, privacy for clients

—organisational: hierarchy, IT department’s attitude and remit, user support, communications structure and infrastructure, availability of training

Page 8: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Different kinds of requirements

•Users:Characteristics: you need to understand their ability and background. 4 main categories:

Novice Need instruction, step by step prompting

Expert Flexibility and access/power

Casual Clear instructions and be able to do what they need to do immediately

Frequent Short cuts and an overall memorable design

Ex: MS Word

Page 9: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Different kinds of requirements

•Usability: learn-ability, throughput, flexibility, attitude, memorability

Note that user requirements and usability requirements refer to different things

-WetPC usability example

Page 11: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Data Gathering

• Purpose:– To collect sufficient, relevant, and appropriate

data so that a set of stable requirements can be produced.

• Techniques:– Questionnaires– Interviews– Focus groups and workshops– Naturalistic observation– Studying documentation

Page 12: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Data Gathering Techniques

• Questionnaires:

Good for Kind of data Advantages Disadvantages

Answering specific questions

Quantitative and qualitative data

Can reach many people

Low response rate.

Example Links:

Yahoo Customer Poll

MYCLE survey

Page 13: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Data Gathering Techniques

Good for Kind of data Advantages Disadvantages

Exploring issues

Some quantitative, mostly qualitative

Encourages contact between developers and users

Time consuming

• Interviews:

Page 14: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Data Gathering Techniques

Good for Kind of data Advantages Disadvantages

Collecting multiple view points

Some quantitative, mostly qualitative

Encourages contact between developers and users

Possibility of dominant characters

• Focus groups and workshops:

Page 15: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Data Gathering Techniques

Good for Kind of Data

Advantages Disadvantages

Understanding context of user activity

Qualitative Observing actual work gives insight

Very time consuming, huge amounts of data

• Naturalistic Observation:

Page 16: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Data Gathering Techniques

Good for Kind of data

Advantages Disadvantages

Learning about procedures, regulations, and standards

Quantitative Not time commitment from users

Day-to-day working will differ from documented procedures

• Studying Documentation:

Page 17: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Choosing Between Techniques

• Data gathering techniques differ in two ways:1. Amount of time, level of detail, and risk associated

with the findings.2. Knowledge the analyst requires

• The choice of technique is also affected by the kind of task to be studied:– Sequential steps or overlapping series of subtasks?– High or low, complex or simple information?– Task for layman or skill practitioner?

Page 18: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Data-Gathering Guidelines

• Focus on identifying the stakeholders’ needs.

• Involve all the stakeholder groups.• Involve more than one representative

from each stakeholder group.• Use a combination of data gathering

techniques.

Page 19: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Some basic guidelines

• Support the process with props, such as prototypes and task descriptions.

• Run a pilot session.• You will need to compromise on the data you

collect and the analysis to be done, but before you can make sensible compromises, you need to know what you’d really like.

• Consider carefully how to record the data.

Page 20: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Data interpretation and analysis

• Start soon after data gathering session- Data stays fresh in the mind- Avoids caused bias- Use templates such as suggested in Volere- Class and sequence diagrams…remember

CpSc 372?

Page 21: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Task descriptions

• Scenarios- “an informal narrative description”- e.g. users of a library catalog service or a shared

calendar system

• Use cases- assume interaction with a system- assume detailed understanding of the interaction

• Essential use cases- abstract away from the details- does not have the same assumptions as use cases

Page 22: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Scenario for shared calendar

“The user types in all the names of the meeting participants together with some constraints such as the length of the

meeting, roughly when the meeting needs to take place, and possibly where it needs to take place. The system then checks

against the individuals’ calendars and the central departmental calendar and presents the user with a series of

dates on which everyone is free all at the same time. Then the meeting could be confirmed and written into people’s

calendars. Some people, though, will want to be asked before the calendar entry is made. Perhaps the system could email them automatically and ask that it be confirmed before it is

written in.”

Page 23: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Scenarios (continued)

• The level of detail present in a scenario varies

• Generated during workshop or interview sessions

• Used to imagine potential uses of a device

• Not intended to capture a full set of requirements

Page 24: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Use Cases

• Shows the relationship between the user and the system

• Interactions take place between actors• More formal than a Scenario

• First, the actors are identified.• Next, the goals of the actors are determined• Each goal becomes a Use Case

Page 25: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Use Cases: Example

Arrange a Meeting 1. 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. The system searches the calendars for a date that

satisfies the constraints. 8. The system displays a list of potential dates. 9. The user chooses one of the dates.10. The system writes the meeting into the calendar.11. The system emails all the meeting participants informing

them of them appointment

Page 26: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Use Cases: Example

Administrator Departmentalmember

Arrange ameeting

Update calendarentry

Retrievecontact details

Page 27: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Essential Use Cases

• A structured narrative• Consists of a title and descriptions of user

actions and system responsibilities

• More broad than normal Use Cases• Utilizes user roles instead of actors

• May represent a single person or system, or a group of people or systems with similar goals

Page 28: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Essential Use Cases: Example

User Intention System Responsibility

Arrange a meeting

Request Meeting

Identify meeting attendees and

constraints

Suggest potential dates

Choose preferred date

Book Meeting

Page 29: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Task Analysis

• Used to investigate an existing situation• Descriptions of existing tasks may be used

to envision new systems or devices• Combines many different techniques, at a

high level of abstraction and in detail• Most popular form is Hierarchical Task

Analysis

Page 30: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Hierarchical Task Analysis

• A task is divided into subtasks, then subtasks are divided as necessary

• Results in a tree-like explanation of a task

• Starts with a user goal. Main tasks are identified from this goal, and are subdivided as appropriate.

Page 31: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

HTA: Example

0. In order to borrow a book from the library 1. go to the library 2. find the required book

2.1 access library catalogue2.2 access the search screen2.3 enter search criteria2.4 identify required book 2.5 note location

3. go to correct shelf and retrieve book4. take book to checkout counter

Page 32: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

HTA: ExampleBorrow a book from the library

go to the library

find required book

retrieve book from shelf

take book to counter

321 4

0

access catalog

access search screen

enter search criteria

identify required book

note location

plan 0: do 1-3-4. If book isn’t on the shelf expected, do 2-3-4.

plan 2: do 2.1-2.4-2.5.If book not identified from information available, do 2.2-2.3-2.4-2.5

2.1 2.2 2.3 2.4 2.5

Page 33: Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron

Summary

• Getting the requirements correct is crucial to product’s success

• Different types of requirements:• functional, data, environmental, user, and usability

• Common data-gathering techniques:• questionnaires, interviews, focus groups and workshops,

naturalistic observation, and studying documentation• Scenarios, use cases, and essential use cases can be used to

explain existing and envisioned work practices, as well as plan future practices

• Task analysis techniques, including HTA, help to investigate existing systems and current practices