Requirements Elicitation Techniques Comparative Study (HTTPWWW - ijrdet.comfilesVolume1Issue3IJRDET - 1213 - 01 PDF
Requirements Elicitation Techniques Comparative Study (HTTPWWW - ijrdet.comfilesVolume1Issue3IJRDET - 1213 - 01 PDF
Requirements Elicitation Techniques Comparative Study (HTTPWWW - ijrdet.comfilesVolume1Issue3IJRDET - 1213 - 01 PDF
Faculty of Science and Technology, Universiti Sains Islam Malaysia (USIM), Bandar Baru Nilai, 71800 Nilai, Negeri
Sembilan
Bergey, et al. have highlighted that if the quality
requirements are not proficiently identified, the ensuing
system cannot be properly assessed for success or failure,
well before implementation. The [5] authors have stated
that It is widely acknowledged within the software
industry that software engineering projects are critically
vulnerable when these activities [elicitation, analysis,
specification, and validation] are performed poorly.
II. BACKGROUND
Studies have exposed that problems associated with
requirements engineering could cost 10-200 times more to
rectify the program after its implementation, than if they
were recognized during specifications [6, 7, 8]. Few other
researchers have suggested that, the comprehensive amount
of project budget due to requirements flaws is twenty-five
to forty percent 25 to 40 % [9]. It is noteworthy that,
requirements engineering is not only crucial, but will be
disadvantageous, if the acceptable sources are not devoted
early. Requirements Engineering (RE) is an activity,
which aim is to discover, document and maintain a set of
requirements [10, 11].
The use of the term engineering implies that systematic
and repeatable techniques should be used to ensure that
system requirements are complete, consistent and relevant
[12]. Another definition according Software Test and
Evaluation Panel (STEP) is the disciplined application of
scientific principles and techniques for developing,
communicating, and managing requirements [13].
Similarly, [14] have defined requirements engineering as
the systematic process of developing requirements
through an iterative process of analyzing a problem,
documenting the resulting observations, and checking the
accuracy of the understanding gained.
Both these definitions indicate that requirements
engineering is not just a single activity, rather it a process,
which comprises a variety of phases and actions. [15] has
pointed out that requirements engineering can be classified
into elicitation, solution determination, specification, and
maintenance.
I. INTRODUCTION
Analysts and experts have reported considerable proofs
in the research literature, related to software quality
requirements that facilitate successful software delivery. [1]
has reviewed 10 software project failures over the span of
two decades. The study has specifically ascribed three of
those downfalls to poor requirements analysis. It has been
claimed that poor requirements are in eighth position in his
list of the top 10 errors made by developers. Wiegers have
argued If you dont get the requirements right, it doesnt
matter how well you execute the rest of the project [2].
McGovern has declared that the critical success factor will
always be the accuracy and completeness with which the
business requirements and goals are captured and traced to
the associated details [3].
According to [4], the intent of requirements analysis, is
to elevate the probability of building right system, i.e.,
upon completion the system must satisfy the targeted
customers and address their needs to a satisfactory degree.
Literature
Executor
Illustration
An
experienced
analyst with
generic
knowledge
about the
application
domain
Interviewer discusses
the desired product with
different groups of
people and builds up an
understanding of their
requirements
(Interviewer asks
questions to the
specialist or end-users,
related to a particular
topic)
[33, 34]
An
experienced
outside
facilitator
Stakeholder
representatives gather
together for a short but
intensely focused period
to create or review high
-level features of the
desired products
[34, 35, 36
An
experienced
outside
facilitator
Brainstorming is a kind
of mini conference, held
among six to ten
experts. Members from
different walks of life
involve in the
brainstorming, chaired
by the organizer, who
asserts the topic to be
discussed
support
[20, 33,
34]
Interviews
, 37, 38]
Brainstorming
A. Conversational Methods
The conversational method provides a means of verbal
communication between two or more people. As
conversation is a normal means to convey requirements and
concepts, and ask and answer questions, it is efficient to
build and comprehend the issues and to elicit generic
product requirements [32].
3
B. Observational Methods
The observational method provides a means to develop a
rich understanding of the application domain by observing
human activities [31]. In addition to non-tacit requirements,
some requirements are obvious to stakeholders, but
difficult to verbalize, which is called as tacit requirements
[39]. Verbal communication is frequently weak, when
gathering tacit requirements. Consequently, observing how
people perform their routine work, facilitates gather
information, which are challenging to explain in words.
Methods under this group are illustrated in Table II.
TABLE II
Observational methods
Method
Literature
Executor
Illustration
Support
Social analysis
and
Ethnographic
study
[20, 39]
[33, 41,
17]
Observation
[33, 39]
Protocol
analysis
The observer
must be
accepted by the
people being
studied as a
kindred spirit
and must be
sufficiently
familiar that
they carry on
with their
normal practices
as if he was not
there
An observer
spends a period
in a society or
culture on
making detailed
observation of
all their
practices. User
culture and work
environment are
observed
A subject is
engaged in some
task, and
concurrently
speaks out loud
and explains his
thought
C. Analytic Methods
Analytic methods provide ways to explore the existing
documentation or knowledge and acquire requirements
from a series of deductions. These methods are illustrated
in Table III.
Literature
Executor
Illustration
[20, 33,41,
45, 46, 47]
Documentation
In this technique
the systems within
the same product
family is used to
identify
requirements of
the desired system
[20, 45,
46]
Documentation
A common
method consisting
of reading and
studying available
documentation for
content that is
relevant to and
useful on the
requirements
elicitation tasks
[48]
Expert s
It involves the
creation, reviewing
and modification
of hierarchical
content of experts
knowledge, often
in the form of
ladders (i.e. tree
diagrams)
Support
Requirement
reuse
Documentation
studies /content
knowledge
Analysis
Laddering
[49]
Experts
knowledge
Card sorting
D. Synthetic Methods
According to [39], the synthetic strategies incorporate
various channels of communication, and offer models to
illustrate the characteristics and relationship of system, they
deliver good hints for requirement recognition, in the form
of abundant semantic models. For instance, the prototypes
offer an initial version of the system to the users, which can
emphasize them about the functions which are usually in
any other case ignored. Storyboard technique, which is
categorized between scenarios and prototyping. It presents
a procession of prospects beginning from sample
components to live interactive reports [34]. Appreciative
Inquiry (AI) is a combined method, which includes
communication between clients and designers, examine the
existing systems, tracking the behaviours of the users and
visualize the future system or software, with all the
necessary functions. It includes combined strategies, which
enhance requirements elicitation process. Examples of
synthetic methods are illustrated in Table IV.
The expert is
asked to sort into
groups a set of
cards each of
which has the
name of some
domain entity
written or depicted
on it
literature
Executor
support
[20, 34, 35,
53]
Scenarios,
passive
storyboards
[20, 34,
17]
Prototyping,
Interactive
storyboards
JAD/RAD
[56]
Contextual
inquiry
Appreciative
Inquiry (acronym
"AI") is principally
an organizational
development
method, which
focuses on increasing
what an organization
does well rather than
on eliminating what
it does badly
Analysts and
stakeholder
representatives
communicate
and coordinate
to reach a
common
understanding
of the
requirements
This approach
describes the precise
details of the current
and future processes,
which comprises the
actions and
interactions between
the users and the
system
It provides
stakeholders with a
concrete (although
partial) model or
system that they
might expect to be
delivered at the end
of a project. It is
often used to elicit
and validate system
requirements.
Prototype generally
represents and
visualizes the actual
parts of system
TABLE V
Comparison between categories of elicitation techniques
Category
Conversation
al methods
Observational
methods
It is a combination of
open-ended
interview, workplace
observation, and
prototyping. This
method is primarily
used for interactive
systems design
where user interface
design in critical
Analytic
methods
Stakeholder
Participation
Observable
phenomena
Future system
Knowledge
Definitely
stakeholders are
the main
participants
Not applicable
Some hints or
guidelines are
provided that might
guide the future
development of
systems. Novel ideas
might lead the
analyst to envisage
future system
Stake holders do
not participate,
as this method
totally involves
the observer to
observe the
activities of the
end-user
The whole
process is
based on the
phenomenon
of observation
(s), hence this
criteria is very
crucial
Observing the
current methods are
not easily applied to
the development of
future concepts
Stake holders do
not participate
A lot of
factors,
including the
codes are
observed
The analyzing of
codes and other
existing documents
will pave way for
getting knowledge
about the future
Category
Conversation
al methods
Observational
methods
Analytic
methods
Synthetic
methods
Understanding
the domain
Diverse,
knowledge
sharing might
make analyst to
understand
domains
Observational
methods
Some parts of
the process is
based on the
phenomenon
of
observations,
hence this
criteria is very
crucial also
Behaviors of
people are
observed
Identifying
sources of
requirements
Predictive ability of
unique attributes
elicited
Nil
Nil
Nil
Depends on the
observer
clearly makes
the analyst to
understand the
domain
Again, the code
analyzing
process will
reveal the facts
of domain
Definitely, this
method needs
makes the
analysts to
understand
and identify
the source of
requirements
Nil
As the experts
will be made to
converse about
the domain, it
becomes very
effective means
to understand the
domain. This
type makes the
analyst to
unambiguously
understand the
domain
Synthetic
methods
generates
volumes of
data that
provide great
detail on the
origins and
consequences
of local needs
and resource
constraints
VI. CONCLUSION
The beneficial factors of synthetic methods are: these
methods is built upon the positive aspects of an
organization or group, it recognizes factors, which are well
executed; therefore, we can have a very effective and
optimistic effect on state of mind, assurance, and value of
individuals and groups. Contributors are motivated,
because they feel very much appreciated. Due to the casual
conversational style of questioning, and specific focus on
the participants, it is easy to involve individuals in
synthetic methods, who generally do not get involved in
these kinds of activities.
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
10