Abstract

Requirement engineering is the first phase of software engineering. In requirement engineering, the first phase is requirement elicitation (RE), which is the most critical and error-prone activity. In this phase, the requirements are extracted from various sources; after extraction, they are analyzed and documented for a specific purpose of software development. In RE, process requirements from stakeholders are gathered, upon which the entire software product failure and success are dependent. In order to accomplish the goal of requirement elicitation, various techniques are used. However, the selection of these techniques is a very challenging task, as one technique may suit a situation but may not be suited for other situations. Besides this, project attributes such as documentation culture of organization, degree of relationship among stakeholders, and familiarity to domain also have a great impact on the process of technique selection. The reason is that there is no empirical value of the techniques that provide help in techniques selection to analyze the basis software project attributes. This study proposed the analytic network process, which is one of the multicriteria decision making processes for the elicitation technique selection process with respect to criterion attributes of project. The motivation toward the use of the ANP approach for the selection of requirement selection technique is that there are dependencies existing among attributes of the project elements. So, the ANP approach is capable of dealing with such situations where dependencies and complexity occur. Results of the proposed study demonstrate that the technique helps in complex situations where decision making is difficult based on the alternatives.

1. Introduction

The most important phase in developing software is requirement engineering, which combines different tasks of the developing system in order to gather requirements, taking into account the requirements of multiple stakeholders who have variations. RE is a complicated, practical, social, and intellectual process, which produces the software system requirements [1, 2]. Requirement gathering is known as the most complicated process and requires a lot of skills for the software development [3]. Instead of this, inappropriate requirement elicitation leads the software development process to failure and late product delivery. The main objective of the elicitation technique(s), used to elicit requirements, is to discover many possible issues in the process requirement gathering, which, in turn, facilitates obtaining appropriate software product for stakeholders, which can fulfill their requirements [4]. In industry, different techniques are used to collect most adequate requirements of a specific software project. However, the most suitable technique selection requires in-depth knowledge of the problem domain, techniques available, and requirement sources (domain experts, organization, market, users, and customers) from where requirement collection is carried out. However, there does not exist one single elicitation technique that works best to solve all kinds of problems. Therefore, techniques used for requirement elicitation are categorized into four various types: cognitive techniques, group techniques, traditional techniques, and contextual techniques [5]. Similarly, lack of knowledge regarding attributes, the most appropriate technique selection, is a challenging task for a particular software. There exist a lot of elicitation techniques for requirement gathering, but among them, some techniques are appropriate to use in some specific condition, while others are not that much suitable to use. [6]. In the same way, there is a need of a technique through which one might be able to elicit the most appropriate requirements for a specific problem based on some attributes. The other techniques work for different situations; however, no such technique is available, which best fits in situation when there is complexity and the decision is based on attributes.

This research first identifies software project attributes. Then, ANP method is used, which is a multicriteria decision making (MCDM) approach. ANP is used for the elicitation technique selection on the basis of project attributes specified. The ANP method provides a model that is used to determine the comparative importance of the software project attributes selected and how a particular technique could be applied with respect to each attribute. It can improve the chances of dependable results, and requirement engineers can help in the process of techniques selection in order to gather requirements. The ANP works well where there are dependencies, and feedback is needed among the elements of the network. The proposed research main contributions are as follows:(i)To identify the software project attributes for requirement elicitation technique(ii)To identify the relative significance of the attributes with respect to the project(iii)To use multicriteria decision making approach for the selection of requirement elicitation technique

This research work will help the analyst in decision making with full comprehension of both upside and downside (trade-off analysis) of techniques regarding attributes. This research provides a base that will certainly help requirement engineers in the selection of appropriate technique.

The paper organization is given as follows: Section 2 presents related work. Section 3 presents the methodology of ANP for the conduction of the proposed research, attributes for technique selection and elicitation techniques, expert opinion for weights derivation, and experimental work. Section 4 presents results and discussion. Section 5 contains the conclusion of the paper.

