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.

1 Comments

  1. Saqib aleem

    Question #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;
    }

    ReplyDelete

Post a Comment

Previous Post Next Post