Professional Documents
Culture Documents
ENGINEERING
.
CHAPTER-2
Requirement Elicitation
TABLE OF CONTENT:
Definition
Types of requirements
Product vs project requirements
Key players
Requirement development & management
Good practices for requirement engineering
REQUIREMENTS ELICITATION TECHNIQUES:
• Numerous elicitation techniques can be employed on software projects. In fact, no project team
should expect to use only one elicitation technique.
• Elicitation techniques include both facilitated activities, in which you interact with stakeholders to
elicit requirements, and independent activities, in which you work on your own to discover
information.
• Each technique offers a different exploration of the requirements or might even reveal completely
different requirements.
• The following sections describe several techniques commonly used to elicit requirements.
Interviews
.
• Interviews are a traditional source of requirements input for both commercial products and information systems,
across all software development approaches.
• BAs will facilitate some form of individual or small-group interviews to elicit requirements on their projects.
• Agile projects make extensive use of interviews as a mechanism to get direct user involvement.
• Interviews are easier to schedule and lead than large-group activities such as requirements workshops.
• If you are new to an application domain, interviews with experts can help you get up to speed quickly. This will allow
you to prepare draft requirements and models to use in other interviews or in workshops.
• A few suggestions for conducting interviews follow.
Establish rapport
Stay in scope
Prepare questions and straw man models ahead of time
Suggest ideas
Listen actively
Questionnaires
.
• Questionnaires are a way to survey large groups of users to understand their needs. They are inexpensive, making them a
logical choice for eliciting information from large user populations, and they can be administered easily across geographical
boundaries.
• Preparing well-written questions is the biggest challenge with questionnaires. Many tips are available for writing
questionnaires and the most important ones here:
Provide answer options that cover the full set of possible responses.
Make answer choices both mutually exclusive and exhaustive.
If you use scales, use them consistently throughout the questionnaire.
Use closed questions with two or more specific choices if you want to use the questionnaire results for statistical analysis.
Open-ended questions allows users to respond any way they want, so it’s hard to look for commonalities in the results.
Consider consulting with an expert in questionnaire design and administration to ensure that you ask the right questions of
the right people.
Always test a questionnaire before distributing it. It’s frustrating to discover too late that a question was phrased
ambiguously or to realize that an important question was omitted.
Don’t ask too many questions or people won’t respond.
Workshops
.
• Workshops encourage stakeholder collaboration in defining requirements. It defines a requirements workshop as “a structured
meeting in which a carefully selected group of stakeholders and content experts work together to define, create, refine, and reach
closure on deliverables (such as models and documents) that represent user requirements.”
• Workshops are facilitated sessions with multiple stakeholders and formal roles, such as a facilitator and a scribe.
• Workshops often include several types of stakeholders, from users to developers to testers. They are used to elicit requirements
from multiple stakeholders concurrently. Working in a group is more effective for resolving disagreements than is talking to people
individually. Also, workshops are helpful when quick elicitation turnaround is needed because of schedule constraints.
• Following are a few tips for conducting effective elicitation workshops, many of which also apply to interviews.
Establish and enforce ground rules
Fill all of the team roles
Plan an agenda
Stay in scope
Timebox discussions
Keep the team small but include the right stakeholders
Keep everyone engaged
.
Focus groups
• A focus group is a representative group of users who convene in a facilitated elicitation activity to generate
input and ideas on a product’s functional and quality requirements.
• Focus group sessions must be interactive, allowing all users a chance to voice their thoughts.
• Focus groups are useful for exploring users’ attitudes, impressions, preferences, and needs. They are
particularly valuable if you are developing commercial products and don’t have ready access to end users
within your company.
• Focus groups must be facilitated. You will need to keep them on topic, but without influencing the opinions
being expressed. You might want to record the session so you can go back and listen carefully to comments.
Do not expect quantitative analysis from focus groups, but rather a lot of subjective feedback that can be
further evaluated and prioritized as requirements are developed.
.
Brainstorming
• Brainstorming is a creative and collaborative technique that involves generating as many ideas as possible in
a short time, without judging or evaluating them. The goal is to explore different perspectives, stimulate
creativity, and identify potential solutions or requirements.
• Brainstorming can be done in groups or individually, using various methods such as free association, mind
mapping, or nominal group technique.
• Brainstorming is an effective technique for requirements elicitation, as it can help uncover hidden or implicit
requirements and foster a positive atmosphere among participants. It also encourages the sharing of diverse
ideas, knowledge, and experience, allowing for the generation of novel and creative solutions. Moreover, it
can stimulate innovation and creativity by encouraging participants to think outside the box.
Joint Application Development (JAD)
.
• Joint Application Development (JAD) is a methodology that has direct involvement of the client and
end-user while designing and developing computer-based applications.
• The JAD process enhances user participation, accelerating development, and hence improving the
quality of specifications. This includes approaches for refining the quality of specification through
successive collaborative workshops of JAD sessions.
• As the client is involved throughout the development process, it drives faster development and greater
client satisfaction.
• Advantages of- Produce a design from the customer’s perspective; The teamwork between company and
client helps to remove all risks; Due to the close interactions, progress is faster; JAD helps to accelerate
design and also to enhance quality; JAD cheers the team to push each other which leads them to work faster
and also to deliver on time.
.
• Interface analysis is an independent elicitation technique that entails examining the systems to which your
system connects.
• System interface analysis reveals functional requirements regarding the exchange of data and services
between systems.
• For each system that interfaces with yours, identify functionality in the other system that might lead to
requirements for your system. These requirements could describe what data to pass to the other system,
what data is received from it, and rules about that data, such as validation criteria.
• Through system interface analysis, you might learn that multiple systems pass orders to the order-
management system, which performs the validation, so you don’t need to build this function.
User interface analysis
.
• User interface (UI) analysis is an independent elicitation technique in which you study existing systems to
discover user and functional requirements. It’s best to interact with the existing systems directly, but if
necessary you can use screen shots.
• User manuals for purchased packaged-software implementations often contain screen shots that will work fine
as a starting point. If there is no existing system, you might be able to look at user interfaces of similar
products.
• When working with packaged solutions or an existing system, UI analysis can help you identify a complete
list of screens to help you discover potential features. The common steps users take in the system and draft use
cases to review with users. UI analysis can reveal pieces of data that users need to see.
• Instead of asking users how they interact with the system and what steps they take, perhaps you can reach an
initial understanding yourself.
• Through system interface analysis, you might learn that multiple systems pass orders to the order-
management system, which performs the validation, so you don’t need to build this function.
Document analysis
.
• Document analysis entails examining any existing documentation for potential software requirements.
• The most useful documentation includes requirements specifications, business processes, lessons learned
collections, and user manuals for existing or similar applications.
• Documents can describe corporate or industry standards that must be followed or regulations with which
the product must comply. When replacing an existing system, past documentation can reveal functionality
that might need to be retained, as well as obsolete functionality.
• Document analysis is a way to get up to speed on an existing system or a new domain. Doing some
research and drafting some requirements beforehand reduces the elicitation meeting time needed.
• Document analysis can reveal information people don’t tell you, either because they don’t think of it or
because they aren’t aware of it.
PLANNING ELICITATION ON YOUR PROJECT
Early in a project, the business analyst should plan the project’s approach to requirements elicitation.
Even a simple plan of action increases the chance of success and sets realistic expectations for the
stakeholders.
An elicitation plan includes the techniques you’ll use, when you plan to use them, and for what purpose.
Your plan should address the following items:
■ Elicitation objectives
■ Elicitation strategy and planned techniques
■ Schedule and resource estimates
■ Documents and systems needed for independent elicitation
■ Expected products of elicitation efforts
■ Elicitation risks
PREPARING FOR ELICITATION
Facilitated elicitation sessions require preparation to make the best use of everyone’s time. The larger
the group participating in the session, the more important preparation is.
Executing the elicitation activity itself is relatively obvious—if you are interviewing, you talk to people; if you are
performing document analysis, you read the document. However, when facilitating an elicitation activity, the
following tips might be useful.
Educate stakeholders
Take good notes
Exploit the physical space
FOLLOWING UP AFTER ELICITATION
After each elicitation activity is complete, there’s still a lot to do. You need to organize and share your
notes, document open issues, and classify the newly gathered information.
Business requirements issues must be resolved before the functional and nonfunctional requirements can be fully
specified. A statement of the project’s scope and limitations helps greatly with discussions of proposed features and
target releases. The business requirements provide a reference for making decisions about proposed requirement
changes and enhancements.
1. Identifying desired business benefits: The business requirements set the context for, and enable the measurement
of, the benefits the business hopes to achieve from undertaking a project. Organizations should not initiate any project
without a clear understanding of the value it will add to the business.
2. Product vision and project scope: The product vision succinctly describes the ultimate product that will achieve
the business objectives. This product could serve as the complete solution for the business requirements or as just a
portion of the solution. The project scope identifies what portion of the ultimate product vision the current project
or development iteration will address. The statement of scope draws the boundary between what’s in and what’s out for
this project.
Kiosk software is an essential component of self-service kiosks, providing the interface and functionality that enables our .
clients and their customers to interact with these systems, whether for wayfinding, self-payment, or anything in between.
3. Conflicting business requirements: Business requirements collected from multiple sources might conflict. Consider a
kiosk that will be used by a retail store’s customers. The business interests of the kiosk developer, retailer, and customer as we
envision how each of these stakeholders hopes the kiosk will provide an advantage over their current way of doing business.
The purpose of tools such as the context diagram, ecosystem map, feature tree, and event list is to foster clear and
accurate communication among the project stakeholders.
We strongly recommend, though, that you adopt the notations illustrated in the following examples as standards for drawing
the diagrams. For example, in a context diagram, suppose you were to use a triangle to represent the system instead of a
circle, and ovals rather than rectangles for external entities.
Context diagrams, ecosystem maps, feature trees, and event lists are the most common ways to represent scope
visually. However, other techniques are also used. Identifying affected business processes also can help define the
scope boundary. Use case diagrams can depict the scope boundary between use cases and actors.
1. CONTEXT DIAGRAM
Ecosystem maps differ from context diagrams in that they show other systems that have a relationship with the system you’re
working on, including those without direct interfaces.
Figure is a partial ecosystem map for the Chemical Tracking System. The systems are all shown in boxes. The primary system
is shown in a bold box (Chemical Tracking System), but if all systems have equal status in solution, you can use the same box
style for all of them.
The lines show interfaces between systems (for instance, the Purchasing System interfaces to the Chemical Tracking System).
Lines with arrows and labels show that major pieces of data are flowing from one system to another (for instance, “training
records” are passed from the Corporate Training Database to the C
3. FEATURE TREE
A feature tree is a visual depiction of the product’s features
organized in logical groups, hierarchically subdividing each
feature into further levels of detail.
The feature tree provides a concise view of all of the features
planned for a project, making it an ideal model to show to
executives who want a quick glance at the project scope. A
feature tree can show up to three levels of features, commonly
called level 1 (L1), level 2 (L2), and level 3 (L3). L2 features
are sub features of L1 features, and L3 features are sub
features of L2 features.
Figure shows a partial feature tree for the Chemical Tracking
System. The main branch of the tree in the middle represents
the product being implemented. Each feature has its own line
or “branch” coming off that central main branch. The grey
boxes represent the L1 features, such as Order Chemicals and
Inventory Management. The lines coming off an L1 branch
are L2 features: Search and Chemical Request are sub features
of Order Chemicals. The branches off an L2 branch are the L3
features: Local Lab Search is a sub feature of Search.
4. EVENT LIST