Requirements elicitation is the process of discovering, reviewing, documenting, and understanding the user's needs and constraints for the system.
Size: 84.58 KB
Language: en
Added: Apr 27, 2017
Slides: 35 pages
Slide Content
Requirements Elicitation
Requirements Elicitation Elicit means to gather, acquire, extract, obtain, or discover etc. Requirements elicitation means gathering requirements or discovering 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. Activities involved in discovering the requirements for the system require Knowledge Acquisition Reading Interviewing Listening Asking Observing etc.
Requirements Elicitation Requirement elicitation is the most difficult, most critical, most error prone and communicative intensive activity. It focuses on following aspects: Elicitation objectives Exploring use cases Validating market data Elicitation strategies Some combination of surveys, workshops, customer visits, individual interviews, and other techniques
Components of Requirements Elicitation Business Context Stakeholder Needs and Constraints Application Domain Problem to be Solved
A General Requirements Elicitation Process Establish Objectives Understand Background Organize Knowledge Collect Requirements Business goals Problem to be solved System constraints Organizational structure Application domain Existing systems Stakeholder identification Goal prioritization Domain knowledge filtering Stakeholder requirements Domain requirements Organizational requirements
Specific Elicitation Techniques Interviews Questionnaires Requirements elicitation workshops Scenarios Written materials Observations and social analysis Requirements reuse Prototyping etc.
Interviews The requirements engineer or analyst discusses the system with different stakeholders and builds up an understanding of their requirements Kinds of information sought : Tacit knowledge as well as hard facts , opinions, feelings, goals DOs: Planning ahead of time ( like experienced journalists) DONTs: Need mastery of skills Use Buzzwords/acronyms to impress Use unusual body language (facial expressions, accents, dress, voice etc )
Types of Interviews Structured: The Structured interviews allows for interview with multiple interviewees. The data collected is more closed to the population –oriented and is easier to analyze. The interviewer has more control over interview by asking the questions in a specific order
Semi-Structured Interview I nterviewer usually asks some predefined questions and also other spontaneous questions to find out the interests of the respondent The pre-set questions set guidelines for an interview. Quantitative data can still be collected using pre-set questions. great care has to be taken that where the spontaneous question should be asked.
Unstructured interviews I nformal and with no restriction about the scope and context of the topics called. There are no predefined questions prior to interview. Unstructured interviews make the interview more conversational in style. Limited control over the interview. The data collected is totally qualitative and is difficult to replicate. Unstructured interviewing can be a time consuming way to generate data. There is greater potential for interviewer bias using this type of interview.
Interviewing Essentials Interview must be planned and scheduled Can ask open ended questions Interviewers must be open-minded and should not approach the interview with pre-conceived notions about what is required Stakeholders must be given a starting point for discussion. This can be a question, a requirements proposal or an existing system Interviewers must be aware of organizational politics. many real requirements may not be discussed because of their political implications
Read background material (meetings, scheduling meetings, mtg schedule systems) Establish Interviewing Objectives (What are you trying to get out of this interview?) Decide whom to interview? (people are busy, choose the right one) Prepare for Interview (Call people ahead of time to prepare ; tell the purpose , duration, possible questions types) Hold the interview Review in-line notes ->disseminate -> difference recording and resolution
Advantages: Collecting the rich and detailed data Collecting information to design a survey or other usability activity Getting a holistic view of the whole system Disadvantages: Collecting data from large samples or people Collecting data very rapidly is not feasible
Surveys The surveys are used to conduct the RE over a large population of interest. This technique covers the whole geographical region to get the large set of requirements. Mostly appropriate for general purpose software development.
Advantages: Collect information from a large number of users simultaneously. If designed correctly, it can be quick & easy to analyze the data. Relatively cheap. Disadvantages: Rich data collection is not possible Does not provide the holistic view of a system
Questionnaires Kinds of Information sought: attitudes, beliefs, behavior Not normally found through sampling(hard data) or interviews But if not anonymous , customers may be reluctant to answer questions. Have your used any meeting schedule system before? Y, N If yes, are you satisfied with it? 1 2 3 4 5 If no, would you try a meeting schedule system when available? Y, N Avoid open ended questions Do you think a new meeting scheduler will succeed? Do you believe a meeting scheduler can drastically change our daily lives? Questionnaires should be short.
Questionnaires used when we want to gather requirements from peoples who are far away and large in number Can quickly collect info from large numbers of people Success depends on the return rate Administer the questionnaire using simple rules: Scoring Scheme : e.g a range from 1 to 5 Group Interrelated questions : E.g Q 1 3 4 represent customer satisfaction with current systems Q 2 5 6 represent customer willingness to try a new one.
Questionnaire Structure What Usually leads to facts What is problem of client How Usually leads to a discussion of process, not structure Why Usually leads to deeper motivations, information on structure When When does the problem occur Could Maximally open, might lead to no data
Written materials Documentation of system Manuals business plans market studies Error reports etc.
Scenarios Scenarios are stories which explain how a system might be used. They include A description of the system state before entering the scenario The normal flow of events in the scenario Exceptions to the normal flow of events Information about concurrent activities A description of the system state at the end of the scenario Scenarios are examples of interaction sessions which describe how a user interacts with a system
Brainstorming Brainstorming involves both idea generation and idea reduction Stakeholders come up with creative ideas or new approaches to a problem The most creative, innovative ideas often result from combining, seemingly unrelated ideas Generate as many ideas as possible, combine ideas, reduce ideas and prioritize ideas Various voting techniques may be used to prioritize the ideas created
Brain Storming Advantages: Brainstorming are mostly used for the innovative sort of projects where each participant provides his or her own ideas after their personal research about the project to be started. This technique is often used make the key decisions about the requirements of the project. It promotes free thinking and expression of ideas. Brainstorming provides the innovative ideas about the project to be developed. Disadvantages: Brain storming is seriously affected by exploring the critique ideas. Brainstorming is not used to resolve the major issues.
Joint Application Development (JAD) Joint Application Development (JAD) is a combined business analysis approach that solves a problem in which large numbers of stakeholders are interested. This approach is most used for Agile development in which the quick amounts of requirements are elicited. Joint Requirements Planning (JRP) Usually for high level managers Identify and examine business goals , problems , critical success factors , strategic opportunities Joint Application Design Identify and examine the end users’ needs
Advantages JAD provides the rapid decision making about the problem and also the solution of the problem. JAD handles the rapid changeability in requirements. JAD provides the well formatted structured approach. JAD provides the direct communication between all stakeholders of the project.
Disadvantages As JAD should provide the rapid solution, hence sometime this technique is un-able to provide the exhaustive validation in so least amount of time. JAD team requires huge experience and expertise in the problem domain.
Requirements Workshops Requirements workshop is a collection of different types of meeting conducted by the stakeholder to elicit the requirements of the project to be developed.
Advantages This technique provides a complete set of requirements as compared to brainstorming and group meetings. Requirements are mostly unchanged whenever elicited with this type of method. This technique is feasible for the large and complex solution.
Disadvantages It’s a very costly technique in terms of time and money. Requirements workshop is unfeasible for small projects It provides slow requirements elicitation.
Observation (Ethnomethodology) It is one of the ethnographic techniques in which the requirements engineer visits and observes the environment of the customer where the software has to perform the services. This technique is often used with the conjunction of other requirements engineering techniques like interview and task analysis.
Plan ahead (like in interview) Observe and Record Analyze How to Elicit using Observation
Advantages Observations are highly authentic requirements engineering tool because the requirement engineer by himself goes there and observes the whole environment of the customer. Observations are mostly used in order to validate and verify the requirements.
Disadvantages Observations are very much expensive to be performed because of the travelling costs. Sometimes observations are wrong as customers adjust themselves being conscious of the observation. Ethical, legal implications , if video taping without notification Can be too time consuming to analyze the recording
Prototyping A prototype is an initial version of a system which may be used for experimentation Prototype may be a quick rough version of the system Prototypes are valuable for requirements elicitation because users can experiment with the system and point out its strengths and weaknesses. They have something concrete to criticize
Advantages Prototyping provides the detail information by investing each and every prototype by the customer. Prototypes are mostly used in conjunction with other elicitation techniques such as interviews and JAD. Prototypes useful when developing human computer GUI interfaces. Prototypes provide a good chance to the stakeholders an effective rule and to be involved in the requirements engineering. The technique is extremely helpful developing new systems for entirely new applications.
Disadvantages In many cases prototypes are expensive to produce in terms of time and cost. A great problem for prototyping is that the user often resists making changes if once they get experienced.