SlideShare a Scribd company logo
1 of 5
Download to read offline
Application of a Data Visualization Technique Based on Trees to Aid Prioritization
                            of Requirements in Agile Projects
     Fabio Abrantes Diniz1, Thiago Reis da Silva2, Diego Grosmann3, Ithalo Bruno Gregório de Moura4,
                     Francisco Milton Mendes Neto5, Pedro Fernandes Ribeiro Neto6


Abstract  The practice of requirements prioritization                       Therefore, this work used a data viewing technique
involves the recovery analysis of each requirement by                    based on "TreeMap" [4]. This technique aims to show new
customers and requirements selection that will be                        ways of data viewing more intuitive and effective, which
implemented in a specific version of the system. Wrong                   helps in the analysis of the results obtained by the
choices during requirements prioritization may affect the                requirements prioritization practice that is based on Kano
system quality and thus its acceptance by customers. Within              technique.
this context, some practices of requirements prioritization
have been addressed in agile projects to improve the                       SCRUM – AN AGILE SOFTWARE DEVELOPMENT
requirements prioritization stage. Among them, there is a                              METHODOLOGY
practice based on Kano technique, which uses the agile
development methodology Scrum in software projects.                           The agile methodology Scrum has come up proposing to
However, the resulting data from Kano practice produces                  “debureaucratize” the software development process,
much textual information, which is difficult to be viewed and            allowing teams to be more adaptables, rapidly responding to
analyzed in order to determine the real importance of each               constant changes in software projects. According to their
requirement. Therefore, this paper proposes a data                       evangelizers, the customer becomes more satisfied, because
visualization technique based on "TreeMaps" in order to                  there are constantly deliveries of developed features, and the
assist in the viewing results o the Kano technique.                      customer actively participates in the project bringing
                                                                         knowledge about the business.