Several approaches are adopted by researchers for elicitation techniques used in industry and stated in literature. The applicability of these approaches is dependent on the requirement types gathered, the environment of the project, and features of the target technique. There are limited guidelines for requirement engineers to support them in the selection of most appropriate technique to gather proper requirements. It has been evidenced from the literature that criteria for the assessment and comparing related work are based on disciplines in which proposal is applicable, scope which the proposal intends to achieve, information type upon which proposal is based, number of elicitation techniques covered, kinds of elicitation process contextual elements accounted for, specification of the contextual attribute values, and evolving ability of the proposal. The elicitation session preparation involves understanding of the domain of application by elaborating policy, organizational and social aspects, and system development constraints, identification of requirement sources, stakeholder analysis, technique selection, tools used for requirements, and requirement elicitation from users [6]. In actual practice, when a particular software system’s analysts start gathering requirements, they usually use one technique only, which is interview, for information gathering; besides that, analysts are possibly familiar with numerous techniques [7]. People are using different techniques taken from other disciplines like linguistics, sociology, anthropology, and cognitive psychology [8], and techniques used by knowledge engineering [9], and now software engineering. Most of the software developers are not aware of these techniques for optimization of their elicited requirements. This is thought out to be a breach between practice and theory [10].

Most of the researchers tried their best to propose techniques for optimization of the selection process [3, 1113]. But, still, the existing efforts do not provide any empirical exploration and complete assessment regarding relative significance of various selection issues and their supporting strength for each and every technique. Researchers such as Ghanbar et al. [14] introduced an approach of eliciting requirements. In this approach, online serious games are applied for gathering requirements in situations, in which stakeholders of software systems are dispersed. By using empirical evaluation, the effectiveness and validity of the approached were checked and hence, much more encouraging results are produced. Burnay et al. [15] proposed a method of “Elicitation Topic Map” (ETM) to facilitate analysts to prepare interviews. Ribeiro et al. [16] presented an approach in order to verify the acceptance and effectiveness of a tool that is web collaborative, whose main purpose is stakeholders gathering in order to gather requirements. The tool development approach is Six Thinking Hats Method and gamification. The main aim of this work is to improve stakeholder’s collaboration by discussing results and implications. Ruf et al. [17] reported the elicitation of Mobile Financial Advisory Service (mFAS) requirements for the purpose of its design by validating and instantiating the Requirement Data Model (RDMod). A selection of multimethod approach is done for attaining this goal, focus groups and the review of literature.

Yousaf and Asger [5] provided different elicitation techniques comparison for requirements. They introduced top to bottom survey of various techniques, their strengths, and weaknesses. Chakraborty et al. [18] proposed technique for the process of eliciting requirements based on conceptualized approach, which emphasizes dynamics of interactions between requirement engineer and future system user. The multifaceted, collaborative perspective of requirement elicitation is repeated by them, and guidelines that are well enough to explain this collaboration are provided. This collaborative activity success depends upon group ability in building up a share frame of reference and furthermore, to work collectively. Most of the empirical research studies are conducted in recent years. However, most of the empirical researches conducted are dependent on experiments in laboratory in which students mainly focus on techniques effects of requirement elicitation on the final product of elicitation process. [19]. The authors [20] define a Methodology for Requirement Engineering Techniques Selection (MRETS); requirement engineering is facilitated by this approach to choose adequate technique for a particular project with respect to requirements. The MRETS proceeds towards the selection of techniques from the given three perspectives as follows: (1) A connection setup between attributes of both techniques and projects. (2) Based on evaluation schema, detailed analysis is carried out by using clustering. (3) Useful tools have been provided by the objective function to select RE techniques. The process of RE is of multidisciplinary nature; in a specific situation, a technique could be perfect, but it may not in another. Table 1 shows the summary of the techniques and approaches used.

3. ANP Approach for the Selection of Elicitation Technique

Multicriteria decision support system (MCDSS) is used to facilitate the issues arise from daily life. Due to the usefulness of multicriteria based decision support system, researchers are trying to devise machine learning algorithms to provide an intelligent decision making alternative [2729]. Decision support systems (DSS) are used in a variety of applications and domains for solving or assisting the decision maker to take a more appropriate decision, and these can be exploited in almost all domains to solve decision problems, such as DSS in Agriculture [30], energy sector [31], waste management, and business [32], [33]. These DSS can help practitioners solve the particular problems in the area domain of real life. Various domains exploit the theories and methods of decision making alternatives from simple to more advanced and intelligent models [34, 35]. DSS is an active area of research where research finds new ways to evaluate multiple criteria and propose intelligent framework for enhancing the potential of decision support systems.

