Podcast
Questions and Answers
Which of the following is NOT a main focus of requirements elicitation?
Which of the following is NOT a main focus of requirements elicitation?
- Validating requirements with the user
- Acquiring sensor data systematically (correct)
- Understanding the nature, features, and boundaries of a problem
- Understanding the problem domain
Requirements elicitation is solely about gathering pre-existing, readily available information from stakeholders.
Requirements elicitation is solely about gathering pre-existing, readily available information from stakeholders.
False (B)
In the context of requirement elicitation, what does the acronym JAD stand for?
In the context of requirement elicitation, what does the acronym JAD stand for?
Joint Application Development
The process of imagining what kind of system is required by the analyst is known as ______.
The process of imagining what kind of system is required by the analyst is known as ______.
Match the following social analysis types with their descriptions:
Match the following social analysis types with their descriptions:
When is analyzing existing system primarily useful?
When is analyzing existing system primarily useful?
In document analysis, the documents being analyzed are always up-to-date and accurate.
In document analysis, the documents being analyzed are always up-to-date and accurate.
Name a classic requirements elicitation technique that involves looking at oneself to determine requirements.
Name a classic requirements elicitation technique that involves looking at oneself to determine requirements.
Understanding the current process is aided by documents like user manuals, which is part of ______ .
Understanding the current process is aided by documents like user manuals, which is part of ______ .
Match the following observation methods with their descriptions:
Match the following observation methods with their descriptions:
According to the information provided, which of the following is MOST accurate about using brainstorming in requirement elicitation?
According to the information provided, which of the following is MOST accurate about using brainstorming in requirement elicitation?
Ethnography is a technique that primarily relies on conducting formal interviews to gather requirements.
Ethnography is a technique that primarily relies on conducting formal interviews to gather requirements.
What kind of requirements are you collecting when you utilize ethnography?
What kind of requirements are you collecting when you utilize ethnography?
When the observer is fully integrated into the society that user is using, which observation method are they using? ______.
When the observer is fully integrated into the society that user is using, which observation method are they using? ______.
Choose the most appropriate definition for the task analysis terms:
Choose the most appropriate definition for the task analysis terms:
Which of the following is the most accurate description of task analysis?
Which of the following is the most accurate description of task analysis?
In brainstorming, it is critical to critique each idea as it is presented to ensure only the best ideas are considered.
In brainstorming, it is critical to critique each idea as it is presented to ensure only the best ideas are considered.
Should you evaluate a project before selecting JAD participants? (yes/no)
Should you evaluate a project before selecting JAD participants? (yes/no)
A key principle of Joint Application Development is the utilization of ______.
A key principle of Joint Application Development is the utilization of ______.
Match each role within Joint Application Development (JAD) with its primary function:
Match each role within Joint Application Development (JAD) with its primary function:
Within JAD, who's responsibilities are to come well-prepared with suggestions and ideas of needs; to brainstorm for the ideas?
Within JAD, who's responsibilities are to come well-prepared with suggestions and ideas of needs; to brainstorm for the ideas?
In Joint Application Development (JAD), the session should lack structure, defined roles, or any forms to be filled out.
In Joint Application Development (JAD), the session should lack structure, defined roles, or any forms to be filled out.
What 1970's corporation developed JAD?
What 1970's corporation developed JAD?
Mock-ups can support the requirement gathering process, when introduced at the correct time. This process can then be referred to as creating a ______
Mock-ups can support the requirement gathering process, when introduced at the correct time. This process can then be referred to as creating a ______
Match the prototyping type to the correct description:
Match the prototyping type to the correct description:
Which is a key descriptor of High-fidelity prototypes?
Which is a key descriptor of High-fidelity prototypes?
Low-fidelity prototyping is useful in understanding functionality of developed features.
Low-fidelity prototyping is useful in understanding functionality of developed features.
Is it possible to prototype critical system requirements? (yes/no)
Is it possible to prototype critical system requirements? (yes/no)
A group of users or stakeholders working together to identify requirements is called ______.
A group of users or stakeholders working together to identify requirements is called ______.
Match the reverse engineering type to its description:
Match the reverse engineering type to its description:
Which elicitation technique involves examining the inner workings of a system by analyzing and understanding the software code?
Which elicitation technique involves examining the inner workings of a system by analyzing and understanding the software code?
Reverse engineering is most commonly used in projects starting from scratch.
Reverse engineering is most commonly used in projects starting from scratch.
Identify one advantage and disadvantage of ethnography.
Identify one advantage and disadvantage of ethnography.
A technique from the social science which has proved to be valuable in understanding the wok processes is ______.
A technique from the social science which has proved to be valuable in understanding the wok processes is ______.
Match the stages of Joint Application Design to these descriptions:
Match the stages of Joint Application Design to these descriptions:
Which of the following accurately summarizes a function of reverse engineering?
Which of the following accurately summarizes a function of reverse engineering?
Task analysis focuses solely on the user's interactions with a system, ignoring the system's internal processes.
Task analysis focuses solely on the user's interactions with a system, ignoring the system's internal processes.
What are two main activities of brainstorming?
What are two main activities of brainstorming?
If one of the main goal is to describe the nature of those who are studied through writing, then you would want to perform ______
If one of the main goal is to describe the nature of those who are studied through writing, then you would want to perform ______
Match the following "P"s of Joint Application Design:
Match the following "P"s of Joint Application Design:
Which of the following statements accurately distinguishes requirements elicitation from other related activities?
Which of the following statements accurately distinguishes requirements elicitation from other related activities?
During the 'Understanding the application domain' stage of user requirements elicitation it is important to begin classifying and organizing requirements.
During the 'Understanding the application domain' stage of user requirements elicitation it is important to begin classifying and organizing requirements.
When selecting an elicitation method, which factor should be considered?
When selecting an elicitation method, which factor should be considered?
When building a newer version of the the analysis of ___________ systems is very useful.
When building a newer version of the the analysis of ___________ systems is very useful.
What is a key consideration when performing document analysis as an elicitation technique?
What is a key consideration when performing document analysis as an elicitation technique?
In observation and social analysis, what is an example of active observation?
In observation and social analysis, what is an example of active observation?
Questionnaires can be used to obtain in-depth qualitative data after initial interviews.
Questionnaires can be used to obtain in-depth qualitative data after initial interviews.
In social analysis, what does 'Explanatory Observations' entail?
In social analysis, what does 'Explanatory Observations' entail?
If a project team is having trouble determining requirements, and needs to describe the nature of a group of stakeholders through writing which elicitation technique should they use?
If a project team is having trouble determining requirements, and needs to describe the nature of a group of stakeholders through writing which elicitation technique should they use?
Which requirements elicitation technique involves discovering what workers do by observation and analysis, rather than asking them to explain?
Which requirements elicitation technique involves discovering what workers do by observation and analysis, rather than asking them to explain?
Using ethnography to gather requirements is cheap and fast.
Using ethnography to gather requirements is cheap and fast.
What is the primary goal of Task Analysis in requirements elicitation?
What is the primary goal of Task Analysis in requirements elicitation?
Why is it essential to avoid critiquing ideas in detail during a brainstorming session?
Why is it essential to avoid critiquing ideas in detail during a brainstorming session?
During the 'storm' portion of a brainstorming session it is important to focus on the ________ of ideas, not the quality.
During the 'storm' portion of a brainstorming session it is important to focus on the ________ of ideas, not the quality.
What is the main goal of Joint Application Development (JAD) sessions?
What is the main goal of Joint Application Development (JAD) sessions?
Which of the following is a key principle of Joint Application Development (JAD)?
Which of the following is a key principle of Joint Application Development (JAD)?
In Joint Application Development (JAD), what is completed during the 'Pre-work' stage?
In Joint Application Development (JAD), what is completed during the 'Pre-work' stage?
Match the role to the primary responsibility in a Joint Application Development (JAD) session:
Match the role to the primary responsibility in a Joint Application Development (JAD) session:
The only goal of of software requirements prototyping is resolving uncertainties early in the process.
The only goal of of software requirements prototyping is resolving uncertainties early in the process.
What is the effectiveness of a prototyping exercise?
What is the effectiveness of a prototyping exercise?
What is the main purpose of throw-away prototypes?
What is the main purpose of throw-away prototypes?
Which fidelity prototype is most likely to focus on details rather than on long term goals?
Which fidelity prototype is most likely to focus on details rather than on long term goals?
____________ comprise a group of users or stakeholders working together to identify requirements.
____________ comprise a group of users or stakeholders working together to identify requirements.
What is the primary use case for Reverse Engineering as an elicitation technique?
What is the primary use case for Reverse Engineering as an elicitation technique?
Studying documentation when gathering requirements has which of the following advantages?
Studying documentation when gathering requirements has which of the following advantages?
Flashcards
Requirement Elicitation
Requirement Elicitation
The process of acquiring all the relevant knowledge needed to produce a requirements model of a problem domain.
Introspection
Introspection
A classic requirements elicitation technique where the analyst 'imagines' the required system based on their beliefs of user needs.
Analysis of Existing Systems
Analysis of Existing Systems
Examining existing systems to gather requirements for a new, improved version, focusing on what works, what doesn't, and how it's used.
Document Analysis
Document Analysis
Signup and view all the flashcards
Observation (Social Analysis)
Observation (Social Analysis)
Signup and view all the flashcards
Passive Observation
Passive Observation
Signup and view all the flashcards
Active Observation
Active Observation
Signup and view all the flashcards
Explanatory Observations
Explanatory Observations
Signup and view all the flashcards
Ethnography
Ethnography
Signup and view all the flashcards
Ethnography
Ethnography
Signup and view all the flashcards
Task Analysis
Task Analysis
Signup and view all the flashcards
Brainstorming
Brainstorming
Signup and view all the flashcards
Joint Application Development (JAD)
Joint Application Development (JAD)
Signup and view all the flashcards
Effective use of Group Dynamics
Effective use of Group Dynamics
Signup and view all the flashcards
Join Application Development(JAD)
Join Application Development(JAD)
Signup and view all the flashcards
Join Application Development(JAD)
Join Application Development(JAD)
Signup and view all the flashcards
Prototyping
Prototyping
Signup and view all the flashcards
Software Requirements Prototype
Software Requirements Prototype
Signup and view all the flashcards
Horizontal
Horizontal
Signup and view all the flashcards
Vertical
Vertical
Signup and view all the flashcards
Evolutive
Evolutive
Signup and view all the flashcards
Throw-away
Throw-away
Signup and view all the flashcards
Fidelity
Fidelity
Signup and view all the flashcards
High-fidelity
High-fidelity
Signup and view all the flashcards
Low-fidelity
Low-fidelity
Signup and view all the flashcards
Requirement Workshop
Requirement Workshop
Signup and view all the flashcards
Reverse Engineering
Reverse Engineering
Signup and view all the flashcards
Black box reverse engineering
Black box reverse engineering
Signup and view all the flashcards
White box reverse engineering
White box reverse engineering
Signup and view all the flashcards
Study Notes
- Software Requirements and Specifications is the course name
- The instructor is Dr. Rasha Kashef, from the Dept. of Electrical, Computer Engineering, and Biomedical Engineering at Ryerson University
Last Week's Topics
- Requirements Inception
- Primary investigation procedure
- Requirements Elicitations
- Requirement Resources
- Stakeholder Analysis
- Elicitation Techniques
Week 4 Agenda
- Requirements Elicitation Techniques with focus on classical and modern techniques
Basic Elicitation Points
- Elicitation is not simply acquiring information
- Requirements are not readily available like sensor data; they need systematic understanding
- Elicitation is distinct from specification and modeling
- Requirements Engineering determines the success of the mission
- Elicitation determines success of the Requirements Engineering process
Requirements Elicitation Definition
- Acquiring all relevant knowledge to produce a requirements model of a problem domain
- Understanding a particular problem domain is crucial as an analyst, then formally stating the problem, then having the user validate the requirements
Process of User Requirements Elicitation
- Understanding the application domain
- Identifying the sources of requirements
- Analyzing the stakeholders
- Selecting the techniques and approaches to use
- Eliciting the requirements
- Classifying and organizing the requirements
- Negotiating the requirements
- Prioritizing the requirements
- Defining and documenting the requirements
- Validating the requirements
Elicitation Techniques
- It's difficult to determine which technique is universally suitable for all projects
- Not all techniques can be used for every project
- There isn't a single universally best methodology
- Methodologies might be combined in certain cases
- When selecting a method, consider factors like the project's nature, organizational structure, and type of stakeholders
- Widely used techniques include brainstorming, document analysis, interviews, prototyping, and workshops
Specific Elicitation Techniques
- Questionnaires are considered useful
- Interviewing is a useful elicitation techique
- Use cases and scenarios are applicable
- Analyzing existing systems helps to find new solutions
- Documentation Analysis can play a role
- Discourse analysis also applies
- Task observation is a key analysis technique
- Brainstorming for ideas
- Ethnography helps understand the users
- Joint Application Development (JAD)
- Prototyping
- Pilot system for early feedback
- Reverse Engineering is when you understand the existing solution
Classic Requirements Elicitation Techniques
- These techniques have historically been used for a long time
- They are tested and proven methods, like interviews and questionnaires
- Introspection is considered a classic technique
- Analyzing Existing Systems
- Document Analysis
- Observation and Social Analysis
Modern Requirements Elicitation Techniques
- Modern techniques involve scenarios
- Brainstorming which expands on ideas
- Prototyping
- Joint/Rapid Application Development
- Task Analysis
- Workshops
- Reverse Engineering
- Domain Analysis
- Goal modeling
- Etc.
Introspection Elicitation Technique
- Analyst imagines what kind of system is required based on what the users and stakeholders want and need
- Mainly used as a starting point for other requirements elicitation efforts
Advantages of Introspection
- Helps other elicitation techniques and is a good starting point
- There are almost no costs to this technique
Disadvantages of Introspection
- Can be very inaccurate
- Unlikely to reflect stakeholder’s goals
- Analyst should be familiar with the domain and goals of the system, and should be expert in the business processes of the users
- Requires a large amount of experience from the requirement analyst
Analysis of Existing Systems Elicitation Technique
- Useful when building a new improved version of an existing system
- Should know what is used, not used, or missing
- Should know what works well, and what does not work
Why Analysis of Existing Systems?
- Users tend to dislike a new system if it is too different or doesn't do what they want, creating nostalgia for the old system
- Can help to catch obvious possible improvements, like missing features
- Used to find out which "legacy" features can/cannot be left out
Document Analysis Elicitation Technique
- One of the most helpful elicitation techniques in understanding the current process
- User manuals, software vendor manuals, and process documents about the current system can be useful
Steps
- Evaluate whether the existing docs are appropriate to study
- Analysing the docs to identify business details
- Reviewing and confirming identified details with subject matter experts
Documents Analysis Details
- Start with reading available documentation like user guides, development documents, change histories, intermal memos etc
- Often the docs are out of date, incorrect etc, but still useful as a starting point
- Discourse Analysis is when word choice and spoken language is examined
Observation/Social Analysis Elicitation technique
- Also known as Observation
- Collecting requirements by observing the users while doing their normal work
- Generally used to determine additional requirements the user needs
Observations Elicitation Technique
- Can be supplemented later with questionnaires
- Based on what you know now from observation to answer questions
- Provides corroboration (confirmation)
- Can obtain statistics from a large number of users i.e. "how often do you use feature X?"
- Can be supplemented later with interviews
- Getting a better idea of what is to be done, results in more detailed answers
- Can find out what features they would use
- If done wrong can be a waste of time and labour intensive
Social Analysis Types
- Passive observations are carried out without direct involvement of the observer. Observations are recorded using cameras etc. The problems and requirements are then prepared from the recorded data
- Active observation is carried out with the direct involvement of the observer. People are provided a new product prototype or existing product to perform tasks. The observer provides domain knowledge to the user and reports on requirements
Social Analysis Types (continued)
- Explanatory Observations are carried out when the user explains what they are doing while using the product, the observer takes notes
- Ethnography involves the observer being completely immersed in the society. The observer thoroughly observers the users and their work. It is time consuming and expensive to gather the requirements
Ethnography Details
- Derived from anthropology, writing the culture
- People often find it hard to describe what they do because it is so natural to them
- Sometimes to understand, you need to observe
- Useful in understanding real wok processes from observation and work analysis
- Aims to describe those who are studied through writing
- Attempts to discover implicit and non obvious factors
- Seeks to explore the human factors and social organization of activities
Ethnography Additional details
- Discoveries are made by observation and analysis, workers are not asked to explain what they do
- Collect what is ordinary/what is it that people do (aim at making the implicit explicit)
- Study the context of work and watch work being done
Ethnography Examples
- Helpful to discover what a nuclear technician does during the day
- Helpful to discover what their workspace looks like
Ethnography Technique Benefits
- Especially useful when addressing contextual factors such as usability
- Applicable when investigating collaborative work settings where the understanding of interactions are paramount
Ethnography Uses
- Effective when the need for a new system is a result of existing problems with processes and procedures
- Useful in identifying social patterns and complex relationships between human stakeholders
Ethnography Example
- Sommerville et al. were involved in a project where they had to elicit the requirements of an air traffic control system
- Observed the air traffic controllers in action with the exisiting system
- Found the controllers often put aircrafts on potentially conflicting headings with the intention of fixing them later, and closed alarms because they where annoyed by alarm sounds
- The accurate observation was the controllers dont like being treated like idiots
Advantages of Ethnography
- Useful to collect quality attributes requirements like usability
- Effective when determining the social factors
Disadvantages of Ethnography
- Fails in many cases because there are so much diverse communities of people belonging to different social and ethical sects
- Is difficult to analyze the social requirements and hence the psychologists are required to provide their services
Task Analysis Elicitation Technique
- Employs a top-down approach where high-level tasks are decomposed into subtasks and eventually detailed sequences until all actions and events are described
- The primary objective is to construct a hierarchy of the tasks performed by the users and system
- Determines what knowledge is used or required to carry them out
- Provides information on the interactions of both the user and the system within the tasks
- Considerable effort is required and the level of detail is needed for the level of exploration
Advantages of Task Analysis
- Provides interaction of user and system
- Used by the project manager to mange user and system tasks
Disadvantages of Task Analysis
- Requires a lot of effort compared to interviewing
- Requires a lot of detail for the low-level tasks
Brainstorming Elicitation Technique
- Participants from different stakeholder groups engage in informal discussion to generate many ideas without focusing on any one in particular
- Not intended to explore or critique ideas in detail and used to resolve major issues
- Used to develop preliminary mission statement for the project and target system
- Advantage is promoting freethinking and allowing/discovery of new ideas
Brainstorming Facts
- To invent a new way of doing things or when there is little known
- When few or too many ideas, specifically early on in a project
- Useful where there is little expertise for the type of application or important innovation
Brainstorming Activities
- Storm: Generating as many ideas as possible (quantity, not quality)
- Calm: Filtering out of ideas to keep the best and may require voting
Brainstorming - Objectives
- Hear ideas from everyone, especially unconventional ideas
- Keep the tone informal and non-judgemental
- Keep the number of participants “reasonable“ – invite more creative people to future sessions
- Encourage creativity and choose good, provocative project name with a good problem statement
- Having a a room without distractions, but with good acoustics, whiteboards, coloured pens, provide coffee/donuts/pizza/beer
Advantages of Brainstorming
- Are mostly used for the innovative sort of projects where each participant provides his or her own ideas
- Make the key decisions about the requirements of the project
- Promotes free thinking and expression of ideas
- Provides the innovative ideas about the project to be developed
Joint Application Development (JAD) Details
- Developed at IBM in the 1970s
- A structured brainstorming IBM-style with lots of success stories
- An extended session to the workshop
- Stakeholders and project team work together to identify the requirements
- Sessions allow the business team together to gather and consolidate large amounts of information
Joint Application Development Details (cont)
- Identification of stakeholders is critical, including business process owners, client representatives or project managers, IT experts (developers, quality assurance)
- A more structured and intensive brainstorming approach
- Several activities and six (human) roles to be played
- JAD session may last few days
Joint Application Development (JAD) - Main Principles
- Group Session Dynamics is key
- Facilitated and directed group sessions for common/universal understanding and universal buy-in
- Enhancing understanding with visual aids, props, prepared digrams
- Defined process with standardized forms for document results
Joint Application Development (JAD) Purpose
- Used for consensus-based decision making across functional areas
- Planning a project
- Defining requirements
- Designing a solution
Joint Application Design – Activities
- Start with Preparation, then have a Working Session, then a Summary
Joint Application Design – Pre-session Planning
- Preparation is essential as is not informal
- Evaluate project to identify contentous scope items
- Select JAD participants and enable them to prepare
- Create prelimenary addenda
- Determine deliverables for the session
The 6 “P”s
- Purpose: Why do we do things? (Goals, needs, motivation)
- Participants: - Who is involved? (People, roles, responsibilities)
- Principles: - How do we function? (Guidelines, working agreements, ground rules)
- Products: - What do we create? (Deliverables, decisions, plans, next steps)
- Place: - Where is it located? (Venue, logistics)
- Process: - When do we do what? (Activities, sequence)
Joint Application Design – Pre-work
- Gather information and clear schedules
- Refine session agenda and finalize assignments
- Prepare materials i.e. pizza!
Joint Application Design - Working Session
- Set-up and start of Brainstorming to achieve consensus on decisions
- Generate ownership of results and create definable deliverables
- Identify open questions
Joint Application Development - Follow-up and Wrap-up
- Resolve open issues and Follow-up on items
- Re-evaluate results and the process
- Discuss lessons learned and finalize deliverables
Joint Application Development – Roles
- Session leader: Organizer, facilitator, JAD expert whom is good with people skills
- Analyst produces official JAD documents, and have experience developer level overview of the entire solution
- Executive sponsor provides insight into company’s goals and makes final decisions
- User representatives are knowledgeable end-users and managers with prepared ideas
- Information system representatives are technical experts
- Specialists have specific security knowledge
Advantages of JAD
- Provides the rapid decision making about the problem and also the solution of the problem
- Handles the requirements that can be rapidly changed
- Provides well formated structure with communication between stakeholers
Disadvantages of JAD
- Sometime the rapid solution it provides cant accurately validate
- The team must possess previous domain knowledge
Prototyping Elicitation Technique
- Screen mock-ups support the requirement gathering process by helping stakeholders visualize functionality
Software Requirements Prototype
- Can improve the developers, customers and users
- Clarifies requirements, response early, and addresses specific problems
- Prototyping is effective in uncertainty
Prototyping Facts
- Focus development on uncertain parts and encourage user participation
Prototyping – Realizations
- Take many forms depending on needs i.e. paper, screen
- Interactive prototypes use VB, Python and Flash
Prototyping – Types
- Horizontal: focus on one layer – e.g., user interface
- Vertical: a slice of the real system
- Evolutive: turned into a product incrementally (begins with requirements that are more understood)
- Throw-away: focusing on the less well-understood aspects of the system to design
Prototyping - Fidelity
- Extent to which the prototype is real
- High
- Button press leads to something
- Advantage is understanding and risk mitigation
- Disadvantage, time consuming and focuses of the less important issues
Prototyping - Fidelity (continued)
Low Fidelty
- Static and not operators
- Easy, quick and good with interfaces
- Does not cover all aspects of interfaces, and maybe non-professional
Prototyping - Risks and Problems
- Prototypes that focus on user-interface tends to lose the focus of demonstrating/exploring functionality
- Unrealistic expectations and do not end-up considering a throwaway prototype as part of the products
Problems with prototyping
- Training costs
- Extended development schedules
- Incompleteness may be a source
Workshops Elicitation Technique
- Comprise a group of users or stakeholders working together to identify requirements
- Structured way to capture requirements and scope
Reverse Engineering Elicitation Technique
- Elicitation technique is generally used in migration projects
Two Types
- Black box reverse engineering: The system is studied without examining its internal structure
- White box reverse engineering: The inner workings of the system are studied
Data Gathering techniques
- Questionnaires, Interviews, Focus Groups, and workshops are all valid methods for elicitation
- They allow one to understand the customer and the product
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.