Keywords

1 Introduction

1.1 Software Engineering

The traditional concept of software engineering, one of the prominent disciplines of computer science, merely defines the detailed and systematic study to the development of software [1, 2]. But in the past 15 years, the emerging trends and technologies, diversities in customer requirements, market demand, and much more complied the engineers to change their perception for software engineering. The term does not remain only for the software development practices like elicitation, designing, modeling, codification, debugging, maintenance, and documentation but data collection, decision support system, knowledge discovery are some of the aspects also incorporated with the software engineering. Now, data accumulation, gaining experiences, knowledge extraction, building statistical systems go hand-in-hand with software development activities.

Domain experts, researchers, engineers, client, trade union involvement, and those who directly or indirectly influence the development process have become a part of the software engineering. All of them constitute as stakeholders [1]. They take every promising step in order to make a successful project as the success or failure of software is the responsibility of whole team. But apart from these entire endeavors, the studies conducted by the researchers over the past decade state that the failure rate of software has crossed the threshold. They identified certain causes of failure [3] which are enumerated as (1) unarticulated project goals, (2) unclear requirements, (3) sloppy software development models, (4) inaccurate estimation of resources, and (5) poor communication among customers and developers.

One of the reasons they cited is the wrong selection of software development model (SDM). The paper underlines this problem as a subject of study and proposes a solution using TOPSIS methodology—an operative approach of multicriteria decision making (MCDM) [4].

1.2 Basics of Multicriteria Decision Making (MCDM)

MCDM is a qualitative and quantitative technique for making effective decisions when multiple and conflicting parameters are taken into account [5]. It offers experts an opportunity to utilize its significance in the areas where decision making is considered as tedious job. The wide variety of MCDM methods provides framework which selects the best suited alternative after evaluating different criteria, defined under a particular scenario [6, 7]. The paper focuses on the application of MCDM approach in software engineering field.

The whole research is divided into several sections. The first section broadly describes the MCDM and its methods followed by the literature review in software engineering scenario. The flow of TOPSIS is described in the third section. The following section is the main concern of this paper. It focuses on the proposed model of TOPSIS for SDM selection. Results and discussion are briefly presented in the next section. Finally, the above content is supported by the conclusion of this study.

2 MCDM

MCDM has gained the popularity because of its intuitive nature. It begins with the decomposition of the complex problem into hierarchical structure which is easy for humans to understand. It is classified into various methods which provide optimal solution for selecting the best among alternatives [5]. The following section highlights the MCDM supporting methods and how they have been turned into a reliable and robust decision-making tool in software engineering applications.

2.1 MCDM Methods

Figure 1 represents the classification tree of MCDM methods. The successive heading gives a glance over the working of some methods extensively used in corporate sector for making judgments.

Fig. 1
figure 1

Hierarchical structure of MCDM methods [6]

2.1.1 Outranking-Based Methods

The outranking-based methods, such as ELECTRE [7, 8] and PROMETHEE, are based on concordance analysis. It establishes the “outranking relationship” between concordance and discordance matrices and uses their indices to choose the best alternative.

2.1.2 Ranking-Based Methods

The ranking model prioritizes the alternatives after rigorous analysis based on either geometrical mean, Euclidean distance or ratio. It performs pairwise comparison among criteria as well as for each alternative. Two approaches, AHP and TOPSIS [9], are most popular among decision-makers and experts. The reason behind is ease in the steps of algorithm. In AHP, the Saaty Table 1 [10] plays a crucial role in constructing pairwise comparison matrices. The weights are computed with the help of geometric mean. The different alternatives are ranked after analyzing eigenvalues and eigenvectors.

Table 1 Defined scale and their corresponding definition

On the contrary, TOPSIS model uses Euclidean distance for weight computation. Instead of using the Saaty scale, the preference is given to the view of experience holders, decision-makers, and experts. Its plus factor is found in the consistency of result even when the small degree of uncertainty cannot be neglected.

2.1.3 Fuzzy Methods

What happens when decision-makers stuck in certain circumstances where the uncertainties, complexities, vagueness, incompleteness are high? In that case, the classic approach does not have suitable answers. The introduction of fuzzy set theory offers stakeholders a novel concept to not only take the discrete values, rather consider the membership of defined variables. It aims to find a solution in between True and False, Yes or No, 0 and 1, High or Low. The researchers embedded the fuzzy application into traditional methods of decision making. Some of the fuzzy approaches are fuzzy AHP and fuzzy TOPSIS.