Index Terms  Agile Projects. Prioritizing Requirements. Kano.                Scrum stands out from other processes for being a
                                                                         method interactive, incremental and agile for projects
                       INTRODUCTION                                      management [10. Like any other methodology, it has roles
                                                                         and responsibilities. There are three roles: Product Owner,
     The requirements prioritization is a challenging activity           Team Member and Scrum Master. Product Owner could be
in software development [6]. This practice involves the                  the sponsor or the person interested in the project and is in
Stakeholders analysis of each requirement and the                        charge to represent the interests of all users of the system.
requirements selection that will be developed in a specific              The Team Member is composed by a people group in charge
version of the system. Wrong choices on which requirements               to develop the project taking into account all of the features
should be prioritize and may affect the system quality and,              needed. And finally, the Scrum Master, which the main
then, be accepted by customers.                                          characteristic is the project leadership, the Product Owner
     In agile methodologies, with reference to the Scrum                 interests management and the conflicts management faced
agile methodology, some practices of requirements                        by the Team Member.
prioritization have been addressed in agile projects to                       Scrum works with incremental development, where
improve the requirements prioritization stage. Among them,               each iteration is called Sprint. The process must start from
there is a practice based on Kano technique [1].                         the requirements organization of the project in a
     The Kano technique enables the product developers                   requirements list named Product Backlog. This list is
transform the information obtained by research into real                 organized in descending order of priority. From Product
improvements in order to achieve the customer satisfaction               Backlog, the team selects parts of the requirements
[5]. However, the Kano technique produces a lot information              according to priorities in order to Sprint be performed,
with textual presentation by means of tables and reports,                forming the Sprint Backlog (Sprint task list) [10].
which interfere in viewing of such, making the responsible                    During a Sprint, the team has autonomy to decide how
ones spend a lot of time processing large data volumes.                  the tasks will be implemented and ensures that the most
                                                                         important requirements are developed first. In addition, there

1
  Fábio Abrantes Diniz, Master in Computer Science at the Graduate Program in Computer Science – UERN/UFERSA, fabio.abrantes.diniz@gmail.com
2
  Thiago Reis da Silva, Master in Computer Science at the Graduate Program in Computer Science – UERN/UFERSA, trsilva.si@gmail.com
3
  Íthalo Bruno Grigório de Moura, Master in Computer Science at the Graduate Program in Computer Science – UERN/UFERSA, ithalobgm@gmail.com
4
  Diego Grosmann, Master in Computer Science at the Graduate Program in Computer Science – UERN/UFERSA, diegogrosmann@gmail.com
5
  Francisco Milton Mendes Neto, Teacher Graduate Program in Computer Science – UERN/UFERSA, miltonmendes@ufersa.edu.br
6
  Pedro Fernandes Ribeiro Neto, Teacher Graduate Program in Computer Science – UERN/UFERSA, pedrofernandes@uern.br


© 2013 ICECE                                                                 March 03 - 06, 2013, Luanda, ANGOLA
                           VIII International Conference on Engineering and Computer Education
                                                             81
are short daily meetings always at the same time with the                                      TABLE I
Scrum Master, which is charge of project management and                  ANSWERS TO THE FUNCTIONL AND NON-FUNCTIONAL
                                                                        QUESTIONS AND RESULTS FOR EACH COMBINATION
group leadership. In these meetings, it is discussed the work
progress in which every team member presents results of
their tasks and what should be done after conclusion [10].
     The Sprint output is a set of features 100% developed,
which shall be approved by Product Owner (in charge for
project definition, definition and prioritization of
requirements) and delivered to the customer. At the end of
each iteration, the whole team participates in a Sprint                 The category I (indifferent) in Table I is used when the
retrospective. After the Sprint conclusion, the cycle restarts,    user shows that has no real need for this feature, i.e. it does
removing the next slice of Product Backlog for the next            not matter if is satisfied or not. The category M (mandatory
Sprint [10].                                                       or indispensable) means that if the requirement is not met,
      In view of the facts presented, it is possible to notice     the customer will be not satisfied. For the customer, the
the reason why Scrum is one of the agile methodologies             requirements of category M are already embedded in the
most used by software development companies, because it is         products offered, and are therefore a prerequisite. That put
a process that builds software incrementally in complex            the Mandatory requirements will not make the customer
environments, where the requirements are not clear or              happier, however, without them the system does not work
change very frequently.                                            and the customer does not acquire the product.
                                                                        Category D (desired) means that these requirements
       KANO TECHNIQUE IN REQUIREMENTS                              provide great satisfaction to the customer when they are
      PRIORITIZATION FOR AGILE PROJECTS                            present, but do not represent dissatisfaction in case they are
                                                                   not present. The category L (linear or important) means that
     Using Kano technique in requirements prioritization
                                                                   the customer satisfaction is proportional to the completion
process for agile projects proposed by [1] facilitates the
                                                                   level of these requirements, i.e., the higher the completion of
requirements prioritization for the customer. The customer
                                                                   level, the higher will be the customer satisfaction. The
has difficulty in saying what requirement is the most
                                                                   category R (reverse) means that, if that requirement is
important in a system, because for the customer, all
                                                                   developed, could cause a rejection to the software or certain
requirements are interesting and indispensable for the
                                                                   feature. The category Q (questionable) means that the user
product. In Scrum methodology, this happens in many cases.
                                                                   does not understand the questions or that he is not
The customer puts many requirements with maximum
                                                                   corresponding with the truth [1]. According to the analysis
business value making it clear that the costumer has no idea
                                                                   of the proposed work by Asfora [1], shows that the order of
which requirements are really important.
                                                                   prioritization of requirements that would bring a very large
     The application of Kano technique in the prioritization
                                                                   value if they are treated is respectively: Mandatory, after the
process for agile projects based on Scrum methodology is
                                                                   important or linear and, finally, desirable.
performed before the Product Owner sends the Product
                                                                        According to Table II, the combinations of the
Backlog to the development team in order to the
                                                                   responses from Kano table for the two questions generate a
requirements can be prioritized. The technique is to make a
                                                                   result for each requirement. It is seen that the requirement 1
couple of questions for each requirement. A functional
                                                                   (Req 1) has the largest percentage (43.8 %) for classification
question and other non-functional. According to [1] the
                                                                   as linear or important. The requirement 3 (Req 3) was
importance of Kano technique in these questions is to show
                                                                   classified as mandatory and desired because both have close
the parallel between what makes the customer very satisfied
                                                                   results. Therefore, leaving the following descending order of
and what it does not, this helps to understand the real need
                                                                   prioritization: Requirement 2, requirement 1 and finally
for each requirement. If the parallel mentioned is not present
                                                                   Requirement 3.
in the next prototype delivery, it is very important to have
the real need relation for each requirement. It is natural that
                                                                                             TABLE II
always be responded that such very important requirement                              RESULTS SUMMARIZING
must be done, because the user wants a great amount of
activities performed by a software. In these cases, it is
interesting include the dissatisfaction criterion to notice what
really makes him unsatisfied if it is not developed.
     Questions are formed as follows: (a) how would you
feel if Requirement X was in the next release? (B) How
would you feel if Requirement X was not in the next                      Kano technique is very efficient regarding its use and
release? The answer options are specified in Table I.              the data types obtained. However, concerning viewing
                                                                   results, it is very unsatisfactory due to the fact of already


© 2013 ICECE                                                               March 03 - 06, 2013, Luanda, ANGOLA
                         VIII International Conference on Engineering and Computer Education
                                                           82
know which requirements will be prioritized. And it is really     TreeSolutions were: Slice and Dice, Squarified TreeMap and
difficult to make a decision. For example, in Table II, how to    Ordered TreeMap [11] [4]. These algorithms represent a
know which requirements (between Req 2 and Req 3) must            hierarchical data structure by rectangles recursive division.
firstly be implemented? Both appears as mandatory. In agile       This recursion determines the layout by calculating the
projects, the team makes fast decisions and it may happen         rectangle area filling them in their respective locations.
the team does not understand the Kano technique results [1].           There are many different characteristics among these
      Thus, it was adapted to the Kano technique the use of       TreeMaps algorithms. These algorithms, when applied to the
data viewing resource from "TreeMaps" method, because             TreeSolutions tool, have their respective characteristics,
only the table view that is indicating the percentage that        presenting variations, advantages and disadvantages among
were most voted by the users, it is not enough to make the        them. It is interesting to make a comparative analysis among
items prioritization.                                             them to be used in certain moments of data viewing. This
                                                                  helps the making decision process becomes faster in order to
    TREEMAP – A DATA VIEWING TECHNIQUE                            assist in the requirements prioritization process, so that to
              BASED ON TREE                                       choose which requirements have more priorities to be
                                                                  developed in early versions of the prototypes. Table III
     TreeMap is a viewing technique that explores                 compares these algorithms through metrics:
ergonomics basic concepts, making human being initially                • Aspect ratio: (ratio between length and width of
focus their gaze on large figures to then look at small figures             the rectangle;
[11]. This feature can be used in viewing of items from the            • Stability: checks the data stability in terms of size
Product Backlog, aiming to display the requirements                         and position of the rectangles when processing data
hierarchy that have more priority to be developed.                          changes;
     Some advantages are evident using TreeMap, such as:               • Ordering: evaluates the original order of data when
efficiently uses the whole screen viewing; preserves the                    processing data changes;
general information context; quick navigation among nodes;
                                                                       • Suitability for reading: verifies the performance
allows the user a scope overview and is very useful in
                                                                            of the visualization of data regarding structures.
displaying data quantitative variables [11] [4]. It has been
used in multiple applications due to its ease of viewing that
                                                                                           TABLE III
provides to users the comparative analysis of a large amount                COMPARISON OF TREEMAPS ALGORITHMS
of information. Nowadays, it is used in computer file system
applications, geographical maps, complex databases (IBGE),
industrial applications (stocks), educational systems,
artificial intelligent systems, headlines news, marketing,
among others [11].
     The TreeMap divides the screen in a nested rectangles
sequence corresponding to attributes of a data set. Each
rectangle has an area and color which are defined by the                According to Table III, the positive sign (+) indicates a
values previously set. Therefor, it has properties that must be   positive result that brings the metric to the specific
taken into consideration, and according to [11] and [4], the      algorithm, since the minus sign (-) indicates a negative result
properties are:                                                   or metric in the absence of specific algorithm. Looking at
                                                                  Table III, the Squarified and the Ordered TreeMap
     • A weight (requirement classification) will
                                                                  algorithms were the most viable for the TreeSolutions tool,
          determine the size of each rectangle in the
                                                                  because they have characteristics focused on stability and
          structure;
                                                                  ability to represent an amount of information without
     • The color is used to represent the user's satisfaction
                                                                  generating a TreeMap, which is uncomfortable for the
          in having the requirement in the system [5]. The
                                                                  interaction with the user and show suitability for reading and
          lighter colors will represent the requirements most
                                                                  data analysis.
          desired, while the darker colors will represent the
          less desired. This work implements a color scale                            TREESOLUTIONS
          that assigns unique values for each color in order to
          differentiate them;                                           Based on the TreeMap concepts, the TreeSolutions was
     • Using pop-ups to show requirement information              designed to meet the Product Owner in the requirements
          when hover the mouse over an interest area of           prioritization stage of Scrum methodology that uses the
          rectangle.                                              Kano technique. It helps the Product Owner in decision
     Another strong point in the TreeMap construction is the      making to determine the business value of Product Backlog
algorithm definition to be used in the rectangles creation.       requirements so that it can be delivered faster to the
The rectangles layouts are dependent on the division              developers team.
algorithm used. Some of the algorithms used in


© 2013 ICECE                                                               March 03 - 06, 2013, Luanda, ANGOLA
                         VIII International Conference on Engineering and Computer Education
                                                           83
The system is open source and developed in the Java.           allocated according to the their characteristics contexts and
Tests were performed with the existent data in case studies          analyzed tests during development. The questionable
found in the work produced by [1] and according to the               category and the reverse received negative values, because
results analysis, it was observed that, using TreeMap                they categorized the requirements that do not bring
technique made data viewing more efficient, consistent,              satisfaction to the users [1].
robust and agile. Next, it will be described the TreeSolutions            In addition to presenting to the user the requirements
system with the features and the result obtained by TreeMap          viewing in rectangle shape, the system has the pop-up
with a case study data of [1].                                       resource, which presents the requirement information when
                                                                     hover the mouse over the area that represents a requirement,
          TreeSolutions System Implementation                        such as: rectangle size are, color value, and the requirement
       TreeSolutions consists of a desktop system developed          attributes with its values received from the Kano table result.
in Java. However, there is a beta version for Web.                                            System Results
TreeSolutions is subdivided into two main modules
implementation: TreeMap Module and Interface Module.                      The test of TreeSolutions system was performed based
In the Interface module, the Product Owner has access to a           on data collected in [1]. The data acquired involve a case
graphical interface with information about its Product               study of the (CESAR), short for Centro de Estudos e
Backlog containing the requirements. This interface allows           Sistemas Avançados do Recife (English: Recife Center
insertion of the Product Backlog. In addition, the                   for Advanced Studies and Systems). They were originated of
information coming from the Kano table are inserted, such            the SEPG project - group of improvement of the internal
as: the categories percentage values of all requirements             software development process [1]. Some of these data are
(mandatory, linear, desired, questionable, reverse or                presented in Table IV, which contains 15 requirements with
indifferent). They could be imported and exported into a file        their results from applying of Kano technique.
in XML (Extensible Markup Language).                                      The TreeMap resulting is from data entry in Table IV,
       In the TreeMap module is implemented the viewing              which is shown in Figure 1. According to the results
technique named TreeMap. We used the Java TreeMap class              analysis, it was observed that using the TreeMap technique
that offers additional features to associate the order to the        made the data viewing more efficient and robust for the list
collection elements. The algorithms mentioned in Section 5           preparation of requirements prioritized.
were developed and implemented in this module to represent
the rectangles areas and were implemented the color                                           TABLE IV
providers, which import the color models RGB (Red, Green             RESPONSE PERCENTAGE GENERATED BY KANO TECHNIQUE [1].
and Blue), HSB (Hue, Saturation and Brightness) and its
variations for colors reproduction in the rectangles areas of
the TreeMap.
       According to the system implementation context, it was
given the rectangle area as an attribute more significant than
the color, since the area represents indispensable and
important requirements, i.e., they are requirements which
without them, the system does not work. The rectangle color
represents the user satisfaction in having the requirement in
the system. Then, the clearer is the color in the colors scale,
the greater is the user satisfaction having the requirement in
the system. The rectangle area indicates the presence degree,              As is shown in Figure 1, the viewing screen has a
i.e., rectangles of greater area represent the requirements that     choice field of the viewing strategy (a) in which you choose
must be in the system. Therefor, the larger is the area and the      the algorithm used in the TreeMap construction and has the
greater is the color in the colors scale, this indicates that this   rectangles color scale that can be changed according to
requirement has higher priority and should be implemented            user's wish (d, e). The central part (c) shows the
first.                                                               requirements list of the project selected (f). Finally, when
       To calculate the size of the rectangle area due its           you hover the mouse over one of the rectangles, appears a
function of serve to "measure the presence degree in the             pop-up showing the requirement details (b).
system", it was made a weighted average with the data                      As is shown in Figure 1, the viewing screen has a
inputs of the Mandatory and Linear categories, with their            choice field of the viewing strategy (a) in which you choose
respective weights, such as: data entry or by a standard             the algorithm used in the TreeMap construction and has the
default of the chosen system. The default values are:                rectangles color scale that can be changed according to
Mandatory = 10, Linear = 5, Desired = 2, Indifferent = 0,            user's wish (d, e). The central part (c) shows the
Questionable = -1, Reverse = -2. These values were                   requirements list of the project selected (f). Finally, when


© 2013 ICECE                                                                March 03 - 06, 2013, Luanda, ANGOLA
                          VIII International Conference on Engineering and Computer Education
                                                            84
you hover the mouse over one of the rectangles, appears a       applying of technique proposed. Compared to the results
pop-up showing the requirement details (b).                     viewing process of textual form, it is clearly observed the
                                                                improvement that this tool provides to the user regarding to
                                                                the decision-making process.
                                                                      The proposed tool proved to be efficient in conducting
                                                                a quick feedback on the data analysis, generating less
                                                                documentation and less effort in requirements prioritization.
                                                                In addition, it is more users friendly and easily understood.
                                                                Thus, TreeSolutions supports the Product Owner to
                                                                prioritize the Product Backlog in a manner more efficient
                                                                and robust. As a result, the developers teams can estimate
                                                                and develop the requirements faster. As future work, we
                                                                intend to add Kano table into the tool, so that the entries
                                                                could be made faster for the TreeMap. This will generate
                                                                information viewing directly from the table. It is also
                                                                intended to implement other data viewing techniques.

                                                                                          REFERENCES
                                                                    [1]   ASFORA, D. M. Uma abordagem para a priorização de
                                                                          requisitos em ambientes ágeis. 2003. Dissertação (Mestrado em
                                                                          Ciência da Computação). Centro de Informática, Universidade
                                                                          Federal de Pernambuco, Recife.
                           FIGURE 1
         DATA VIEWING FROM TABLE IV IN THE TREEMAP                  [2]   CARD, S. K.; MACKINLAY, J. D.; SHNEIDERMAN, B.
                                                                          “Readings in Information Visualization: usingvision to think”.
                                                                          Morgan Kaufman Publishers, San Francisco, USA. 1999.
     The consolidation of the previous results from
TreeMap analysis is shown in Table V. It presents both the          [3]   CHEN, C.; BÖRNER, K. “Visual Interfaces to Digital Libraries:
requirements priority list, which must be selected to be                  Motivation, Utilization, and Socio-technical Challenges”. In:
                                                                          Visual Interfaces to Digital Libraries, v. 2539, Lecture Notes in
implemented by developers and the requirements which                      Computer Science. Springer-Verlag, pp.1-9. 2002.
must be on hold for future versions of the software. The
requirements more required are those which have lower               [4]   JOHNSON, B.; SHNEIDERMAN, B. “Tree-maps: a space-
                                                                          filling approach to the visualization of hierarchical information
values in the Priority column of Table V. It is important to              structures”. 1991. In: IEEE Conference Visualization, v. 22, n.
remember that this prioritization was formed solely based on              25., pp.284-291.
the users satisfaction who answered the survey. It is wise to       [5]   KANO, N. at al. “Attractive Quality and Must-be Quality”. In:
consider the data as effort and cost to implement the                     Journal of the Japanese Society for Quality Control. v. 14, n. 14,
requirements before generate the final prioritization.                    p. 39-48. 1994.
                                                                    [6]   LAMSWEERDE, A. “Requirements Engineering in the year
                         TABLE V                                          2000”: a research perspective. 22nd Proceedings of International
            PRIORITIZATION SUGGESTION TABLE                               Conference on Software Engineering. Limerick, Ireland.
      Priority        Selected          On Hold                     [7]   LEE, M. C.; NEWCOMBE, J. F. “Applying the Kano
         1         Requirement 11     Requirement 1                       methodology to meet customer requirements: NASA’s
         2         Requirement 10     Requirement 4                       microgravity science program”. Quality Management Journal, v.
         3         Requirement 2      Requirement 6                       4, n. 3, p. 95-110. 1997.
         4         Requirement 3      Requirement 7                 [8]   MILLER, G. “The Magical Number Seven, Plus or Minus Two:
         5         Requirement 5      Requirement 9                       some limits on our capacity for processing information”. The
                                                                          Psychological Review, v. 63, n. 2, pp. 81-97. 1956.
         6         Requirement 8      Requirement 12
         7         Requirement 14                                   [9]   NORMAN, D. A. “Things that make us smart: defining human
                                                                          attributes in the age of the machine”. Addison-Wesley
         8         Requirement 13                                         Publishing Company, New York. 1993.
         9         Requirement 15
                                                                    [10] SCHWABER, k. “Agile Project Management with Scrum”.
                                                                         Microsoft Press. 2001.
         CONCLUSION AND FUTURE WORK
                                                                    [11] SHNEIDERMAN, B. “Tree Visualization with TreeMaps: 2D
     The main goal of this work was to propose a viewing                 space-filling approach”. In: ACM Transactions on Graphics, v.
technique using TreeMap in order to support the                          11, n. 1, p. 92-99. 1992.
requirements prioritization practice in agile projects based        [12] SHNEIDERMAN, B.; WATTENBERG, M. “Ordered TreeMap
on Kano technique Kano. As contribution, it was also                     layouts” Information Visualization, 2001. INFOVIS 2001. IEEE
                                                                         Symposium on , vol., no., pp.73-78. 2001.
developed a Web-based system named TreeSolutions for


© 2013 ICECE                                                              March 03 - 06, 2013, Luanda, ANGOLA
                        VIII International Conference on Engineering and Computer Education
                                                          85

More Related Content

What's hot

Lviv PMDay: Олександр Ліпський & Анна Лазор Introduction to DSDM framework
Lviv PMDay: Олександр Ліпський & Анна Лазор Introduction to DSDM frameworkLviv PMDay: Олександр Ліпський & Анна Лазор Introduction to DSDM framework
Lviv PMDay: Олександр Ліпський & Анна Лазор Introduction to DSDM frameworkLviv Startup Club
 
Agile projects are for delivering packaged software too
Agile projects are for delivering packaged software tooAgile projects are for delivering packaged software too
Agile projects are for delivering packaged software tooDavid Harmer
 
What is Rational CLM?
What is Rational CLM?What is Rational CLM?
What is Rational CLM?IBM Danmark
 
The best testing of agile model
The best testing of agile modelThe best testing of agile model
The best testing of agile modelSanthaseelP
 
SCL Aug Sep 2010 Software Development How Agile Are You
SCL Aug Sep 2010 Software Development   How Agile Are YouSCL Aug Sep 2010 Software Development   How Agile Are You
SCL Aug Sep 2010 Software Development How Agile Are Yoususanatkinson
 
CLM Services Offerings from Rational Lab Services
CLM Services Offerings from Rational Lab ServicesCLM Services Offerings from Rational Lab Services
CLM Services Offerings from Rational Lab ServicesIBM Rational software
 
Dynamic System Development
Dynamic System DevelopmentDynamic System Development
Dynamic System DevelopmentZeeshan Tariq
 
Software process life cycles
Software process life cyclesSoftware process life cycles
Software process life cycles sathish sak
 
IBM Collaborative Lifecycle Management
IBM Collaborative Lifecycle ManagementIBM Collaborative Lifecycle Management
IBM Collaborative Lifecycle ManagementAlan Kan
 
Dynamic system development method
Dynamic system development methodDynamic system development method
Dynamic system development methodNisak Ahamed
 
Interstage BPM 2011
Interstage BPM 2011Interstage BPM 2011
Interstage BPM 2011Gordon Folz
 
Adapting usability investigations for
Adapting usability investigations forAdapting usability investigations for
Adapting usability investigations forJorge Baque
 
Software Project Management Training
Software Project Management TrainingSoftware Project Management Training
Software Project Management TrainingJason Waterman
 
Dec 2012 Evening Talk - Managing Complex Project
Dec 2012 Evening Talk - Managing Complex ProjectDec 2012 Evening Talk - Managing Complex Project
Dec 2012 Evening Talk - Managing Complex ProjectZulkefle Idris
 
What Is the Rational Unified Process
What Is the Rational Unified ProcessWhat Is the Rational Unified Process
What Is the Rational Unified ProcessRobson Silva Espig
 
PLM Interoperability Solutions
PLM Interoperability SolutionsPLM Interoperability Solutions
PLM Interoperability SolutionsGeometric Ltd.
 

What's hot (20)

Dynamic System Development Method
Dynamic System Development MethodDynamic System Development Method
Dynamic System Development Method
 
Lviv PMDay: Олександр Ліпський & Анна Лазор Introduction to DSDM framework
Lviv PMDay: Олександр Ліпський & Анна Лазор Introduction to DSDM frameworkLviv PMDay: Олександр Ліпський & Анна Лазор Introduction to DSDM framework
Lviv PMDay: Олександр Ліпський & Анна Лазор Introduction to DSDM framework
 
Agile projects are for delivering packaged software too
Agile projects are for delivering packaged software tooAgile projects are for delivering packaged software too
Agile projects are for delivering packaged software too
 
Agile projects
Agile projectsAgile projects
Agile projects
 
What is Rational CLM?
What is Rational CLM?What is Rational CLM?
What is Rational CLM?
 
The best testing of agile model
The best testing of agile modelThe best testing of agile model
The best testing of agile model
 
SCL Aug Sep 2010 Software Development How Agile Are You
SCL Aug Sep 2010 Software Development   How Agile Are YouSCL Aug Sep 2010 Software Development   How Agile Are You
SCL Aug Sep 2010 Software Development How Agile Are You
 
CLM Services Offerings from Rational Lab Services
CLM Services Offerings from Rational Lab ServicesCLM Services Offerings from Rational Lab Services
CLM Services Offerings from Rational Lab Services
 
Dynamic System Development
Dynamic System DevelopmentDynamic System Development
Dynamic System Development
 
Software process life cycles
Software process life cyclesSoftware process life cycles
Software process life cycles
 
IBM Collaborative Lifecycle Management
IBM Collaborative Lifecycle ManagementIBM Collaborative Lifecycle Management
IBM Collaborative Lifecycle Management
 
A littlebook about agile
A littlebook about agileA littlebook about agile
A littlebook about agile
 
Dynamic system development method
Dynamic system development methodDynamic system development method
Dynamic system development method
 
PMI Vs SDLC
PMI Vs SDLCPMI Vs SDLC
PMI Vs SDLC
 
Interstage BPM 2011
Interstage BPM 2011Interstage BPM 2011
Interstage BPM 2011
 
Adapting usability investigations for
Adapting usability investigations forAdapting usability investigations for
Adapting usability investigations for
 
Software Project Management Training
Software Project Management TrainingSoftware Project Management Training
Software Project Management Training
 
Dec 2012 Evening Talk - Managing Complex Project
Dec 2012 Evening Talk - Managing Complex ProjectDec 2012 Evening Talk - Managing Complex Project
Dec 2012 Evening Talk - Managing Complex Project
 
What Is the Rational Unified Process
What Is the Rational Unified ProcessWhat Is the Rational Unified Process
What Is the Rational Unified Process
 
PLM Interoperability Solutions
PLM Interoperability SolutionsPLM Interoperability Solutions
PLM Interoperability Solutions
 

Similar to Application of a Data Visualization Technique Based on Trees to Aid Prioritization of Requirements in Agile Projects

Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software developmentbizpresenter
 
Perspectives on the adherance to scrum rules in software project management
Perspectives on the adherance to scrum rules in software project managementPerspectives on the adherance to scrum rules in software project management
Perspectives on the adherance to scrum rules in software project managementnooriasukmaningtyas
 
Presentation by lavika upadhyay
Presentation by lavika upadhyayPresentation by lavika upadhyay
Presentation by lavika upadhyayPMI_IREP_TP
 
introduction to software engineering theory
introduction to software engineering theoryintroduction to software engineering theory
introduction to software engineering theoryAnanias Kambidhi
 
Implementation of agile methodology in mobile automation testing
Implementation of agile methodology in mobile automation testingImplementation of agile methodology in mobile automation testing
Implementation of agile methodology in mobile automation testingKailash khoiwal
 
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsNicole Gomez
 
Lean as Agile methodology – A Study
Lean as Agile methodology – A StudyLean as Agile methodology – A Study
Lean as Agile methodology – A StudyEswar Publications
 
A Basic Introduction to Creating a Software Requirements Specification
A Basic Introduction to Creating a Software Requirements SpecificationA Basic Introduction to Creating a Software Requirements Specification
A Basic Introduction to Creating a Software Requirements SpecificationQuekelsBaro
 
Seminar COTB25.pptx
Seminar COTB25.pptxSeminar COTB25.pptx
Seminar COTB25.pptxishantpatil1
 
Upstate CSCI 540 Agile Development
Upstate CSCI 540 Agile DevelopmentUpstate CSCI 540 Agile Development
Upstate CSCI 540 Agile DevelopmentDanWooster1
 
Technology Integration Pattern For Distributed Scrum of Scrum
Technology Integration Pattern For Distributed Scrum of ScrumTechnology Integration Pattern For Distributed Scrum of Scrum
Technology Integration Pattern For Distributed Scrum of ScrumIOSR Journals
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
 
Discussion Post 1A software process model is a streamlined port.docx
Discussion Post 1A software process model is a streamlined port.docxDiscussion Post 1A software process model is a streamlined port.docx
Discussion Post 1A software process model is a streamlined port.docxmadlynplamondon
 
Software Engineering in a Quick and Easy way - v1.pdf
Software Engineering in a Quick and Easy way - v1.pdfSoftware Engineering in a Quick and Easy way - v1.pdf
Software Engineering in a Quick and Easy way - v1.pdfKAJAL MANDAL
 

Similar to Application of a Data Visualization Technique Based on Trees to Aid Prioritization of Requirements in Agile Projects (20)

Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software development
 
Perspectives on the adherance to scrum rules in software project management
Perspectives on the adherance to scrum rules in software project managementPerspectives on the adherance to scrum rules in software project management
Perspectives on the adherance to scrum rules in software project management
 
Presentation by lavika upadhyay
Presentation by lavika upadhyayPresentation by lavika upadhyay
Presentation by lavika upadhyay
 
introduction to software engineering theory
introduction to software engineering theoryintroduction to software engineering theory
introduction to software engineering theory
 
Implementation of agile methodology in mobile automation testing
Implementation of agile methodology in mobile automation testingImplementation of agile methodology in mobile automation testing
Implementation of agile methodology in mobile automation testing
 
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming Teams
 
Lean as Agile methodology – A Study
Lean as Agile methodology – A StudyLean as Agile methodology – A Study
Lean as Agile methodology – A Study
 
Sdpl1
Sdpl1Sdpl1
Sdpl1
 
A Basic Introduction to Creating a Software Requirements Specification
A Basic Introduction to Creating a Software Requirements SpecificationA Basic Introduction to Creating a Software Requirements Specification
A Basic Introduction to Creating a Software Requirements Specification
 
Agile process
Agile processAgile process
Agile process
 
Agile process
Agile processAgile process
Agile process
 
Seminar COTB25.pptx
Seminar COTB25.pptxSeminar COTB25.pptx
Seminar COTB25.pptx
 
Upstate CSCI 540 Agile Development
Upstate CSCI 540 Agile DevelopmentUpstate CSCI 540 Agile Development
Upstate CSCI 540 Agile Development
 
Technology Integration Pattern For Distributed Scrum of Scrum
Technology Integration Pattern For Distributed Scrum of ScrumTechnology Integration Pattern For Distributed Scrum of Scrum
Technology Integration Pattern For Distributed Scrum of Scrum
 
Agiel sw development
Agiel sw developmentAgiel sw development
Agiel sw development
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Discussion Post 1A software process model is a streamlined port.docx
Discussion Post 1A software process model is a streamlined port.docxDiscussion Post 1A software process model is a streamlined port.docx
Discussion Post 1A software process model is a streamlined port.docx
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Software Engineering in a Quick and Easy way - v1.pdf
Software Engineering in a Quick and Easy way - v1.pdfSoftware Engineering in a Quick and Easy way - v1.pdf
Software Engineering in a Quick and Easy way - v1.pdf
 
Report
ReportReport
Report
 

More from Thiago Reis da Silva

Apostila de Introdução a Programação
Apostila de Introdução a ProgramaçãoApostila de Introdução a Programação
Apostila de Introdução a ProgramaçãoThiago Reis da Silva
 
The use of games on the teaching of programming: a systematic review
The use of games on the teaching of programming: a systematic reviewThe use of games on the teaching of programming: a systematic review
The use of games on the teaching of programming: a systematic reviewThiago Reis da Silva
 
Desenvolvendo plug-in do Moodle em forma de módulo
Desenvolvendo plug-in do Moodle em forma de móduloDesenvolvendo plug-in do Moodle em forma de módulo
Desenvolvendo plug-in do Moodle em forma de móduloThiago Reis da Silva
 
Facilitando o aprendizado na tv digital interativa com a utilização de mapa d...
Facilitando o aprendizado na tv digital interativa com a utilização de mapa d...Facilitando o aprendizado na tv digital interativa com a utilização de mapa d...
Facilitando o aprendizado na tv digital interativa com a utilização de mapa d...Thiago Reis da Silva
 
O uso de ferramentas pedagógicas no desenvolvimento de objetos de aprendizagem
O uso de ferramentas pedagógicas no desenvolvimento de objetos de aprendizagemO uso de ferramentas pedagógicas no desenvolvimento de objetos de aprendizagem
O uso de ferramentas pedagógicas no desenvolvimento de objetos de aprendizagemThiago Reis da Silva
 
Integrando o network simulator 2.0 a um ambiente virtual de aprendizagem
Integrando o network simulator 2.0 a um ambiente virtual de aprendizagemIntegrando o network simulator 2.0 a um ambiente virtual de aprendizagem
Integrando o network simulator 2.0 a um ambiente virtual de aprendizagemThiago Reis da Silva
 
Ensino de programação utilizando jogos digitais: uma revisão sistemática da l...
Ensino de programação utilizando jogos digitais: uma revisão sistemática da l...Ensino de programação utilizando jogos digitais: uma revisão sistemática da l...
Ensino de programação utilizando jogos digitais: uma revisão sistemática da l...Thiago Reis da Silva
 
Um modelo de objeto de aprendizagem com ênfase no planejamento para o Moodle
Um modelo de objeto de aprendizagem com ênfase no planejamento para o MoodleUm modelo de objeto de aprendizagem com ênfase no planejamento para o Moodle
Um modelo de objeto de aprendizagem com ênfase no planejamento para o MoodleThiago Reis da Silva
 
Aplicação de uma técnica de visualização de dados baseado em árvores para au...
Aplicação de uma técnica de visualização de dados baseado  em árvores para au...Aplicação de uma técnica de visualização de dados baseado  em árvores para au...
Aplicação de uma técnica de visualização de dados baseado em árvores para au...Thiago Reis da Silva
 
OBA-MC: um modelo de objeto de aprendizagem centrado no processo de ensino-ap...
OBA-MC: um modelo de objeto de aprendizagem centrado no processo de ensino-ap...OBA-MC: um modelo de objeto de aprendizagem centrado no processo de ensino-ap...
OBA-MC: um modelo de objeto de aprendizagem centrado no processo de ensino-ap...Thiago Reis da Silva
 
Ferramentas avaliativas disponíveis em um ambiente virtual de aprendizagem us...
Ferramentas avaliativas disponíveis em um ambiente virtual de aprendizagem us...Ferramentas avaliativas disponíveis em um ambiente virtual de aprendizagem us...
Ferramentas avaliativas disponíveis em um ambiente virtual de aprendizagem us...Thiago Reis da Silva
 
Ampliando o aprendizado na TV digital com MCD-TV e ginga
Ampliando o aprendizado na TV digital com MCD-TV e gingaAmpliando o aprendizado na TV digital com MCD-TV e ginga
Ampliando o aprendizado na TV digital com MCD-TV e gingaThiago Reis da Silva
 
MCD-TV - aprendizagem significativa com objeto de aprendizagem OBA-MC na tv d...
MCD-TV - aprendizagem significativa com objeto de aprendizagem OBA-MC na tv d...MCD-TV - aprendizagem significativa com objeto de aprendizagem OBA-MC na tv d...
MCD-TV - aprendizagem significativa com objeto de aprendizagem OBA-MC na tv d...Thiago Reis da Silva
 
Análise espacial do perfil dos alunos do ifpi – campus floriano usando técnica...
Análise espacial do perfil dos alunos do ifpi – campus floriano usando técnica...Análise espacial do perfil dos alunos do ifpi – campus floriano usando técnica...
Análise espacial do perfil dos alunos do ifpi – campus floriano usando técnica...Thiago Reis da Silva
 
Uma proposta de padronização de objetos de aprendizagem com base em objetivos...
Uma proposta de padronização de objetos de aprendizagem com base em objetivos...Uma proposta de padronização de objetos de aprendizagem com base em objetivos...
Uma proposta de padronização de objetos de aprendizagem com base em objetivos...Thiago Reis da Silva
 
Scrum uma metodologia ágil paragestão e planejamento de projetos de software
Scrum uma metodologia ágil paragestão e planejamento de projetos de softwareScrum uma metodologia ágil paragestão e planejamento de projetos de software
Scrum uma metodologia ágil paragestão e planejamento de projetos de softwareThiago Reis da Silva
 

More from Thiago Reis da Silva (20)

Apostila de Introdução a Programação
Apostila de Introdução a ProgramaçãoApostila de Introdução a Programação
Apostila de Introdução a Programação
 
Introdução a Programação
Introdução a ProgramaçãoIntrodução a Programação
Introdução a Programação
 
The use of games on the teaching of programming: a systematic review
The use of games on the teaching of programming: a systematic reviewThe use of games on the teaching of programming: a systematic review
The use of games on the teaching of programming: a systematic review
 
Desenvolvendo plug-in do Moodle em forma de módulo
Desenvolvendo plug-in do Moodle em forma de móduloDesenvolvendo plug-in do Moodle em forma de módulo
Desenvolvendo plug-in do Moodle em forma de módulo
 
Facilitando o aprendizado na tv digital interativa com a utilização de mapa d...
Facilitando o aprendizado na tv digital interativa com a utilização de mapa d...Facilitando o aprendizado na tv digital interativa com a utilização de mapa d...
Facilitando o aprendizado na tv digital interativa com a utilização de mapa d...
 
O uso de ferramentas pedagógicas no desenvolvimento de objetos de aprendizagem
O uso de ferramentas pedagógicas no desenvolvimento de objetos de aprendizagemO uso de ferramentas pedagógicas no desenvolvimento de objetos de aprendizagem
O uso de ferramentas pedagógicas no desenvolvimento de objetos de aprendizagem
 
Integrando o network simulator 2.0 a um ambiente virtual de aprendizagem
Integrando o network simulator 2.0 a um ambiente virtual de aprendizagemIntegrando o network simulator 2.0 a um ambiente virtual de aprendizagem
Integrando o network simulator 2.0 a um ambiente virtual de aprendizagem
 
Ensino de programação utilizando jogos digitais: uma revisão sistemática da l...
Ensino de programação utilizando jogos digitais: uma revisão sistemática da l...Ensino de programação utilizando jogos digitais: uma revisão sistemática da l...
Ensino de programação utilizando jogos digitais: uma revisão sistemática da l...
 
Survey e Análise Estatística
Survey e Análise Estatística Survey e Análise Estatística
Survey e Análise Estatística
 
Um modelo de objeto de aprendizagem com ênfase no planejamento para o Moodle
Um modelo de objeto de aprendizagem com ênfase no planejamento para o MoodleUm modelo de objeto de aprendizagem com ênfase no planejamento para o Moodle
Um modelo de objeto de aprendizagem com ênfase no planejamento para o Moodle
 
Aplicação de uma técnica de visualização de dados baseado em árvores para au...
Aplicação de uma técnica de visualização de dados baseado  em árvores para au...Aplicação de uma técnica de visualização de dados baseado  em árvores para au...
Aplicação de uma técnica de visualização de dados baseado em árvores para au...
 
OBA-MC: um modelo de objeto de aprendizagem centrado no processo de ensino-ap...
OBA-MC: um modelo de objeto de aprendizagem centrado no processo de ensino-ap...OBA-MC: um modelo de objeto de aprendizagem centrado no processo de ensino-ap...
OBA-MC: um modelo de objeto de aprendizagem centrado no processo de ensino-ap...
 
Ferramentas avaliativas disponíveis em um ambiente virtual de aprendizagem us...
Ferramentas avaliativas disponíveis em um ambiente virtual de aprendizagem us...Ferramentas avaliativas disponíveis em um ambiente virtual de aprendizagem us...
Ferramentas avaliativas disponíveis em um ambiente virtual de aprendizagem us...
 
Ampliando o aprendizado na TV digital com MCD-TV e ginga
Ampliando o aprendizado na TV digital com MCD-TV e gingaAmpliando o aprendizado na TV digital com MCD-TV e ginga
Ampliando o aprendizado na TV digital com MCD-TV e ginga
 
MCD-TV - aprendizagem significativa com objeto de aprendizagem OBA-MC na tv d...
MCD-TV - aprendizagem significativa com objeto de aprendizagem OBA-MC na tv d...MCD-TV - aprendizagem significativa com objeto de aprendizagem OBA-MC na tv d...
MCD-TV - aprendizagem significativa com objeto de aprendizagem OBA-MC na tv d...
 
Minicurso SCRUM
Minicurso SCRUMMinicurso SCRUM
Minicurso SCRUM
 
Análise espacial do perfil dos alunos do ifpi – campus floriano usando técnica...
Análise espacial do perfil dos alunos do ifpi – campus floriano usando técnica...Análise espacial do perfil dos alunos do ifpi – campus floriano usando técnica...
Análise espacial do perfil dos alunos do ifpi – campus floriano usando técnica...
 
Uma proposta de padronização de objetos de aprendizagem com base em objetivos...
Uma proposta de padronização de objetos de aprendizagem com base em objetivos...Uma proposta de padronização de objetos de aprendizagem com base em objetivos...
Uma proposta de padronização de objetos de aprendizagem com base em objetivos...
 
Scrum uma metodologia ágil paragestão e planejamento de projetos de software
Scrum uma metodologia ágil paragestão e planejamento de projetos de softwareScrum uma metodologia ágil paragestão e planejamento de projetos de software
Scrum uma metodologia ágil paragestão e planejamento de projetos de software
 
Artigo
ArtigoArtigo
Artigo
 

Application of a Data Visualization Technique Based on Trees to Aid Prioritization of Requirements in Agile Projects

  • 1. Application of a Data Visualization Technique Based on Trees to Aid Prioritization of Requirements in Agile Projects Fabio Abrantes Diniz1, Thiago Reis da Silva2, Diego Grosmann3, Ithalo Bruno Gregório de Moura4, Francisco Milton Mendes Neto5, Pedro Fernandes Ribeiro Neto6 Abstract  The practice of requirements prioritization Therefore, this work used a data viewing technique involves the recovery analysis of each requirement by based on "TreeMap" [4]. This technique aims to show new customers and requirements selection that will be ways of data viewing more intuitive and effective, which implemented in a specific version of the system. Wrong helps in the analysis of the results obtained by the choices during requirements prioritization may affect the requirements prioritization practice that is based on Kano system quality and thus its acceptance by customers. Within technique. this context, some practices of requirements prioritization have been addressed in agile projects to improve the SCRUM – AN AGILE SOFTWARE DEVELOPMENT requirements prioritization stage. Among them, there is a METHODOLOGY practice based on Kano technique, which uses the agile development methodology Scrum in software projects. The agile methodology Scrum has come up proposing to However, the resulting data from Kano practice produces “debureaucratize” the software development process, much textual information, which is difficult to be viewed and allowing teams to be more adaptables, rapidly responding to analyzed in order to determine the real importance of each constant changes in software projects. According to their requirement. Therefore, this paper proposes a data evangelizers, the customer becomes more satisfied, because visualization technique based on "TreeMaps" in order to there are constantly deliveries of developed features, and the assist in the viewing results o the Kano technique. customer actively participates in the project bringing knowledge about the business. Index Terms  Agile Projects. Prioritizing Requirements. Kano. Scrum stands out from other processes for being a method interactive, incremental and agile for projects INTRODUCTION management [10. Like any other methodology, it has roles and responsibilities. There are three roles: Product Owner, The requirements prioritization is a challenging activity Team Member and Scrum Master. Product Owner could be in software development [6]. This practice involves the the sponsor or the person interested in the project and is in Stakeholders analysis of each requirement and the charge to represent the interests of all users of the system. requirements selection that will be developed in a specific The Team Member is composed by a people group in charge version of the system. Wrong choices on which requirements to develop the project taking into account all of the features should be prioritize and may affect the system quality and, needed. And finally, the Scrum Master, which the main then, be accepted by customers. characteristic is the project leadership, the Product Owner In agile methodologies, with reference to the Scrum interests management and the conflicts management faced agile methodology, some practices of requirements by the Team Member. prioritization have been addressed in agile projects to Scrum works with incremental development, where improve the requirements prioritization stage. Among them, each iteration is called Sprint. The process must start from there is a practice based on Kano technique [1]. the requirements organization of the project in a The Kano technique enables the product developers requirements list named Product Backlog. This list is transform the information obtained by research into real organized in descending order of priority. From Product improvements in order to achieve the customer satisfaction Backlog, the team selects parts of the requirements [5]. However, the Kano technique produces a lot information according to priorities in order to Sprint be performed, with textual presentation by means of tables and reports, forming the Sprint Backlog (Sprint task list) [10]. which interfere in viewing of such, making the responsible During a Sprint, the team has autonomy to decide how ones spend a lot of time processing large data volumes. the tasks will be implemented and ensures that the most important requirements are developed first. In addition, there 1 Fábio Abrantes Diniz, Master in Computer Science at the Graduate Program in Computer Science – UERN/UFERSA, fabio.abrantes.diniz@gmail.com 2 Thiago Reis da Silva, Master in Computer Science at the Graduate Program in Computer Science – UERN/UFERSA, trsilva.si@gmail.com 3 Íthalo Bruno Grigório de Moura, Master in Computer Science at the Graduate Program in Computer Science – UERN/UFERSA, ithalobgm@gmail.com 4 Diego Grosmann, Master in Computer Science at the Graduate Program in Computer Science – UERN/UFERSA, diegogrosmann@gmail.com 5 Francisco Milton Mendes Neto, Teacher Graduate Program in Computer Science – UERN/UFERSA, miltonmendes@ufersa.edu.br 6 Pedro Fernandes Ribeiro Neto, Teacher Graduate Program in Computer Science – UERN/UFERSA, pedrofernandes@uern.br © 2013 ICECE March 03 - 06, 2013, Luanda, ANGOLA VIII International Conference on Engineering and Computer Education 81
  • 2. are short daily meetings always at the same time with the TABLE I Scrum Master, which is charge of project management and ANSWERS TO THE FUNCTIONL AND NON-FUNCTIONAL QUESTIONS AND RESULTS FOR EACH COMBINATION group leadership. In these meetings, it is discussed the work progress in which every team member presents results of their tasks and what should be done after conclusion [10]. The Sprint output is a set of features 100% developed, which shall be approved by Product Owner (in charge for project definition, definition and prioritization of requirements) and delivered to the customer. At the end of each iteration, the whole team participates in a Sprint The category I (indifferent) in Table I is used when the retrospective. After the Sprint conclusion, the cycle restarts, user shows that has no real need for this feature, i.e. it does removing the next slice of Product Backlog for the next not matter if is satisfied or not. The category M (mandatory Sprint [10]. or indispensable) means that if the requirement is not met, In view of the facts presented, it is possible to notice the customer will be not satisfied. For the customer, the the reason why Scrum is one of the agile methodologies requirements of category M are already embedded in the most used by software development companies, because it is products offered, and are therefore a prerequisite. That put a process that builds software incrementally in complex the Mandatory requirements will not make the customer environments, where the requirements are not clear or happier, however, without them the system does not work change very frequently. and the customer does not acquire the product. Category D (desired) means that these requirements KANO TECHNIQUE IN REQUIREMENTS provide great satisfaction to the customer when they are PRIORITIZATION FOR AGILE PROJECTS present, but do not represent dissatisfaction in case they are not present. The category L (linear or important) means that Using Kano technique in requirements prioritization the customer satisfaction is proportional to the completion process for agile projects proposed by [1] facilitates the level of these requirements, i.e., the higher the completion of requirements prioritization for the customer. The customer level, the higher will be the customer satisfaction. The has difficulty in saying what requirement is the most category R (reverse) means that, if that requirement is important in a system, because for the customer, all developed, could cause a rejection to the software or certain requirements are interesting and indispensable for the feature. The category Q (questionable) means that the user product. In Scrum methodology, this happens in many cases. does not understand the questions or that he is not The customer puts many requirements with maximum corresponding with the truth [1]. According to the analysis business value making it clear that the costumer has no idea of the proposed work by Asfora [1], shows that the order of which requirements are really important. prioritization of requirements that would bring a very large The application of Kano technique in the prioritization value if they are treated is respectively: Mandatory, after the process for agile projects based on Scrum methodology is important or linear and, finally, desirable. performed before the Product Owner sends the Product According to Table II, the combinations of the Backlog to the development team in order to the responses from Kano table for the two questions generate a requirements can be prioritized. The technique is to make a result for each requirement. It is seen that the requirement 1 couple of questions for each requirement. A functional (Req 1) has the largest percentage (43.8 %) for classification question and other non-functional. According to [1] the as linear or important. The requirement 3 (Req 3) was importance of Kano technique in these questions is to show classified as mandatory and desired because both have close the parallel between what makes the customer very satisfied results. Therefore, leaving the following descending order of and what it does not, this helps to understand the real need prioritization: Requirement 2, requirement 1 and finally for each requirement. If the parallel mentioned is not present Requirement 3. in the next prototype delivery, it is very important to have the real need relation for each requirement. It is natural that TABLE II always be responded that such very important requirement RESULTS SUMMARIZING must be done, because the user wants a great amount of activities performed by a software. In these cases, it is interesting include the dissatisfaction criterion to notice what really makes him unsatisfied if it is not developed. Questions are formed as follows: (a) how would you feel if Requirement X was in the next release? (B) How would you feel if Requirement X was not in the next Kano technique is very efficient regarding its use and release? The answer options are specified in Table I. the data types obtained. However, concerning viewing results, it is very unsatisfactory due to the fact of already © 2013 ICECE March 03 - 06, 2013, Luanda, ANGOLA VIII International Conference on Engineering and Computer Education 82
  • 3. know which requirements will be prioritized. And it is really TreeSolutions were: Slice and Dice, Squarified TreeMap and difficult to make a decision. For example, in Table II, how to Ordered TreeMap [11] [4]. These algorithms represent a know which requirements (between Req 2 and Req 3) must hierarchical data structure by rectangles recursive division. firstly be implemented? Both appears as mandatory. In agile This recursion determines the layout by calculating the projects, the team makes fast decisions and it may happen rectangle area filling them in their respective locations. the team does not understand the Kano technique results [1]. There are many different characteristics among these Thus, it was adapted to the Kano technique the use of TreeMaps algorithms. These algorithms, when applied to the data viewing resource from "TreeMaps" method, because TreeSolutions tool, have their respective characteristics, only the table view that is indicating the percentage that presenting variations, advantages and disadvantages among were most voted by the users, it is not enough to make the them. It is interesting to make a comparative analysis among items prioritization. them to be used in certain moments of data viewing. This helps the making decision process becomes faster in order to TREEMAP – A DATA VIEWING TECHNIQUE assist in the requirements prioritization process, so that to BASED ON TREE choose which requirements have more priorities to be developed in early versions of the prototypes. Table III TreeMap is a viewing technique that explores compares these algorithms through metrics: ergonomics basic concepts, making human being initially • Aspect ratio: (ratio between length and width of focus their gaze on large figures to then look at small figures the rectangle; [11]. This feature can be used in viewing of items from the • Stability: checks the data stability in terms of size Product Backlog, aiming to display the requirements and position of the rectangles when processing data hierarchy that have more priority to be developed. changes; Some advantages are evident using TreeMap, such as: • Ordering: evaluates the original order of data when efficiently uses the whole screen viewing; preserves the processing data changes; general information context; quick navigation among nodes; • Suitability for reading: verifies the performance allows the user a scope overview and is very useful in of the visualization of data regarding structures. displaying data quantitative variables [11] [4]. It has been used in multiple applications due to its ease of viewing that TABLE III provides to users the comparative analysis of a large amount COMPARISON OF TREEMAPS ALGORITHMS of information. Nowadays, it is used in computer file system applications, geographical maps, complex databases (IBGE), industrial applications (stocks), educational systems, artificial intelligent systems, headlines news, marketing, among others [11]. The TreeMap divides the screen in a nested rectangles sequence corresponding to attributes of a data set. Each rectangle has an area and color which are defined by the According to Table III, the positive sign (+) indicates a values previously set. Therefor, it has properties that must be positive result that brings the metric to the specific taken into consideration, and according to [11] and [4], the algorithm, since the minus sign (-) indicates a negative result properties are: or metric in the absence of specific algorithm. Looking at Table III, the Squarified and the Ordered TreeMap • A weight (requirement classification) will algorithms were the most viable for the TreeSolutions tool, determine the size of each rectangle in the because they have characteristics focused on stability and structure; ability to represent an amount of information without • The color is used to represent the user's satisfaction generating a TreeMap, which is uncomfortable for the in having the requirement in the system [5]. The interaction with the user and show suitability for reading and lighter colors will represent the requirements most data analysis. desired, while the darker colors will represent the less desired. This work implements a color scale TREESOLUTIONS that assigns unique values for each color in order to differentiate them; Based on the TreeMap concepts, the TreeSolutions was • Using pop-ups to show requirement information designed to meet the Product Owner in the requirements when hover the mouse over an interest area of prioritization stage of Scrum methodology that uses the rectangle. Kano technique. It helps the Product Owner in decision Another strong point in the TreeMap construction is the making to determine the business value of Product Backlog algorithm definition to be used in the rectangles creation. requirements so that it can be delivered faster to the The rectangles layouts are dependent on the division developers team. algorithm used. Some of the algorithms used in © 2013 ICECE March 03 - 06, 2013, Luanda, ANGOLA VIII International Conference on Engineering and Computer Education 83
  • 4. The system is open source and developed in the Java. allocated according to the their characteristics contexts and Tests were performed with the existent data in case studies analyzed tests during development. The questionable found in the work produced by [1] and according to the category and the reverse received negative values, because results analysis, it was observed that, using TreeMap they categorized the requirements that do not bring technique made data viewing more efficient, consistent, satisfaction to the users [1]. robust and agile. Next, it will be described the TreeSolutions In addition to presenting to the user the requirements system with the features and the result obtained by TreeMap viewing in rectangle shape, the system has the pop-up with a case study data of [1]. resource, which presents the requirement information when hover the mouse over the area that represents a requirement, TreeSolutions System Implementation such as: rectangle size are, color value, and the requirement TreeSolutions consists of a desktop system developed attributes with its values received from the Kano table result. in Java. However, there is a beta version for Web. System Results TreeSolutions is subdivided into two main modules implementation: TreeMap Module and Interface Module. The test of TreeSolutions system was performed based In the Interface module, the Product Owner has access to a on data collected in [1]. The data acquired involve a case graphical interface with information about its Product study of the (CESAR), short for Centro de Estudos e Backlog containing the requirements. This interface allows Sistemas Avançados do Recife (English: Recife Center insertion of the Product Backlog. In addition, the for Advanced Studies and Systems). They were originated of information coming from the Kano table are inserted, such the SEPG project - group of improvement of the internal as: the categories percentage values of all requirements software development process [1]. Some of these data are (mandatory, linear, desired, questionable, reverse or presented in Table IV, which contains 15 requirements with indifferent). They could be imported and exported into a file their results from applying of Kano technique. in XML (Extensible Markup Language). The TreeMap resulting is from data entry in Table IV, In the TreeMap module is implemented the viewing which is shown in Figure 1. According to the results technique named TreeMap. We used the Java TreeMap class analysis, it was observed that using the TreeMap technique that offers additional features to associate the order to the made the data viewing more efficient and robust for the list collection elements. The algorithms mentioned in Section 5 preparation of requirements prioritized. were developed and implemented in this module to represent the rectangles areas and were implemented the color TABLE IV providers, which import the color models RGB (Red, Green RESPONSE PERCENTAGE GENERATED BY KANO TECHNIQUE [1]. and Blue), HSB (Hue, Saturation and Brightness) and its variations for colors reproduction in the rectangles areas of the TreeMap. According to the system implementation context, it was given the rectangle area as an attribute more significant than the color, since the area represents indispensable and important requirements, i.e., they are requirements which without them, the system does not work. The rectangle color represents the user satisfaction in having the requirement in the system. Then, the clearer is the color in the colors scale, the greater is the user satisfaction having the requirement in the system. The rectangle area indicates the presence degree, As is shown in Figure 1, the viewing screen has a i.e., rectangles of greater area represent the requirements that choice field of the viewing strategy (a) in which you choose must be in the system. Therefor, the larger is the area and the the algorithm used in the TreeMap construction and has the greater is the color in the colors scale, this indicates that this rectangles color scale that can be changed according to requirement has higher priority and should be implemented user's wish (d, e). The central part (c) shows the first. requirements list of the project selected (f). Finally, when To calculate the size of the rectangle area due its you hover the mouse over one of the rectangles, appears a function of serve to "measure the presence degree in the pop-up showing the requirement details (b). system", it was made a weighted average with the data As is shown in Figure 1, the viewing screen has a inputs of the Mandatory and Linear categories, with their choice field of the viewing strategy (a) in which you choose respective weights, such as: data entry or by a standard the algorithm used in the TreeMap construction and has the default of the chosen system. The default values are: rectangles color scale that can be changed according to Mandatory = 10, Linear = 5, Desired = 2, Indifferent = 0, user's wish (d, e). The central part (c) shows the Questionable = -1, Reverse = -2. These values were requirements list of the project selected (f). Finally, when © 2013 ICECE March 03 - 06, 2013, Luanda, ANGOLA VIII International Conference on Engineering and Computer Education 84
  • 5. you hover the mouse over one of the rectangles, appears a applying of technique proposed. Compared to the results pop-up showing the requirement details (b). viewing process of textual form, it is clearly observed the improvement that this tool provides to the user regarding to the decision-making process. The proposed tool proved to be efficient in conducting a quick feedback on the data analysis, generating less documentation and less effort in requirements prioritization. In addition, it is more users friendly and easily understood. Thus, TreeSolutions supports the Product Owner to prioritize the Product Backlog in a manner more efficient and robust. As a result, the developers teams can estimate and develop the requirements faster. As future work, we intend to add Kano table into the tool, so that the entries could be made faster for the TreeMap. This will generate information viewing directly from the table. It is also intended to implement other data viewing techniques. REFERENCES [1] ASFORA, D. M. Uma abordagem para a priorização de requisitos em ambientes ágeis. 2003. Dissertação (Mestrado em Ciência da Computação). Centro de Informática, Universidade Federal de Pernambuco, Recife. FIGURE 1 DATA VIEWING FROM TABLE IV IN THE TREEMAP [2] CARD, S. K.; MACKINLAY, J. D.; SHNEIDERMAN, B. “Readings in Information Visualization: usingvision to think”. Morgan Kaufman Publishers, San Francisco, USA. 1999. The consolidation of the previous results from TreeMap analysis is shown in Table V. It presents both the [3] CHEN, C.; BÖRNER, K. “Visual Interfaces to Digital Libraries: requirements priority list, which must be selected to be Motivation, Utilization, and Socio-technical Challenges”. In: Visual Interfaces to Digital Libraries, v. 2539, Lecture Notes in implemented by developers and the requirements which Computer Science. Springer-Verlag, pp.1-9. 2002. must be on hold for future versions of the software. The requirements more required are those which have lower [4] JOHNSON, B.; SHNEIDERMAN, B. “Tree-maps: a space- filling approach to the visualization of hierarchical information values in the Priority column of Table V. It is important to structures”. 1991. In: IEEE Conference Visualization, v. 22, n. remember that this prioritization was formed solely based on 25., pp.284-291. the users satisfaction who answered the survey. It is wise to [5] KANO, N. at al. “Attractive Quality and Must-be Quality”. In: consider the data as effort and cost to implement the Journal of the Japanese Society for Quality Control. v. 14, n. 14, requirements before generate the final prioritization. p. 39-48. 1994. [6] LAMSWEERDE, A. “Requirements Engineering in the year TABLE V 2000”: a research perspective. 22nd Proceedings of International PRIORITIZATION SUGGESTION TABLE Conference on Software Engineering. Limerick, Ireland. Priority Selected On Hold [7] LEE, M. C.; NEWCOMBE, J. F. “Applying the Kano 1 Requirement 11 Requirement 1 methodology to meet customer requirements: NASA’s 2 Requirement 10 Requirement 4 microgravity science program”. Quality Management Journal, v. 3 Requirement 2 Requirement 6 4, n. 3, p. 95-110. 1997. 4 Requirement 3 Requirement 7 [8] MILLER, G. “The Magical Number Seven, Plus or Minus Two: 5 Requirement 5 Requirement 9 some limits on our capacity for processing information”. The Psychological Review, v. 63, n. 2, pp. 81-97. 1956. 6 Requirement 8 Requirement 12 7 Requirement 14 [9] NORMAN, D. A. “Things that make us smart: defining human attributes in the age of the machine”. Addison-Wesley 8 Requirement 13 Publishing Company, New York. 1993. 9 Requirement 15 [10] SCHWABER, k. “Agile Project Management with Scrum”. Microsoft Press. 2001. CONCLUSION AND FUTURE WORK [11] SHNEIDERMAN, B. “Tree Visualization with TreeMaps: 2D The main goal of this work was to propose a viewing space-filling approach”. In: ACM Transactions on Graphics, v. technique using TreeMap in order to support the 11, n. 1, p. 92-99. 1992. requirements prioritization practice in agile projects based [12] SHNEIDERMAN, B.; WATTENBERG, M. “Ordered TreeMap on Kano technique Kano. As contribution, it was also layouts” Information Visualization, 2001. INFOVIS 2001. IEEE Symposium on , vol., no., pp.73-78. 2001. developed a Web-based system named TreeSolutions for © 2013 ICECE March 03 - 06, 2013, Luanda, ANGOLA VIII International Conference on Engineering and Computer Education 85