The Techniques For Requirement Elicitation Information Technology Essay
By analyzing these processes it will give an understanding up to a level enough that this document can act as an easy to read and simple enough reference document for students who wants to
1.4 Background
As we know that the requirement elicitation is an ongoing problem area which may cause to the failure of the produce system. There are many problems i.e. problems in the system scope, many other problems are still present in the development of the system, which may cause to the failure of the system or leads to high maintenance cost of the system [1]. In the requirement elicitation there are many people evolve and have different perception about the system.
From many years requirement elicitation is a research focus area and researchers have developed many techniques. As Zarinah M.K and Siti Salwah S mentioned in their paper “Eliciting requirements should be carried out in a form, which encourages participation of all the stakeholders”[1]. In this paper they focus on the participation of all the stakeholders during requirements gathering. For this purpose, to follow the requirement elicitation process, techniques and shared document with all the participation.
Ann M. Hickey and Alan M. Davis mentioned in their paper that “software development consists of many knowledge-intensive processes. One of the most difficult to model, however, is requirement elicitation”[5]. In their paper they present a “mathematical model of requirement elicitation process”[5] which explains critical knowledge and how to select the best requirement elicitation technique. Their work in this area shows that the requirement elicitation is a very critical process in the software development process.
Many models and frameworks are introduced by the researchers for good and correct requirements gathering. Some problems are on the user side because some time the user can’t explain the scope of the system. So for this purpose most researchers focus on the requirement elicitation techniques which help the user to understand the system scope.
Software industry is a very huge market and in today’s world our lives are so influenced with software products that we are highly dependent on them from paying or bills, buying food, bank transactions, traveling, businesses to communicate world wide, research, mobile phones etc. But along the way what we don’t see is that a lot of software products are failing today, many software companies are getting bankrupt and most software’s are breathing their last breaths as they will soon be replaced with a much better software’s well designed, less bugs, more features and efficient enough. One can ask a question why are software’s failing and why are companies getting bankrupt due to a software that is no more needed in the market. The answer can be very complicated and long but to summarize it, its lack of acquiring proper requirements before starting to write the actual code, failing to understand the current and future trends of the software to be built, lack of understanding the market and opportunities and finally choosing the right technologies to implement the software product. In order to understand all these gray areas before writing the software product one needs to adapt and follow some processes, by doing so a set of valuable knowledge will be gained that can help the software to be following the current trend and survive in the market for much longer period.
These processes includes
a) Brainstorming
b) interviewing
c) Surveys
d) Prototyping
e) Focus Group
f) Workshops
g) Observation
2 Research Methodology
Our work in this area is to analyze the requirement elicitation techniques, based on this we will be able to explore these different techniques and see how can it benefit us in different areas. For this purpose we studied the related research work and requirement elicitation books, and in listed some of the techniques that can be used for requirement gathering process. For the analysis we already studied the related research work to understand these techniques. During this process we will highlight the psros and cons of these different techniques, which can help different targeted audience such as students, start up organizations and other software professionals.
In the process of methodology we got an opportunity to meet with different software professional and got some valuable feedback that could help us understand how important all these processes are and what are possible implications and drawbacks if there are any.
Finally after defining all the techniques with their Pros and Cons, it will clearly specify the importance of each technique and weather it is possible to skip some of them during the requirement gathering process. And also the implications of skipping any of these well known techniques.
3 Brief Introduction to requirement elicitation techniques.
3.1 Brainstorming:
“Brainstorming is the name given to a situation when a group of people meet to
generate new ideas around a specific area of interest”[6].In Brainstorming Technique may be involve one person or group of people.They set to gather and discuss the requirements and new ideas of the system. It is a special technique which help you to think about various answers and questions.
Advantages Of Brainstorming:
Brainstorming technique is low cost.
The group which involve in this technique, not need to be high qualified.
It is very easy technique to understand.
It help you to create new ideas and get answers of old question.
It provide widespread involvement throughout the group.
Brainstorming does not need more resources.
Disadvantages Of Brainstorming:
If the group is not properly organised, it can take more time.
One can’t describe his opinion in front of group.
Due to go into the detail that something does not use.
Some people afraid to talk with leadership.
Not good for large group which may cause that some people say at the same time.
There are repeat of opinions, if the people doesn’t give attention[7].
3.2 interviewing
“Interviews are in-person meetings where the business analyst asks questions to get information from the stakeholder”[8].
Advantages Of Interviewing:
Good for complex topic
The interviewer can deeply understand the interviewee views.
In interview high response rate are produced.
Disadvantages Of Interviewing:
Inconsistent interviewer may effect the data.
This technique is time consuming.
There are small people involved.
The interviewer may ask closed questions [9].
3.3 Surveys
In survey technique all the information of a system may gathered anonymously. In survey all the general aspects of the software are asked to answer.
Advantages:
Survey is good for a large respondent.
In survey large of information may be collected.
This is a standardised technique which free from all types of errors.
This technique is cheaper.
Disadvantages:
This technique focus on subject, motivation etc it’s not easy to understand the reason.
3.4 Prototyping
In this technique minimum version of software’s are written with few functionalities than the actual product in itself. It only simulates few modules/features of the final solution.
Advantages:
Software designers and implementers can get valuable feedback from the customers.
it can allow the software engineers to know and verify the internal complexities of the system.
Early detection of faults in design.
Early detection of performance bottle neck in the application.
Customers can verify the implementation and technology.
Disadvantages:
Excessive development time to develop the prototype.
Large investment of resources to complete this.
Unclear objectives can be confused by the developers.
Insufficient analysis.
3.5 Focus Group
Focus group is a group which raise some issues and questions about the software and ask them from the system users.
Advantages:
It can help generate a lot of good ideas and opinions.
group discussion can help find weaknesses in the early stage of design and architecture.
group discussions can generate finest solutions.
Disadvantage:
it can lead to disagreement and arguments.
discussions can last for very long hours and several days without any conclusion.
3.6 Workshops
Workshops is the technique to share different ideas about different technologies by doing presentation and meeting between people from different backgrounds. Collecting valuable feedback and suggestions and business opportunities.
Advantages:
Expanding social network among people from same background.
Exchanging and sharing up to date knowledge.
Exploring new business opportunities.
Attracting investments for the business.
Making new customers.
Disadvantages:
It involves travelling to other countries.
It consumes week of business time.
It demands a lot of preparation and time.
3.7 Observation
By observation we means to look the requirements for the developing system with full concentration[3].
Advantages of observation
It provides varieties to the stockholders[a].
It provides us the detail information about the developing system[z]
How the user will interact with the system, so it give this type of results in advance.
Disadvantages of the observation
The requirements may not be up to dated.
This requirements always evolve and need revisions.
some requirements may not be implementable and needs to be up to the facts and possibilities.
4 Results
Brief analysis of the mentioned techniques with explained advantages and disadvantages we can summarize our result in following way. As in today’s industry majority of software’s are trying to compete or survive against other software’s that seems to be producing much better than their previous predecessors. This improvement in software’s is the result of acquiring/collecting appropriate knowledge through the processes/techniques that we have mentioned including others. Hence it is difficult to say which one is better than the other or which one can we skip because the more information we can collect the more knowledge we will have about market, future scope, what technologies to select, how much can it earn, for how long can a product survive and how the product can improve in coming years. Attaining all the mentioned points means that we have to go through all the techniques at one stage or another, if not earlier then definitely later at some other stage as long as the time and resources are enough. One of the quotation might explain it very well which is
“Writing system software is like planning a family, if you make a mistake you have to live with it for 20 years”[10]
So the more knowledge we have about what we are making and why we are writing, the less mistakes we will do.
5. Conclusions
Hence in short we can conclude from our findings in this research that all software industries while planning to kick off new project/software our any new start up company about to take place. This document will act as a must have for them they would need to define these techniques and make them part of their company processes. The more the knowledge is acquired about the technology in the beginning the less mistakes they make and more chances would be for company and software to succeed. Also this document can help students and software developers who want to write their private applications and want them to launch in the software’s market.
6 Literature references
[1]. “Supporting Collaborative Requirements Elicitation Using Focus Group Discussion Technique” by Zarinah M.k and Siti Salwah S.
[2] IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER 1998 Requirements Elicitation and Validation with Real World Scenes
Peter Haumer, Klaus Pohl, Member, IEEE, and Klaus Weidenhaupt
[3] Field research method and type of observation by Throchim, B. 1999
[5]. “Requirements Elicitation and Elicitation Technique Selection: A Model for Two Knowledge-Intensive Software Development Processes”. By Ann M. Hickey and Alan M. Davis
University of Colorado at Colorado Springs.
[6 ]http://www.brainstorming.co.uk/tutorials/whatisbrainstorming.html
[7] http://wiki.answers.com/Q/What_are_the_advantages_and_disadvantages_of_brainstorming
[8] http://ezinearticles.com/?Requirements-Elicitation-Techniques&id=1901263
[9] http://wiki.answers.com/Q/Advantages_and_disadvantages_of_interviews
[10]http://easyweb.easynet.co.uk/~iany/consultancy/proverbs.htm
Order Now