Requirements elicitation/analysis

Similar documents
A Context-Driven Use Case Creation Process for Specifying Automotive Driver Assistance Systems

PREP S SPEAKER LISTENER TECHNIQUE COACHING MANUAL

5. UPPER INTERMEDIATE

Getting Started with Deliberate Practice

Alberta Police Cognitive Ability Test (APCAT) General Information

LEGO MINDSTORMS Education EV3 Coding Activities

Why Pay Attention to Race?

MENTORING. Tips, Techniques, and Best Practices

How to organise Quality Events

Welcome to the Purdue OWL. Where do I begin? General Strategies. Personalizing Proofreading

Meta-Cognitive Strategies

Designing a Rubric to Assess the Modelling Phase of Student Design Projects in Upper Year Engineering Courses

Kindergarten Lessons for Unit 7: On The Move Me on the Map By Joan Sweeney

a) analyse sentences, so you know what s going on and how to use that information to help you find the answer.

Internship Department. Sigma + Internship. Supervisor Internship Guide

Study Group Handbook

The Task. A Guide for Tutors in the Rutgers Writing Centers Written and edited by Michael Goeller and Karen Kalteissen

Assessment and Evaluation

WORK OF LEADERS GROUP REPORT

Student Handbook 2016 University of Health Sciences, Lahore

Some Basic Active Learning Strategies

Thesis-Proposal Outline/Template

A process by any other name

The Good Judgment Project: A large scale test of different methods of combining expert predictions

COUNSELLING PROCESS. Definition

ECE-492 SENIOR ADVANCED DESIGN PROJECT

Diagnostic Test. Middle School Mathematics

English Nexus Offender Learning

Critical Thinking in Everyday Life: 9 Strategies

Case study Norway case 1

What is an internship?

Initial English Language Training for Controllers and Pilots. Mr. John Kennedy École Nationale de L Aviation Civile (ENAC) Toulouse, France.

Delaware Performance Appraisal System Building greater skills and knowledge for educators

E-3: Check for academic understanding

What is PDE? Research Report. Paul Nichols

Evidence-based Practice: A Workshop for Training Adult Basic Education, TANF and One Stop Practitioners and Program Administrators

Final Teach For America Interim Certification Program

Chapter 4 - Fractions

TASK 2: INSTRUCTION COMMENTARY

MTH 141 Calculus 1 Syllabus Spring 2017

Evidence into Practice: An International Perspective. CMHO Conference, Toronto, November 2008

On Human Computer Interaction, HCI. Dr. Saif al Zahir Electrical and Computer Engineering Department UBC

The Consistent Positive Direction Pinnacle Certification Course

The Nature of Exploratory Testing

COMMUNICATION & NETWORKING. How can I use the phone and to communicate effectively with adults?

Dale Carnegie Final Results Package. For. Dale Carnegie Course DC218 Graduated 6/19/13

Setting the Scene: ECVET and ECTS the two transfer (and accumulation) systems for education and training

Coast Academies Writing Framework Step 4. 1 of 7

STUDENT PERCEPTION SURVEYS ACTIONABLE STUDENT FEEDBACK PROMOTING EXCELLENCE IN TEACHING AND LEARNING

Managerial Decision Making

Multiple Intelligence Teaching Strategy Response Groups

FINAL ASSIGNMENT: A MYTH. PANDORA S BOX

Software Security: Integrating Secure Software Engineering in Graduate Computer Science Curriculum

Implementing a tool to Support KAOS-Beta Process Model Using EPF

RETURNING TEACHER REQUIRED TRAINING MODULE YE TRANSCRIPT

Handout 2.10a: 24 Operating Principles and the Verbal Behaviors That Go with Them Cultivating Classroom Discourse to Make Student Thinking Visible

Functional requirements, non-functional requirements, and architecture should not be separated A position paper

The Evolution of Random Phenomena

TU-E2090 Research Assignment in Operations Management and Services

PART C: ENERGIZERS & TEAM-BUILDING ACTIVITIES TO SUPPORT YOUTH-ADULT PARTNERSHIPS

Software Maintenance

ASSESSMENT GUIDELINES (PRACTICAL /PERFORMANCE WORK) Grade: 85%+ Description: 'Outstanding work in all respects', ' Work of high professional standard'

Generating Test Cases From Use Cases

STUDENTS' RATINGS ON TEACHER

The Foundations of Interpersonal Communication

Professor Christina Romer. LECTURE 24 INFLATION AND THE RETURN OF OUTPUT TO POTENTIAL April 20, 2017

Grade 4. Common Core Adoption Process. (Unpacked Standards)

Chapter 9: Conducting Interviews

ECON 442: Economic Development Course Syllabus Second Semester 2009/2010

What Teachers Are Saying