ANP is a MCDM method, which is used to handle the problems when it becomes very difficult to make a decision. In the ANP, the elements are clustered with each other in a group of networks. The cluster consists of different elements and nodes connected to each other via a network. The ANP works well where there are dependencies, and feedback is needed among the elements of the network. The ANP is a suitable tool to handle such a complicated situation. The following sections briefly show the details of the ANP process for the proposed research.

3.1. Analytic Network Process

The main goal of ANP method is to handle the selection of elicitation technique, both inner and outer dependencies among the project environment attributes of the network of nodes. ANP is applicable in different situations such as [36]. The ANP deals in situations when there is complexity among the available alternatives based on some criteria, and the selection is uncertain. No decision is possible on which option should be adopted. So, to overcome such situation, the ANP is the best option to be adopted. The summarized form of the main steps involved in ANP method is given as follows [37]:(i)The network is composed of various clusters.(ii)A cluster is a combination of nodes.(iii)Weighting scale is relative to the importance of each node within the cluster.(iv)Set up a matrix [A] of n × n.(v)Pairwise comparison is computed among nodes.(vi)Sum the columns of the matrix [A].(vii)Normalize the matrix [A] by dividing the elements in each column by the sum value of that column obtained in original matrix [A]. After normalizing the matrix, [A] averages the rows to get the Eigenvector [24].(viii)To check the consistency, determine a weight sum vector, i.e., {} = [C]{}.(ix)Consistency vector will be obtained by computing dot product of {} and {}, i.e., {Consis} = {}. {}.(x)Determine the average of the elements of {Consis} to get λmax(xi)Find consistency index and consistency ratio bywhere n is the number of elements in a matrix bywhere RI is a random index.

Table 2 shows the RI presented by Saaty [38].

CR value should always be smaller than 0.1; else, the process of calculating the CR should be revised so that the value becomes less than 0.1:(i)The combination of Eigenvectors of the matrices will provide super matrix. Unweighted super matrix is a matrix if the value obtained from column sum is bigger than one. In order to obtain the value of sum of the column less than or equal to one, unweighted super matrix will be normalized.(ii)The weighted matrix will be obtained after normalizing unweighted matrix.(iii)Furthermore, the transformation of super matrix into limit matrix will be carried out.(iv)The limit matrix obtained provides help to select the most appropriate alternative.

The steps involved in ANP technique along with the process of calculations are shown in Figure 1.

3.2. Attributes for Technique Selection and Elicitation Techniques

Project environment attributes greatly affect technique selection for elicitation process. A technique for elicitation may be fit for an attribute but may be not for the rest. E.g:- if stakeholders are easily available, then interview is a good technique that can be applied, but if the analysts find them hard to be available, then he/she cannot use this technique. Industry practices, interviews conducted from domain experts, and large amount of literature reviews have been observed for the identification of attributes of software project environment that are highly influential on the technique selection process [3840]. These attributes are given as follows:(1)Availability of Key Stakeholders (ASTK)(2)Availability of Reusable Requirements (RQ)(3)Computer Literacy (CL)(4)Degree of Financial Constraints (FCO)(5)Degree of Project Schedule Constraints (SCO)(6)Degree of Relationship among Stakeholders (RSTK)(7)Diversity of Stakeholders (DSSK)(8)Documentation Culture of Organization (DOC)(9)Familiarity to Domain (FD)(10)Interactive Nature of Prospective System (INT)(11)Maintenance of Existing System (MES)(12)People per Session (PS)(13)Relation between Analyst and Client (RAC)(14)User’s Expressiveness (EXP)

