Requirements
Elicitation is the process to find out the requirements for an intended
software system by communicating with client, end users, system users and
others who have a stake in the software system development.
There
are various ways to discover requirements
Interviews
are strong medium to collect requirements. Organization may conduct several
types of interviews such as:
● Structured
(closed) interviews, where every single information to gather is decided in
advance, they follow pattern and matter of discussion firmly.
● Non-structured
(open) interviews, where information to gather is not decided in advance, more
flexible and less biased.
● Oral
interviews
● Written
interviews
● One-to-one
interviews which are held between two persons across the table.
● Group
interviews which are held between groups of participants. They help to uncover
any missing requirement as numerous people are involved.
Organization
may conduct surveys among various stakeholders by querying about their
expectation and requirements from the upcoming system.
A
document with pre-defined set of objective questions and respective options is
handed over to all stakeholders to answer, which are collected and compiled.
A
shortcoming of this technique is, if an option for some issue is not mentioned
in the questionnaire, the issue might be left unattended.
Team
of engineers and developers may analyze the
operation for which the new system is required. If the client already has some
software to perform certain operation, it is studied and requirements of
proposed system are collected.
Every
software falls into some domain category. The expert people in the domain can
be a great help to analyze general and
specific requirements.
An
informal debate is held among various stakeholders and all their inputs are
recorded for further requirements analysis.
Prototyping
is building user interface without adding detail functionality for user to
interpret the features of intended software product. It helps giving better
idea of requirements. If there is no software installed at client’s end for
developer’s reference and the client is not aware of its own requirements, the
developer creates a prototype based on initially mentioned requirements. The
prototype is shown to the client and the feedback is noted. The client feedback
serves as an input for requirement gathering.
Team
of experts visit the client’s organization or workplace. They observe the
actual working of the existing installed systems. They observe the workflow at
client’s end and how execution problems are dealt. The team itself draws some
conclusions which aid to form requirements expected from the software.