Podcast
Questions and Answers
What is a major challenge in requirements elicitation stemming from human nature?
What is a major challenge in requirements elicitation stemming from human nature?
- The use of scenarios and use cases
- The gap between user and developer knowledge
- The 'Yes, But' syndrome (correct)
- The wealth of discovered requirements leading to more unknowns
Why is effective communication difficult between users and developers?
Why is effective communication difficult between users and developers?
- Both groups are usually disengaged from the process
- Developers don’t have sufficient application knowledge
- There are profound differences in their backgrounds (correct)
- Users often lack domain knowledge
Which of the following is NOT a part of the requirements elicitation process?
Which of the following is NOT a part of the requirements elicitation process?
- Requirement Discovery
- Problem Description
- User Interaction Assessment (correct)
- Requirement Specification
What analogy is used to describe the search for requirements?
What analogy is used to describe the search for requirements?
What is the primary aim of requirements analysis?
What is the primary aim of requirements analysis?
Which term refers to descriptions that illustrate a class of scenarios for a system?
Which term refers to descriptions that illustrate a class of scenarios for a system?
What is a key requirement for successful requirements elicitation?
What is a key requirement for successful requirements elicitation?
What is the challenge presented by the discovery of more requirements?
What is the challenge presented by the discovery of more requirements?
What is a primary goal of context-free questions during an interview?
What is a primary goal of context-free questions during an interview?
Which of the following is an inappropriate method for gathering information from stakeholders?
Which of the following is an inappropriate method for gathering information from stakeholders?
How should an interviewer conclude an effective interview?
How should an interviewer conclude an effective interview?
What type of questions restrict responses to specific information?
What type of questions restrict responses to specific information?
What is a critical action to take before conducting an interview with a stakeholder?
What is a critical action to take before conducting an interview with a stakeholder?
Which of these questions would NOT be categorized as a context-free question?
Which of these questions would NOT be categorized as a context-free question?
What is a possible follow-up question to better understand the customer’s perspective?
What is a possible follow-up question to better understand the customer’s perspective?
What should an interviewer do if a stakeholder starts to go off course during the interview?
What should an interviewer do if a stakeholder starts to go off course during the interview?
What is one primary reason for the frequent changes in system requirements?
What is one primary reason for the frequent changes in system requirements?
Which syndrome describes the mixed reactions users have upon seeing a system implementation for the first time?
Which syndrome describes the mixed reactions users have upon seeing a system implementation for the first time?
What should teams do to prepare for the 'Yes, But' responses from users?
What should teams do to prepare for the 'Yes, But' responses from users?
What does the 'Undiscovered Ruins' Syndrome indicate in requirements elicitation?
What does the 'Undiscovered Ruins' Syndrome indicate in requirements elicitation?
What influences the changes in system requirements aside from technology?
What influences the changes in system requirements aside from technology?
How should software teams view user feedback according to the 'Yes, But' Syndrome?
How should software teams view user feedback according to the 'Yes, But' Syndrome?
What type of stakeholders often contribute to the complexity of requirements engineering?
What type of stakeholders often contribute to the complexity of requirements engineering?
Why is it essential to address the 'Yes, But' responses early in the development process?
Why is it essential to address the 'Yes, But' responses early in the development process?
What is one method to uncover undiscovered requirements from stakeholders?
What is one method to uncover undiscovered requirements from stakeholders?
What issue is described by the 'User and Developer' Syndrome?
What issue is described by the 'User and Developer' Syndrome?
What solution is suggested for users who struggle to articulate their needs?
What solution is suggested for users who struggle to articulate their needs?
What does the 'Yes, But' syndrome indicate in requirements elicitation?
What does the 'Yes, But' syndrome indicate in requirements elicitation?
What is an effective approach for interviewers to ensure clarity during user interviews?
What is an effective approach for interviewers to ensure clarity during user interviews?
How does the 'Undiscovered Ruins' concept relate to requirements elicitation?
How does the 'Undiscovered Ruins' concept relate to requirements elicitation?
Why is it important for interviewers to avoid pre-conceived ideas?
Why is it important for interviewers to avoid pre-conceived ideas?
What impact does human nature have on the requirements elicitation process?
What impact does human nature have on the requirements elicitation process?
Which of the following roles is NOT typically prescribed during user interviews?
Which of the following roles is NOT typically prescribed during user interviews?
Which of the following is NOT listed as a requirement elicitation technique?
Which of the following is NOT listed as a requirement elicitation technique?
What should interviewers do if they find that users cannot articulate their procedures?
What should interviewers do if they find that users cannot articulate their procedures?
What can analysts do to better understand the problems faced by users?
What can analysts do to better understand the problems faced by users?
What is one challenge interviewers face regarding user explanations and management statements?
What is one challenge interviewers face regarding user explanations and management statements?
How can interviewers better prepare for user interviews?
How can interviewers better prepare for user interviews?
What should interviewers do after completing an interview to ensure engagement?
What should interviewers do after completing an interview to ensure engagement?
Which of the following is a recommended practice for interviewing large groups?
Which of the following is a recommended practice for interviewing large groups?
What is the ideal range for the number of features in a system?
What is the ideal range for the number of features in a system?
Which of the following best defines a feature in a product or system?
Which of the following best defines a feature in a product or system?
Which of the following is NOT considered an attribute of a system feature?
Which of the following is NOT considered an attribute of a system feature?
What is a primary challenge when distinguishing between features and needs during user discussions?
What is a primary challenge when distinguishing between features and needs during user discussions?
What is the purpose of context-free questions in an interview?
What is the purpose of context-free questions in an interview?
How can the development team ensure a comprehensive understanding of user needs?
How can the development team ensure a comprehensive understanding of user needs?
What is the result of narrowing down the feature list in a system?
What is the result of narrowing down the feature list in a system?
Which approach helps in discovering undiscovered requirements during interviews?
Which approach helps in discovering undiscovered requirements during interviews?
How should a developer prepare for an effective interview?
How should a developer prepare for an effective interview?
What is a common misconception regarding interview techniques?
What is a common misconception regarding interview techniques?
Which step in the interviewing process is crucial for documenting the outcomes of the discussion?
Which step in the interviewing process is crucial for documenting the outcomes of the discussion?
What is one of the key goals of using a requirements repository during a project?
What is one of the key goals of using a requirements repository during a project?
Why is it important to establish objectives before an interview?
Why is it important to establish objectives before an interview?
Flashcards
Why do requirements change?
Why do requirements change?
Requirements change because the environment the system operates in is constantly evolving. This includes changes in technology, organization, market, economy, politics, and laws.
What is the "Yes, But" Syndrome?
What is the "Yes, But" Syndrome?
The "Yes, But" Syndrome describes users initially being impressed with a system but then identifying potential improvements, effectively saying "Yes, this is great, but..."
How to address the "Yes, But" Syndrome?
How to address the "Yes, But" Syndrome?
The "Yes, But" Syndrome highlights the need to anticipate user feedback and build time into development for addressing those "buts" early.
What is the "Undiscovered Ruins" Syndrome?
What is the "Undiscovered Ruins" Syndrome?
Signup and view all the flashcards
What are the challenges in requirement elicitation?
What are the challenges in requirement elicitation?
Signup and view all the flashcards
Requirements Elicitation
Requirements Elicitation
Signup and view all the flashcards
The "Yes, But" Syndrome
The "Yes, But" Syndrome
Signup and view all the flashcards
Searching for Requirements Like "Undiscovered Ruins"
Searching for Requirements Like "Undiscovered Ruins"
Signup and view all the flashcards
The "User and the Developer" Syndrome
The "User and the Developer" Syndrome
Signup and view all the flashcards
Scenarios
Scenarios
Signup and view all the flashcards
Use Cases
Use Cases
Signup and view all the flashcards
Requirements Elicitation (Part of Requirements Engineering)
Requirements Elicitation (Part of Requirements Engineering)
Signup and view all the flashcards
Requirements Analysis (Part of Requirements Engineering)
Requirements Analysis (Part of Requirements Engineering)
Signup and view all the flashcards
Finding "Undiscovered Ruins"
Finding "Undiscovered Ruins"
Signup and view all the flashcards
The "User and Developer" Syndrome
The "User and Developer" Syndrome
Signup and view all the flashcards
Users Don't Know What They Want
Users Don't Know What They Want
Signup and view all the flashcards
Analysts Think They Understand
Analysts Think They Understand
Signup and view all the flashcards
Political Motivations
Political Motivations
Signup and view all the flashcards
Requirements Elicitation Techniques
Requirements Elicitation Techniques
Signup and view all the flashcards
Who requested this project? Who will use the solution?
Who requested this project? Who will use the solution?
Signup and view all the flashcards
Is there another source for the solution you need?
Is there another source for the solution you need?
Signup and view all the flashcards
How does {a particular business process} work now?
How does {a particular business process} work now?
Signup and view all the flashcards
Are you the right person to answer these questions? Are your answers "official"?
Are you the right person to answer these questions? Are your answers "official"?
Signup and view all the flashcards
How would you characterize "good" output from a successful solution?
How would you characterize "good" output from a successful solution?
Signup and view all the flashcards
What problem(s) will this solution address?
What problem(s) will this solution address?
Signup and view all the flashcards
Can you show me or describe the environment where the solution will be used?
Can you show me or describe the environment where the solution will be used?
Signup and view all the flashcards
Are there special performance issues or constraints that will affect the solution's approach?
Are there special performance issues or constraints that will affect the solution's approach?
Signup and view all the flashcards
What is a product or system feature?
What is a product or system feature?
Signup and view all the flashcards
What is a stakeholder need?
What is a stakeholder need?
Signup and view all the flashcards
What is the Problem Domain?
What is the Problem Domain?
Signup and view all the flashcards
What is the Solution Domain?
What is the Solution Domain?
Signup and view all the flashcards
Why are features important?
Why are features important?
Signup and view all the flashcards
How many features should a system have?
How many features should a system have?
Signup and view all the flashcards
What are feature attributes?
What are feature attributes?
Signup and view all the flashcards
What is interviewing?
What is interviewing?
Signup and view all the flashcards
What are context-free questions?
What are context-free questions?
Signup and view all the flashcards
What are closed-ended questions?
What are closed-ended questions?
Signup and view all the flashcards
What are open-ended questions?
What are open-ended questions?
Signup and view all the flashcards
What is a questionnaire?
What is a questionnaire?
Signup and view all the flashcards
Why are interviews preferred over questionnaires?
Why are interviews preferred over questionnaires?
Signup and view all the flashcards
Why is understanding the biases of the interviewer important?
Why is understanding the biases of the interviewer important?
Signup and view all the flashcards
Why is documenting the interview important?
Why is documenting the interview important?
Signup and view all the flashcards
What are the key qualities of effective interviewers?
What are the key qualities of effective interviewers?
Signup and view all the flashcards
How should interviewers guide the conversation?
How should interviewers guide the conversation?
Signup and view all the flashcards
What are the benefits of conducting interviews as a team?
What are the benefits of conducting interviews as a team?
Signup and view all the flashcards
What is the advantage of changing roles during an interview?
What is the advantage of changing roles during an interview?
Signup and view all the flashcards
What is the importance of planning interview time?
What is the importance of planning interview time?
Signup and view all the flashcards
How can role-playing be helpful during interviews?
How can role-playing be helpful during interviews?
Signup and view all the flashcards
What are some challenges you may face when interviewing users?
What are some challenges you may face when interviewing users?
Signup and view all the flashcards
Why is it important to have multiple data sources for requirements?
Why is it important to have multiple data sources for requirements?
Signup and view all the flashcards
Study Notes
Requirements Elicitation Challenges
- Requirements elicitation is complicated by three common syndromes
- The "Yes, But" syndrome: Users initially express enthusiasm but quickly identify potential improvements or features; this stems from human nature and the user's inability to fully visualize the software's functionality until it's complete
- The "Undiscovered Ruins" syndrome: Searching for requirements is like searching for hidden treasures; the more you find, the more you realize there are still more to uncover. This arises from the fact there may be initially hidden or unknown needs.
- The "User and the Developer" syndrome: A profound gap in communication arises due to differing perspectives, backgrounds, motivations, and objectives; users and developers often view systems in the context of their different worlds, which can cause hurdles in understanding.
Requirements Elicitation Process
- Requirements elicitation is the process of gathering and uncovering specific needs for a system through communication with stakeholders, including customers, users, and other invested individuals.
Bridging the Gap Between Users and Developers
- Collaboration between users and developers with varied backgrounds is crucial for the process
- Users with application domain knowledge: possess in-depth understanding of the specific application domain
- Developers with solution domain knowledge: possess deep familiarity with software development methodologies and approaches
- Utilizing scenarios and use cases allows linking the user perspective with technical requirements.
- Scenarios demonstrate a step-by-step description of system usage.
- Use cases offer a high-level view of functionality performed by several scenarios.
Requirements Process Stages
- Requirements Elicitation: Defining the system in consumer-friendly terms (problem description)
- Requirements Analysis: Defining the system technically in terms the developer understands (problem specification).
Requirements Engineering
- Requirements elicitation, analysis, specification, verification, and management are all sequential stages in the process.
Difficulties in Requirements Engineering
- Businesses operate in dynamic environments with evolving requirements for support systems
- Multiple stakeholders with differing priorities/goals frequently participate in the process
- Requirements are often influenced by political factors and organizational considerations that stakeholders might not admit openly
Requirements Change
- System requirements reflect the outside world; therefore, changes outside the system frequently lead to evolving requirements.
- These changes stem from multiple external factors, including technology updates, organizational changes, shifts in the market, economic fluctuations, and modifications in the political or legal contexts.
Barriers to Requirements Elicitation
- The "Yes, But" syndrome: Users initially express enthusiasm but quickly identify potential improvements or features.
- The "Undiscovered Ruins" syndrome: There exist hidden needs or unknown user issues that surface upon investigation.
- The "User and Developer" syndrome: Users and developers often hold different perspectives regarding the system.
The "Yes, But" Syndrome
- Two immediate reactions often occur when users first encounter a system: awe and criticism; this is fundamental human nature.
- Acknowledge anticipated "buts", and allocate resources for feedback.
- Software, unlike physical tools, doesn't gain real-world meaning unless it's complete.
- Addressing "yes, buts" early is key
The "Undiscovered Ruins" Syndrome
- Teams struggle to determine when they've captured all critical requirements.
- First, identify the core problems to be solved by the system.
- Next, uncover hidden needs and stakeholder inputs.
The "User and Developer" Syndrome
- Users and developers come from different backgrounds, perspectives, and speaking different terminologies.
- There is a notable communication gap between them.
The User and Developer Syndrome: Solutions
- The user is a recognized domain expert who can provide valuable insight
- Alternative communication and selection methods can improve understanding.
- Early implementation of user-centered techniques like storyboarding, role-playing, and prototypes can facilitate effective collaboration and requirements elicitation.
- By placing the analyst in the user's role, one can gain a more profound understanding of user needs and concerns.
What's Next?
- Exploring interviewing techniques, including conducting interviews.
- Exploring workshops for identifying needs, brainstorming ideas, and reducing complexity.
- Examining the process of storyboarding.
- Discussing product or system features
Key Points: Product or System Features
- The development team must actively participate in the elicitation of system requirements.
- Product or system features are high-level expressions of intended system functionality.
- Limit the number of system features to values between 25 and 99 for clarity, simplicity, and reduction in complexity.
Stakeholder and User Needs
- The reflection of business, personal, and operational issues—both problems and opportunities— driving the justification for creating a system.
- Examples include streamlining inventory management and improving sales order entry efficiency.
Problem and Solution Domains
- Users' needs (in their terms) form the basis of the Problem Domain.
- System features, which fulfill user needs, belong in the Solution Domain.
- Software requirements connect these domains.
Features
- Features are services provided by a system to address one or more stakeholder needs.
- Users frequently conflate features with requirements, but understanding the differentiation between needs and features is critical.
- Features are convenient for describing functionality without getting bogged down in details or complexities.
- High-level abstractions are used to describe functionality and services.
Examples of Features
- Application domains such as elevator control systems, inventory management, defect tracking, payroll, home lighting automation, weapons control, or shrink-wrap application designs are key use cases.
- Examples of features related to these domains include manual control during emergencies or situations requiring system shutdown; the ability to track inventory levels; or to track defects and associated analysis.
Managing Complexity
- Limit the number of features to help avoid getting bogged down in the specifics of every nuance.
- Attributes allow for detailed tracking of additional information about features.
Interviewing
- Interviewing is a direct technique for gathering information
- Use context-free questions to avoid biasing the interviewee.
- Interviews are not substituted for questionnaires.
- It can discover undisclosed needs, enhance requirements comprehension, and initiate required changes.
Interviewing Steps
- Planning: Determine who should be interviewed, establish interview goals and objectives, prepare questions, and gather related documents
- Conducting: Introduce yourself and explain the process. Ask open-ended and closed-ended questions
- Follow-up: Summarize next steps and document the interview, evaluate the interview's effectiveness
Context-Free Questions
- Explore the system's scope and potential value.
- Understand the problem and its environmental context.
Effective Interviewers
- Interviewers should be open-minded and actively listen and should avoid pre-conceived ideas.
- Guide the interview with effective prompts to facilitate discussion of system requirements.
- Interviewing teams should have defined roles (e.g., questioners, note-takers).
Interviewing Continued
- Sufficient time should be allocated for interviews, and breaks should be planned to avoid fatigue.
- Use role-playing to address poorly articulated user needs.
- Provide necessary data entry activities and real-world simulated scenarios to allow deeper exploration of the context.
- Use diagrams to help clarify difficult procedures or systems.
- Provide summaries immediately after the interview.
HOLIS Case Study
- The case study explored needs of homeowners for a new home lighting system.
- Homeowner's perspective highlighted desire for flexibility and compatibility with various technological advancements, ease of use, and low costs.
- Distributor's perspective focused on strong product differentiation, easy salesman training, shop demonstrations, and high gross margins.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Test your knowledge on the process of requirements elicitation, including the challenges presented by human nature and communication barriers between users and developers. This quiz covers key concepts, methods, and critical actions involved in successful requirements gathering. Ideal for students of software engineering and project management.