Requirement elicitation is collaborative and human oriented activity where knowledge from other fields is also used widely such as management science, psychology, and sociology. The most crucial task for a requirement engineer in the process of developing software is a suitable technique selection. In process of requirement gathering, various techniques are used to elicit requirements. But there is no such technique that works well to cover all the aspects of the software project. The literature [5, 24, 26] and industry report many techniques that are used for requirement gathering. But this research mainly focuses on techniques that are most widely used such as (i) Document Analysis (DA), (ii) Interview (IV), (iii) Introspection (IS), (iv) Questionnaire (QN), (v) Survey (SV), and (vi) Task Analysis (TA).

In this study, the process of technique selection to gather requirements is based on attributes of the software project environment. ANP comprises three key components, i.e., (1) Goal, (2) Criteria, and (3) Alternatives. The algorithm presented Saaty’s scale, which actually describes the fundamental scales for the judgements and represents the importance of elements among themselves. Table 3 also shows the importance of one element from the other.

Figure 2 represents techniques and attributes using ANP.

3.3. Derivation of Weights from Expert’s Opinion

In this study, ANP method is applied to the proposed model by in which comparisons are carried out in two phases. These comparisons are performed in such way that first attributes comparisons are done among themselves with respect to techniques and then comparisons among techniques with respect to attributes. Domain experts (Employee) of various software houses are the source from where data are collected. Questionnaire was used as a data collection tool, distributed among 25 experts. At the start, domain experts were first briefed about techniques used for requirement elicitation and project attributes. After the discussions, the experts came with the idea of using these techniques that are mostly used for requirement gathering and software development. Questions related to the techniques and their attributes were given to the experts. These questions have covered all techniques mentioned along with the attributes for facilitating requirement gathering. The experts assigned weights to attributes of project environment and to techniques used for elicitation that lead to a balanced agreement on each attribute and technique with respect to weight. To eliminate the variations that occurred in the opinions extracted from experts, a normalized geometric mean on opinions of experts is applied. In this research, traditional techniques are considered, that is, Document Analysis (DA), Interview (IV), Questionnaire (QN), Introspection (IS), Survey (SV), and Task Analysis (TA). These techniques were chosen to validate results and they pushed into matrix of n × n. The relative weights of the afore mentioned techniques are shown as Tij, where “i” is for the row’s representation in the matrix and “j” is for columns. If in the matrix relative weights assigned to any two techniques are the same, then the values of Tij = 1 and Tji = 1. Then in position where Tij is compared with the Tji which will definitely be a diagonal value, value “1” will be placed in that position. As shown in the given matrix below, “1” is inserted in DA11, IV22, IS33, QN44, SV55, and TA66:

After deciding weights for different parameters, the step by step ANP method to select an elicitation technique with respect to Attributes of project environment is as follows. Techniques comparison with respect to attribute SCO is as given in Table 4.

The process of normalization of original matrix as shown in Table 4 is carried out and is given in Table 5.

Table 6 is extracted as a result of Table 5 and is said to be a normalized table if we calculate the sum of all columns in Table 4 and the result obtained is equal to 1. Now, to calculate Eigenvalues, the procedure that followed is to find the row sum of Table 5 which will be then divided by the total numbers of column in Table 6. The consistency ratio (CR) is calculated by the formula given in equation (2).

The same processes of comparisons have been done for the rest of the attributes.

Comparison of attributes with respect to Interview is shown in Table 7.

The same processes of comparisons have been done for the rest of the requirement elicitation techniques.

4. Results and Discussion

The proper requirement elicitation is one of the core issues in the software development process. To gather most appropriate requirements of the problem domain elicitation technique selection is also very important and difficult task. The reason is that an elicitation technique might be suitable for use in one situation which results in suitable requirement gathering but it may not be suitable to use in other situations. On the other hand, technique selection process is greatly affected by project attributes of the software system due to the reason that there is no observed value of the techniques to assist the analyst in the process of technique selection. The ANP method is applied which is of the MCDM approach for the appropriate selection of technique to elicit requirements on the basis of software project attributes. In this study, the first step that was taken is the development of a network structure. This network structure was designed in such way that it consists of goal, criteria, and alternatives associated with criteria. The proposed research, results, and discussion section are shown in the following sections:

4.1. Weighted Super Matrix

