CS3205: Identifying needs and establishing requirements

Slides:



Advertisements
Similar presentations
Requirements gathering
Advertisements

Design, prototyping and construction
Session # 2 SWE 211 – Introduction to Software Engineering Lect. Amanullah Quadri 2. Fact Finding & Techniques.
Data Gathering Purpose: –To collect sufficient, relevant and appropriate data to develop a set of stable requirements Data: –Tasks performed –Goals –Context.
ACTIVELY ENGAGING THE STAKEHOLDER IN DEFINING REQUIREMENTS FOR THE BUSINESS, THE STAKEHOLDER, SOLUTION OR TRANSITION Requirements Elicitation.
Identifying needs and establishing requirements. Overview The importance of requirements Different types of requirements Data gathering Task descriptions:Scenarios.
Requirements Engineering, Daniela DamianGILD project -- Feb 5, 2003 GILD and requirements management Daniela Damian University of Victoria.
SWE Introduction to Software Engineering
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
Evaluation J T Burns May 2004
Identifying Needs and Establishing Requirements John Thiesfeld Jeff Morton Josh Edwards.
User Centered Design Intro to UCD Explain its motivation Discuss key stages in the process Present basic methods and techniques.
User-Centered Design and Development Instructor: Franz J. Kurfess Computer Science Dept. Cal Poly San Luis Obispo FJK 2005.
Identifying needs and establishing requirements Chapter 7a.
Identifying needs and establishing requirements
1 FJK User-Centered Design and Development Instructor: Franz J. Kurfess Computer Science Dept. Cal Poly San Luis Obispo 1.
Identifying needs and establishing requirements Chapter 7b.
Part 2: Requirements Days 7, 9, 11, 13 Chapter 2: How to Gather Requirements: Some Techniques to Use Chapter 3: Finding Out about the Users and the Domain.
ESTABLISHING REQUIREMENTS
Task analysis 1 © Copyright De Montfort University 1998 All Rights Reserved Task Analysis Preece et al Chapter 7.
Identifying needs and establishing requirements. Overview The importance of requirements Different types of requirements Data gathering Task descriptions:Scenarios.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes 1.
Identifying Needs and Establishing Requirements
Chapter 4: Beginning the Analysis: Investigating System Requirements
The importance of requirements Data gathering for requirements Task descriptions:Scenarios Use Cases Essential use cases Task analysis: HTA.
Computer Science Department California Polytechnic State University San Luis Obispo, CA, U.S.A. Franz J. Kurfess CPE/CSC 484: User-Centered Design and.
Identifying needs and establishing requirements Chapter 10.
1www.id-book.com Identifying needs and establishing requirements Chapter 10.
The importance of requirements Data gathering for requirements Task descriptions:Scenarios Use Cases Essential use cases Task analysis: HTA.
Investigating System Requirements
Chapter 5: Requirement Engineering Process Omar Meqdadi SE 2730 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
SoberIT Software Business and Engineering Institute HELSINKI UNIVERSITY OF TECHNOLOGY User Studies Basic principles, methods, and examples Sari.
Identifying needs and establishing requirements CS365 – HCI - Week 3.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Working with users, data-gathering techniques. Design Hall of Fame.
Knowing What to Do: Constraints, Discoverability, and Feedback
 Please get out an 8.5 X 11 sheet of paper  Put your name & the title above.  Follow the lecture and write your answers for each of the “Par” questions.
Chapter 7 Identifying Needs and Establishing Requirements By: Wang, Miao Fan, Xiaona.
Innovative Interface Design  User Experience Goals  Usability Goals  Consistancy  Internal  External  Feedback  Constraints  Affordances.
CS305: Fall 2008 Identifying needs and establishing requirements Readings: 1) Chapter 10 of the ID-Book textbook 2) Chapter 2 from Task-Centered User Interface.
Ch 7 Identifying needs and establishing requirements Group 3: Lauren Sullivan Chris Moore Steven Pautz Jessica Herron.
Working with users, part 2. Hall of Fame LOS ANGELES PARKING SIGNS.
Identifying needs and establishing requirements What, how and why?
1 The Design Process Lecture 6 DeSiaMorewww.desiamore.com/ifm.
Database Analysis and the DreamHome Case Study
1 Lecture 5: (Ref. Chapter 7) Identifying Needs and Establishing Requirements.
CSCI 4163 / CSCI 6904 – Winter Housekeeping  Clarification about due date for reading comments/questions  Skills sheet  Active listening handout.
Identifying Needs and Establishing Requirements Sonal Kulkarni Veeresh Kinagi Abilash Kittanna Jamare Lane Chapter 7.
Identifying needs and establishing requirements Data gathering for requirements.
Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough.
Requirements Engineering Processes. Syllabus l Definition of Requirement engineering process (REP) l Phases of Requirements Engineering Process: Requirements.
Task Analysis Lecture # 8 Gabriel Spitz 1. Key Points  Task Analysis is a critical element of UI Design  It describes what is a user doing or will.
Task Analysis Lecture # 8 Gabriel Spitz 1. Key Points  Task Analysis is a critical element of UI Design  It specifies what functions the user will need.
Lecture 4/2/16. Learning Objective Establishing requirements Define requirements Requirements discovery vs requirements gathering Classifying Requirements.
AVI/Psych 358/IE 340: Human Factors Data Gathering October 1, 2008.
2 The importance of requirements Different types of requirements Data gathering for requirements Task descriptions:Scenarios Use Cases Essential use cases.
5. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the activities of the requirements discipline  Describe the difference.
Requirements Elicitation CSCI 5801: Software Engineering.
GATHERING DATA Supplementary Note. What are requirements? A requirement is a statement about an intended product that specifies what it should do or how.
1 International Institute of Business Analysis Vision: The world's leading association for Business Analysis professionals” Mission: To develop and maintain.
Identifying Needs and Establishing Requirements Kelly Kim Haimin Lee.
Pepper modifying Sommerville's Book slides
Investigating System Requirements
CMPE 280 Web UI Design and Development August 29 Class Meeting
SNS College of Engineering Coimbatore
EKT 421 SOFTWARE ENGINEERING
Working with users, part 2
Identifying needs and establishing requirements
THE PROCESS OF INTERACTION DESIGN
Presentation transcript:

CS3205: Identifying needs and establishing requirements Readings: 1) Chapter 10 of the ID-Book textbook 2) Chapter 2 from Task-Centered User Interface Design (web text)

Overview The importance of requirements Different types of requirements Data gathering How to describe: Scenarios Use Cases Essential use cases HTA

What, how and why? What Two aims: 1. Understand as much as possible about users, task, context 2. Produce a stable set of requirements How: Data gathering activities Data analysis activities Expression of ‘requirements’ All of this is iterative

What, how and why? Why: Requirements definition: the stage where failure occurs most commonly Getting requirements right is crucial

But of course…

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 ‘establish’? Requirements arise from understanding users’ needs Requirements can be justified & related to data

Eliciting Requirements Another commonly used term: Requirements elicitation What’s this mean to you?

Different kinds of requirements Functional: Operations that the system should do Historically the main focus of requirements activities Non-functional: memory size, response time… Also usability! Data: What kinds of data need to be stored? How will they be stored (e.g. database)?

Different kinds of requirements Environment or context of use: physical: dusty? noisy? vibration? light? heat? humidity? …. (e.g. jet fighter cockpit, 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

Different kinds of requirements User requirements: Who are the users? Characteristics: ability, background, attitude to computers System use: novice, expert, casual, frequent Novice: step-by-step (prompted), constrained, clear information Expert: flexibility, access/power Frequent: short cuts Casual/infrequent: clear instructions, e.g. menu paths

Different kinds of requirements Usability requirements: learnability, efficiency, flexibility, aesthetics, satisfaction, … Note that user requirements and usability requirements refer to different things

User Persona Prepare a user persona for each user role From Alan Cooper’s book, The Inmates Are Running the Asylum A description of a archetypical, hypothetical, imaginary user Description should focus on the behaviors and goals related to the specific domain of a product What is this person’s end goals for using the product? See Example in ID-book (p. 484-485)

Persona Example Patricia is an English professor who has written several books of poetry. She has been using computers for word-processing since 1980, although the only two programs she’s used are Nota Bene and Microsoft Word. She doesn’t want to spend time learning details of how a computer works, and tends to store all her files in whatever directory they’d go in if you didn’t know about directories. (From Spolsky.)

How Personas Can Be Useful Descriptions should help identify workflow and behavior patterns goals environment attitudes From multiple user points of view! Can help in conceptual models defining usability requirements prioritizing (or cutting) features evaluating alternatives Will make engineers more user-focused

How To “Get” Requirements Where do they come from? How do you get them from stakeholders? Future/potential users? Following slides: ideas on “data gathering” techniques

Data gathering techniques (1) Questionnaires: A series of questions designed to elicit specific information Questions may require different kinds of answers: simple YES/NO; choice of pre-supplied answers; comment Often used in conjunction with other techniques Can give quantitative or qualitative data Good for answering specific questions from a large, dispersed group of people

Data gathering techniques (2) Interviews: Forum for talking to people Structured, unstructured or semi-structured Props, e.g. sample scenarios of use, prototypes, can be used in interviews Good for exploring issues But are time consuming and may be infeasible to visit everyone

Data gathering techniques (3) Workshops or focus groups: Group interviews Good at gaining a consensus view and/or highlighting areas of conflict

But of course…

Data gathering techniques (4) 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 Ethnography is one form

Data gathering techniques (5) Studying documentation: Procedures and rules are often written down in manuals Good source of data about the steps involved in an activity, and any regulations governing a task Not to be used in isolation Good for understanding legislation, and getting background information No stakeholder time, which is a limiting factor on the other techniques

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 a layman or a skilled practitioner?

Problems with data gathering (1) Identifying and involving stakeholders: users, managers, developers, customer reps?, union reps?, shareholders? Involving stakeholders: workshops, interviews, workplace studies, co-opt stakeholders onto the development team ‘Real’ users, not managers: traditionally a problem in software engineering, but better now

Problems with data gathering (2) Requirements management: version control, ownership Communication between parties: within development team with customer/user between users… different parts of an organisation use different terminology Domain knowledge distributed and implicit: difficult to dig up and understand knowledge articulation: how do you walk? Availability of key people

Problems with data gathering (3) Political problems within the organisation Dominance of certain stakeholders Economic and business environment changes Balancing functional and usability demands

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

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

Summary In these slides: Coming next: Types of requirements Personas How to get information Coming next: Task analysis Describing Tasks