Assignment 2 SRE (Req Elicitation Review)
Assignment 2 SRE (Req Elicitation Review)
ASSIGNMENT NO. 02
Review Research Paper Of Requirement
Elicitation
SUBMITTED TO:
Ma’am Saria Safdar
SUBMITTED BY:
Uzma Noorin (077)
Munazza Ayub (103)
Neelum Raffique (067)
Rida Irfan (068)
BSE – VB
INTRODUCTION:
Requirements elicitation is a crucial first step in the software development process. Quality
requirements are essential to the success of any software development project. This research paper is
based on understanding requirement elicitation, its techniques, their usage in real time applications, to
present a view of what can go wrong in requirements elicitation and describe the issues and challenges
in various requirements elicitation techniques. Success or failure of any project depends upon the quality
of requirements and quality of the requirement and the methodology that we adopted during the
elicitation. Global Software development undertakes software developmental geographically separate
locations with efficient coordination. To meet the software objectives effective communications across
various project development locations is very important. The success of requirement elicitation based
upon identifying the appropriate stakeholders from different background and determining their needs. It
is very important to include all stakeholders in information gathering phase.
Prototyping
At this stage analyst have a correct set of requirements, which is tested by building a
prototype. Prototyping test the efficiency and completeness of requirements. It provides away to
check the outcome of user’s needs.
Confirmation of Prototype
Every system necessity should be tested for its practicality, quality, unambiguity, and
accuracy. After this confirmation stakeholders have the prospect to define system requirements
more precisely by rejecting redundant information. This will help developers and expert to
understand actual requirements of client.
Overall Analysis
It is the last stage of requirement elicitation process in which expert check whole set of
system necessities to make sure all done so far is accurate. After this stage developer actually
starts develop the system.
ELICITATION TECHNIQUES
Direct Approach
In direct approach the purpose is to enhance the understanding of the problems of system
that is currently in used. Most common techniques used are Interviews, case study, Prototyping.
Indirect Approach
Indirect methods are used in order to obtain information that cannot be easily articulated
directly. Questioners, documents analysis are its examples.
Questionnaires
Questionnaires are very important technique in requirement elicitation techniques,
questionnaires helps to get the information from many peoples, analyst can gather opinions from
two ways: to get statistical evidence for an assumption, or to gather opinions and suggestions.
Observation
In Observation methods, the knowledge engineer observes the expert performing a task.
This prevents the knowledge engineer from inadvertently interfering in the process, but does not
provide any insight into why decisions are made.
Documents Analysis
Document analysis involves gathering information from existing documentation. It may
or may not involve interaction with a human expert to confirm or add to this information.
Prototyping
Actually prototyping is the process to build the model about the system. Prototypes help
the system designers to build the information system according the requirements and easy to
manipulate for end users. Prototyping is an iterative process and it is also part of the analysis
phase of system development life cycle. Prototyping can extend the information collection
process, because prototyping can convert the basic things (indefinable requirements into
definable requirements).
Research methodology
P1 P2
Conduct in-depth interviews with industry Conduct document analysis on
practitioners (termed as “practitioner Requirements Elicitation Issues (termed
group”) as "research group")
LITERATURE REVIEW
According to Gabriela et.al, about 40% to 60% projects failed due to poor software management
and requirement definition. Challenges that we faced in Elicitation are categorized in to three groups.
i. Problem of Scope: For requirement elicitation it is very important to understand the boundaries
of System
ii. Problem of understanding: Users have incomplete understanding of their needs they have poor
understanding of computer capabilities and limitations so problem of understanding is a big
challenge in requirement elicitation.
iii. Problem of Volatility: These problems arises due to poor change management processor
understanding of the requirement as change
PRACTITIONERS VIEW
According to practitioners, issues related to requirements become the major cause of project
failure. Most of practitioners believe that some basics need to be applied well and this is related to
structuring and documenting requirements.
Motivation in Research
The results of the survey amongst practitioners of mature organizations indicated that challenges
still existed in this field. These challenges are
Lack of business/ application knowledge
Misinterpretation of requirements
Poor documentation skills
Incorrect requirements
Incomplete/ ambiguous requirements
Poor communication skills/ articulation
Stakeholder identification/ involvement
THE ROLE OF RE IN INFORMATION SYSTEMS PROJECT FAILURE
There is no suggestion here that RE is the only or the critical factor in failure, but that, as an
individual factor it is significant when compared with others.
The contention can be broken into two propositions:
i. The greatest contribution to system failure comes from poor RE
ii. The cost of fixing RE problems is higher than other sources of error.
There is a general agreement that poor RE is an important and potentially damaging part of
building a system. There is also a general agreement amongst commentators that fixing the results of
poor RE is more expensive than for other mistakes. RE is critical to project success. In the next section
evidence is examined as to the relevance of the interview of clients to good RE.
CLASSIFICATION OF PROBLEMS IN RE
The identified problems with RE can be summarized in nine categories:
i. There are human aspects of RE that preclude simple communication between consultant
and client
ii. The language of humans is not always suitable for technological solution
iii. Requirements change as the project proceeds
iv. Clients will sometimes ask for requirements that the organization does not need
v. The client cannot say what the business needs
vi. Some clients do not want to help you with the project
vii. RE failed because it was not done properly
viii. Symptoms that are not problems are often reported
ix. RE is not deterministic
i. There are Human Aspects of RE that Preclude Simple Communication between Consultant
and Client
This problem type has several manifestations. The problems arising from human
limitations in communication can be summarized as follows:
Humans have cognitive limitations that preclude complete communication.
A suggestion for approaching this is the use of procedural prompts when framing
questions.
These encourage deeper thought before answers and have been tested several times with
measurable success.
People have different cultures (business or social) and backgrounds and so a common
language does not always. For instance, technical people do not understand business
concepts and business people do not understand IT.
Some success has been obtained in bringing together the frames of reference of
consultant and client through discourse analysis.
Some plain language statements can mean two different things, e.g., words can be
synonyms or homonyms. The way people express problems can be misleading.
The amount of information presented can be too large to analyse.
People who must be consulted disagree on what the requirements should be.
ii. The Language of Humans Is Not Always Suitable for Technological Solution
To convert from English into a technically robust specification entails a range of
problems. These include:
Many terms used in the real world, e.g., ‘user friendliness’ and ‘reliability’ do not have
exact meanings in a technical sense.
Some statements of the problem cannot be used to create a solution because of their form
or language.
Not everything that can be done has equal importance. In a technical solution everything
included has the same priority.
Some methodologies have gaps.
The problem is interpreted as being bigger than the originally intended problem.
Real world problems are very complex. They are also wicked. A wicked problem is one
where the definition of the problem is difficult.
Some consultants find the process difficult and rely upon their knowledge of previous
solutions.
iv. Clients will Sometimes Ask for Requirements that the Organization Does Not Need
Requirements can be specified directly from client conversations. This is not always
sensible, for instance:
The client asks for something that is not really needed.
The client asks for something they are not committed to.
vi. Some Clients Do Not Want To Help You with the Project
Requirements can be made difficult to elicit if the client representatives are not committed
to the project. This can take several forms:
A client representative has interests that conflict with others in the project or with the
aims of the project.
Some people will use resistance tactics to avoid a conclusion to RE.
Clients see the new system as a part of power struggles in the organization.
vii. RE Failed Because It Was Not Done Properly (e.g., User Input Not Allowed)
Another distinct type of problem is lack of professional training or behavior in the
consultant or analyst:
No user input was obtained.
Theory of RE was not used in practice.
RE Is Not Deterministic
There are no causal connections between RE activities and eventual requirements. This type of
thinking has been reflected in a number of post-modern approaches to studying RE.
Traditional Techniques
This is also known as conversational method, which includes Interviews, Workshops,
Brainstorming, Focus Group. By conducting interviews, workshops or brainstorming and focus group
the requirements are verbalized by stakeholders and communicated with the analysts. Major issues occur
in this method are:
Sometimes interviewers ask some questions but don’t get response according to his/her
requirements.
When questions are asked from different stakeholders, they are not assured by having same
words repeated in each session related to subject. These words will impact different meanings to
different people in different environment
Collaborative Techniques
These are also called synthetic methods. Collaborative technique forms a whole stage by
systematically combining conversation, observation, and analysis into single methods for developing
requirement. Issues occur in this technique are:
In Collaborative method stakeholders will be unable to communicate embedded knowledge.
As stakeholders may have widely different status within the organization, requirements engineers
will find difficulty to share their thoughts.
Contextual Techniques
These are known as observational method. Contextual techniques help to provide the better
understanding of the application domain by observing human activities. The aim of this technique is to
assemble data about stakeholders, their backgrounds, working techniques and then to interpret the data
to improvement in comprehensive understanding of requirements and proper system design. Issues
occur in this technique are:
When project has tight schedule along with time limitation at requirement stage and not enough
time for observation, there appears significant issues in contextual technique
Observation needs sensitivity and awareness about the environment. Sufficient time is necessary
for observation method because it is easy for observers to perceive a rich picture about the work
context, but it is normally difficult to specify and investigate their perception. Therefore, there
must be qualified person as an observation conductor otherwise project schedule may suffer
which creates issues in this phase.
Cognitive Techniques
Cognitive Techniques are developed for knowledge acquisition. It provides a way to discover the
presented documentation or knowledge and gain requirements from a series of assumption. Issues occurs
in this technique are:
Cognitive techniques are effective in case of proper documentation and expert’s knowledge only.
Innovative Techniques
This technique is also known as model-driven prototyping based technique. It is classified in
rapid prototyping and evolutionary prototyping, which is a visual representation of ‘what the System
will look like’. Normally, users are expected to draw the features through a pen/pencil on paper and
share with Requirement Engineers. Alternatively, a graphics program can also be used for the purpose.
Issues occur in this technique are:
This technique is used for user interface and it is suitable only for small and medium sized
projects rather than huge project
RESEARCH QUESTIONS
RQ0 What approaches exist which allow the requirements elicitation in software
development processes?
RQ1 What sources of requirements are required by the approach?
RQ2 What is the purpose of the approach? What targets are produced by the approach?
RQ4 How the requirements are discovered? What methods, resources and tools are used
by the approach?
In order to establish the evolution of the RE field in the last 25 years, we have defined two periods of
comparison. Fig. 4 presents the number of publications in each of these periods.
RQ2. Purpose and target.
RQ3. Knowledge and representation used. The main forms of knowledge representation used in both
periods are Scenarios and Goal models. In the first period researchers use Scenarios and Goal models in
similar proportions. Otherwise, in the last period there is a wide preference for Goal models over
Scenarios. We also observe that Viewpoint models, Conceptual meta-models and Goal obstacles are
diminishing in their use during the last period.
RQ4. Methods, Considering methods, we have grouped the approaches into categories which extend
those proposed by van Lamsweerde and Wieringa and Daneva. Most used categories in both periods are
Reference-model-based approaches, Goal-based reasoning and Scenario-based elicitation and validation.