A weighted super matrix is a matrix in which total sum of all the columns must be equal to or less than “1”; otherwise the matrix will be normalized to get weighted matrix. Table 8 shows weighted super matrix.

4.2. Limit Matrix

The values in the weighted super matrix are raised to the power until the rows in the weighted super matrix become the same and stable. The matrix obtained as a result of this process of the weighted super matrix is called the limit matrix. The limit matrix is the summarized form of all the pairwise comparison matrices. The limit matrix as shown in Table 9 contains the priorities of all the elements which help the requirement engineer select a suitable technique with respect to project environment attributes.

The final output (weights) is visually represented in Figure 3. It is very clear from Figure 3 that” Interview (IV)” is the most suitable technique to be selected, then the second number “Task Analysis (TA)”, then third “Survey (SV)”, fourth “Document Analysis (DA)”, fifth “Introspection (IS)”, and the last one is “Questionnaire (QN)”. Hence, the result generated shows that the technique is the best among the others. So on the basis of attributes of software environment this selection of elicitation technique has been done. These results for IV were obtained based on the weights assigned and the calculation process of pair-wise comparison. The process of pair-wise comparisons is shown from Tables 47, and the final calculation of summary matrix is shown in Table 8, and limit matrix in Table 9. From these calculations, it is concluded to select the best option among alternatives. The selected technique is well applicable and reliable for its selection purpose.

The managerial implications of the proposed approach are that it can help practitioners in a better way to select the most appropriate elicitation technique among the available techniques. As the approach is based on several attributes as criteria, so it deals with multiple perspectives of a project in a better way and can lead the project to success.

5. Conclusion

In the process of software development, the important thing is requirements, which if gathered properly, then the end product will be according to the need of the user; otherwise, it will be rejected. It means that the development of software system is highly dependent on requirements. For the purpose of eliciting suitable requirements, the most adequate technique selection is required. Hence, selection of suitable technique will gather the most appropriate requirements, which in turn increase productivity and will provide protection to software industry, to clients and system developer from useless efforts, cost, wastage of time, and other resources. The increase in software success ratio and prevention from failure is mainly dependent on elicitation technique selection based on project attributes of software environment. In this research, the method applied for the selection of elicitation technique must be the most suitable one based on attributes of software project environments. ANP, which is one of the MCDM approaches, is very useful to solve decisions, to structure, and to plan problems where multiple criteria are involved.

In this research, the first step was to develop a network structure using ANP method, and the network structure designed is of goal, criteria, and alternatives associated with the criteria. In the network structure goal is to select suitable elicitation technique, criteria are project environment attributes, and alternatives are elicitation techniques. Due to this network structure requirement engineer understanding level becomes increased about elicitation techniques and project environment attributes. After network structure is designed in the next step, the weights are derived from well experienced persons (Experts), who worked in the software industry for years. The experts carried out the pairwise comparison of techniques with respect to attributes and then of attributes with respect to techniques. On the basis of this comparison, calculations have been done, which result in the Eigen values of the techniques and attributes. The consistency ratio was also calculated, which was less than 0.1 and was correct according to the rule. After weighted super and limit matrix were obtained, the limit matrix was actually the summarized form of all the matrices. After all the processes of pair-wise comparisons and calculating weighted and limit matrix, the results show clearly that IV with values 0.2683 and SV with values 0.1499 were the best choices among the available alternatives as they show high ranked values. The final results are obtained through limit matrix, which contains weights and on the basis of these weights, it can be very easy for a requirement engineer to take decision about most suitable technique selection. The proposed research results represent that the method is quite helpful, useful, and appropriate for decision making with respect to requirement elicitation technique selection. In the proposed study, it has been proved that the application of ANP method is very efficient for technique selection with respect to project environment attributes. In future, the proposed work can be extended by using some more efficient techniques like fuzzy ANP, fuzzy logic, roughest, and so on in order to ensure efficient selection of requirement elicitation technique.

Data Availability

No primary data were used to support this study.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this paper.

Acknowledgments

This work was partially supported by the NSFC project (grant no. 61762058) and the Science and Technology Project of Gansu Province (grant no. 1610RJZA056).