A Collaborative Approach for Effective Requirement Elicitation in Oblivious Client Environment

Acquiring the desired requirements from customer through requirement elicitation process is a big deal as entire project depends on this initial important activity. Poor requirement elicitation affects software quality. Various factors in the oblivious client environment like culture, linguistic, gender, nationality, race and politics; can affect the final deliverables. The interaction of complex values, attitudes, behavioral norms, beliefs and communication approaches by stakeholders with different values may lead towards misunderstanding and misinterpretation. This could lead towards failure or dissatisfaction of the final outcome which might cause loss to both parties. The project requires redesign or modification that could take extra time and cost to get the desired results. The oblivious nature of the client’s working environment is the major cause of poor requirement elicitation. This study focuses the issues in oblivious client environment where client is reluctant to provide desired information. This work proposes a novel requirement elicitation model for effective software development in oblivious client environment. The quality improvement results of software after using this model were verified using a qualitative survey. Keywords—Requirement elicitation; oblivious client; software development; quality improvement; elicitation model


INTRODUCTION
The purpose of Requirement Engineering (RE) in software development is to produce a quality requirement specification report that contains the information without any ambiguity [1].The detail provided in this report should be complete, accurate, verifiable and must be modifiable when required.The process goes well sometimes but often led towards downfall or failure of complete project due to incomplete or misinformation from the user and causes the loss in terms of huge maintenance or up-gradation charges.Thus requirement elicitation is the most critical phase in the development of the software [2], [3].This crucial process of gathering requirements from the customers is most important because of which whole working of the project is to be planned, organized and managed.Any error while collecting information could lead towards major loss of developer"s efforts, time and quality of the project.The facts and reasons which have been observed often in misunderstanding of information are due to many reasons among of which behavioural factor, cognitive behaviour, emotionality and social factors are most common [1], [4].
Another major factor which has been noticed is the locality of the customers as the living standards and environment is most important for the customer to provide accurate information to the developers so that the development team could lead towards successful solution of the problem [5].The major area that is focused in this research study is the effect of various factors due to which efficiency of the final outcome is considered poor.It has been commonly noticed that the customer in our locality is unaware of the technicalities regarding software developments for the environment in which the software is to be developed.The client simply rushes towards the developer to get their desire product without knowing about the actual requirements which are desired by the analyst for the development procedure.
Correspondence to acquire necessities is a lengthy process that proceeds all through the life cycle of a project.Focuses in [6]- [9] have demonstrated that a considerable level of the difficulties confronted when designing the requirement in software development identify with organizational and social elements rather to the technical factors.
The important phase of the elicitation always effect the results of the system as the whole working of the system is determined by this valuable activity.The oblivious nature of the client is definitely the main reason behind the poor elicitation procedure as the analyst feels discomfort when client fails in describing his requirements.These unclear requirements must be purified before including them into the desired solution.The approach adopted in this effort designs a mechanism that detects the effectiveness of user requirements whether a given information to analyst is valid or not.The purification process moves on till an effective requirement is defined with the effective collaboration of the client as both parties agree on a common point.
As the nature of projects always vary from department to department and business to business, the requirement is always unclear to our analysts and professionals [3].Once they work www.ijacsa.thesai.org on incomplete and unclear information, the project most often leads towards dissatisfaction or incompleteness for the desired customers and the developers have to work again to repeat the activity of development that always causes a high cost for mitigating the risks in the software [10].Thus this research study is aimed to understand the levels of customers in our society and to create such a mechanism or approach that could make the developers successful in gathering accurate and meaningful information from the customers.So the best quality of the software could be achieved with minimum effort and time.

