39
Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Embed Size (px)

Citation preview

Page 1: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Identifying Needs and Establishing Requirements

Sonal KulkarniVeeresh Kinagi

Abilash KittannaJamare Lane

Chapter 7

Page 2: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Objective

• Describe different types of requirements.• Identifying different types of requirements

through simple description.• Data gathering Techniques• Developing a “scenario”, “use case” and an “

essential use case”• Performing hierarchical task analysis on a

simple description

Page 3: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Aim of this activity

• Identifying needs- Understanding the users, their work and the context of their work as much as possible. So that, the system under development can support them in achieving their goals.

• Establishing stable requirements- From the needs identified in the previous step, this step aims at producing stable requirements which serve as sound basis for carrying out design activity.

Page 4: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

How do we achieve this?• Beginning – We have a lot to find out and clarify• Middle- collecting data interpret data extract requirements from the data• End- We have stable requirements.Broadly speaking, data gathering is a sequential activity but it gets messier than this and the activities influence one another as processiterates.

Page 5: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Identifying needs and establishingrequirements • Is an Iterative activity• It does not take a set number of weeks or

months to finish• In practice, requirements evolve as

stakeholders interact with design.

Page 6: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Why bother? The importance of getting it right

• A research conducted in January 2000(Taylor,2000), investigated the causes of IT project failures. The research admits that there is no single cause for project failure but requirements issues figured highly in the findings.

• The research also involved detailed questioning of 38 IT professionals in UK. When asked about the causes of failure, they mentioned– Requirements definition– Unclear objectives and requirements.

Page 7: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

The implication for both producer and customerare• Anxiety and frustration• Loss in revenue• Loss of customer confidenceThese issues can be addressed by having user centered approach. This implies that the users’ voices and needs should be clearly heard and taken into account.

Page 8: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Why establish Requirements?

The activity of understanding what a product should do has been given various labels• Requirements gathering• Requirements capture• Requirements elicitation• Requirements analysis• Requirements engineering

Page 9: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

• Requirement gathering and Requirement capture assume that the requirements are out there and the we simply need to pick them up.• Requirements elicitation implies that the users know the requirements. However, we cannot expect the user to know all the requirements.• Requirement analysis involves investigating and analyzing the initial set of requirements that have been gathered , captured or elicited.

Page 10: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

• Requirements engineering recognises that developing a set of requirements is an iterative process of evolution and negotiation and one that needs to be carefully managed and controlled. It is better than the others.

The term establishing requirements means that requirements arise from data gathering and interpretation activities and have been established from a sound understanding of users’ needs.

Page 11: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

What are Requirements?

• A requirement is a statement about an intended product that specifies what it should do or how it should perform. One of the aims of the requirements activity is to make the requirements as specific, unambiguous, and clear as possible.

Page 12: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Source http://www.projectcartoon.com/cartoon/2

Page 13: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Types of requirements

• Functional– Describes what the system should do– Main focus of requirements activities

• Non-Functional– Describes what constraints there are on the

system and its development

Page 14: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Types of non-functional requirements(1)

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

• Environmental/ Context of Use– What circumstances will the product be expected to

operate?• Physical?• Social?• Organizational?• Technical?

Page 15: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Types of non-functional requirements(2)

• User– Characteristics of the intended user– User Profiles

• Usability– Capture the Usability Goals• Effectiveness, Safety, Learnability etc.

Page 16: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Variety of requirementsthat need to be captured. (not exhaustive)

• Functional requirements capture what the product should do.

• Data requirements capture the type, volatility, sizelamount,

persistence, accuracy, and value of the amounts of the required data.

• Environmental requirements or context of use refer to the circumstances in which the interactive product will be expected to operate.

• User requirements capture the characteristics of the intended user group.

Page 17: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Data Gathering

• Data gathering is an important part of the requirements activity and also of evaluation

• The purpose of data gathering is to collect sufficient, relevant, and appropriate data so that a set of stable requirements can be produced

Page 18: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Questionnaires:• A series of questions designed to elicit specific information• Often used in conjunction with other techniques• Can give quantitative or qualitative data• Good for answering specific questions and can reach many

people with low resource

Interviews:• talking to people and asking someone a set of question • Structured, unstructured or semi-structured • Good for exploring issues, but are time consuming and may be

infeasible to visit everyone

Page 19: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

• Focus groups or workshops : − Group interviews

− Good at collecting multiple viewpoints highlighting areas of consensus and conflict