Fuzzy AHP, more or less, is similar to AHP. However, the Saaty scale [10] had been modified by researcher Chang [11]. The simple scale is converted into triangular fuzzy number (TFN) for pairwise comparison matrices. TFN translates linguistic term into a tuple containing optimistic, moderate, and pessimistic values [12]. The entire algorithm runs alike AHP over TFNs.

As TOPSIS is another version of AHP, similarly fuzzy TOPSIS is close to fuzzy AHP.

2.2 MCDM in Software Engineering Scenario

Recently in March 2018, TOPSIS approach is used as a tool in selection of location for property development. The author [13] prescribed 32 criteria for analysis including soil texture, drainage system, distance from city. Alternatives for locations are sites A, B, and C which are part of this study through decision support system (DSS). The steps of TOPSIS process are done as follows: (1) Collect relevant data about locations, (2) location selection, (3) survey, (4) data processing using TOPSIS, (5) discussion of results, and (6) recommend the location.

In August 2017, the commendable job is done by the team of research scholar for the selection of best software engineering practices [4] using PAPRIKA, a decision-making approach. The study covers 11 criteria as software development practices for designing a medical application. The proposed PAPRIKA framework is used for the project development which does not conform to a definite software methodology.

In March 2017, another popular technique fuzzy AHP (or FAHP) has been applied in the software effort estimation in scarcity of data [14]. The results were validated with IVR dataset of a software industry. The relative ranking of 20 projects from the dataset has been achieved after evaluating their weights. The equation for estimating effort is based on the variables including estimated effort, known effort, and their respective weights.

In 2016, the application of integrated techniques comes into existence. AHP and TOPSIS methodologies are integrated for ETL software selection [15]. ETL, stands for Extract, Transfer and Load, is a powerful action for data preprocessing before it loaded into data warehouse. The framework is composed of three steps: (1) AHP technique, responsible for making pairwise comparison among criteria and determining their weights; (2) TOPSIS technique, responsible for constructing decision matrices, determining ideal and negative ideal solution and prioritizing alternatives; (3) final selection of the best alternative, i.e., decision making.

3 TOPSIS Methodology

The paper revolves around the implementation of TOPSIS in software project planning to answer “Which SDM is best fitted into the scenario?” The successive heading describes the TOPSIS work flow.

TOPSIS, acronym for Technique for Order Preference by Similarity to Ideal Solution, follows two rules [13, 15]. One, selected alternative is closest to ideal solution, and second, it should have the distance from the negative ideal solution. Ideal solution involves best criteria (maximum profit, minimum time, high value, etc.), whereas negative ideal solution contains worst criteria (minimum profit, maximum time, low value, etc.).

3.1 Major Steps

Suppose there are ‘k’ numbers of decision-makers, ‘m’ number of alternatives, and ‘n’ number of criteria, then the steps of algorithm are as follows:

  • Step 1 Generation of decision matrices

For every alternative m, the decision matrix D is given by Eq. (1),

$$D^{p} = \left[ {d_{ij} } \right]\quad 1 \le p \le m, \;1 \le i \le n,\; 1 \le j \le k$$
(1)

where \(d_{ij}\) is the rating scale from 1 to 10 or 1 to 100, where 1 stands for low and 10 for very good.

Similarly, the decision matrix is constructed for rating the criteria and represented by the form given below.

$$W = \left[ {w_{ij} } \right]\quad 1 \le i \le n,\,\,1 \le j \le k$$
(2)

where \(w_{ij}\) is the rating scale from 1 to 10 or 1 to 100, where 1 stands for low and 10 for very good.

The mean along each row of W is calculated and assign them to criteria as their weights.

$$\overline{ W} = \left[ {\bar{w}_{x} } \right]\quad 1 \le x \le n$$
(3)

where \(\overline{{w_{x} }}\) is the computed mean along each row.

  • Step 2 Reduction of m decision matrices into single matrix

Taking mean along each row in m matrices, these are reduced into one decision matrix of \(n \times m\) dimension.

  • Step 3 Standardize the decision matrix

To standardize the matrices, the columns are divided with root of sum of the squares computed along each row.

$$D = \left[ {d_{ij} } \right]\quad 1 \le i \le n,\;1 \le j \le m$$
(4)
  • Step 4 Weighted decision matrix

To construct the weighted matrix, ratings achieved in step 3 are multiplied with the respective criteria weights from Eq. (3). The modified decision matrix D from step 3 is multiplied with the criteria weights \(\overline{{w_{x} }}\) as,

$$D = \left[ {d_{ij} \times \overline{{w_{x} }} } \right]\quad 1 \le i \le n,\;1 \le j \le m,\;1 \le x \le n$$
(5)
  • Step 5 Determining ideal and negative ideal solution