II. RELATED WORK
Several researchers have studied the issues and challenges in agile requirement elicitation [1], [2], [10]- [12].Kumar outlined different circumstances confronted by experts in software requirement gathering process and proposed elicitation technique for the purpose of suitable requirement engineering [12].The suggested technique focused face to face communication and conducting meetings.Outcome: Iterative characteristic of agile RE makes it different from other software process models [1].Sillitti and Succi conducted case studies for the organizations those follow the standard agile methods like XP and SCRUM and those who do not follow the standard methods at different level.These organizations adopted different agile practices like Face-to-Face Communication, Iterative RE, Extreme Prioritization, Constant Planning, Prototyping, Reviews & Test, and Test-Driven Development [2].
The requirement elicitation technique depends upon situation faced by analyst [12].Kumar [13] highlighted the famous and most useable practice for software development.He has outlined the factors affecting requirement elicitation.The major factors were environment for which the software is developed and domain of the project.Lucia and Abdallah suggested techniques to solve the challenges of agile requirements engineering practices in large projects.They have also discussed the requirements traceability problem and the relationships between the traceability and refactoring processes [2].
The analysis done in [14] recommended practices to enhance agile RE.The RE process should consider different perspectives to utilize different meeting schemes, patterns, early consideration of non-functional requirements, adoption of requirement administration practices, and isolate environment setup and product development.Mennatallah and Ramadan investigated the agile RE practices in different software development organizations [13].Davey and Parker classified the problems in requirement elicitation process [15].Inayat et al. discussed 17 agile RE practices.The difficulties of agile RE are cost, schedule estimation, non-practical necessities, and client support [10].
The research work activities observed in [2], [12], [13] focused on the problem in agile software procedures like scrum, XP and proposed elicitation techniques.The practices in [13], [15] worked on various perspectives and classification of problems to offer new techniques for RE.The approach adopted here in our study focused on basic principle of software development but the difference between other approaches and our approach is that the model proposed in this research follows an iterative approach to purify the requirements for effective software development.The focus in [16] specified various requirement elicitations techniques with use of special use case diagrams in embedded systems.Practices performed in [17] focused on defining various requirement engineering responsibilities and efforts in agile development and role of engineers.
The related research work indicated above by many people shows their efforts in getting effective requirement elicitation.Many of these people focused on various circumstances and proposed there methods to deal with a certain situation.Some of the approaches described above focused on face to face communication with the customers and suggested various techniques to get good requirements for software development.This present approach is a detailed approach for acquiring perfect requirements from the customer as it is based on total involvement of the client until the requirement is cleared.This elicitation model is purely focused on purifying requirements till the acceptance which is main theme and differs from all other approaches for requirement elicitation.

III. REQUIREMENT ELICITATION PROCESS CHALLENGES
The desired behaviour of the system is expressed as the requirements which are necessary for the completion of the task.A complete set of requirements contain information about various elements, objects or entities that are linked to system forming the behaviour of system in different situations.Requirement elicitation is considered to be the most important and crucial phase of the software development as whole the system depends on this important activity and errors during this activity becomes very hard to handle once the system is deployed.The thinking approach of the engineers in this regard is that, gathering required information is an easy task and they need not to be bothered about this but the reality is totally against this.Some of the main issues that affect the requirement elicitation process while software development are: 1) The conflict of statements between different stakeholders while eliciting the requirements could be the reason as various users in the same working environment might have different mind-sets and their opinion could be contradictory regarding a certain requirement.
2) Unnecessary requirements are one of the big problems in the requirement elicitation process as the client is not technically strong while eliciting proper requirements.The addition of such useless requirements becomes difficult to accommodate and require elimination at last with giving extra time.
3) The ambiguities in various requirements are major issues as the client is unaware about the outcomes of the system and provide those requirements which create a high level of ambiguity.
4) Sometimes the client is unclear about the requirements because the system is not seen by the client.The response of customer fails to explain the importance of the issue for which the system is to be developed.www.ijacsa.thesai.org5) A rough idea in the mind of client about a system that he has seen somewhere is also a big issue as the client is inspired by a system that might be opposite to his own.The requirements and the feature in both scenarios may differ and can cause analyst problems to properly elicit the requirements.
6) If the client is not sure about the final outcome of the desired system, it would be difficult for the developers to design a system according to the best satisfaction levels of client.So a system analyst must be sure about the background knowledge of the system and must also create a scenario in the mind of client before implementation.
7) Communication gap between the two parties is always noticed as the client environment vary from the development team with respect to his language, culture, behavioural norms, education level, locality, etc.These things must be kept in mind so that best requirement could be gathered.
8) Timely meetings and responses to the development team are always focused for best requirements.The client must provide desired information when required without hesitation and must give proper time and attention.
This work focuses to overcome the issues in the process of requirement elicitation.The obliviousness in the client level could affect the project badly.The software development activity can lead toward effectiveness with less defects and errors by focusing on these and other common soft issues in elicitation process.
The fundamental objective of this proposed activity is to make the elicitation activity more efficient during the initial phase.Once the requirements to be included in the main system are clear, concise and accurate; overall performance of the system will definitely satisfactory.So the goal of the work done in this approach is to simply provide a novel way of elicitation procedure through understanding the problem statement and purifying the requirement in more clear way.