• Naturalistic observation:− Spend time with stakeholders in their day-to-day tasks, observing

work as it happens

− Gain insights into stakeholders’ tasks

− Good for understanding the nature and context of the tasks

− But, it requires time and commitment from a member of the design team, and it can result in a huge amount of data

Page 20: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Studying documentation: • Procedures and rules that often written down in

manuals are good source of data about the steps involved in an activity

• Good for understanding legislation, and getting background information and is used with other techniques

More information about Data gathering techniques in HCI book, P211 – P215

Page 21: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Data gathering techniques used to analyze COOL

The Merchants of Cool

Primary objective is to understand the behaviors of teen spending habits

They spend their days sifting through reams of market research data. They conduct endless surveys and focus groups. They comb the streets, the schools, and the malls, hot on the trail of the "next big thing" that will snare the attention of their prey--a market segment worth an estimated $150 billion a year. They are the merchants of cool: creators and sellers of popular culture who have made teenagers the hottest consumer demographic in America

http://video.google.com/videoplay?docid=2330629461681402395&ei=dkzuSsj3AoW0qwLd7LTcDg&q=focus+group+cool&hl=en&view=2#

• Source : video.google.com and • http://www.pbs.org/wgbh/pages/frontline/shows/cool/

Page 22: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7
Page 23: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Exercise

Suggest one key functional, data, environmental, user and usability requirement for the following scenario:

A system that is used for a university’s self service cafeteria – Data?– Environmental Factors?– Users?– Usability?

Page 24: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Choosing between techniquesData gathering techniques differ in two respects:

1. Amount of time, level of detail and risk associated with the findings

2. Knowledge the analyst requires about basic cognitive processTasks can be classified along three scales:

1. Sequential steps or overlapping series of subtasks?

2. High information with complex displays or low information with simple signals?

3. Task for a layman or a skilled practitioner?

Page 25: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Some basic 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 26: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

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 sensible compromises, you need to know what you’d really like

• Consider carefully how to record the data, video recording, audio recording and note taking

Page 27: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7
Page 28: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Discussion

• we should choose appropriate data gathering techniques in the different situations. What kind of data gathering should be appropriate in this situation and How you might use these techniques.

- Election exit polls

Page 29: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Data Interpretation and Analysis• Start soon after data

gathering session

• Initial interpretation before deeper analysis

• Different approaches emphasize different elements e.g. class diagrams for object-oriented systems, entity-relationship diagrams for data intensive systems

Page 30: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Observation

Observation is a useful data gathering technique at any stage during product development.

Page 31: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Field Observation

• Helps fill in details• Can be complicated

Page 32: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Field Observation

• Frameworks are used to structure and focus their observation.

• Colin Robson’s Framework– Space, actors, activities, objects, acts, events,

time, goals, and feelings

Page 33: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Field Observation

• Degree of participation– Passive Observer – will not take part in the study

environment at all– Participant Observer – attempts to become a full

member of the group being studied

Page 34: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Field Observation

• Tips for successful field observations– Frameworks– Participation– Records– Acceptance

Page 35: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Ethnography

• In an ethnography study, the observer adopts a participant observer role as much as possible.

Page 36: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Data Collection

• Interaction Logs• Think-aloud– Direct

• Diaries– Indirect

Page 37: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Data CollectionTechnique Good for Kind of data Advantages Disadvantages

Interviews Exploring issues

Some quantitative but mostly qualitative

Interviewer has control

Time-consuming

Focus groups Collecting multiple viewpoints

Some quantitative but mostly qualitative

Consensus or conflict.

Some members may be dominant

Questionnaires Answering specific questions

Quantitative and qualitative

Can reach many people with little effort

Design is crucial

Direct observation in field

Understanding context of user activity

Mostly qualitative

Very insightful Time-consuming. Lots of data

Page 38: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Data CollectionTechnique Good for Kind of data Advantages Disadvantages

Direct observation in a controlled environment

Learning about procedures, regulations and standards

Quantitative and qualitative

Can focus on the details of a task without interruption

Results may have limited use in the normal environment because the conditions were artificial

Indirect observation

Observing users without disturbing their activity; data captured automatically

Quantitative (logging) and qualitative (diary)

User doesn’t get distracted by the data gathering

A large amount of quantitative data needs tool support to analyze; participants’ memories may exaggerate

Page 39: Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7

Observation

• Factors determining the type of observation are– The participants– Technique– Resources