<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>October</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Multi-criteria group requirement prioritization in software engineering using fuzzy linguistic labels</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Giovanni Daián Rottoli</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Carlos Casanova</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Grupo de Investigación en Inteligencia Computacional e Ingeniería de Software (GIICIS), Universidad Tecnológica Nacional Facultad Regional Concepción del Uruguay</institution>
          ,
          <addr-line>Concepción del Uruguay</addr-line>
          ,
          <country country="AR">Argentina</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <volume>2</volume>
      <fpage>8</fpage>
      <lpage>30</lpage>
      <abstract>
        <p>Requirement prioritization is a Software Engineering task that helps to choose which and in what order requirements will be implemented in each software development process iteration. In the same way, requirement prioritization is extremely useful to make decisions during iteration management. In this work a method for requirement prioritization is proposed. This method considers many experts' opinions on multiple decision criteria provided using fuzzy linguistic labels, which allows to capture the imprecision of each experts' judgment. The opinions are aggregated using a majority-guided linguistic IOWA operator considering diferent weights for each expert and then the requirements are prioritized considering the aggregated opinions and diferent weights for each evaluated dimension. The proposed method has been implemented and demonstrated using a test dataset.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Requirement prioritization</kwd>
        <kwd>Fuzzy logic</kwd>
        <kwd>Linguistic labels</kwd>
        <kwd>OWA</kwd>
        <kwd>Software Engineering</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        According to [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], Software Engineering (SE) is the application of a systematic, disciplined,
