580 likes | 686 Views
Elicitation I. Another Definition for Requirements: An externally Observable Characteristic of a Desired System 2 Buttons in a mouse If the user needs 2 buttons this is a requirement If the user only need a way of moving slides back and forth, this is too detailed to be a requirement.
E N D
Another Definition for Requirements: • An externally Observable Characteristic of a Desired System • 2 Buttons in a mouse • If the user needs 2 buttons this is a requirement • If the user only need a way of moving slides back and forth, this is too detailed to be a requirement
Tackling the problem not the solution • My Elevator is slow My Elevator is too slow • You have a throughput problem • not a speed problem !
Tackling the problem not the solution • My Elevator is slow • Why is that a problem ? • How better should it be? My Elevator is too slow • Well it’s a problem because • people complaint about the lines • As better as needed for • stopping complaints • How About Adding mirrors to • the wall ?
Context • The Blank Page Illusion • The Completeness Illusion • Social Aspects Involved
Why do We Need Requirements Engineering? von Neumann: “There is no sense in being precise when you don’t even know what you are talking about”
Basic Needs for Elicitation (Questions from Polya) • What is unknown? • Do you know any related problem? • Can you reinvent the problem?
Elicitation Elicit [Var. elicit + make it clearer + extract] 1.discover, make explicit, get as much information as possible to understand the object being studied.
Elicitation • Identify sources of information • Gather facts • Communication
Identifying Sources of Information • Actors in the Universe of Discourse • Clients • Users • Developers • Documents • Books • Software Systems • COTS
Who is related to the software? Non-clients users clients customer Third party clients Investor interested Owner Especialist clients Hired Partner Quality Control (QC) developers Technical writers Software Engineer
Criteria • Experience • Knowledge about the domain • Volume of investment • Function
Sources of Information UofD UofD Source of Information = { a,b,c,d,e,f} U {g,h}
Heuristics to identify sources of information • Who is the client? • Who owns the system? • Is there any customized system available? • What are the books related to the application? • Is it possible to reuse software artifacts? • What are the documents most cited by the actors of UofD?
Abstract tree of people interested in the software • requirements CFO • requirements • requirements Accounting Manager Revenue Manager • requirements • requirements Acquisition Sales Emplyee A Employee B • requirements • requirements
Facts gathering • Document Reading • Observation • Interviews • Reunions • Questionnaires • Anthropology • Active participation from actors • Protocol Analysis • Reverse Engineering • Reuse
Enterviews Interviews • Structured • Usually 1 to 1 • Can be 1 to n or n to 1 • Requires some knowledge about the problem to formulate the questions • Tape it ?
Structured Interview • What to ask • Objective questions with precise target • One question should be related to the other • How to ask • Ask whom
Non-Structured Interview • More flexible • But still with a pre-defined guideline of questions • Informal • But always keep control • Mostly used during exploratory phases • Sometimes interesting to be used later also to solve conflicts or to further explore alternatives
Tacit Knowledge • The kind of knowledge that is trivial for the actor being interviewed but not for the interviewer • Because it is trivial, people almost never remebers to mention it. The interviewer in his/her turn, not knowing about the tacit knowledge can not ask about it.
The Interview Process Prepare Carry out Follow up
Interviews • Follow Up – Essential • After the interview write down what you understood • Send it to the user(s) involved and ask for a feedback (Have I got it right?) • Ask if the user(s) want to add anything
Interviews • + • direct contact with the actors • Can validate information immediately • - • Tacit knowledge • Cultural diferences
Reading • Books • Summary per chapter • Highlight the most important parts • Use a key-word index • vocabulary
Reading • Macrosystem Documents (A more careful reading) • Underline repeated words • Synonymies • Take note of unknown terms • Search for relationships among terms • Vocabulary • Try to understand and document the structure of the documents
Reading • Macro system Documents • Understand the structure of the documents • How they relate/point to each other
Reading • Reading Similar Documents: • Identify structures • Relate structures • vocabulary
Document Reading • + • Easy access to different sources of information • Volume of information • - • Information can be very dispersed • Considerable amount of work is required to identify relevant facts
Questionnaires • What should one ask ? • Asks for some knowledge about the problem • Therefore you should have a minimum understanding about the problem • similar to the structured interview
Questionnaires Types • qualitative • Allows the one answering to further considerations • Makes a later analysis more difficult • Control questions – We can stimulate conflicts in order to verify the consistency of what is being told • quantitative • grading ( Yes, No/ Good, mdeium, bad/ 0,1,2,3,4) • Question has to be well formed to allow a good distribution of the answers
5 - XXX keeps statistical data about the software development process Number of Answers Yes No Examples • Quantitative
8 – How easyly can you retrieve information from Patient’s Medical Records ? Number of Answers Not easy at all Kind of easily easily Examples
Examples • Qualitative How do you see your background regarding the development of quality software? What do you think would be necessary to improve your performance? What knowledges would like to get? Why ? • Objective: verify the opinion regarding training policy • Why ?: A mature organization has to have well defined training policies. Control question.
Questionnaires • + • Standard questions • Statistical treatment possible • - • Answers are constrained • Few or no interaction/participation • Number of questionnaires returned can be disappointing
Meetings • An extension of an interview or • Direct and Intense participation • Short and intense periods • focus • Brainstorm • JAD • Requirements Workshop • Uses facilitators • Previous planning
Meetings Requirements Workshop • Preparation • Adequate place • Choosing Participants • Prepare the material ahead • agenda
Meetings Requirements Workshop • Facilitator • Trained • Team spirit • Respected by all participants • “Powerful” enough to make decisions when conflicts arise
Meetings Requirements Workshop • During the meeting • relax participants • Focus on ideas not people • Be open to brainstorming • Register the meeting (minutes are highly desirable) • follow up e agenda for nextmeetings
Meetings Requirements Workshop • Problems • People with a reign attitude • Passive attitude • People arriving late • Negative/mocking comments • It is always hard to resume a meeting after a disruptive interruption
Meetings Brainstorm • Generate and condensate ideas • Frequently, the best ideas are combinations of two or more ideas • Prioritize the ideas • It is better to be done locally, but it is possible to have it over the web or using video-conference
Meetings Brainstorm Phase I – Generating ideas • Goal: Generate the more ideas possible • Rules • Do not allow critics or debate at this point • Let the imagination flows • Change and combine ideas
Meetings Brainstorm Phase II –Reducing the number of ideas • Discard ideas that are not worth to invest • Group ideas – make meaningful names and group ideas according them • Anotate small descriptions about the rationale regarding the ideas and its authors • Prioritize • vote • categorize - critical, important, useful
Meetings JAD (Joint Application Design) Involves • Objectives • System Requirements • External Project
Meetings Principles of JAD • Group dynamic • Visual resources • Organized and rational process • Documenting using the idea of “What you see is what you get” (WYSISYG)
Meetings JAD Target • Identify high level (abstract) requirements • Define and Associate the scope • Plan the activities for each phase of the project • Post and approve resulting documents
Meetings JAD’s Phases • Customization • Meetings • Present the tasks • Join ideas • Evaluate • Compromise • Closing
Meetings JAD - Documents Requirements • High level requirements • Goals • Anticipated benefits • Strategies and future considerations • Hypothesis and constraints • Security, auditing and control • System scope • System users and their locations • Functional areas outside the application
Meetings JAD - Documents Plans: • Participant matrix • Identification of the JAD/PROJECT • Estimative
JAD • Used to speed up the investigation of system requirements, design a solution, define new procedures • Critical Factor : To have ALL the relevant participants present • Typically used for 3-6 months long projects. • Larger projects may require one JAD at the beginning of each iteration
Meetings • + • Gives the RE multiple options • Collective work • - • Dispersion • Cost