For ideal solution, compute the maximum for each criteria as,

$$I = \left\{ {{ \hbox{max} }\left[ {d_{ij} } \right]} \right\}\quad 1 \le i \le n,\; 1 \le j \le m$$
(6)

For negative ideal solution, compute the minimum for each criteria as,

$$NI = \left\{ {{ \hbox{min} }\left[ {d_{ij} } \right]} \right\}\quad 1 \le i \le n,\;1 \le j \le m$$
(7)
  • Step 6 Determining distance from ideal and negative ideal solutions

Firstly, each weight is subtracted from concerned value in I and squared. Then, root mean distance is evaluated along columns for determining closeness to the ideal solution.

$$D = \left[ {\left( {d_{ij} - y} \right)^{2} } \right]\quad 1 \le i \le n, 1 \le j \le m,\;y \in I \;{\text{for}}\;{\text{respective}}\;i$$
(8)

For particular j, root mean distance for ideal solution \(S_{i}\) is

$$S_{i} = \left\{ {\left( {\sqrt {d_{1j} + d_{2j} + d_{3j} + \ldots \ldots + d_{nj} } } \right)} \right\}$$
(9)

Similarly, the above equation is used for determining separation from negative ideal solution denoted by \(S_{ni}\)

  • Step 7 Relative closeness to ideal solution

$${\text{RC}} = \left\{ {\frac{{S_{ni} }}{{S_{i} + S_{ni} }}} \right\}$$
(10)

The RC denotes the relative closeness of each alternative to ideal solution.

4 Proposed Work—TOPSIS for SDM Selection

The study traces the steps of TOPSIS to propose a model for choosing appropriate SDM. The flow of our TOPSIS model is depicted in Table 2.

Table 2 TOPSIS for SDM selection [13]

Consider

Alternatives: (1) Waterfall Model, (2) Spiral Model, (3) Agile Model

Criteria: (1) Flexibility of requirements, (2) Risk analysis, (3) Customer feedback

Experts: (1) E1, (2) E2, (3) E3 (Tables 3, 4, 5, 6, 7, and 8).

Table 3 Decision matrix for criteria
Table 4 Decision matrix for alternative Waterfall Model
Table 5 Decision matrix for alternative Spiral Model
Table 6 Decision matrix for alternative Agile Model
Table 7 Standard decision matrix
Table 8 Standard decision matrix (continued)

5 Results and Discussion

Weight matrix is achieved by multiplying the weights of respective criteria. It is represented as,

$$\left[ {\begin{array}{*{20}c} {0.26 \times 9.33 = 2.42} \\ {0.20 \times 8.67 = 1.73} \\ {0.28 \times 8.0 = 2.24} \\ \end{array} } \right],\left[ {\begin{array}{*{20}c} {5.22} \\ {5.80} \\ {5.04} \\ \end{array} } \right],\left[ {\begin{array}{*{20}c} {7.27} \\ {6.06} \\ {5.68} \\ \end{array} } \right]$$

Ideal solution, \(\left\{ {7.27, 6.06, 5.68} \right\}\), and negative ideal solution, \(\left\{ {2.42, 1.73, 2.24} \right\}\)

Distance from ideal solution \(S_{i} = \left\{ {7.35, 2.15, 0} \right\}\) and negative ideal solution \(S_{ni} = \left\{ {0, 5.67, 7.35} \right\}\)

Finally, relative closeness is calculated using Eq. (10), and we get (Table 9).

Table 9 Relative closeness of alternatives

Therefore, the order of ranking is defined as below:

Agile Model > Spiral Model > Waterfall Model

So, the TOPSIS model recommends Agile Model because its closeness is maximum to best criteria.

6 Conclusion

Multicriteria decision making (MCDM) has been becoming indispensable in the software engineering discipline for more than a decade [16]. Its presence is vital when making decisions is uncompromising and stern for company. It does not limit to software industry but also in ecological assessment [17]. The methods of MCDM involve quantitative and qualitative analyses for linguistic variables in contrast to discrete variables.

As we prove, the TOPSIS provides robust and simple framework for prioritizing the alternatives and present the best suitable option before stakeholders. It does not much require the domain knowledge but the statistical analysis. The results are acceptable and clear to experts. It “best discriminates” the superior and inferior alternative on the basis of closeness to attributes.

TOPSIS has wide potential to mark its presence in another area. Its scope is high in the applications of software engineering and other subfields of computer science which are yet to be explored.