IV. METHODOLOGY
The research activity was conducted in a step by step approach.The major activities adopted to get the results were divided into separate phases: 1) Pre-investigation and study of the problem 2) Meetings and interviews with the stakeholders 3) Prioritizing the issues for proposed methodology 4) Process model design for elicitation in oblivious client environment 5) Evaluation of the model

A. Pre-Investigation and Study of the Problem
Pre-investigation of the issues due to which software analysts face problem to understand the actual meanings of the client requirements.The activity of investigating the major causes in poor elicitation from users was conducted using a market survey.A questionnaire was designed related to some common issues in the minds of software analyst and then this questionnaire was floated in the market to get the opinions of the people, weather those people were actually effected by the obliviousness of the clients or not.The results of the questionnaire confirmed that the elicitation activity was heavily affected by the poor cooperation of the clients while communicating them for requirements.The results of the question are mentioned in the Fig. 1 that clearly shows how the elicitation activity in oblivious environment is affected by the client.The results of the survey are taken from different market experts in the field.The survey was conducted using electronic resources and by manual method of acquiring opinions from various technical people.The list of people who responded in this attempt contains 49 people who actually made this research possible by carrying the view that the software is always affected by the obliviousness of the client when the client fails to answer adequately due to lack of technical knowledge, self-interest, social factors and many other reasons as mentioned earlier.The results of respondents are as below shown by the respondent"s outcomes in percentage values.
The results clearly show the effect of the oblivious clients that they definitely affect the performance of the desired system.The expert people in software field mostly agreed on the questions that were asked regarding poor elicitation from the client.
As it is clearly shown by the results of the questionnaire in Fig. 1 that the process of elicitation is heavily affected by the oblivious nature of the user and majority of the respondents declared that main reason of poor elicitation is due to the noncooperative nature of the client due to which the final outcome suffers seriously.Focusing on the results of the market survey regarding poor elicitation issues in oblivious client environment; this research study purpose a working solution for better elicitation technique through elicitation model for oblivious client.

B. Meetings and interviews with the stakeholders
To verify the real issues regarding poor elicitation by client in oblivious environment; meetings sessions were conducted with development team experts and analysts to get more detail about the issues they face during elicitation phase.The results of the meeting sessions and interviews depicts that the developers society feel the same problem as it was noticed with the results of market survey through questionnaire.The related questions were asked to the stakeholders in the field of technical expertise and the respondents expressed the answers in favour to this study that the projects were mostly flopped due to negligence of client.

C. Attitude towards meaningful elicitation process.
The results indicated that non-cooperative behaviour, unclear vision, lack of technical knowledge about software were the major causes of the software failure at first attempt.Due to these reasons the project might have to rebuild and make changes again and again to satisfy the customer.www.ijacsa.thesai.org

D. Prioritizing the issues for proposed methodology
The core activity is to identify and prioritize the main causes due to which projects were heavily suffered.In this phase the identified problems in the oblivious client environment which were reasons behind poor elicitation were prioritize on the basis of results gathered from market survey through questionnaire and meeting sessions.The rankings were made according to the respondent"s results and effect of that issue over the project life.The idea for this activity was to propose the desired effective methodology so that the elicitation method could become more effective to acquire desired requirements from customer.

E. Process model design for elicitation in oblivious client environment
The process model for making the elicitation activity in the oblivious client environment more effective is carried out through the designing of a comprehensive approach show in Fig. 2. The collaborative structure of identifying effective requirement from customer is carried out by following an elicitation process model for users who have lake of technical expertise and interests in defining the requirements properly.The process model designed in a way that the analyst can acquire detailed information from client by realizing the importance of requirement engineering to the client.The process of requirement elicitation is based on the prior technique of software development that is based on standard SDLC format.Once the activity of elicitation comes into play; the role of this effective model comes to purify the best effective requirement using the proposed iterative approach in Fig. 3.The requirements are purified till the agreement between the analyst and client comes to final stage, whether to accept or reject certain requirement.The process goes similar for all oblivious requirements and finally gives the best suitable effective requirements for further activities of software development.The elicitation model for collaborative approach in this research study is expressed in Fig. 4 which depicts various activities in the elicitation phase.