LESSON TITLE: The Road to Writing Perfect Paragraphs: Follow The Old Red Trail

Testing A Moving Target: How Do We Test Machine Learning Systems? Peter Varhol Technology Strategy Research, USA

The Teenage Brain and Making Responsible Decisions About Sex

Executive Guide to Simulation for Health

Just in Time to Flip Your Classroom Nathaniel Lasry, Michael Dugdale & Elizabeth Charles

Common Core Exemplar for English Language Arts and Social Studies: GRADE 1

How to Judge the Quality of an Objective Classroom Test

Success Factors for Creativity Workshops in RE

PreReading. Lateral Leadership. provided by MDI Management Development International

This Performance Standards include four major components. They are

Investigations for Chapter 1. How do we measure and describe the world around us?

How we look into complaints What happens when we investigate

TRAITS OF GOOD WRITING

Assessing speaking skills:. a workshop for teacher development. Ben Knight

SCIENCE DISCOURSE 1. Peer Discourse and Science Achievement. Richard Therrien. K-12 Science Supervisor. New Haven Public Schools

Client Psychology and Motivation for Personal Trainers

FREE COLLEGE Can Happen to You!

Curriculum Design Project with Virtual Manipulatives. Gwenanne Salkind. George Mason University EDCI 856. Dr. Patricia Moyer-Packenham

Activities, Exercises, Assignments Copyright 2009 Cem Kaner 1

Myers-Briggs Type Indicator Team Report

MULTIDISCIPLINARY TEAM COMMUNICATION THROUGH VISUAL REPRESENTATIONS

Administrative Services Manager Information Guide

Ministry of Education, Republic of Palau Executive Summary

SHEEO State Authorization Inventory. Kentucky Last Updated: May 2013

Eastbury Primary School

What is a Mental Model?

Mini Lesson Ideas for Expository Writing

IMPACT INSTITUTE BEHAVIOR MANAGEMENT. Krissy Matthaei Gina Schutt

UDL AND LANGUAGE ARTS LESSON OVERVIEW

Using Proportions to Solve Percentage Problems I

Transcription:

Requirements elicitation/analysis Topics: Problem statements, requirements, and elicitation

Cost of requirements errors by phase Analysis Design Testing Post-deployment

Gulf between client and developer perspectives on software requirements Customer Developer http://www1.istockphoto.com/file_thumbview_approve/325621/2/istockphoto_325621_airplane_silhouette.jpg

Bridging the gulf Requirements Specification Customer Developer

The requirements specification Critical artifact, for many reasons: freezes what is to be developed o o part of the contract between client and developer should be no new requirements added once development begins equivalent to a project handout in a programming course Two schools of thought on notion of freezing reqts It is a myth to think we can freeze requirements; therefore, we must develop software assuming new reqts will arrive after development begins It is vain to think we can develop a quality system if new reqts are added after development begins; therefore, the reqts spec should be thorough and subjected to quality assurance Waterfall processes subscribe to the second view

Issues Given the critical nature of the requirements specification, important to get it right! Meta-requirements (i.e., reqts of a reqts spec): consistent complete understandable by both client and developer Question: Why might these meta-requirements be difficult to satisfy?

Completeness/consistency problems Consistency problems: Multiple interpretations of similar terms o developer s vocabulary vs. client s Concepts built upon undefined concepts/terms o E.g., scheduling system based on notion of constraint o But constraint never really defined E.g., is a recurring commitment one or multiple constraints? Completeness problems: Customer may have only a fuzzy understanding of what he or she wants Developer lacks implicit knowledge of client domain

Elicitation techniques

Client View of Domain Clients cannot be expected to have rigorous or formal view of domain Hence, cannot be expected to completely be aware of domain-problem relationship Some knowledge is explicit Easier to get at Some knowledge is implicit Many constraints are implicit Hard to get at...

Technique: Initial client interview Goal: Discover as many requirements as you can in a limited amount of time Implications: Essentially an information-extraction process Ask open-ended questions o ask them in more than one way Your analysis should be very limited o OK to ask follow up questions, but don t get bogged down analyzing one requirement, or you will run out of time o Never (during this interview): suggest a better way to think about it express opinions on answers

Question Structure is Critical What is the client s problem? what, precisely, is the problem to be solved? When does the problem occur? what generates the problem? situations, are they new or old? Transient? Where does the problem occur? what are the problem domain boundaries? Remember, this is a diagnosis / information extraction process How is the problem handled now? Why does the problem exist?

Sample System: Smart Cruise Requirements Achieve desired trail distance Safety zone Coast zone Closing zone About 400 ft - acquires target vehicle. Closing speed low enough to control. Starts coasting to match speed Safe zone Maintain proper trail distance - speeds match This is what we want Closing speed too high. Issues warnings to avoid this condition

