Chapter 3-Requirements Elicitation
Chapter 3-Requirements Elicitation
Software Engineering
(SE3037)
Chapter 3: Requirements
Elicitation
Outline
• Requirements Elicitation
• Process Requirements Sources
• Elicitation Techniques
Requirements Elicitation
• The aims of the requirements elicitation are to understand the work that
stakeholders do and how they might use a new system to help support that work.
• Involves technical staff working with customers to find out about the application
domain, the services that the system should provide and the system’s operational
constraints.
7
Viewpoints
• Viewpoints are a way of structuring the requirements to represent the perspectives of
different stakeholders.
• Also, from existing systems and their usage and information from documents of various
kinds.
• Interviews are good for getting an overall understanding of what stakeholders do and
how they might interact with the system.
• To be an effective interviewer:
• Interviewers should be open-minded, willing to listen to stakeholders and should not have pre-
conceived ideas about the requirements.
• Interviewers should prompt the interviewee with a question or a proposal and should not simply
expect them to respond to a question such as ‘what do you want’.
Ethnography
• In ethnography, a social scientist spends a considerable amount of time
observing and analyzing how people actually work.
• Ethnographic studies have shown that work is usually richer and more
complex than suggested by simple system models.
Perform Ethnography
• Immerse yourselves in the working environment where the system will be used
• Observe the day-to-day work and notes the actual tasks in which participants are involved
• This helps discover implicit system requirements that reflect the actual rather than formal
processes in which people are involved
• Advantage
• Discovers many user tasks and business processes that are too subtle and complex for their actors to
describe easily.
• Disadvantage:
• Expensive (analyst works in client environment)
• Observer should be detached: end-user based, non-judgmental so not appropriate for discovering
organisational or domain requirements
Scope of Ethnography
• Ethnography is particularly effective for discovering two types of
requirements:
• Requirements that are derived from the way that people actually work rather
than the way in which process definitions suggest that they ought to work.
• People may have “short cuts” or use their previous knowledge and experience to better
perform their role which may not be evident.
• Advantage:
• Brainstorm and refine ideas that may be difficult to bring to the surface using interviews.
• Conflicting requirements surface early on in a way that lets the stakeholders recognize
where these occur.
• May result in a richer and more consistent set of requirements than might otherwise be
achievable.
• Disadvantage:
• Meetings need to be handled carefully (hence the need for a facilitator) to avoid poor
group dynamics
• Meetings are time consuming (hence the need for a facilitator)
Prototypes
• Valuable tool for clarifying ambiguous requirements.
• Act in a similar way to scenarios by providing users with a context within
which they can better understand what information they need to
provide.
• Wide range of prototyping techniques—from paper mockups of screen
designs to beta-test versions of software products
• Protypes can also be used requirements validation
• Low fidelity prototypes are often preferred to avoid the stakeholder
“anchoring” on minor, incidental characteristics that could limit design
flexibility
• Disadvantage: Choose implementation too early
• Risk: Rough prototype becomes the product
Stories and Scenarios
• People find it easier to relate to real-life examples than abstract
descriptions.
• Stories and scenarios are a description of how the system can be
used for some particular task.
• They describe what people do, what information they use and produce, and
what systems they may use in this process.
• A scenario may include:
• A description of the starting situation;
• A description of the normal flow of events;
• A description of what can go wrong;
• Information about other concurrent activities;
• A description of the state when the scenario finishes.