quantifiable approach to the development, operation, and maintenance of software; that is, the
application of engineering to software. Software is produced to meet the needs of its users,
and the process that transforms these needs into a software is called software development
process, which is one of SE’s main objects of study. Several process models or life cycles have
been proposed, some of them more linear from the construction point of view, while others are
iterative in nature [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In the latter, software construction occurs simultaneously with other
activities such as design and planning.
      </p>
      <p>Many methodologies that utilize an iterative model (from UP’s first versions to Scrum or
FDD) propose to make a prioritization of the requirements, the result of which is an ordering
over the requirements according to their priority level. This prioritization helps when choosing
what requirements will be implemented in each iteration. In the same way, it is useful to make
decisions during iteration management.</p>
      <p>
        The criteria taken into consideration in requirement prioritization usually varies between
methodologies. For instance, in Scrum the prioritization is realized by the Product Owner by
means of Product Backlog ordering [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Although no attribute is specified in Scrum Guide, it is
expected that the ordering is performed exclusively by value (i.e., the value or importance that
the correspondent functionality can bring to the client), since the Product Owner represents
the client in the Development Team. In others like RUP, both technical risk and business value
are taken into account [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        However, in practice, other criteria are taken into consideration when planning an iteration.
For instance, reusability may be of particular interest for allowing to save efort in future
functionalities, or the capacity to be postponed if delays occurs in other tasks (a practice known
as slack in XP [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]). It seems reasonable then to introduce all attributes that may be relevant to
sort the requirements.
      </p>
      <p>
        Nevertheless, the higher the number of attributes considered in the process, the less significant
the comparisons are and the more dificult to perform. This phenomenon is produced by the curse
of dimensionality [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], that is, more attributes introduce the impossibility of a-priori comparing
requirements that are non-dominated (without using further preference information).
      </p>
      <p>
        On the other hand, in the prioritization process multiple decision makers are usually involved.
In OpenUP it is recommended that the whole team participate in the Iteration Planning [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
Again, in Scrum, Sprint Planning is a ceremony in which the entire team participate and may
also invite other people to attend in order to provide advice [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>The iteration planning is, ultimately, based on the expert judgment of the development team
in an unstructured decision process and is carried out through discussion and consensus among
its members. Therefore, such a process has artisanal and heuristic characteristics that are far
from the systematic, disciplined and quantifiable approach that defines SE. For all this, it can be
concluded that the prioritization process is typically multi-criteria and multi-person.</p>
      <p>
        Furthermore, an additional aspect that characterizes the prioritization process is that the
valuations assigned to the attributes of each requirement sufer from the cone of uncertainty’s
efects [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. That is, such valuations are only estimates of the real values of the attributes, which
will become more certain as time passes. In this sense, the use of estimates in the form of numbers
or classic qualitative ordinal scales constitutes a methodologically questionable approach, since
it implicitly assumes that such attributes are known with certainty. Consequently, it is necessary
to make use of a framework that takes into consideration the uncertainty that produces the
impossibility of establishing the estimates precisely.
      </p>
      <p>
        Fuzzy Logic [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] ofers a theoretical framework that allows to capture the imprecision of
expert judgments through the use of linguistic labels, which represent fuzzy sets or numbers.
These labels are ordered by a fuzzy preference relationship, where a label  is preferable to
another  to a certain degree that varies between 0 ( is not preferable at all to  ) and 1 ( is
at least as preferable as  ), admitting intermediate values. These labels can be used as values
of the diferent attributes of the requirements and obtain orders from them.
      </p>
      <p>
        Fuzzy Logic also ofers tools for decision making in contexts with multiple objectives and
multiple decision makers [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], so it is judged as a highly valuable tool in solving problems such
as requirement prioritization.
      </p>
      <p>The rest of the paper is structured as follows. Section 2 presents the proposed method for
approaching the prioritization process. Therein, subsection 2.1 introduces the Fuzzy Linguistic
Labels, 2.2 describes the relevant aggregation operators used, and 2.3 specifies the prioritization
algorithm that produces the requirements ordering from the imprecise evaluations of multiple
experts across multiple dimensions or attributes. Section 3 presents the case of study used
to test the approach. Section 4 contrasts this proposal with related works. Finally, section 5
collects the most relevant conclusions and identifies improvements that will be addressed in
future work.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Proposed method</title>
      <sec id="sec-2-1">
        <title>2.1. Fuzzy linguistic labels</title>
        <p>The method presented in this article uses only ordinal information through a tuple of linguistic
labels sorted by their index.</p>
        <p>Let  be a finite and totally ordered set of labels used to indicate preferences with odd
cardinality where ∀,  ∈ ,  ≥  →  ≥ . The semantic of each linguistic term  is given
by the ordered structure. For example, 1 = (,  , ℎ).</p>
        <p>
          One benefit of the ordinal fuzzy linguistic approach used in this method is, first, its simplicity,
since this technique acts directly taking into account the order of the labels in , and second,
the fact that linguistic assessments are approximations that are handled when it is impossible or
unnecessary to obtain more accurate values [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] . Thus, it is natural for the experts to provide
evaluations for each requirement on each evaluated dimension using this tool, without focusing
in selecting a numeric value.
        </p>
        <p>Given , a set of experts,  , a set of requirements to be prioritized, and , a set of dimensions
or objectives to be evaluated by the experts, the method must be provided with || matrices
| |×| |, where each (, ) ∈  represents the opinion of expert  ∈  about the dimension
 ∈  evaluated on the requirement  ∈  .</p>
        <p>Additionally, each expert  ∈  can be linked to an importance degree using also the ordinal
scale  so their opinion will be ponderated accordingly. The same can be done with the evaluated
dimensions, so each dimension  ∈  weighs diferently in the priorization process.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Aggregation</title>
        <p>
          In order to aggregate the || aforementioned experts’ opinions, an Induced Ordered Weighted
Averaging Operators (IOWA) is used to generate a single general matrix with the combined
opinions of all the experts. More specifically, in this work the majority guided linguistic IOWA
(MLIOWA) operator proposed in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] because it solves common problems related to the semantic
of aggregated linguistic values, and it is a majority guided operator, so the weights used in the
aggregation process are induced considering the majority of values in the expert importance
degree vector. Nonetheless, it is important to note that any other IOWA operator with similar
characteristics can be used.
        </p>
        <p>First, let  ,   and   be a negation operator and two comparison operators
respectively, defined on a linguistic set  = {1, 2, . . . , ||} as follows:
 () = ||− +1
such as:
 ((1, 1), · · · , (||, ||)) =</p>
        <p>||
 = (∑︁  · ( ()))
=1
(2)
(3)
(4)
(5)
(6)
(7)
(8)
1.  :  → {1, ..., ||} such that () = 
2.  : {1, ..., ||} → {1, ..., ||} is a permutation such that  (+1) ≥  (), ∀ = 1, ..., ||−
1.
3. the order inducing values  are calculated using the importance degrees  as shown in
equations 6 and 7.</p>
        <p>=
 + ()</p>
        <p>2
||
 = ∑︁  | =
=1
{︃1 if |() − ( )| &lt;  ∈ {1, ..., ||}</p>
        <p>0 otherwise
4. and, lastly, the weighting vector ¯ calculated using the order inducing values as shown
in equation 8.</p>
        <p>The MLIOWA operator is a function   : ( × )|| → , defined as follows, where  is the
vector of importance related to the experts, and  is a linguistic fuzzy quantifier representing
the concept of majority in the aggregation:</p>
        <p>
          For further information about the MLIOWA operator see the original publication [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
 =
∑︀|=|1 

︃(  ())︃
||
︃(  ())︃
        </p>
        <p>||</p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. Prioritization algorithm</title>
        <p>
          In a previous work, an algorithm for multi-criteria requirement prioritization was presented
[
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. In this work, a variation of that work that uses only linguistic labels and includes multiple
expert opinion is shown.
        </p>
        <p>Given a set of linguistic labels , a set of experts , a set of requirements to be prioritized
 , a set of dimensions or criteria , || matrices | |×| |, just as was defined in 2.1, and also
given an expert importance degree vector  ∈ || and a criteria weight vector  ∈ ||, the
steps of the algorithm are the following:</p>
        <p>First, the experts’ opinions must be aggregated using the MLIOWA operator as stated in
section 2.2 using as input the || matrices  and the experts importance degree vector ,
producing a matrix  | |×| | with the aggregated experts’ , where each  ∈  represents the
aggregated opinion of the set of experts about requirement  ∈  in relation to the dimension
 ∈ .</p>
        <p>The next step is to build a comparison matrix for each dimension using as input the matrix  .
For a specific dimension  ∈ , the comparison matrix  represents the fuzzy preference
relation  ⊆  ×  , where   , defined as shown in equation 9, is the degree to which the
requirement  ∈  is at least as good as  ∈  according to the criterion  .</p>
        <p>||
 = ⋂︁</p>
        <p>=1
  (, ) = min {  (, )}
∈
with  ∈ N, 0 &lt;  &lt; ||</p>
        <p>
          Then, these preference relations represented by each comparison matrix need to be weighted
considering the criteria weight vector to obtain the pondered preference relations. To do this,
an implication approach similar to the one presented by [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] can be used according to equation
10,
  (, ) = max(1 −
||
Then, the global fuzzy preference relation  is the intersection
,   (, ))
( )
using the classic T-norm Min as shown in equation 11.
        </p>
        <p>The global fuzzy preference relation is used then to build a new relation: the strict global fuzzy
preference relation . The complement of   (, ) (equation 12) represents the degree to
which  does not dominate , and can be used to calculate the degree to which an alternative
(9)
(10)
(11)
 is not strictly dominated by any other alternative. This last fuzzy relation is called fuzzy
non-dominance relation and is calculated as shown in equation 13 .</p>
        <p>(, ) = max{  (, ) −   (, ), 0}
  () = min{1 −   (, )} = 1 − max{  (, )}
 
(12)
(13)</p>
        <p>The best alternative  ∈  is the requirement with the highest membership degree to the
fuzzy non-dominance relation . Also, when this value is equal to 1, the decision is said to
be non-dominated and non fuzzy.</p>
        <p>
          [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] proposes using the non-dominance fuzzy set to make the prioritization, but this may not
be appropriate if there are alternatives that are not strictly dominated by others. For example,
if there are 3 alternatives a, b and c, such that a dominates b, b dominates c and, transitively,
Algorithm 1: Proposed prioritization algorithm
        </p>
        <p>Data: Linguistic label set: 
Data: Set of requirements: 
Data: Set of dimensions or criteria: 
Data: Set of experts: 
Data: || experts’ matrices:  ∈ | |×| |
Data: Expert importance degree vector:  ∈ ||
Data: Criteria weight vector:  ∈ ||</p>
        <p>Result: Partial order of requirements
1  = Aggregate experts’ matrices using MLIOWA operator;
2   = Initialize the global fuzzy preference relation matrix ;
3 foreach  ∈  do
4  = Build comparison matrix according to  using  ;
5  = Ponderate dimension using   according to equation 10;</p>
        <p>
          ∀,  = {1, ..., | |},  = (,  ) ;
a dominates c, b and c would have their membership degree equal to 0 making them equally
preferable according to [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], which is not true.
        </p>
        <p>In order to solve this problem, the most preferable solutions  can be removed from the set,
then the membership function of the remaining alternatives to the strict global fuzzy preference
relation can be calculated again and finally their non-dominance degree. This procedure is
repeated until there is no alternative left to be prioritized.</p>
        <p>This method fits problems with either small or large numbers of requirements because it
is possible to compose a single global fuzzy relation from an arbitrary number of dimensions.
For this, fuzzy preference relations are used to evaluate multiple criteria with diferent degrees
of importance in order to classify the alternatives considering the stakeholders’ , weighted by
their relevance. Then, a decreasing order of the solutions is obtained taking into consideration
all the aforementioned aspects.</p>
        <p>The structure of the algorithm is described in algorithm 1.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Case study</title>
      <p>
        In order to illustrate how the proposed method works, a proof of concept using a generated
dataset is shown below as a weak form of validation [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. The dataset is comprised of 5 experts’
opinions about 10 requirements related to a Content Management System (CMS) (see Table 1)
evaluated on 3 diferent dimensions (Complexity, Reusability and Importance). The requirement
set, the dimensions and the first expert evaluations were obtained from [
        <xref ref-type="bibr" rid="ref12 ref16">12, 16</xref>
        ] (see Table 2 ).
The rest of the opinions were generated arbitrarily.
      </p>
      <p>
        An implementation of this method is publicly available in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], as well as all the data used
for this experiment.
      </p>
      <p>Firstly, in all the cases the fuzzy linguistic labels used was the following:</p>
      <p>= (1 : “Very Low”, 2 : “Low”, 3 : “Middle”, 4 : “High”, 5 : “Very High”)
Additionally, the expert importance degree vector  and the criteria weight vector  used are
the ones described below:
Using the aforementioned input, the first step of the algorithms aims to aggregate the
experts’ into a single general matrix. To do this, the MLIOWA operator is used. Hereunder, the
calculations for the element 11 are presented as an example, corresponding to the requirement
1 and the criterion “Complexity”, being the experts’ for this pair the following:
(1 : “Middle”, 2 : “Middle”, 3 : “Low”, 4 : “High”, 5 : “Middle”)</p>
      <p>The support  for each expert importance degree was calculated according to equation
7, considering  = 1, getting the vector  = (4, 1, 4, 4, 4) as result. The first element of the
vector was calculated as follows, and the rest of the elements were calculated equally.</p>
      <p>5
1 = ∑︁ 1 = 1 + 0 + 1 + 1 + 1 = 4</p>
      <p>=1</p>
      <p>The next step aims to get the order inducing value vector , calculated as follows according
to the equation 6.</p>
      <p>4 + 3 1 + 3 4 + 2 4 + 4 4 + 3
 = ( , , , , ) = (3.5, 2, 3, 4, 3.5)</p>
      <p>2 2 2 2 2</p>
      <p>The vector  induces the order shown in Table 3 and allows to get the weights to weigh the
experts’ opinions using equation 8. In this case, the fuzzy quantifier “most of”, Q, was defined
by the parameters (0.3, 0.8). These weights can be seen in the same table mentioned above.</p>
      <p>Lastly, the experts’ were aggregated according to the induced order using the weights
calculated before, as follows:
 = (∑︁  · (  ))
 =(0.294 · (“High”) + 0.235 · (“Middle”)+</p>
      <p>+0.235 · (“Middle”) + 0.176 · (“Low”) + 0.059 · (“Middle”))
 =(0.294 · 4 + 0.235 · 3 + 0.235 · 3 + 0.176 · 2 + 0.059 · 3)
 =(3.115) = 3</p>
      <p>Then, the aggregated value for the requirement 1 evaluated on the criterion “Complexity” is
3 : “Middle”. The whole aggregated matrix is shown in Table 4.</p>
      <p>After aggregating the experts’ opinions, the comparison matrices for each dimension were
calculated using equation 9 (with</p>
      <p>= 1)and then weighed using the equation 10 with the
vector  . Then, the global fuzzy preference relation was determined as the intersection of the
three aforementioned comparison matrices. The result of this process can be seen below:
Matrix of aggregated experts
u
4
3
2</p>
      <sec id="sec-3-1">
        <title>Requirement</title>
      </sec>
      <sec id="sec-3-2">
        <title>Complexity Reusability Importance 1 2</title>
        <p>3
4
5
6
7
8
9
10</p>
      </sec>
      <sec id="sec-3-3">
        <title>Middle</title>
      </sec>
      <sec id="sec-3-4">
        <title>Middle</title>
      </sec>
      <sec id="sec-3-5">
        <title>High</title>
      </sec>
      <sec id="sec-3-6">
        <title>Very Low</title>
      </sec>
      <sec id="sec-3-7">
        <title>Middle</title>
      </sec>
      <sec id="sec-3-8">
        <title>Very High Low</title>
      </sec>
      <sec id="sec-3-9">
        <title>Very Low</title>
      </sec>
      <sec id="sec-3-10">
        <title>Very Low Low Low</title>
      </sec>
      <sec id="sec-3-11">
        <title>Very High</title>
      </sec>
      <sec id="sec-3-12">
        <title>Middle</title>
      </sec>
      <sec id="sec-3-13">
        <title>Very Low</title>
      </sec>
      <sec id="sec-3-14">
        <title>High</title>
      </sec>
      <sec id="sec-3-15">
        <title>Very High Low</title>
      </sec>
      <sec id="sec-3-16">
        <title>Middle Low</title>
      </sec>
      <sec id="sec-3-17">
        <title>Very Low</title>
      </sec>
      <sec id="sec-3-18">
        <title>High</title>
      </sec>
      <sec id="sec-3-19">
        <title>Very High</title>
      </sec>
      <sec id="sec-3-20">
        <title>High</title>
      </sec>
      <sec id="sec-3-21">
        <title>Very Low</title>
      </sec>
      <sec id="sec-3-22">
        <title>High</title>
      </sec>
      <sec id="sec-3-23">
        <title>High</title>
        <p>Low</p>
      </sec>
      <sec id="sec-3-24">
        <title>Very Low Low</title>
      </sec>
      <sec id="sec-3-25">
        <title>Very High</title>
        <p>Lastly, the strict comparison matrix was computed and then the partial order was generated
by iterative calculating the non-dominance vector and selecting those requirements with the
biggest non-dominance membership value. The non-dominance vector calculated in each
iteration as well as the non-dominated requirements are shown in Table 5.</p>
        <p>
          The results are consistent with the results obtained in [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]: when the of a single expert are
provided, the two methods are equivalent.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Related work</title>
      <p>
        According to [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], only a small number of articles uses fuzzy logic for requirement prioritization
in software engineering. These studies difer from our proposal as describe here under.
      </p>
      <p>
        [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] suggested a framework that uses fuzzy linguistic terms parameterized using fuzzy
numbers. In contrast, our methods do not need to use fuzzy numbers due to the fact that the
semantics of each label is associated to its order in the fuzzy linguistic label set. Additionally,
our method allows to integrate multiples , which is not considered in the previously mentioned
proposal. This also occurs in [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. The authors designed a method for requirement prioritization
easy to use and implement but do not consider multiple experts’ .
      </p>
      <p>
        On the other hand, [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] considers the opinion of multiple stakeholders parameterized with
triangular fuzzy numbers as in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] but do not consider multiple objectives or criteria as our
method does.
      </p>
      <p>
        Then, [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] proposes a method for fusing multiples orders of priority, given by multiple experts
with diferent degrees of importance. This method allows the stakeholders not to include into
their order all the requirements, which is a tremendous advantage if the experts do not have
the same degree of expertise on the diferent evaluated criteria. However, this method uses as
input an order of requirements per expert, which is not the case of our algorithm that uses the
experts’ opinions about the requirements instead.
      </p>
      <p>
        Lastly, [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] focuses on predicting changes in requirements priority, which is especially useful
in software engineering groups that use agile methodologies.
      </p>
      <p>To sum up, the algorithm proposed in this article allows the user to generate a partial order
of a set of requirement based on multiple experts’ opinions with diferent importance degrees
on multiple criteria, that also are weighed. Moreover, the proposed method takes as input fuzzy
evaluations using fuzzy linguistic labels, which allows the experts to provide their opinions
in a more familiar way. The semantics of the linguistic labels is given by their position in the
ordered fuzzy linguistic label set, so they do not depend on the definition of fuzzy numbers.</p>
      <p>
        The method is easy to implement and use. This can be seen in the implementation provided
in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], making it highly applicable in the industry, which is a common limitation remarked in
[
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion and future work</title>
      <p>This work presents a new method for requirement prioritization that uses as input the opinions
of many experts on many decision criteria, expressed using fuzzy linguistic labels. The opinions
are aggregated using a majority guided linguistic IOWA considering weights for each expert,
and then, the requirements are compared based on the aggregated experts’ opinions on the
evaluated dimension, which are also weighed by their importance. Moreover, the weights linked
to the criteria and to the experts are expressed using also fuzzy linguistic labels.</p>
      <p>The proposed method was demonstrated using a case of study that works as a weak form of
validation. The algorithm was implemented in such a way that the user only has to provide
the opinions and basic configurations to use it. This is a very desirable property, but a more
rigorous empirical study is needed to determine how the proposal works in a real context with
real users.</p>
      <p>Finally, it is important to remark that some improvements can be made, including allowing
the experts not to give an opinion for all the evaluated dimensions, considering consensus
metrics in the prioritization process, using and comparing other IOWA operators, using and
comparing others T-norms such as Lukasiewicz’s T-norm, and using a diferent linguistic label
set for each dimension.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>Thanks to the National Technological University from Argentina (UTN) through the project
SIUTICU0005297TC: Preference-based Multi-objective Optimization Approaches applied to Software
Engineering, and to Tomás Casanova and Kevin-Mark Bozell Poudereux, for proofreading the
translation.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>ISO</surname>
          </string-name>
          , Iso/iec/ieee international standard
          <article-title>- systems and software engineering-vocabulary</article-title>
          , ISO/IEC/IEEE 24765:
          <year>2017</year>
          (E)
          <volume>1</volume>
          (
          <issue>2017</issue>
          )
          <fpage>1</fpage>
          -
          <lpage>541</lpage>
          . doi:
          <volume>10</volume>
          .1109/IEEESTD.
          <year>2017</year>
          .
          <volume>8016712</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>P.</given-names>
            <surname>Bourque</surname>
          </string-name>
          , R. E. Fairley (Eds.), SWEBOK: Guide to the
          <source>Software Engineering Body of Knowledge, version 3</source>
          .0 ed.,
          <source>IEEE Computer Society</source>
          ,
          <year>2014</year>
          . URL: http://www.swebok.org/.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>K.</given-names>
            <surname>Schwaber</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Sutherland,</surname>
          </string-name>
          <article-title>The scrum guide</article-title>
          ,
          <source>Scrum Alliance</source>
          <volume>21</volume>
          (
          <year>2011</year>
          )
          <article-title>1</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P.</given-names>
            <surname>Kroll</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Kruchten</surname>
          </string-name>
          ,
          <article-title>The Rational Unified Process Made Easy: A Practitioner's Guide to the RUP: A Practitioner's Guide to the RUP</article-title>
          ,
          <string-name>
            <surname>Addison-Wesley Professional</surname>
          </string-name>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>K.</given-names>
            <surname>Beck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Andres</surname>
          </string-name>
          ,
          <source>Extreme programming explained: Embrace change. 2-nd edition</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>R. E.</given-names>
            <surname>Bellman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. E.</given-names>
            <surname>Dreyfus</surname>
          </string-name>
          , Applied dynamic programming, Princeton university press,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Cossentino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Hilaire</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Seidita</surname>
          </string-name>
          ,
          <article-title>The openup process</article-title>
          ,
          <source>in: Handbook on Agent-Oriented Design Processes</source>
          , Springer,
          <year>2013</year>
          , pp.
          <fpage>491</fpage>
          -
          <lpage>566</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>S. McConnell</surname>
          </string-name>
          ,
          <article-title>Software project survival guide</article-title>
          ,
          <source>Pearson Education</source>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>L.</given-names>
            <surname>Zadeh</surname>
          </string-name>
          , Fuzzy sets,
          <source>Information and Control</source>
          <volume>8</volume>
          (
          <year>1965</year>
          )
          <fpage>338</fpage>
          -
          <lpage>353</lpage>
          . doi:
          <volume>10</volume>
          .1016/ S0019-
          <volume>9958</volume>
          (
          <issue>65</issue>
          )
          <fpage>90241</fpage>
          -
          <lpage>X</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>G. J.</given-names>
            <surname>Klir</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Yuan</surname>
          </string-name>
          ,
          <article-title>Fuzzy sets and fuzzy logic: theory and applications</article-title>
          ,
          <source>Possibility Theory versus Probab. Theory</source>
          <volume>32</volume>
          (
          <year>1996</year>
          )
          <fpage>207</fpage>
          -
          <lpage>208</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>E.</given-names>
            <surname>Herrera-Viedma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Pasi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. G.</given-names>
            <surname>Lopez-Herrera</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>Porcel, Evaluating the information quality of web sites: A methodology based on fuzzy computing with words</article-title>
          ,
          <source>Journal of the American Society for Information Science and Technology</source>
          <volume>57</volume>
          (
          <year>2006</year>
          )
          <fpage>538</fpage>
          -
          <lpage>549</lpage>
          . doi:
          <volume>10</volume>
          .1002/asi.20308.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>M. L. Gabioud</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Casanova</surname>
          </string-name>
          ,
          <article-title>Priorización en ingeniería de requerimientos con preferencias difusas</article-title>
          , in: VII Congreso Nacional de Ingeniería Informática/Sistemas de Información,
          <year>2019</year>
          , p.
          <fpage>1</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>R. R.</given-names>
            <surname>Yager</surname>
          </string-name>
          ,
          <article-title>A new methodology for ordinal multiobjective decisions based on fuzzy sets</article-title>
          , in: D.
          <string-name>
            <surname>Dubois</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Prade</surname>
            ,
            <given-names>R. R.</given-names>
          </string-name>
          <string-name>
            <surname>Yager</surname>
          </string-name>
          (Eds.),
          <article-title>Readings in Fuzzy Sets for Intelligent Systems</article-title>
          , Morgan Kaufmann,
          <year>1993</year>
          , pp.
          <fpage>751</fpage>
          -
          <lpage>756</lpage>
          . doi:
          <volume>10</volume>
          .1016/B978-1
          <source>-4832-1450-4</source>
          .
          <fpage>50080</fpage>
          -
          <lpage>8</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>H.</given-names>
            <surname>Borzęcka</surname>
          </string-name>
          <article-title>, Multi-criteria decision making using fuzzy preference relations</article-title>
          ,
          <source>Operations Research and Decisions</source>
          <volume>22</volume>
          (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>R.</given-names>
            <surname>Wieringa</surname>
          </string-name>
          ,
          <article-title>Design science methodology for information systems</article-title>
          and software engineering, Springer,
          <year>2014</year>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>662</fpage>
          -43839-8.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>M.</given-names>
            <surname>Muqeem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. R.</given-names>
            <surname>Beg</surname>
          </string-name>
          ,
          <article-title>A fuzzy based approach for early requirement prioritization</article-title>
          ,
          <source>International Journal Of Computers &amp; Technology</source>
          <volume>15</volume>
          (
          <year>2015</year>
          )
          <fpage>6480</fpage>
          -
          <lpage>6490</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>G. D.</given-names>
            <surname>Rottoli</surname>
          </string-name>
          ,
          <source>Gdrottoli/requirementprioritization: Rp v1.1.0</source>
          ,
          <year>2021</year>
          . doi:
          <volume>10</volume>
          .5281/zenodo. 5327643.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>F. A.</given-names>
            <surname>Bukhsh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z. A.</given-names>
            <surname>Bukhsh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Daneva</surname>
          </string-name>
          ,
          <article-title>A systematic literature review on requirement prioritization techniques and their empirical evaluation</article-title>
          ,
          <source>Computer Standards &amp; Interfaces</source>
          <volume>69</volume>
          (
          <year>2020</year>
          )
          <article-title>103389</article-title>
          . doi:
          <volume>10</volume>
          .1016/j.csi.
          <year>2019</year>
          .
          <volume>103389</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>D. C.</given-names>
            <surname>Lima</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Freitas</surname>
          </string-name>
          , G. Campos,
          <string-name>
            <given-names>J.</given-names>
            <surname>Souza</surname>
          </string-name>
          ,
          <article-title>A fuzzy approach to requirements prioritization</article-title>
          , in: M. B.
          <string-name>
            <surname>Cohen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          Ó Cinnéide (Eds.),
          <source>Search Based Software Engineering</source>
          , Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>2011</year>
          , pp.
          <fpage>64</fpage>
          -
          <lpage>69</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -23716-
          <issue>4</issue>
          _
          <fpage>8</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>A.</given-names>
            <surname>Ejnioui</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Otero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Otero</surname>
          </string-name>
          ,
          <article-title>A simulation-based fuzzy multi-attribute decision making for prioritizing software requirements</article-title>
          ,
          <source>in: Proceedings of the 1st Annual Conference on Research in Information Technology, RIIT '12</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2012</year>
          , p.
          <fpage>37</fpage>
          -
          <lpage>42</lpage>
          . doi:
          <volume>10</volume>
          .1145/2380790.2380800.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>P.</given-names>
            <surname>Achimugu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Selamat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Ibrahim</surname>
          </string-name>
          ,
          <article-title>Using the fuzzy multi-criteria decision making approach for software requirements prioritization</article-title>
          ,
          <source>Jurnal Teknologi</source>
          <volume>77</volume>
          (
          <year>2015</year>
          ). doi:
          <volume>10</volume>
          . 11113/jt.v77.
          <fpage>6321</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>F.</given-names>
            <surname>Franceschini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Maisano</surname>
          </string-name>
          , L. Mastrogiacomo,
          <article-title>Customer requirement prioritization on qfd: a new proposal based on the generalized yager's algorithm</article-title>
          ,
          <source>Research in Engineering Design</source>
          <volume>26</volume>
          (
          <year>2015</year>
          )
          <fpage>171</fpage>
          -
          <lpage>187</lpage>
          . doi:
          <volume>10</volume>
          .1007/s00163-015-0191-2.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>A.</given-names>
            <surname>Sapunkov</surname>
          </string-name>
          , T. Afanasieva,
          <article-title>Software for automation of user requirements prioritization</article-title>
          ,
          <source>in: Proceedings of the 2019 2nd International Conference on Geoinformatics and Data Analysis</source>
          ,
          <source>ICGDA</source>
          <year>2019</year>
          ,
          <article-title>Association for Computing Machinery</article-title>
          , New York, NY, USA,
          <year>2019</year>
          , p.
          <fpage>1</fpage>
          -
          <lpage>5</lpage>
          . doi:
          <volume>10</volume>
          .1145/3318236.3318251.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>