Requirement Engineering
ELICITATION TECHNIQUES
|
Introduction
Requirement Engineering can be
defines as the process of elicitation developing and managing the project
requirements the ultimate product of the RE process in successful system
software [2]. RE is very challenging
task as it involves a different type of stakeholders who have different opinions
regarding the problem and it is also a very challenging task to gathers
requirements for the project by using specific elicitation technique for this
reason comparison of multiple techniques such as Basic Elicitation Techniques
Interview, Questionnaire, Social Analysis, etc., and Advance Elicitation
techniques prototyping, scenarios, user-centered view, brainstorming sessions,
storyboarding and workshops etc. The ultimate aim of software engineering is to
develop such software systems that are up to the mark set by the customer’s
side in terms of needs, schedule and budget. According to the famous Standish
report [2], the success rate of software
project is only 28%. A major contributing factor in such a low rate of success
is said to be unclear and imprecise requirements [1]. Another survey also pointed out that only 12.7% out of 1027
software projects were successful and the top reason for the failure was “unclear objectives
and requirements” [2].
PROBLEM
DESCRIPTION AND SCOPE
There are variety of elicitation
techniques that makes it very difficult which technique or combination of the
techniques should be used for requirement gathering [1]. Another problem is the communication gap between Requirement
engineering and the Stakeholder which leads to the selection of improper RE
techniques which effects the end product.
EVALUATION OF TECHNIQUES
Basic and Advance Requirement
Elicitation Techniques have evaluated. Interview is most effective techniques
that start with simple questions then leads to the open discussion by this
developer or Requirement Engineer can better understand the stakeholders after
that Questionnaires also based on the Question but developer can’t face or
extend the discussion with the stakeholder. In social analysis technique is
based on observational approaches which based on observing the natural behavior
while doing some work. Below table explains the Techniques and their pros and
cons with the data types they are best fit and useful.
Techniques
|
Good For
|
Kind of data
|
Advantages
|
Limitations
|
Interviews
|
Exploring issues
|
Mostly Qualitative and some are
Quantitative
|
·
Interviews are economical and easy to
implement.
·
Interview is most simple and generic way to
elicit requirements from multiple stakeholders [2].
·
Interviews are effective in understanding the
problems in the existing system and to find the general requirements of the
stakeholder [2].
|
·
The effectiveness of interview and
questionnaire depends on prior preparation and format of the questions.
·
Effectiveness of this technique is also
dependent on patience of interviewer and expressiveness of stakeholder.
·
Lots of practice, Interviewers should not jump
to the main Questions.
·
Interviews lack to decide the boundaries of
the proposed system and organization procedures using these methods
|
Questionnaires
|
Answering specific questions
|
Quantitative and Qualitative
|
·
Questionnaire are economical and easy to
implement.
·
Questionnaire technique is a good way to
collect data in mass number in a cost-effective manner
|
·
Questionnaire is highly dependent on its
effective design, knowledge and honesty of the respondent.
·
Very time-consuming.
·
Fake responses or lack of seriousness of the
respondent.
·
Considered to be static and less efficient to
collect and investigate all possible scenarios and constraint regarding any
project.
|
Social analysis
|
Understanding context of the user
activity
|
Qualitative
|
·
Social analysis is used to find additional
requirements needed by the user, when the user is unable to explain their
expected requirements.
·
Social analysis and ethnomethodology is also
a good candidate for those applications which are not timely constraint
|
·
Social analysis is less effective where we have a budget and schedule constraints.
·
Misinterpretation of the observer.
|
Table 1.1
Advance Elicitation techniques
such as Prototyping, Scenarios, brainstorming, storyboarding, and workshops, etc.,
[4]. basic Requirement engineering
techniques are static and less effective to collect and investigates all the
possible scenarios and constrains regarding any project they can’t provide
proper information and not implemented to all or most of all projects on the other hands there are some advanced and modern dynamic approaches for requirement
elicitation which can give more information and implementable to most of the
project due the their dynamic nature. Advance techniques allow maximum user
involvement that will result in more refined set of user requirements [4]. Prototyping is the Graphic user
interface based technique by using this we can have an abstract view of different
parts of the project which gives the visualization to the stakeholder for
better understanding. Scenario will give the working method of different
interaction sessions or situations of the system. Brainstorming is a technique
used to generate new ideas and find a solution to a specific issue. It consists
of several members from different department and domain experts, every member is
allotted with a certain time intervals to explain their ideas. Storyboard is another
way to visualize the proposed system in the form of story and use several active,
passive and interactive storyboards. Below table explains the Techniques and
their pros and cons with the data types they are best fit and useful. s
Techniques
|
Good For
|
Kind of data
|
Advantages
|
Limitations
|
Prototyping
|
Abstract view of the actual
system functions and workflow.
|
Qualitative and Quantitative
|
·
Prototyping is a good candidate for Greenfield
projects, where it is difficult to capture user requirements and expectations
without providing some model that actually resembles the appearance of real
product [4].
·
Prototyping is the most effective way to
represent the system in functional and graphical sense. It captures all minor
user interface level details [4].
·
Prototyping can reduce development time if
evolutionary prototypes are used, thus increasing the level of customer
satisfaction
|
·
Prototyping is the more expensive than all the
other requirement elicitation techniques. Though they are more efficient and
effective in requirement elicitation but they are costly and time-consuming
|
Scenarios
|
Working method situation of the working system.
|
Qualitative
|
·
Scenarios provides flexibility to find the
requirements while analyzing different sessions and their user response after
interaction with the scenarios [3].
|
·
Scenarios are not correct all the time is it
not possible to predict the future work.
·
It requires the participation of maximum
stakeholders in one place.
|
Brainstorming
|
Different opinions collection of
stakeholders for a specific issue.
|
Qualitative
|
·
Brainstorming session has high bandwidth, thus
provide us with variety of different ideas, selecting the best-suited one
based on voting or any other criteria.
·
Brainstorming encourages out of the box
thinking, i.e. thinking unlimited by normal constraint
|
·
Quiet expensive to organize and conduct; it
also requires the presence of maximum stakeholders at one place.
·
Analytical abilities of the present
stakeholders
·
No new ideas generation
·
Lack of participation
|
Workshop
|
Collection of multiple viewpoints
|
Mostly Qualitative and some are Quantitative
|
· A formalized and realistic way to requirement
elicitation.
·
Discussion Time allocated for all requirements.
·
Agenda is clear to all stakeholders
·
Communication gap minimization
|
·
Quiet expensive to organize and conduct; it
also requires the presence of maximum stakeholders at one place.
·
Time constrains, time management issues
·
Lack of participation of the stakeholders
·
Lack of seriousness of the stakeholders
|
Storyboard
|
Visualization of the proposed
system uses several active, passive, and interactive storyboards.
|
Qualitative
|
·
Storyboards are the most formalized and realistic way to requirement elicitation.
·
Abstract view of the system active, passive,
and interactive parts.
|
·
Quiet expensive to organize and conduct; it
also requires the presence of maximum stakeholders at one place.
|
Further study shows that
requirement elicitation is not only restricted to above-mentioned elicitation
techniques many techniques from other sciences such as psychology or social
sciences are available for this purpose [5]. Elicitation technique selection is
one of the challenging task [5]
explain some guidelines for selection best elicitation technique for
requirement gathering.
Further elicitation techniques
Which elicitation technique
should be implemented? This is one of the toughest question ever when it comes
to select elicitation technique for answering this difficult question [5] propose systematic mapping
method by using this it maps the
practitioner’s opinions regarding the elicitation techniques [5] explain about the survey technique
for requirement elicitation and explain the pros and cons of the mentioned
technique. The survey is used to identify the characteristics of a broad population
of individuals. It is most closely associated with the use of questionnaires
for data collection. However, survey research can also be conducted by using
structured interviews or data logging techniques [6].
Techniques
|
Good For
|
Kind of data
|
Advantages
|
Limitations
|
Survey
|
Collection of different the viewpoint of stakeholders and to gathering information regarding specific
system
|
Qualitative and Quantitative
|
·
Survey is used to identify the characteristics
of a broad population of individuals [5].
·
Cost-effective to conduct and reach maximum
stakeholders
·
Best for gathering different opinion
|
·
Respondent knowledge about the system [5].
·
Survey quality (questions pattern and quality)
·
Understanding of respondent to the system
·
Time-consuming
|
After the requirement elicitation
literature review it is a well-known fact that the cost of rectifying errors in
software increases exponentially in the later phases of software development.
Hence, if one identifies the missing and incorrect requirements in the requirement
elicitation process itself, then the cost of rectifying these errors in the
software would reduce dramatically. To overcome this problem a framework for
selecting effective elicitation techniques, i.e., choosing a small subset of
requirement elicitation techniques from the set of all available techniques [7]. Requirement elicitation is
generally categorize into different categories such as Traditional Techniques,
Collaborative Techniques, Observational Techniques, and Cognitive Techniques [7]. Traditional techniques such as
interview, survey, and questionnaires. Collaborative Techniques are listed as focus
group, brain storming, and JAD (joint application development). , Observational
Techniques are as following observations, and Ethnography/Social analysis.
Cognitive Techniques are as following Document Analysis, Card sorting etc.
Techniques
|
Good For
|
Kind of data
|
Advantages
|
Limitations
|
Focus group
|
heterogeneous stakeholders for
the specific feature of the system
|
Qualitative
|
Help to identify user’s
expectations from the system, what things are important to them and what are
their expectations from the system. They often bring out spontaneous
reactions and ideas [7].
|
·
Time limitations.
·
User knowledge/background about the system
|
DOCUMENT ANAYSIS
|
Getting information of problem domain.
|
Quantitative
|
Useful technique to find in-depth knowledge about
a particular task [8].
Provides Detail knowledge of data flow within
organization, organization standard, policies, and existing system available
[7].
|
·
Lot of time required in reading different
document which might not useful for problem solution.
·
No criteria defined for selection of documents
[8].
|
CARD SORTING
|
Generate information regarding
to the association and grouping of a set of data items [7].
|
Quantitative and Qualitative
|
Provides Detail knowledge of
domain [7].
Identify themes or patterns from
qualitative data [7].
Determine how a specific
individual classifies items from a particular domain [7].
|
·
Not applicable on all the problems
·
Dependent on the given data
|
Conclusion
After studying the literature review of the requirement
elicitation techniques we have found different elicitation techniques for requirement
gathering process and concluded that none of them are ideal for requirement
elicitation. We can get better results by using combination or set of different
techniques which definitely reduce the chances of failure in RE process.
Table
for Requirement Elicitation Techniques
Techniques
|
Good For
|
Kind of data
|
Advantages
|
Limitations
|
Interviews
|
Exploring issues
|
Mostly Qualitative and some are
Quantitative
|
·
Interviews are economical and easy to
implement.
·
Interview is most simple and generic way to
elicit requirements from multiple stake holders [2].
·
Interviews are effective in understanding the
problems in the existing system and to find the general requirements of the
stakeholder [2].
|
·
The effectiveness of interview and
questionnaire depends on prior preparation and format of the questions.
·
Effectiveness of this technique is also
dependent on patience of interviewer and expressiveness of stakeholder.
·
Lots of practice, Interviewers should not jump
to the main Questions.
·
Interviews lack to decide the boundaries of
the proposed system and organization procedures using these methods
|
Questionnaires
|
Answering specific questions
|
Quantitative and Qualitative
|
·
Questionnaire are economical and easy to
implement.
·
Questionnaire technique is a good way to
collect data in mass number in a cost effective manner
|
·
Questionnaire is highly dependent on its
effective design, knowledge and honesty of the respondent.
·
Very time consuming.
·
Fake responses or lack of seriousness of the
respondent.
·
Considered to be static and less efficient to
collect and investigate all possible scenarios and constraint regarding any
project.
|
Social analysis
|
Understanding context of user
activity
|
Qualitative
|
·
Social analysis is used to find additional
requirements needed by the user, when the user is unable to explain their
expected requirements.
·
Social analysis and ethno-methodology is also
a good candidate for those applications which are not timely constraint
|
·
Social analysis is less effective where we
have budget and schedule constraints.
·
Misinterpretation of the observer.
|
Techniques
|
Good For
|
Kind of data
|
Advantages
|
Limitations
|
||||
Prototyping
|
Abstract view of the actual system functions
and workflow.
|
Qualitative and Quantitative
|
·
Prototyping is a good candidate for Greenfield
projects, where it is difficult to capture user requirements and expectations
without providing some model that actually resembles the appearance of real
product [4].
·
Prototyping is the most effective way to represent
the system in functional and graphical sense. It captures all minor user
interface level details [4].
·
Prototyping can reduce development time if
evolutionary prototypes are used, thus increase the level of customer
satisfaction
|
·
Prototyping is the more expensive than all the
other requirement elicitation techniques. Though they are more efficient and
effective in requirement elicitation but they are costly and time consuming
|
||||
Scenarios
|
Working
method situation of the working system.
|
Qualitative
|
·
Scenarios provides flexibility to find the
requirements while analyzing different sessions and their user response after
interaction with the scenarios [3].
|
·
Scenarios are not correct all the time is it
not possible to predict the future work.
·
It requires participation of maximum
stakeholders at the one place.
|
||||
Brainstorming
|
Different opinions collection of stakeholder
for a specific issue.
|
Qualitative
|
·
Brainstorming session has high bandwidth, thus
provide us with variety of different ideas, selecting the best suited one
based on voting or any other criteria.
·
Brainstorming encourages out of the box
thinking, i.e. thinking unlimited by normal constraint
|
·
Quiet expensive to organize and conduct; it
also requires the presence of maximum stakeholders at one place.
·
Analytical abilities of the present
stakeholders
·
No new ideas generation
·
Lack of participations
|
||||
Workshop
|
Collection
of multiple viewpoints
|
Mostly
Qualitative and some are Quantitative
|
·
Formalized and realistic way to requirement
elicitation.
·
Discussion Time allocated for all
requirements.
·
Agenda is clear to all stakeholders
·
Communication gap minimization
|
·
Quiet expensive to organize and conduct; it
also requires the presence of maximum stakeholders at one place.
·
Time constrains, time management issues
·
Lack of participation of the stakeholders
·
Lack of seriousness of the stakeholders
|
||||
Storyboard
|
Visualization of the proposed system use
several active, passive, and interactive story board.
|
Qualitative
|
·
Storyboards are the most formalized and
realistic way to requirement elicitation.
·
Abstract view of the system active, passive,
and interactive parts.
|
·
Quiet expensive to organize and conduct; it
also requires the presence of maximum stakeholders at one place.
|
||||
Survey
|
Collection
of different viewpoint of stakeholders and to gathering information regarding
specific system
|
Qualitative
and Quantitative
|
·
Survey is used to identify the characteristics
of a broad population of individuals [5].
·
Cost effective to conduct and reach maximum
stakeholders
·
Best for gathering different opinion
|
·
Respondent knowledge about the system [5].
·
Survey quality (questions pattern and quality)
·
Understanding of respondent to the system
·
Time consuming
|
||||
Focus group
|
heterogeneous stakeholders for the specific
feature of the system
|
Qualitative
|
Help to identify user’s expectations from the
system, what things are important to them and what are their expectations
from the system. They often bring out spontaneous reactions and ideas [7].
|
·
Time limitations.
·
User knowledge/background about the system
|
||||
DOCUMENT ANAYSIS
|
Getting
information of problem domain.
|
Quantitative
|
Useful
technique to find in-depth knowledge about a particular task [8].
Provides
Detail knowledge of data flow within organization, organization standard,
policies, and existing system available [7].
|
·
Lot of time required in reading different
document which might not useful for problem solution.
·
No criteria defined for selection of documents
[8].
|
||||
CARD SORTING
|
Generate information regarding to the
association and grouping of a set of data items [7].
|
Quantitative and Qualitative
|
Provides Detail knowledge of domain [7].
Identify themes or patterns from qualitative
data [7].
Determine how a specific individual classifies
items from a particular domain [7].
|
·
Not applicable on all the problems
·
Dependent on the given data
|
||||
References
[1] Lester O. Lobo and James D. Arthur, “Effective Requirements
Generation: Synchronizing Early Verification & Validation, Methods and
Method Selection Criteria”, eprint arXiv:cs/0503004, 2005.
[2] Sarah Powell, Frank Keenan, Kevin McDaid, “Enhancing Agile
Requirements Elicitation With Personas”, IADIS International Journal on
Computer Science and Information Systems, Vol. 2, No. 1, pp. 82-95, ISSN:
1646-3692.
[3] Sai Ganesh Gunda,” Requirements Engineering: elicitation
Techniques”, Masters thesis software Engineering 2008, university West,
Trollhattan.
[4] Guoguen, J. & Linden,: “Techniques for Requirement Elicitation”,
1st IEEE International Symposium on Requirements Engineering, San Diego, USA,
4-6 January 1993.
[5] D. Carrizo, O. Dieste and N. Juristo, “Study of elicitation
techniques adequacy,” Proc. XI Workshop on Requirements Engineering, Rio de
Janeiro, Brasil, pp. 104-114, 2008.
[6] S. Easterbrook, J. Singer, M-A. Storey and D. Damian,
“Selecting Empirical Methods for Software Engineering Research,” in Guide to
Advanced Empirical Software Engineering, Springer London, pp. 285- 311, 2008.
[7] Selecting Requirement Elicitation Techniques for Software
Projects Saurabh Tiwari, Santosh Singh Rathore, and Atul Gupta Indian Institute
of Information Technology, Design and Manufacturing, Jabalpur, INDIA Email:
{saurabh.tiwari, santosh.rathore, atul}@iiitdmj.ac.in.
[8] T. E. Bell and T. A. Thayer ”software requirements: are they
really a problem” Proceedings of the 2nd international conference on Software
engineering p 61-68 IEEE Computer Society Press, 1976.
[9] Tolvanen, J.P ”Incremental method engineering with modeling
tools: theoretical principles and empirical evidence”, PhD thesis, Computer
Science, University of Jyvskyl, 1998.
[10] Brinkkemper, S ”Method engineering: engineering the
information systems development methods and tools” Information and Software Technology
Method Engineering and Meta-Modelling vol 38, Issue 4, 1996, p275-280, 1996.
Saqib aleem
ReplyDeleteQuestion #5
#include
using namespace std;
int main()
{
int i=20;
do
{
cout<<"number is ="<<i<<endl;
i=i+1;
i++;
i--;
}while(i%2==0);
system("pause");
return 0;
}
Post a Comment