ASSIGNMENT01
ASSIGNMENT01
REQUIREMENT ELICITATION
TECHNIQUES REVIEW
Iman M. Misdan, Irra S. A. Fakhruddin, N. Humairah M.Nazri, Shaarweshwary S.,
A. Hafizi Ishak
II. REQUIREMENT ELICITATION
provide solutions that are able to satisfy their needs. By software development team members. By obtaining insights and
eliciting requirements from stakeholders such as clients, asking related questions from stakeholders, such as business
end-users and administrators through effective analysts, customers, domain experts, and users, this technique
communication and active listening, the project team will aims to collect required information about the intended system.
get a complete understanding about the system that is going According to the research [3], the degree of success of an
to develop with minimal conflict. interview session depends on the questions created or asked (but
• To solve the conflict between stakeholders. Stakeholders difficulty about the questions is that which questions should be
consist of a variety group of people with different asked, particularly if the interviewer is not familiar with the
backgrounds and knowledge levels. In reality, all domain) and it is also depending on ability of the expert to
stakeholders may or may not agree to requirements from represent their knowledge. There are various methods to conduct
other stakeholders. Thus, it is essential for the requirement interviews such as through video conferencing, conducted face to
engineer to be able to identify the significance of certain face sessions or over the phone, depending on the participants'
stakeholders compared to others to properly prioritize preferences, schedules and locations. When used as a requirement
what should be accepted as the project requirement. In elicitation approach, interviews help create precise and thorough
some cases, however, software engineers can’t just software requirements by facilitating effective communication
prioritize some stakeholder over others in a conflict. This and enabling a deeper knowledge of stakeholder perspectives. The
is where good negotiation skills are needed to resolve the following are the SWOT analysis of interview techniques:
conflict via negotiation to come to an agreement. This part
of requirement elicitation is also vital since it is • Strength of interview technique
undesirable that some of the stakeholders might be 1- Able to clearly understand interviewee perspective.
unsatisfied and refuse to use the system later.
Understanding interviewee perspective is possible
• To define system boundaries, capability and constraints. through interviews that have the opportunity for
Stakeholders such as end users and administrators will most interactive conversation that gives a chance to acquire
likely provide requirements on what the system should be knowledge about their experiences, opinions, and
able to do. However, a software developer is also a viewpoints which might assist in clearing any ambiguity
stakeholder in a project. They are mostly responsible to in their requirements. Thus, software development teams
advise other stakeholders with their technical knowledge to can understand the stakeholder requirements and their
define the boundaries of the system scope and explain to the underlying motivations from the requirement obtained
other stakeholders how the system will be able to fulfill or by engaging in direct conversations.
unable to fulfill some of their requirements. Thus, the key
2- Interviews provide real-time feedback and follow-
features and functionalities that stakeholders want and the
ups.
developer able to develop can be defined so no party will
be disappointed or stressed resulting in a successful system. Through interviews, participants may provide feedback
on the concepts, prototypes or ideas that have been
Thus, the requirement elicitation process is undeniably
brought out on the spot. This input can be used to hone
important in ensuring the stated objective to be fulfilled resulting
requirements, verify theories, and ensure that the
to the development of a system that is capable of accurately
software meets the stakeholder expectations.
addressing stakeholders’ needs and requirements.
Furthermore, the interviewer may also follow up with
explanation or additional inquiry in order to clear up any
ambiguity on both ends. In developing a complex system
there are a lot of details to be covered which makes it
hard for people to memorize everything. Days or weeks
III. REQUIREMENT ELICITATION TECHNIQUES
after a discussion, the participant might already forget
what has been discussed. Hence, the timeliness of
There are a variety of requirement elicitation techniques as per response and follow up in an interview is a great value
aforementioned, however in this document we will be focusing in ensuring accurate requirements.
our review on three of the most iconic and familiar requirement
3- Uncover implicit messages.
elicitation techniques which is interview, observation and
prototyping. For the purpose of our review, we will be using the Stakeholders may have unexpressed or implicit
SWOT analysis framework which analyzes the subject based on requirements that are not apparent from written
its strength and weakness which comes from internal factors and documentation or verbal discussion. Interviews provide
the opportunity or threats which represents the external factor that a platform to explore these hidden needs, preferences,
may impact it. and constraints that may significantly impact the
software system's success through observation of
expression and body language of interviewee during the
A. Technique 1: Interview
session.
As one of the requirement elicitation techniques, interviews
require direct and structured discussion between stakeholders and
• Weakness of interview technique
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < 3
affect the requirements by observing stakeholders in Unlike interviews, it is possible for observation to be
their natural environment. done without being noticed although quite limited.
2- Uncover Implicit message. This indirect approach may extract information that
Similar to interview, observation allows gaining more can be valuable especially in the case of stakeholders
comprehensive implicit messages such as their having issues expressing their needs when confronted
expression or nonverbal complaints during their normal directly.
workflow or while using an existing system which can
• Threats to observation technique
lead to possible requirements to improve that particular
part. Due to the limitation of human memory, during 1- Hawthorne Effect
documentation or interviews, stakeholders may fail to The Hawthorne effect refers to the alteration of behavior
explicitly express particular requirements or needs. by the subjects of study due to the awareness of being
Thus, software development teams can find these observed. This might jeopardize the accuracy of the
implicit requirements that are not clearly specified but requirement being elicited due to the fakeness or
might be important for the success of the system. exaggeration of stakeholders' actions that try to
emphasize only the bad or good part of existing
3- Validate information and presumptions.
workflow toward their own personal benefit.
Through observation of actual action, behavior, or
system usage of the stakeholders we can match the 2- Misinterpretation
reality on the ground with any presumptions or existing Every information gained from observation is purely
information. This is especially effective if stakeholders subjective and might not be interpreted similarly by
being monitored are unaware of the observer so that they everyone due to different personalities. For example, a
will act more naturally as they always do. process that might look easy to the observer due to the
skills and experiences of the stakeholder might actually
be an exhausting process that can be simplified or
• Weakness of observation technique
improvised by a software solution. Thus, requirements
1- Exhaustive and time consuming. from observation might be inaccurate which may cause
Observing requires the observer to continuously monitor failure in providing a complete solution.
the stakeholders with no specified duration. It depends 3- Invasive
on how long the processes being observed are, however
The presence of the observer during the business process
most of the time it will indeed consume a huge amount
might disrupt it or distract the stakeholders in their
of time to capture requirements solely by observing
activity. Considering the fact that the observation might
stakeholders. This is because sufficient time is necessary
take quite a long time, this may affect the overall
for the observation method since it is easy for observers
performance of the stakeholders.
to perceive a rich picture about the work context, but it
is normally difficult to specify and investigate their Generally, observation is quite lacking in eliciting
perception [1]. Thus, in the aspect of time, observation requirements. This is especially true when the observer has
technique is very unclear and hard to predict. limited knowledge regarding the business process being observed.
However, it consumes almost no resources other than time. Thus,
2- Limited scope.
for software projects with low budget such as students’
Observation requires transparency between stakeholders coursework projects, observation is the technique that has always
and the observer, however in a complex business process been used. On the other hand, for critical large-scale projects it
that may involve sensitive processes or operations, would be wise to not rely on observation fully but also directly
privacy concerns arise making it hard to fully observe interact with the stakeholders via other techniques to supplement
the complete process. Thus, when performing the observation lacking factors.
observation ethical consideration and privacy concerns
might need to be considered in order to not violate
anyone's privacy. C. Technique 3: Prototyping
As a strategy for eliciting software requirements, prototyping
involves building an initial, particular functionality or condensed
• Opportunities in Observation technique version of the software system in order to collect feedback and
1- Discovering pain points and opportunities optimize the requirements. A prototype acts as an actual example
Observation helps identify pain points, bottlenecks, and of the suggested system, enabling stakeholders to engage with it
areas of improvement in the existing processes or and offer insightful feedback. The main purpose of prototyping is
systems. By observing stakeholder frustrations, to make it easier to explore and validate requirements by allowing
challenges, or workarounds, software development stakeholders to experience and visualize the user interfaces,
teams can address these issues through well-defined systems’ features, and behavior. Depending on the level of detail
requirements, thereby enhancing the overall user needed, prototypes can take many different forms including
experience. interactive wireframes, paper-based sketches, or functional mock-
2- Unbiased information ups. According to the research [8], based on the prototypes
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < 5
provided by the software engineers, the stakeholders can give and be on the same page. Too many prototypes built
their feedback and propose some new requirements. Also, may lead to confusion among clients and developers
prototypes can be very helpful to detect errors and bugs or even a which put up more time in developing the next
little misunderstanding about a particular requirement earlier. By prototype before reaching the final prototype of the
actively including stakeholders in the requirement validation product.
process, prototyping as a requirement elicitation technique
promotes collaboration, reduces risks, and increases the overall
1- Limited stakeholder representation.
quality of the completed software system. Prototyping comes with
variety of advantages and disadvantages: Normally not all stakeholders participate in testing the
prototype. Thus, a subset of stakeholders who are
usually involved in prototyping plays a major role in
• Strength of prototyping technique. the validation and feedback process. These subsets of
1- Provide visualization of the system. stakeholders may result in overlooking important or
Visualization of the system via prototyping provides other perspectives and requirements from other
stakeholders with working previews from which they stakeholders, leading to biased decisions as it only
may understand the user interfaces, systems’ features rewards or gives profit for them.
and overall behavior of the system. Thus, the prototype
will be able to assist stakeholders to get a better grasp of • Opportunities in prototyping technique.
how the final software will look and function.
1- Flexible Iterative and incremental development.
2- Constructive feedback.
Prototypes are often repeated resulting in multiple
Prototypes offer a platform for the stakeholders to have versions of prototype. In each iteration, requirements
a firsthand experience with the system and provide can be honed and implemented from which
feedback. This feedback can cover a wide range of issues stakeholders can provide follow-up feedback. In this
from pointing out usability problems and making way any error or issue can be detected earlier and
suggestions for improvements to modifying explanation to stakeholders should be far easier via a
requirements after using the prototype directly. prototype which simulates what is actually happening.
3- Validation of assumptions. 2- Reduce development time.
Using prototypes, software development teams and Prototype is a working example which means it is
stakeholders can validate assumptions made during the operable and often is very close to the complete system
requirement elicitation process. Stakeholders can in terms of functionality. Thus, in a good scenario
verify whether their initial expectation and assumption where the prototype is accepted and is near to
match the system's actual capability and behavior by completion, it might take just a little bit of time in the
testing the prototype. development to improve the system before production.
is possible for stakeholders to feel disappointed or and presented to stakeholders to receive their feedback. This
frustrated when certain aspects of the requirements process will be repeated until a complete requirement is obtained
cannot be fulfilled in the prototype or worse, in the actual that is able to satisfy the stakeholders’ wants and needs. In each
product that is to be established. iteration, stakeholders will always be involved to provide their
3- Difficulty in maintaining consistency. constructive feedback.
On the other hand, we consider stakeholder involvement in an
Prototyping requires multiple changes and iteration
interview as moderate due to the limitation of stakeholder in
throughout the process. It is undeniable that it is
expressing their relevant opinion in a formal structured interview
challenging just to maintain coherence and consistency
where there are a set of questions being asked and they are
in the requirements. A small part or iteration of the
required to only answer it. The process of the interview itself is
prototype that changed is possible in giving
facilitated by the interviewer which means that the stakeholders
implications on previously established prototypes
don't have much control over the conversation in most cases.
requirements, requiring more thorough documentation
Lastly, observation has the lowest stakeholders’ involvement
and management by the developers.
due to the fact that during observation most of the time
Prototyping is a very detailed process that provides a working stakeholders do not do anything to contribute toward the
example for stakeholders to try and provide feedback on. Their requirement gathering process. Requirement engineers
feedback based on the experience using the prototype system is themselves have to observe, comprehend, interpret and analyze
valuable and accurate making prototype a very good requirement the stakeholders’ actions throughout the observation.
elicitation technique. However, the cost to execute it might need
to be considered beforehand since depending on the complexity
of the system and number of stakeholders prototyping might takes B. Accuracy of requirements gathered.
longer to finish due to conflicting feedbacks from stakeholders We deemed that prototyping has the highest accuracy since
that require more negotiations to be done. stakeholders are presented with actual working examples from
which they can gain a clear view and understanding of the system
being developed allowing them to provide a more comprehensive,
constructive and specific feedback.
As for interview technique, most of the time requirements
IV. COMPARISON OF REQUIREMENT ELICITATION gathered through it are reliable, however interviewee might be
TECHNIQUES anyone from a variety of background with different understanding
of the subject being discussed. Thus, some of the stakeholders
The primary objective of requirement elicitation is to ensure might not be well versed in the related field jeopardizing the
successful software projects by implementing various techniques. completeness of the requirements.
Previously in this document, we have discussed in detail three of Observation on the other hand is very ambiguous in terms of
the requirement elicitation techniques which are interview, accuracy of requirements. This is because being aware of the
observation and prototyping. In this section we will be comparing observer, stakeholders might act unnaturally. The accuracy of the
all three techniques in four vital aspects in determining the requirement is almost entirely reliant toward the stakeholders
suitable requirement elicitation technique, which is the which makes its accuracy questionable from the requirement
stakeholder’s involvement, accuracy of requirement elicited, cost engineer point of view. However, it is important to note that both
of execution and time needed for each technique. interview and observation have another advantage on its
capability in collecting subtle implicit information.