F. Prioritizing the issues for proposed methodology
Fig. 4 illustrates the elicitation model for oblivious client environment shown above describe in detail process of communicating with customer for gathering effective requirements for software development.The activity of software development gets started with the system request as the client gets into the working environment of the system experts.The client request for developing software for his organization gets into the identification of the system as the developers or analysts wants to get familiarity with the system for which the request has been initiated.A feasibility report regarding the various estimations of the system is designed further to elaborate the system in more detail.The system is logically portioned according to the feasibility structure of the system so that various modules of the system could be analyst in attempt to acquire various functionalities.In the further step of this purposed system different actors of the system are identified to know the actual stakeholders of the system who will actually participate in the system requirement understanding.The list of all stakeholders is identified in this activity to make sure all the actors are nominated to whom the requested system is concerned about.Depending upon the nature of system request, domain problem of the system, feasibility analysis and the stakeholders identification; a solution method is chosen that will actually leads towards rest of the development activity.This development approach uses agile development approach to develop the system as agile approach is best suitable way to design the solution with active collaboration of the customer during project life.
As the main focus of this research study is focused on effective requirement elicitation from oblivious client environment, this proposed model leads towards elicitation requirement model in the next step to acquire the effective requirements for the further process of software development in the selected agile development method.This model suggests that the requirements from the different stakeholders must be kept into a requirements pool after initial elicitation phase, so that these could be categorized or ranked as the effective requirements with respect to desired solution or not.The client may express various kinds of requirements which are not associated to the system or he may not be able to answer effectively what the system demands.So the requirements must be purified before these are considered final for the desired solution to be developed.
The idea behind the purification of requirements in the elicitation phase is to determine whether the collected pool of requirements are effective set of requirements or these are oblivious sort of requirements that become part of requirements pool due to negligence of the client or misinterpretation.The model suggests a solution for the oblivious requirements that these sorts of requirements must be fine-tuned before these become part of the system that is under development.The refinement module of this system goes for the cyclic procedure to identify the nature of the requirement which is oblivious.This system suggest that these kind of requirements must be categorized and prioritize according to their importance in the system weather these could become part of the desired solution or these are mere due to uncertainty of the client.Depending upon the priority of the oblivious requirement, the client is further communicated in this approach to negotiate on the issue for realizing the fact why the client is interested in such sort of requirement.The process of brainstorming moves on until the parties agree on a single point and the issue is finally considered as a part of valid requirement or it is eliminated.
The process of identifying the effective requirements from the oblivious requirements goes on until the list of valid and effective requirements are finally adopted in this approach for the final solution to be prepared.Once the list of all effective requirements is updated the system moves towards the logical designing of the system so that it could be mapped into the physical model of the desired system.Since the physical design www.ijacsa.thesai.org of the desired system is purified using the proposed approach the system could be now implemented and deployed into the client environment with effective and efficient requirements.

