Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Application of a Data Visualization Technique Based on Trees to Aid Prioritization                            of Requireme...
are short daily meetings always at the same time with the                                      TABLE IScrum Master, which ...
know which requirements will be prioritized. And it is really     TreeSolutions were: Slice and Dice, Squarified TreeMap a...
The system is open source and developed in the Java.           allocated according to the their characteristics contexts a...
you hover the mouse over one of the rectangles, appears a       applying of technique proposed. Compared to the resultspop...
Upcoming SlideShare
Loading in …5
×

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

648 views

Published on

  • Be the first to comment

  • Be the first to like this

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

  1. 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 Neto6Abstract  The practice of requirements prioritization Therefore, this work used a data viewing techniqueinvolves the recovery analysis of each requirement by based on "TreeMap" [4]. This technique aims to show newcustomers and requirements selection that will be ways of data viewing more intuitive and effective, whichimplemented in a specific version of the system. Wrong helps in the analysis of the results obtained by thechoices during requirements prioritization may affect the requirements prioritization practice that is based on Kanosystem quality and thus its acceptance by customers. Within technique.this context, some practices of requirements prioritizationhave been addressed in agile projects to improve the SCRUM – AN AGILE SOFTWARE DEVELOPMENTrequirements prioritization stage. Among them, there is a METHODOLOGYpractice based on Kano technique, which uses the agiledevelopment methodology Scrum in software projects. The agile methodology Scrum has come up proposing toHowever, 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 toanalyzed in order to determine the real importance of each constant changes in software projects. According to theirrequirement. Therefore, this paper proposes a data evangelizers, the customer becomes more satisfied, becausevisualization technique based on "TreeMaps" in order to there are constantly deliveries of developed features, and theassist 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 bein software development [6]. This practice involves the the sponsor or the person interested in the project and is inStakeholders 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 chargeversion of the system. Wrong choices on which requirements to develop the project taking into account all of the featuresshould be prioritize and may affect the system quality and, needed. And finally, the Scrum Master, which the mainthen, 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 facedagile methodology, some practices of requirements by the Team Member.prioritization have been addressed in agile projects to Scrum works with incremental development, whereimprove the requirements prioritization stage. Among them, each iteration is called Sprint. The process must start fromthere 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 istransform the information obtained by research into real organized in descending order of priority. From Productimprovements 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 howones 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, there1 Fábio Abrantes Diniz, Master in Computer Science at the Graduate Program in Computer Science – UERN/UFERSA, fabio.abrantes.diniz@gmail.com2 Thiago Reis da Silva, Master in Computer Science at the Graduate Program in Computer Science – UERN/UFERSA, trsilva.si@gmail.com3 Íthalo Bruno Grigório de Moura, Master in Computer Science at the Graduate Program in Computer Science – UERN/UFERSA, ithalobgm@gmail.com4 Diego Grosmann, Master in Computer Science at the Graduate Program in Computer Science – UERN/UFERSA, diegogrosmann@gmail.com5 Francisco Milton Mendes Neto, Teacher Graduate Program in Computer Science – UERN/UFERSA, miltonmendes@ufersa.edu.br6 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. 2. are short daily meetings always at the same time with the TABLE IScrum Master, which is charge of project management and ANSWERS TO THE FUNCTIONL AND NON-FUNCTIONAL QUESTIONS AND RESULTS FOR EACH COMBINATIONgroup leadership. In these meetings, it is discussed the workprogress in which every team member presents results oftheir 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 forproject definition, definition and prioritization ofrequirements) and delivered to the customer. At the end ofeach iteration, the whole team participates in a Sprint The category I (indifferent) in Table I is used when theretrospective. After the Sprint conclusion, the cycle restarts, user shows that has no real need for this feature, i.e. it doesremoving the next slice of Product Backlog for the next not matter if is satisfied or not. The category M (mandatorySprint [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, thethe reason why Scrum is one of the agile methodologies requirements of category M are already embedded in themost used by software development companies, because it is products offered, and are therefore a prerequisite. That puta process that builds software incrementally in complex the Mandatory requirements will not make the customerenvironments, where the requirements are not clear or happier, however, without them the system does not workchange 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 completionprocess for agile projects proposed by [1] facilitates the level of these requirements, i.e., the higher the completion ofrequirements prioritization for the customer. The customer level, the higher will be the customer satisfaction. Thehas difficulty in saying what requirement is the most category R (reverse) means that, if that requirement isimportant in a system, because for the customer, all developed, could cause a rejection to the software or certainrequirements are interesting and indispensable for the feature. The category Q (questionable) means that the userproduct. In Scrum methodology, this happens in many cases. does not understand the questions or that he is notThe customer puts many requirements with maximum corresponding with the truth [1]. According to the analysisbusiness value making it clear that the costumer has no idea of the proposed work by Asfora [1], shows that the order ofwhich 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 theprocess 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 theBacklog to the development team in order to the responses from Kano table for the two questions generate arequirements can be prioritized. The technique is to make a result for each requirement. It is seen that the requirement 1couple of questions for each requirement. A functional (Req 1) has the largest percentage (43.8 %) for classificationquestion and other non-functional. According to [1] the as linear or important. The requirement 3 (Req 3) wasimportance of Kano technique in these questions is to show classified as mandatory and desired because both have closethe parallel between what makes the customer very satisfied results. Therefore, leaving the following descending order ofand what it does not, this helps to understand the real need prioritization: Requirement 2, requirement 1 and finallyfor each requirement. If the parallel mentioned is not present Requirement 3.in the next prototype delivery, it is very important to havethe real need relation for each requirement. It is natural that TABLE IIalways be responded that such very important requirement RESULTS SUMMARIZINGmust be done, because the user wants a great amount ofactivities performed by a software. In these cases, it isinteresting include the dissatisfaction criterion to notice whatreally makes him unsatisfied if it is not developed. Questions are formed as follows: (a) how would youfeel if Requirement X was in the next release? (B) Howwould you feel if Requirement X was not in the next Kano technique is very efficient regarding its use andrelease? 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. 3. know which requirements will be prioritized. And it is really TreeSolutions were: Slice and Dice, Squarified TreeMap anddifficult to make a decision. For example, in Table II, how to Ordered TreeMap [11] [4]. These algorithms represent aknow 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 theprojects, 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 thedata 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 amongwere most voted by the users, it is not enough to make the them. It is interesting to make a comparative analysis amongitems 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 offocus 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 sizeProduct Backlog, aiming to display the requirements and position of the rectangles when processing datahierarchy that have more priority to be developed. changes; Some advantages are evident using TreeMap, such as: • Ordering: evaluates the original order of data whenefficiently uses the whole screen viewing; preserves the processing data changes;general information context; quick navigation among nodes; • Suitability for reading: verifies the performanceallows 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 beenused in multiple applications due to its ease of viewing that TABLE IIIprovides to users the comparative analysis of a large amount COMPARISON OF TREEMAPS ALGORITHMSof information. Nowadays, it is used in computer file systemapplications, 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 rectanglessequence corresponding to attributes of a data set. Eachrectangle has an area and color which are defined by the According to Table III, the positive sign (+) indicates avalues previously set. Therefor, it has properties that must be positive result that brings the metric to the specifictaken into consideration, and according to [11] and [4], the algorithm, since the minus sign (-) indicates a negative resultproperties 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 users 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 Backlogalgorithm definition to be used in the rectangles creation. requirements so that it can be delivered faster to theThe 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. 4. The system is open source and developed in the Java. allocated according to the their characteristics contexts andTests were performed with the existent data in case studies analyzed tests during development. The questionablefound in the work produced by [1] and according to the category and the reverse received negative values, becauseresults analysis, it was observed that, using TreeMap they categorized the requirements that do not bringtechnique 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 requirementssystem with the features and the result obtained by TreeMap viewing in rectangle shape, the system has the pop-upwith 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 ResultsTreeSolutions is subdivided into two main modulesimplementation: TreeMap Module and Interface Module. The test of TreeSolutions system was performed basedIn the Interface module, the Product Owner has access to a on data collected in [1]. The data acquired involve a casegraphical interface with information about its Product study of the (CESAR), short for Centro de Estudos eBacklog containing the requirements. This interface allows Sistemas Avançados do Recife (English: Recife Centerinsertion of the Product Backlog. In addition, the for Advanced Studies and Systems). They were originated ofinformation coming from the Kano table are inserted, such the SEPG project - group of improvement of the internalas: 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 withindifferent). 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 resultstechnique named TreeMap. We used the Java TreeMap class analysis, it was observed that using the TreeMap techniquethat offers additional features to associate the order to the made the data viewing more efficient and robust for the listcollection elements. The algorithms mentioned in Section 5 preparation of requirements prioritized.were developed and implemented in this module to representthe rectangles areas and were implemented the color TABLE IVproviders, which import the color models RGB (Red, Green RESPONSE PERCENTAGE GENERATED BY KANO TECHNIQUE [1].and Blue), HSB (Hue, Saturation and Brightness) and itsvariations for colors reproduction in the rectangles areas ofthe TreeMap. According to the system implementation context, it wasgiven the rectangle area as an attribute more significant thanthe color, since the area represents indispensable andimportant requirements, i.e., they are requirements whichwithout them, the system does not work. The rectangle colorrepresents the user satisfaction in having the requirement inthe system. Then, the clearer is the color in the colors scale,the greater is the user satisfaction having the requirement inthe system. The rectangle area indicates the presence degree, As is shown in Figure 1, the viewing screen has ai.e., rectangles of greater area represent the requirements that choice field of the viewing strategy (a) in which you choosemust be in the system. Therefor, the larger is the area and the the algorithm used in the TreeMap construction and has thegreater is the color in the colors scale, this indicates that this rectangles color scale that can be changed according torequirement has higher priority and should be implemented users wish (d, e). The central part (c) shows thefirst. 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 afunction 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 ainputs of the Mandatory and Linear categories, with their choice field of the viewing strategy (a) in which you chooserespective weights, such as: data entry or by a standard the algorithm used in the TreeMap construction and has thedefault of the chosen system. The default values are: rectangles color scale that can be changed according toMandatory = 10, Linear = 5, Desired = 2, Indifferent = 0, users wish (d, e). The central part (c) shows theQuestionable = -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. 5. you hover the mouse over one of the rectangles, appears a applying of technique proposed. Compared to the resultspop-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 fromTreeMap 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 inimplemented by developers and the requirements which Computer Science. Springer-Verlag, pp.1-9. 2002.must be on hold for future versions of the software. Therequirements more required are those which have lower [4] JOHNSON, B.; SHNEIDERMAN, B. “Tree-maps: a space- filling approach to the visualization of hierarchical informationvalues 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 TreeMapon 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

×