Closed-ended questions Q: When a vehicle cuts in front of the car, you have to slow down quickly and not hit it, right? A: Yes You learned absolutely nothing.

Open-ended questions New reqt! Q: What happens when a car cuts in front of you? A: Well, if the lead car is too close, the driver has to intervene or else a crash results. I guess we need a warning light in this case. If the car is moving faster, you don t have to do anything. He s pulling away. I guess the only time brakes are used is when the closing speed is too high for the distance and yet within the capabilities of the system to slow down. But I guess if a collision is imminent, we should max out the braking. Now, we learned something... Clarification

Dialogue with different responses Q: Tell me what should happen if a car cuts in front of our car too close to avoid a collision? A: I guess since there is nothing the system can do, turn off the controller and hope the driver brakes in time. Not good Q: What? Are you nuts? We should at least try to stop. Shouldn t we? A: Perhaps... Much better Q: We have quite a bit of braking power in the system. What would happen if we used it here? A: Well, I guess it could avoid a collision and at least get the car slowed down but the attorneys tell me we don t want the system active when a collision occurs. You are done at at this point, and still unresolved. Ah ha! Non-technical constraint

From elicitation to analysis... Your interview should result in a large volume of facts which must be analyzed to derive requirements Here analysis involves both analysis and synthesis Synthesis: attempt to compose a coherent model of the problem requirements A model can be analyzed to: identify potentially inconsistent facts, and infer facts that should be true Both of these issues must be clarified, often via a second client interview

Putative questions Asks about a situation in a way that tests your model of the domain SWE: If a lead vehicle turns, or otherwise is not in front of the car anymore, the car can resume the previous speed, correct? CLIENT: Yes, exactly. Very specific question that tests the idea of cruise plus collision avoidance

Sample Interview I SWE: Could you tell me about the cruise control system? CLIENT Yes, normal cruise control holds a fixed speed. What we want is to make the car "smart" so that it slows down when there is a vehicle in front of it. SWE: What does a driver currently do in this situation? CLIENT Currently, the driver can step on the brakes to disengage the cruise, or turn the cruise off completely. Or, not use the cruise. Establish facts, but open ended. It s seemingly obvious what happens now SWE: Why is turning off the cruise this way a problem? i.e., Why do you need smart cruise? Try to get at the motivation for the problem

Sample Interview II CLIENT In an urban environment, say I-75 in Detroit, using the cruise becomes irritating, but really we are more interested in avoiding collisions. SWE: Tell me more about the collision avoidance aspect, please. open, info gathering CLIENT If we limit how close a lead vehicle can get, and control the speed while the car is in trail, the chances of a collision can be greatly reduced. SWE: How would a system avoid a collision in a typical scenario? CLIENT Suppose the driver is following a truck, but at a higher speed than the truck. As the car closes, the system could alter the speed to match the speed of the truck. Specific request for facts SWE: What does the slowdown profile look like? The system is mis-named. This is good info Looking for process/behavior information

Sample Interview III Great insight CLIENT Well, we have discovered that slowing down linearly over a long distance can lead to other cars cutting in front of you. This is also not what a human driver does. Instead, we continue at out current speed and start a coast when we compute that we will get too close. SWE: What is "too close" CLIENT Oh, within 2 seconds of trail distance Very specific, to resolve ambiguity in domain terms Ok, we can infer what this means SWE: Does that mean at 60 mph, 88 ft/sec, too close is 176 ft? Time for a putative theorem to verify current model that resolves ambiguity CLIENT Yes, closer than 176 ft is too close. verification

Sample Interview IV SWE: What if a car cuts in front of you within the "safe" 2 second distance? CLIENT I guess since there is nothing the system can do. Turn off the controller and hope the driver brakes in time. SWE: The specs indicate we have a fair amount of braking power available. What would be the problem with using it here? filling in model vs. can t we use CLIENT The system does have access to the brakes, which are anti-lock. Technically, we could apply the brakes, but at the moment, our attorneys tell us we'd rather not have the system active if a collision is imminent. A non-technical issue arises

Types of Questions as Tools Why... Usually leads to deeper motivations, information on structure. What... How... Usually leads to facts Usually leads to a discussion of process, not structure Could... Maximally open, might lead to no data could you explain why the safety zone is 2 seconds?

Elicitation/analysis structure Elicitation/analysis may require multiple interviews ask questions to obtain information build information into your model figure out where the ambiguity or problem is answer matches wrong answer pose putative questions

Summary Elicitation is critical to: address the requirements-completeness problem support analysis, which aims to address the requirements-consistency problem Client interviews are a useful tool, but: Must be carefully planned and orchestrated o Meetings should focus on a primary goal (e.g., information extraction vs. clarification) Big mistake to fail to plan for some iteration here