EC Requirements Elicitation Originally developed by Michael Madigan, StorageTek Manager, PAL Engineering For ECEN4033/5033 Software Engineering of Standalone.

Slides:



Advertisements
Similar presentations
Facilitating Effective Meetings
Advertisements

Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 1.Gain agreement on the problem definition. 2.Understand the root causes 3.Identify the.
0 Solving Problems in Groups ©2008, University of Vermont and PACER Center Solving Problems in Groups PCL Module 9.
Software Engineering of Standalone Programs Prof. Ruth Dameron, Course web site with course materials is under WebCT – Need an identikey.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
1 Team Skill 2 Chapter 8: The Challenge of Requirements Elicitation Due to The "Yes, But" Syndrome The "Undiscovered Ruins" Syndrome The "User and the.
ACTIVELY ENGAGING THE STAKEHOLDER IN DEFINING REQUIREMENTS FOR THE BUSINESS, THE STAKEHOLDER, SOLUTION OR TRANSITION Requirements Elicitation.
Understanding User and Stakeholder Needs
1 Brainstorming and Storyboarding Sriram Mohan/Steve Chenoweth RHIT Chapters 12 & 13, Requirements Text.
1 Software Requirement Analysis Deployment Package for the Basic Profile Version 0.1, January 11th 2008.
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
Innovation Leadership Training Day Three February 19, 2009 All materials © NetCentrics 2008 unless otherwise noted.
1 Team Skill 2 - Understanding User and Stakeholder Needs (Chapters 8-13 of the requirements text) CSSE 371, Software Requirements and Specification Don.
Requirements Elicitation and Documantation
SE 555 Software Requirements & Specification Requirements Validation.
171 Use Case Descriptions Chapter 4 – Facade Iteration Initial Requirements (Inception Phase)
Brainstorming and Idea Reduction
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
Chapter 11 Requirements Workshops
11 Welcome to the Facilitation Skills Practice Workshop!
1 Requirements Elicitation Slinger Jansen. 2  1. Motivation  2. Requirements  3. Continuous RE  4. The RE Framework  7. Fundamentals of Goal Orientation.
Team Skill 2 Understanding Stakeholders Needs
Brainstorming Steve Chenoweth & Chandan Rupakheti RHIT Chapters 12 & 13, Requirements Text, Brainstorming Techniques document Brainstorming involves generating.
Requirements Workshops
Meeting Skills.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
What is Business Analysis Planning & Monitoring?
S/W Project Management
1 IBM Software Group ® Mastering Requirements Management with Use Cases Module 5: Understand Stakeholder Needs.
Advanced Topics in Requirement Engineering. Requirements Elicitation Elicit means to gather, acquire, extract, and obtain, etc. Requirements elicitation.
Requirements Elicitation Techniques. Interviewing and questionnaires.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Business Analysis and Essential Competencies
Software Development Process and Management (or how to be officious and unpopular)
Team Skill 2 Understanding User and Stakeholder Needs Requirements Workshop (11)
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Requirements Engineering Requirements Elicitation Process Lecture-9.
IS2210: Systems Analysis and Systems Design and Change Twitter:
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Lecture-3.
Develop Project Charter
Design Process … and some design inspiration. Course ReCap To make you notice interfaces, good and bad – You’ll never look at doors the same way again.
Team Skill 2 Understanding User and Stakeholder Needs The Challenge of Requirements Elicitation (8)
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Identifying needs and establishing requirements Data gathering for requirements.
Facilitate Group Learning
Requirements Management with Use Cases Module 5: Understand Stakeholder Needs Requirements Management with Use Cases Module 5: Understand Stakeholder Needs.
07 September 2006Kaiser: COMS W4156 Fall COMS W4156: Advanced Software Engineering Prof. Gail Kaiser
Lecture 10 More Innovation SE3821 Software Requirements and Specification Dr. Rob Hasker (based on slides by Dr. Brad Dennis)
1 Brainstorming and Storyboarding Sriram Mohan. 2 Outline  Background Barriers to Elicitation  Techniques Brainstorming Storyboarding.
Software Engineering Principles Practical Advice and Steps for Managing Your Project.
Requirements Engineering Processes. Syllabus l Definition of Requirement engineering process (REP) l Phases of Requirements Engineering Process: Requirements.
Requirement Engineering
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
An Agile Requirements Approach 1. Step 1: Get Organized  Meet with your team and agree on the basic software processes you will employ.  Decide how.
Software Requirements and Design Class 4 Khalid Ishaq.
Copyright © 2015 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education.
SWE 214 (071) Chapter 12: Brainstorming and Idea Reduction Slide 1 Chapter 12: Brainstorming and Idea Reduction.
List 3 – 5 guiding principles that will serve as foundation and guide rails for the project. See slide 4 for further details ObjectivesGuiding PrinciplesKey.
1 Requirements Elicitation – 2 Lecture # Requirements Engineering Process Requirements Elicitation Requirements Analysis and Negotiation Requirements.
1 International Institute of Business Analysis Vision: The world's leading association for Business Analysis professionals” Mission: To develop and maintain.
CASE Tools and Joint and Rapid Application Development
Building the foundations for innovation
Interviewing S.Vidya,AP/CSE.
Requirements Elicitation
The Challenge of Requirements Elicitation
Chapter 11 Requirements Workshops
Interviewing Sriram Mohan.
Presentation transcript:

EC Requirements Elicitation Originally developed by Michael Madigan, StorageTek Manager, PAL Engineering For ECEN4033/5033 Software Engineering of Standalone Programs University of Colorado, Boulder

Requirements Engineering

Requirements Elicitation Standish Group listed “Lack of User Input” as most common factor of challenged projects. Requirements Elicitation is the process of discovering the requirements for a system by communication with customers, system users and others who have a stake in the system development. 1 Development teams have to take the initiative. 2

Challenges of Requirements Elicitation 2 The “Yes, But” syndrome stems from human nature and the users inability to experience the software as they might a physical device. The Undiscovered Ruins, the more you find, the more you realize still remain “User and Developer” syndrome reflects the profound differences between the two, making communication difficult. “The sins of your predecessors” syndrome where marketing (user) and developers do not trust each other based on previous interactions, so marketing wants everything and developers commit to nothing.

The “Yes, But” Syndrome First time users see the system the first reaction is either, “wow this is so cool” or “ Yes, but, hmmmmm, now that I see it, what about this …? Wouldn’t it be nice …? Users reaction is simply human nature Need to employ techniques that get the “yes, buts” out early. Anticipate that there will be “yes, buts” and add time and resources to plan for feedback. Tends to be User Interface centric, these tend to be the touch points of the system by the users.

The “Undiscovered Ruins” Syndrome Teams struggle with determining when they are done with requirements elicitation. – Is done when all the requirements are elicited or have they found at least enough? – Like asking an archeologist “how many undiscovered ruins are there?” First scope the requirements elicitation effort by defining the problem or problems that are to be solved with the system. Employ techniques that help find some of those ruins and have the stakeholders buy-into the requirements.

The “User and the Developer” Syndrome Users do not know what they want, or they know what they want but cannot articulate it. Users think they know what they want until developers give them what they said they wanted. Analysts think they understand user problems better than users do. Everybody believes everybody else is politically motivated. Recognize and appreciate the user as domain experts; try different techniques. Provide alternative elicitation techniques earlier; storyboard, role playing, prototypes, and so on. Put the analyst in the users place. Try role playing for an hour or a day. Yes, its part of human nature, so lets get on with the program. Characteristic Response

The “Living with the Sins of your Predecessors” syndrome Like it or not your users (marketing) and developers remember what happened in the past. – Quality programs that promised things would be different. – The last project where requirements were vague and/or were delivered short of expectations. The team “unilaterally” cut important features out of the last release. Need to build trust, slowly. Do not over commit to features, schedule, or budget. Build success by delivering highest priority features early in the process.

EC Requirements Elicitation Techniques

Interviewing and questionnaires Requirements workshops Braining Storming and idea reduction Storyboards Use Cases Role Playing Prototyping

Technique: Interviewing Simple direct technique Context-free questions can help achieve bias-free interviews – See course web site for examples Then, it may be appropriate to search for undiscovered requirements by exploring solutions. Convergence on some common needs will initiate a “requirements repository” for use during the project. A questionnaire is no substitute for an interview.

Interview: Context free question Goal is to prevent prejudicing the user’s response to the questions. Examples: – Who is the user? – Who is the customer? – Are their needs different? – Where else can a solution to this problem be found? Context-free questions also parallel the questions salespeople are taught to ask as part of a technique called “solutions selling.” After context-free questions are asked, suggested solutions can be explored.

Interview: Show time Establish Customer or User Profile Assessing the Problem Understanding the User Environment Recap the Understanding Analyst’s Inputs on Customer’s Problems Assessing Your Solution (if applicable)

Technique: Requirements Workshop The requirements workshop is perhaps the most powerful technique for eliciting requirements. key It gathers all key stakeholders together for a short but intensely focused period. The use of an outside facilitator experienced in requirements management can ensure the success of the workshop. Brainstorming is the most important part of the workshop.

Preparing for the workshop Selling the workshop concept to stakeholders Ensuring the Participation of the Right Stakeholders Logistics – Try and prevent Murphy’s law – Includes travel, lighting, and even “afternoon sugar filled snacks.” Warm-up materials – Project-specific information – Out-of-box thinking preparation

Role of the Facilitator Establish professional and objective tone to the meeting. Start and stop the meeting on time. Establish and enforce the “rules” for the meeting. Introduce the goals and agenda for the meeting. Manage the meeting and keep the team “on track.” Facilitate a process of decision and consensus making, but avoid participating in the content. Make certain that all stakeholders participate and have their input heard. Control disruptive or unproductive behavior.

Workshop Agenda Set an agenda before the workshop and publish it along with the other pre-workshop documentation. Balance is the key, try to stay on the agenda, but do not strictly obey it, especially if good discussion is going on. Order lunch in, and have a light working lunch. :-)

