=Paper=
{{Paper
|id=Vol-2358/paper-11
|storemode=property
|title=Teaching Rationale Management in Agile Project Courses
|pdfUrl=https://ceur-ws.org/Vol-2358/paper-11.pdf
|volume=Vol-2358
|authors=Anja Kleebaum,Jan Ole Johanssen,Barbara Paech,Bernd Bruegge
|dblpUrl=https://dblp.org/rec/conf/seuh/KleebaumJPB19
}}
==Teaching Rationale Management in Agile Project Courses==
Teaching Rationale Management in Agile Project Courses Anja Kleebaum1 , Jan Ole Johanssen2 , Barbara Paech1 , and Bernd Bruegge2 1 Heidelberg University, Heidelberg, Germany 2 Technical University of Munich, Munich, Germany kleebaum@informatik.uni-heidelberg.de, jan.johanssen@tum.de, paech@informatik.uni-heidelberg.de, bruegge@in.tum.de Abstract of this lecture is to teach a rationale model to stu- Rationale management is beneficial since it supports dents, to introduce them to methods and tool support decision-making and prevents knowledge vaporiza- for rationale management, and to motivate them to tion. To apply rationale management, developers need apply rationale management in the future. We gave to know how to systematically capture rationale and this lecture as part of an agile multi-project course at how to exploit the documentation. We believe that the Technical University of Munich, in which student teaching these skills to students further integrates ra- teams work on different software projects over the tionale management into the daily work of developers period of one semester. The projects are initiated by and has positive effects on both the software develop- industrial customers [4]. As a default set of tools, the ment process and on the quality of the software. In students use the issue tracking system JIRA and the this paper, we report on a lecture on teaching ratio- wiki system Confluence. During the lecture, we pre- nale management to students. In this lecture, students sented our methods on rationale management to the are introduced to a rationale model, to capture and students and they applied parts of our tool support. exploitation methods, and tool support for rationale We asked students for their feedback on the presented management. The goal is to motivate them to apply tools and to perform exercises. rationale management. We present the students’ re- This paper is structured as follows. In Section 2, we sults as well as their attitude and feedback towards the outline background knowledge on rationale manage- applied methods. Further, we sketch how rationale ment and the agile multi-project course. In Section 3, management will be applied during the semester. we present our teaching material including six exer- cises, and the course of the lecture. Then, we sum- marize the students’ feedback, present the exercise 1 Introduction results, and discuss lessons learned. In Section 4, we Developing software means to continuously solve is- describe plans on how to evaluate rationale manage- sues and to make decisions. Developers possess knowl- ment during the agile project course. Section 5 lists edge about decisions, the issues they solve, alterna- related work and Section 6 concludes the paper. tives, and their justifications. This knowledge is called decision knowledge or rationale. The success of a 2 Background development project strongly depends on the decision- This section introduces the rationale model we use, making abilities of the developers and other relevant basics about issue tracking and wiki systems, our pre- stakeholders. Rationale management supports explicit vious work on integrating rationale management into decision-making by capturing rationale and by using agile software development, and a description of the the documentation [7]. Developers are said to be re- agile multi-project course that the lecture is part of. luctant to capture rationale systematically [1, 14, 18]. We believe that this can be alleviated by teaching de- 2.1 Rationale Models velopers how to capture rationale and by raising their A rationale model represents knowledge in the same awareness for the benefits of rationale management. way a system model represents a system. Rationale As part of our previous work, we developed meth- can be modeled as a graph of rationale elements ods and tool support to integrate rationale manage- and edges that represent the elements’ relationships. ment into agile development processes, in particular There are various models for building such graphs of into continuous software engineering [11, 12]. In rationale. In general, these models differ in the types this paper, we report on a lecture on teaching ratio- of elements and edges that they allow. For example, an nale management to university students. The goal advanced model is the decision documentation model, V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019 125 Teaching Rationale Management in Agile Project Courses Anja Kleebaum, Jan Ole Johanssen, Barbara Paech und Bernd Bruegge, Uni Heidelberg & TU München Emoji Name Indicating Phrases 2.3 Continuous Rationale Management I have a question . . . Agile processes support lightweight, flexible, and con- How should . . . tinuous software development. Rationale manage- Issue . . . , any suggestions? ment integrates well into such processes, yet, it should We need to discuss how . . . be easy to apply, i. e., developers should need as lit- I { suggest | propose } . . . tle effort for it as possible. Capturing and explor- Alternative One { option | proposal } is . . . ing rationale should be non-intrusive, which means What { about | do you think } . . . that developers should be able to perform rationale The { advantages | pros } are . . . management as part of their daily practices rather Pro I { like | prefer } it because . . . than having to change their development context. I agree with user . . . For example, developers should be able to capture and explore rationale simultaneously with performing The { disadvantages | cons } are . . . development tasks, implementing requirements, or Con I don’t like it because . . . I disagree with user . . . committing code. In order to fulfill this requirement of non- Let’s do . . . intrusiveness, we develop tool support that directly Decision We decided . . . integrates into the development tools [12]. In particu- The best option is . . . lar, we integrate our tool support into the issue track- ing system, version control system, wiki system, chat Table 1: Types of rationale elements, their represent- system, and the integrated development environment. ing emoji, and indicating phrases adapted from [5]. We refer to our tool support as ConDec, standing for the continuous management of decision knowledge. which makes fine-grained differences in element types The ConDec tool support is available online.3 such as implications resulting from a decision or con- While ConDec comprises features to trigger devel- straints that need to be considered [9]. There could opers in capturing and exploring rationale [11], in be various types of relationships between rationale this paper, we focus on the basic infrastructure neces- elements, for example, a decision can solve an issue sary for capturing and visualizing rationale as a graph. or it can also lead to a new issue. Regarding the ConDec tool support, the students get In order to teach rationale management, we use to know and apply the ConDec JIRA plugin, i. e., the an easy-to-learn model to represent rationale. This tool support for the issue tracking system JIRA. model covers five types of rationale elements: issue, The ConDec JIRA plugin supports different docu- alternative, pro- and con-argument, and decision (Ta- mentation locations of rationale, e. g., JIRA issues and ble 1). In our model, we distinguish three types of comments. On the one hand, rationale elements can relationships, i. e., edge types. The relates to relation- be captured as JIRA issues with special types for issue, ship is the default edge type. Only for arguments alternative, argument, and decision. Note the differ- different types are used: A pro-argument supports an ence between JIRA issue as an abstract container and alternative or the decision, whereas a con-argument the concrete issue as the rationale element. JIRA issue attacks an alternative or the decision. links are used to link the rationale elements with each other and also to JIRA issues of other types such as 2.2 Issue Tracking and Wiki System scenarios or tasks. On the other hand, rationale can Developers can capture rationale in various documen- be captured as part of the comments of JIRA issues. tation locations, for example, in the issue tracking 2.4 The iPraktikum [3, 10, 18] or the wiki system. Issue tracking systems are widely applied to store requirements, bug reports, The iPraktikum is a multi-project course in which up as well as development tasks. They contain various to 100 students work in eight to ten teams on real information types such as functionality or quality re- problems provided by an industry customer [4]. quests and as-is descriptions [17]. Wiki systems are In particular in the first half of the semester, the collaborative writing tools that can be applied for practical character of the course is supported by theo- many purposes, for example, for meeting manage- retical, yet interactive lectures. During these lectures, ment and requirements elicitation [19]. For a lecture the students learn the basic concepts of agile develop- on rationale management, we assume that students ment, release and merge management, modeling, and use the issue tracking system JIRA and the wiki system usability engineering. Recently, we added a lecture Confluence.1 JIRA and Confluence are commercial sys- on rationale management. During the iPraktikum, the tems that provide free licenses to universities. Both students apply latest tools and frameworks that are systems can be extended with plugins.2 used in real industry projects. Moreover, they get to use the results of latest research projects, which might 1 https://atlassian.com/software 2 https://developer.atlassian.com 3 https://github.com/cures-hub V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019 126 Teaching Rationale Management in Agile Project Courses Anja Kleebaum, Jan Ole Johanssen, Barbara Paech und Bernd Bruegge, Uni Heidelberg & TU München Figure 1: The decision knowledge view as a separate view for performing rationale management in JIRA. find their way into the development process in the future. This prepares the students for their future use. At the time of the rationale management lecture, they have already been introduced to JIRA and Con- fluence. Regarding JIRA, they have at least one month of experience. This knowledge is imparted through various channels: (a) a development introduction course in which the students are required to track the progress of their work via JIRA, (b) the work within their teams, and (c) a course-wide lecture on man- aging the backlog, on what JIRA issues are, on how to close, move, and work with them in sprints. Re- garding Confluence, we provide the students with a meeting management introduction at the beginning of the course. This is handled by the coaches of a team, a special role within the team that is fulfilled by an experienced student and which is similar to a scrum master. The coach can decide on what to present, how- ever, we provide a guideline that contains the major aspects of using Confluence. In particular, this relates to managing the team agenda, i. e., (a) how does a team meeting schedule look like?, (b) which roles are Figure 2: The JIRA issue view including the interactive present during each meeting?, (c) what are guidelines, rationale tree. i. e., what to provide as the stand-up information and when to use it? and the instant messaging services Slack5 . Further, the ConDec JIRA plugin6 needs to be installed in JIRA 3 Lecture on Rationale Management and be enabled for the specific projects that the stu- In this section, we describe the lecture, the results of dent teams work in. Rationale elements that can be its first instantiation, and then discuss these results explored by the students need to be added to the re- and our lessons learned. spective JIRA projects, e. g., the elements shown in Figure 1 and Figure 2. Slack is used as a communi- 3.1 Preparation and Introduction cation tool between the instructors and students. In The lecture is designed to last 90 minutes. Students particular, polls can be created with the Polly Slack are grouped into teams and require a web-connected app7 through which students participate during the device with access to the internet.4 During the lec- lecture. ture, three systems are needed: JIRA, Confluence, 5 https://slack.com 4 An alternative would be to run the servers locally and to give 6 https://github.com/cures-hub/cures-condec-jira students access to the intranet (not possible for Slack). 7 https://polly.ai V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019 127 Teaching Rationale Management in Agile Project Courses Anja Kleebaum, Jan Ole Johanssen, Barbara Paech und Bernd Bruegge, Uni Heidelberg & TU München The first part of the lecture covers background in- In our example, the decision and alternative on the formation about rationale management, such as its left are more requirements-related, whereas the deci- definition, expected benefits, and the rationale ele- sion on the right is implementation-specific (Figure 2). ments. We advise students to use certain phrases With this exercise, the students should learn that ra- when talking about and capturing rationale (Table 1). tionale can be captured for all steps in the software Further, we recommend to phrase issues as questions engineering process, including requirements elicita- ending with a question mark and to end alternatives tion, implementation, deriving test cases, and when with an exclamation mark. processing user feedback. Now, the students will make their first experience 3.2 Capturing, Visualizing, and Filtering in capturing rationale: Rationale in JIRA In the second part of the lecture, the students are Exercise 3 Link the existing issue “How to save trans- introduced to the JIRA ConDec plugin including the actions?” to the scenario. JIRA issue types for rationale elements (Figure 3). This issue is already part of the JIRA project (Fig- ure 1) but not linked to the scenario yet. The students can link the issue via a context menu on the scenario node (root node in Figure 2). The students realize that graphs of rationale can become large and complex. Therefore, filtering is important. The next exercise addresses filtering: Exercise 4 Filter the element types so that only the scenario and decisions are shown in the rationale tree. Figure 3: JIRA issue types available in the project. Two views for rationale management are shown to the students: the decision knowledge view (Figure 1) and the JIRA issue view (Figure 2). The decision knowledge view is a separate view that holds all ratio- nale elements and their links for the given project. In Figure 4: Filtered rationale tree. this view, a user can select single rationale elements and visualize the graph of rationale as a tree, called Figure 4 shows the solution of this exercise. Now, rationale tree. In the JIRA issue view, rationale at- students discuss rationale in their team: tached to JIRA issues can be explored. For example, Exercise 5 Create a new issue “How to persist data?”. Figure 2 shows the rationale tree for a scenario. Add the following alternatives: “JSON!”, “SQLite!”. Dis- Then, the instructor demonstrates how to create cuss and capture pro and cons of each persistence alter- and link rationale elements shown on the right side native in your team. Add more alternatives and make a of Figure 1. Afterwards, the students gather in teams decision. and perform the first exercise: To solve this exercise, the students can add rationale Exercise 1 Gather your team, open your JIRA project, elements collaboratively from different devices. This and find the scenario already documented in the project. exercise takes about 10 to 15 minutes. Answer the question: How many issues are linked to the Rationale can be captured in many places. JIRA scenario? issues are just one possible documentation location The students can answer the question via a poll. In to store rationale. In order to demonstrate that there our example, the correct answer is that two issues are are other possible documentation locations, the stu- linked to the scenario (Figure 2). The next exercise is dents are presented with capturing rationale in JIRA to discuss the content of the solution proposals, i. e., issue comments (Figure 6). In this lecture, this is the alternatives and decisions. for information only, but, as part of our future work, we integrate various documentation locations typical Exercise 2 Answer the question: Which of the proposed for continuous software engineering and support the alternatives and decisions focus on requirements, which identification of rationale elements with a supervised of them on implementation? text classifier. V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019 128 Teaching Rationale Management in Agile Project Courses Anja Kleebaum, Jan Ole Johanssen, Barbara Paech und Bernd Bruegge, Uni Heidelberg & TU München 3.4 Results Two authors of this paper gave the lecture on Novem- ber 8, 2018. In this section, we present results of this first instantiation of the lecture. The first poll was to answer the question what team a student belongs to. With this poll, we wanted the students to get warmed up in voting and to get the number of participating students. In total, 88 students answered the poll, i. e., about 88 students participated in the lecture. This number serves as a reference point for the following, quantitative evaluation results. Exercise 1 was answered by 64 students, i. e., 73 % of the participating students, of whom 63 gave the correct answer. Regarding the content of the solution proposals, Figure 6: Explicit rationale in the comments of the i. e., the alternatives and decisions, we initially asked scenario. a different question than given in Exercise 2. We asked the students to describe the difference between the alternatives and decisions. Since this question seemed 3.3 Rationale-based Meeting Management to be hard to answer, we restated the question as given Capturing rationale pays off during sprint meetings. in Exercise 2. This exercise was verbally performed The meeting agenda has an information sharing sec- and we did not collect any results for it. tion that lists issues discussed and decisions made After performing Exercise 3, we asked students to during the last sprint. If meeting agendas are man- assess how easy it was to link an existing issue to aged in Confluence, the rationale elements captured a scenario via a poll. They were asked to rate the in JIRA can be easily imported. statement Linking an existing issue to a scenario is Exercise 6 Gather your team, open your Confluence easy with one answer from a five point Likert scale. 59 space and create a new page calledstudents participated in this poll, of whom 6 disagreed, (one per team). Create a sub-page called 11 were neutral, and 32 agreed with the statement (every team member). Use the JIRA Issue/Filter macro (Figure 5). After the lecture, we checked whether the to display decisions from your JIRA project. Answer the teams correctly performed Exercise 3. In every team question: How many decisions do you see? project, the issue was correctly linked to the scenario. The JIRA Issue/Filter macro is used in the exercise We did not collect any results for or attitudes to- and the search string is expressed using the JIRA query wards Exercise 4. language (JQL). The JQL string is: For Exercise 5, we created a poll in which the stu- dents could rate the statement Discussing rationale project = AND using ConDec is simple. 56 students participated in issuetype = Decision AND this poll, of whom 7 disagreed, 13 were neutral, and created > -7d. 35 agreed with the statement (Figure 5). In our case, two decisions are shown. I would apply presenting rationale in Confluence pages. I would apply capturing rationale in JIRA issue comments. Discussing rationale using ConDec is simple. Linking an existing issue to a scenario is easy. 20 0 20 40 Number of students strongly disagree disagree neutral agree strongly agree Figure 5: Students’ attitude towards the presented methods and tools for rationale management. V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019 129 Teaching Rationale Management in Agile Project Courses Anja Kleebaum, Jan Ole Johanssen, Barbara Paech und Bernd Bruegge, Uni Heidelberg & TU München We asked the students to provide written feedback The results of voting on the statements in Figure 5 on discussing rationale (Table 2) and we analyzed the lead us to conclude that the majority of the students rationale graphs. A total of 126 rationale elements liked applying rationale management. More impor- were documented, i. e., a mean value of 12.6 rationale tant than the votes, the written feedback summarized elements per team with a standard deviation of 9.4 in Table 2 encourages us to improve the visualization elements. That means that each student contributed and filtering components of the ConDec JIRA plugin. a mean value of 1.4 rationale elements. A mean value In general, we had the impression that the students of 3.3 alternatives were documented per team (stan- liked voting on the polls and performing the exercises, dard deviation 1.2). 61 % of the alternatives correctly since this made the lecture more interactive [13]. ended with an exclamation mark. Seven of the ten Studying the rationale trees that the students cre- issues correctly ended with a question mark. Four ated in Exercise 5, we noticed that we did not ask the teams documented the decision. The types of the el- students to make a decision. Thus, only four decisions ements were correctly chosen, e. g., arguments were were documented. As a result, we will restate the not accidentally classified as alternatives. exercise for future use. The students seem to under- stand the elements of the rationale model (Table 1), Student Feedback Our Rationale since they correctly classified the element types in their trees of rationale. Permission scheme in the Deletion of elements is not JIRA project forbids dele- possible. tion for non-admin users. 4 Evaluation During Semester If there are many alterna- Two teams continue to apply rationale management tives and arguments, it is during the agile project course. Thus, we will evalu- A better graph visualization ate the explained methods for rationale management, hard to get an overview. and better, easy-to-apply fil- especially the ConDec JIRA plugin. The user needs to scroll ter possibilities are needed. very far to the right to see We introduced the role of the rationale manager. all the content. The rationale manager is responsible for checking and Capturing rationale ele- improving the rationale quality, i. e., they make sure Rationale elements should ments in separate JIRA is- that important elements are documented and that not always be a single sues has the advantage that they are consistent. Further, the rationale manager ticket. This seems to end they can easily be imported imports issues and decisions important for the last up in a ticket overflow. Pro- into Confluence. We also sprint into the meeting agenda in Confluence. They and con-arguments should develop the ConDec Conflu- update and add rationale elements after the meeting be comments. ence plugin to import ratio- in JIRA. The role of the rationale manager is taken by nale from comments. one student per team. The role is passed on after a week to a different student, i. e., it is an interchanging Table 2: Summarized feedback provided by students. role. After the students have completed the role of the rationale manager, we ask them to give us feedback After demonstrating that rationale could also be cap- by filling in a questionnaire. We derive the questions tured in the comments of the scenario, we asked the in this questionnaire by considering the variables of students to rate the statement I would apply capturing the technology acceptance model [16]: We consider rationale in JIRA issue comments. 61 students partic- the perceived usefulness, the perceived ease of use, ipated in this poll, of whom 18 disagreed, 24 were and the intention to use. Next to rating statements as neutral, and 19 agreed with the statement (Figure 5). shown in Figure 5, it is important that the students After the students performed Exercise 6, we asked provide detailed feedback on the features for rationale them to rate the statement I would apply presenting management they applied. For example, students rationale in Confluence pages. 55 students participated should provide details on what they think is useful or in this poll, of whom 7 disagreed, 13 were neutral, useless, easy or difficult, and why they think so. and 35 agreed with the statement (Figure 5). A mean value of 58 students participated in the 5 Related Work polls analyzed in Figure 5, which represents 66 % of To the best of our knowledge there is no work that all students. reports on teaching rationale management. Thus, in 3.5 Discussion and Lessons Learned this section, we present related work on applying rationale management in student projects. Clearly, the results that we collected during the lecture While tools for rationale management have been only represent the students’ first impression about the evaluated in student projects before, e. g., in [8] and presented methods for rationale management and the [2], the following authors especially focus on the pos- ConDec JIRA plugin. As described in the next section, itive effects of rationale management for the success we will apply a more thorough evaluation process of the student course. during the semester. V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019 130 Teaching Rationale Management in Agile Project Courses Anja Kleebaum, Jan Ole Johanssen, Barbara Paech und Bernd Bruegge, Uni Heidelberg & TU München Dutoit et al. discuss experiences with an integrated, Acknowledgements rationale-based modeling environment in a variety This work was supported by the DFG (German Re- of software engineering courses [6]. By applying ra- search Foundation) under the Priority Programme tionale management, they aim to enhance the com- SPP1593: Design For Future – Managed Software munication between instructor and students, to sup- Evolution (CURES project). We thank the partici- port students in reflecting their own work, and to pants of the rationale management lecture for their enable the instructor to better monitor the students’ participation in the exercises as well as the ConDec progress. These are valid benefits that we also expect developers, inter alia, Tim Kuchenbuch, Jochen Clor- when students apply rationale management during mann, and Lars Tralle. Furthermore, we would like to the semester as part of the agile project course. Simi- thank Dominic Henze, Matthias Linhuber, and Florian lar to their modeling environment, ConDec integrates Angermeir for their technical support and Doris Kei- the rationale elements with the system elements, such del–Mueller for providing valuable feedback on the pa- as requirements. In addition, we focus on linking ratio- per. The emojis are created by Yusuke Kamiyamane10 nale with development tasks since they represent the and licensed under a Creative Commons License. place where developers need to solve issues related to design and implementation. References Malloy and Burge developed the software engineer- ing using rationale tool SEURAT_Edu as a web-based [1] Zoya Alexeeva, Diego Perez-Palacin, and Raf- system that replaces the former SEURAT Eclipse8 ex- faela Mirandola. Design decision documenta- tension [15]. Like our tool support, SEURAT_Edu tion: A literature overview. In Software Architec- aims to support students in making the best decision ture, volume 5292 of Lecture Notes in Computer for an issue under consideration by explicitly reason- Science, pages 84–101. Springer, Berlin, Heidel- ing about design alternatives. During their evalua- berg, 2016. tion, Malloy and Burge found that the students us- [2] Rana Alkadhi, Jan Ole Johanssen, Emitza Guz- ing their tool considered more alternatives and put man, and Bernd Bruegge. REACT: An approach more thought into decision-making. Similar to their for capturing rationale in chat messages. In tool, the ConDec JIRA plugin is web-based, which 11th ACM/IEEE International Symposium on Em- allows students to easily collaborate. Their tool in- pirical Software Engineering and Measurement tegrates with learning management systems such as (ESEM’17), Toronto, Canada, 2017. IEEE. Moodle9 , which has the advantage that the learning management system takes care of authentication and [3] Manoj Bhat, Klym Shumaiev, Andreas Biesdorf, assignment creation. In our case, this is handled by Uwe Hohenstein, and Florian Matthes. Auto- JIRA. Similar as we do in the lecture on rationale matic extraction of design decisions from is- management, SEURAT_Edu enables the teacher to sue management systems: A machine learning supply students with incomplete rationale that they based approach. In 11th European Conference are asked to complete. In addition, SEURAT_Edu en- on Software Architecture (ECSA’17), pages 138– ables the teacher to create a set of “solution” rationale. 154, Cham, Switzerland, 2017. Springer. ISBN It displays the status to which students reached a so- 978-3-319-65830-8. lution, in order to encourage them during their tasks. SEURAT_Edu performs automatic error checks, e. g., [4] Bernd Bruegge, Stephan Krusche, and Lukas whether there are issues not solved by a decision. The Alperowitz. Software engineering project ConDec JIRA plugin provides a report page that lists courses with industrial clients. ACM Trans- quality metrics. We plan to integrate support to ensure actions on Computing Education, 15(4):17:1– the rationale quality in the development process. 17:31, 2015. [5] Michael Doyle and David Straus. How to Make 6 Conclusion Meetings Work: The New Interaction Method. We presented a lecture on rationale management that Berkley, 1993. ISBN 978-0425138700. teaches students to apply a rationale model as well as methods and tool support for rationale management. [6] Allen H. Dutoit, Timo Wolf, Barbara Paech, Lars The students’ feedback and the exercise results let us Borner, and Jürgen Rückert. Using rationale conclude that the students comprehend the usage of for software engineering education. In 18th the rationale model and that they are motivated to Conference on Software Engineering Education apply rationale management. To validate this first and Training (CSEE&T), pages 129–136, Ottawa, impression, a more detailed evaluation will be part of Canada, 2005. IEEE. the remaining duration of the agile project course. [7] Allen H. Dutoit, Raymond McCall, Ivan Mistrík, and Barbara Paech. Rationale Management in 8 https://eclipse.org 9 https://moodle.de 10 http://p.yusukekamiyamane.com V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019 131 Teaching Rationale Management in Agile Project Courses Anja Kleebaum, Jan Ole Johanssen, Barbara Paech und Bernd Bruegge, Uni Heidelberg & TU München Software Engineering: Concepts and Techniques. [14] Claudia López, Víctor Codocedo, Hernán As- Springer, 2006. ISBN 978-3-540-30998-7. tudillo, and Luiz Marcio Cysneiros. Bridging the gap between software architecture rationale [8] Davide Falessi, Giovanni Cantone, and Martin formalisms and actual architecture documents: Becker. Documenting design decision rationale An ontology-driven approach. Science of Com- to improve individual and team design decision puter Programming, 77(1):66–80, 2012. making. In ACM/IEEE International Symposium on Empirical Software Engineering (ISESE), pages [15] John Malloy and Janet Burge. SEURAT_Edu: A 134 – 143, Rio de Janeiro, Brazil, 2006. ACM. tool to assist and assess student decision-making [9] Tom-Michael Hesse and Barbara Paech. Support- in design. In 47th Technical Symposium on Com- ing the collaborative development of require- puting Science Education (SIGCSE), pages 669– ments and architecture documentation. In 3rd 674, Memphis, Tennessee, USA, 2016. ACM. International Workshop on the Twin Peaks of Re- [16] Nikola Marangunić and Andrina Granić. Tech- quirements and Architecture, pages 22–26, 2013. nology acceptance model: a literature review [10] Tom-Michael Hesse, Veronika Lerche, Marcus from 1986 to 2013. Universal Access in the Infor- Seiler, Konstantin Knoess, and Barbara Paech. mation Society, 14(1):81–95, 2015. Documented decision-making strategies and de- [17] Thorsten Merten, Bastian Mager, Paul Hüb- cision knowledge in open source projects: An ner, Thomas Quirchmayr, Simone Bürsner, and empirical study on firefox issue reports. Informa- Barbara Paech. Requirements communication tion and Software Technology, 79:36–51, 2016. in issue tracking systems in four open-source [11] Anja Kleebaum, Jan Ole Johanssen, Barbara projects. In 6th International Workshop on Re- Paech, Rana Alkadhi, and Bernd Bruegge. Deci- quirements Prioritization and Communication sion knowledge triggers in continuous software (RePriCo), pages 114–125, Essen, Germany, engineering. In 4th International Workshop on 2015. Rapid Continuous Software Engineering (RCoSE), [18] Benjamin Rogers, Yechen Qiao, James Gung, pages 23–26, Gotheburg, Sweden, 2018. ACM. Tanmay Mathur, and Janet E. Burge. Using [12] Anja Kleebaum, Jan Ole Johanssen, Barbara text mining techniques to extract rationale from Paech, and Bernd Bruegge. Tool support for de- existing documentation. In 6th International cision and usage knowledge in continuous soft- Conference on Design Computing and Cognition, ware engineering. In 3rd Workshop on Continu- pages 457–474. Springer, 2014. ous Software Engineering, pages 74–77, 2018. [19] Carlos Solis and Nour Ali. Distributed require- [13] Stephan Krusche, Nadine von Frankenberg, and ments elicitation using a spatial hypertext wiki. Sami Afifi. Experiences of a software engineer- In 5th IEEE International Conference on Global ing course based on interactive learning. In Software Engineering, pages 237–246, Princeton, 15. Workshop Software Engineering im Unterricht NJ, USA, 2010. IEEE. der Hochschulen (SEUH), pages 32–40, Hanover, Germany, 2017. V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019 132