G. Evaluation of the model
For the purpose of model evaluation, regarding the effectiveness and feasibility in the real life problem, the results were examined by evaluating responses from the questionnaires given to the experienced people in software development field and developers who were working in this field for at least more than five years, so that they can provide their feedback after using the system proposed for requirement elicitation in the said approach.Around hundred people were examined after using this approach and there observations were noted.The main focus was there on system analysts, requirement engineers and software developing people so that this system could be evaluated through their response by using this approach after number of times.The valuable opinion of these experienced people was then collected to make a statistical observation for the purpose of evaluating this proposed system.
The assessment scale of the system to verify the outcomes generated by this system was again referred to as strongly agree: means user is strongly agree to the outcomes generated after using this system; agree: means the user is satisfied with the results of this system; partially agree: means the user is willing to some extent that this solution is efficient; disagree: refers that the user is not satisfied with this approach.The outcomes of the questionnaires clearly dominated the results of first category that proved the effectiveness of the system as the large number of respondents went in support of this approach.The quality improvement results are shown here in the graph that clearly depicts the improvement in the efficiency of the final results after using this proposed model.The respondents clearly indicated the amount of change in quality before and after using this quality model for purifying requirement elicitation procedure.1).The descriptive measures of statistics are taken from the outcome of questionnaires which was given to respondents for the purpose of evaluation of proposed elicitation model.The important measures of central tendency like mean, median, mode, standard deviation and variance are calculated from the data.The results clearly show the interest of respondents in favour of the proposed system as the satisfaction level, quality rate, overall satisfaction/performance are well above the high levels of interest showing high mean and median rates along with the high value of mode in resultant data.The standard deviation and variances of the said questions also depicts the high interest and similarity among the respondents.The results shown in Fig. 5 summarize the interest of respondents against the questions which they were asked to evaluate the proposed model with respect to different satisfaction levels.In the above data the questions were related like satisfaction level, quality with respect to rate and comparison with other elicitation techniques.The respondents were given five different values to evaluate after using the model criteria for elicitation.Most favourable outcomes were considered to be strongly agree, agree and neutral.After collecting the outcome the results can be seen as the percentage values of the respondents.The results clearly depicts that high percentages of respondents went into the favour of the proposed system against said questions.There were a very little number of respondents which opposed or went neutral.The high results with big numbers in favour of model efficiency and satisfaction proved it to be the suitable working elicitation model for the purpose of requirement gathering.The results observed in Table 2 describe the various levels of satisfaction from the respondents in the market.Different questions related to software satisfaction were asked again after adopting the proposed elicitation model for software development.The level of measuring was again set to get the response from the respondents which was categorized very high, high, medium, low and very low.The results show in the table above against each question clearly dominates in favour of the proposed model as large number of respondents positively agreed with high satisfaction level while eliciting requirements from clients using this model.The statistical www.ijacsa.thesai.orgdescriptive measures in above table shows the high rate of acceptance against each question that show the interest of the professionals in the proposed elicitation model for requirement gathering.The results in Fig. 6 graphical representation show that the respondents favoured this proposed model in close to high level of acceptance.In each question which they were asked, the respondents mostly agree that the satisfaction level with respect to quality in elicitation and customer satisfaction is at top levels.As the results indicate many of high percentages are towards the acceptance level of the users.A very few numbers were there who were either neutral or not satisfied but their percentages are very few in numbers which is closely near to ignorable levels.In this evaluation procedure the data sets were used to measure the importance of the elicitation model using an interrogative approach (Table 3).The respondents were given only two choices to make their decision in favour of against various evaluation questions which were again satisfaction levels, customer involvement, efficiency, improvement rate and recommendation feature of this model to other people.The idea was to understand the importance of this model as in this category there were only two choice "yes" or "no".The first answer was to evaluate high acceptance of the model and second answer was to purely see a negative response from the respondents.The results in Table 3 clearly indicate that a big average and number of respondents replied these questions in favour of this model by clicking their option to word "yes".The statistical measures shown in above table dominate the results as it shows the interest of the people in positive way towards using this approach for requirement elicitation.The graphical representation of the evaluation results against variety of questions in Fig. 7 shows the importance of this elicitation approach.The data shows the interest of people in this technique as they highly preferred this model to be recommended to other.The chance of failure in getting necessary requirements for software development was noted to be very low and it indicate the model high sufficient for purifying the requirements.The data gathered in above graphical representation clearly depicts that this model supports high level of customer involvement and due to that involvement the satisfaction level of the clients to be at very high levels.
The overall evaluation of this proposed elicitation model after gathering opinions from expert people shows that this approach is effective in purifying the requirement for software development.The results depicts the high percentages in favour of this proposed elicitation model as big number of expert people observed this approach as good for software development and requirement elicitation.The requirements for software development were initially understood whether clearly or not, and then those were purified by using a purification cyclic approach.This made this approach a better solution for requirement purification.

V. CONCLUSION
The process of requirement elicitation faces numerous problems while collecting the requirements from stakeholders during software development activity.This paper elaborates a comprehensive approach to overcome the challenges faced during elicitation process in oblivious client environment.As this model compared with other traditional elicitation model techniques the efficiency level and defectiveness level is much less in this proposed model.The evaluation of the system is performed using standard SDLC model but the elicitation activity is executed through this proposed elicitation model for obliviousness in client environment.As the initial activity is conducted in efficient manner, further development procedure gets smooth performance in effective manner with few chances

TABLE III .
STATISTICAL RESULTS WITH SCALE DATA SETS