Running the Workshop Allow for human behavior, and have fun with it. – Do not “attack” other members. – Do not get on a soap box. – Do not come back late from a break. Workshop tickets – Give every stakeholder 3 workshop tickets  1 for being late  1 for “cheap shot”  1 for “soap box” – Facilitator takes tickets when appropriate. If you do not have a ticket create a fund to add to, like $1 to pot for after workshop activities.

Workshop Problems and Suggestions Time Management – It’s difficult to get going after breaks and lunch. – Key shareholders may be late returning Grandstanding, domineering positions Lack of input from stakeholders Negative comments, petty behaviors, and turf wars Flagging energy after lunch Facilitator keeps a timer for all breaks and fines anyone that is late, everyone gets one free pass. Everyone gets one 5 minute position statement. Facilitator encourages everyone to use 5-minute position and great idea ticket. Use “Cheap Shot Tickets”, all others cost money. Lite lunches, afternoon breaks, rearrange seating

Requirements Elicitation Guidelines 1 Assess System Feasibility Be sensitive to organizational and political considerations Identify and consult system stakeholders Record requirements sources Use Business concerns to drive requirements elicitation Look for domain constraints Record requirements rationale Collect requirements from multiple viewpoints Prototype poorly understood requirements Use scenarios to elicit requirements Define operational processes Reuse requirements

Identify and Consult System Stakeholders If lacking consideration of everyone who is likely to be affected by the introduction of the system, there is a great likelihood of missing some critical requirements. “Identifying stakeholders and discussing the system with them makes people feel like they are part of the requirements elicitation process. In fact, it makes them a part of it.”

Use Business Concerns to Drive Requirements Elicitation If a system is to be useful, it must contribute to the key concerns of the business. If the concerns are identified and used as drivers of the requirements elicitation process, there will be higher confidence that the system will meet real organization needs. Making the business concerns explicit helps to focus and clarify these goals.

Collect Requirements from Multiple Viewpoints If requirements are collected from a single viewpoint, they are unlikely to meet other stakeholders’ requirements. Collecting requirements from multiple viewpoints is a useful way to prioritize requirements Identified viewpoints can be used to help – organize requirements elicitation and – organize the requirements specification, too.

Reuse Requirements Saves money and time. Studies have shown that similar systems can re-use up to 80% of the requirements. Reuse reduces risk. Reused requirements have a better chance of being understood by all the stakeholders. Requirements reuse may lead to additional reuse in other lifecycle activities. – Component design – Tests – Code

Technique: Brainstorming Brainstorming involves both idea generation and idea reduction. The most creative, innovative ideas often result from combining, seemingly unrelated ideas. Various voting techniques may be used to prioritize the ideas created. Although live brainstorming is preferred, web-based brainstorming may be a viable alternative in some situations

Rules for Brainstorming Do not allow criticism or debate. Let your imagination soar Generate as many ideas as possible Mutate and combine ideas Idea Reduction – Pruning ideas that are not worthy of further discussion – Grouping of similar ideas into one super topic Prioritize the remaining ideas

Technique: Storyboarding The purpose of storyboarding is to elicit early “Yes, But” reactions. Storyboards can be positive, active, or inactive. Storyboards identify the players, explain what happens to them, and describes how it happens. Make the storyboard sketchy, easy to modify, and unshippable. Storyboard early and often on every project with new or innovative content.

Technique: Use Cases Use Cases, like storyboards, identify the who, what, and how of system behavior. Use Cases describe the interactions between a user and a system, focusing on what they system “does” for the user. The Use Case model describes the totality of the systems functional behavior. Early stages: After you have an overview of the use cases, perhaps only by a phrase apiece, expand 10% of them in detail. More later …

Technique: Role Playing – variant on use cases Role playing allows stakeholders to experience the user’s world from the user’s perspective. A scripted walkthrough may replace role playing in some situations, with the script becoming a live storyboard. (Class-Responsibility-Collaboration (CRC) cards, often used in object-oriented analysis, are a derivative of role playing.)

Technique: Prototyping Prototyping is especially effective in addressing the “Yes, But” and the “Undiscovered Ruins” syndromes. A software requirements prototype is a partial implementation of a software system, built to help developers, users, and customers better understand system requirements. Prototype the “fuzzy” requirements: those that, although known or implied, are poorly defined and poorly understood.

What do all of these have in common?

Coming next Vision document Supplementary specification – Larman’s (and others’) term – Everything in the IEEE 830 doc except the use cases

References 1 “Requirements Engineering A good practice guide,” Ian Sommerville and Pete Sawyer, John Wiley and Sons, “Managing Software Requirements; A Unified Approach,” Dean Leffingwell and Don Widrig, Addison-Wesley, Software Quality Measurement for Distributed Systems, RADC- TR Requirements Engineering, Thayer, SMC 10/97, version 2 5 Richard Thayer, Software Requirements Engineering, IEEE, STEP, Operational Requirements for Automated Capabilities, STEP, MBASE, “Avoiding the Software Model-Clash Spiderweb,” IEEE Computer, November, 2000, pp