<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Teaching Rationale Management in Agile Project Courses</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Anja Kleebaum</string-name>
          <email>kleebaum@informatik.uni-heidelberg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jan Ole Johanssen</string-name>
          <email>jan.johanssen@tum.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Barbara Paech</string-name>
          <email>paech@informatik.uni-heidelberg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bernd Bruegge</string-name>
          <email>bruegge@in.tum.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Heidelberg University</institution>
          ,
          <addr-line>Heidelberg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Technical University of Munich</institution>
          ,
          <addr-line>Munich</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2019</year>
      </pub-date>
      <fpage>125</fpage>
      <lpage>132</lpage>
      <abstract>
        <p>Rationale management is beneficial since it supports decision-making and prevents knowledge vaporization. To apply rationale management, developers need to know how to systematically capture rationale and how to exploit the documentation. We believe that teaching these skills to students further integrates rationale management into the daily work of developers and has positive effects on both the software development process and on the quality of the software. In this paper, we report on a lecture on teaching rationale management to students. In this lecture, students are introduced to a rationale model, to capture and exploitation methods, and tool support for rationale management. The goal is to motivate them to apply rationale management. We present the students' results as well as their attitude and feedback towards the applied methods. Further, we sketch how rationale management will be applied during the semester.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Developing software means to continuously solve
issues and to make decisions. Developers possess
knowledge about decisions, the issues they solve,
alternatives, and their justifications. This knowledge is called
decision knowledge or rationale. The success of a
development project strongly depends on the
decisionmaking abilities of the developers and other relevant
stakeholders. Rationale management supports explicit
decision-making by capturing rationale and by using
the documentation [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Developers are said to be
reluctant to capture rationale systematically [
        <xref ref-type="bibr" rid="ref1 ref15 ref19">1, 14, 18</xref>
        ].
We believe that this can be alleviated by teaching
developers how to capture rationale and by raising their
awareness for the benefits of rationale management.
      </p>
      <p>
        As part of our previous work, we developed
methods and tool support to integrate rationale
management into agile development processes, in particular
into continuous software engineering [
        <xref ref-type="bibr" rid="ref12 ref13">11, 12</xref>
        ]. In
this paper, we report on a lecture on teaching
rationale management to university students. The goal
of this lecture is to teach a rationale model to
students, to introduce them to methods and tool support
for rationale management, and to motivate them to
apply rationale management in the future. We gave
this lecture as part of an agile multi-project course at
the Technical University of Munich, in which student
teams work on different software projects over the
period of one semester. The projects are initiated by
industrial customers [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. As a default set of tools, the
students use the issue tracking system JIRA and the
wiki system Confluence. During the lecture, we
presented our methods on rationale management to the
students and they applied parts of our tool support.
We asked students for their feedback on the presented
tools and to perform exercises.
      </p>
      <p>This paper is structured as follows. In Section 2, we
outline background knowledge on rationale
management and the agile multi-project course. In Section 3,
we present our teaching material including six
exercises, and the course of the lecture. Then, we
summarize the students’ feedback, present the exercise
results, and discuss lessons learned. In Section 4, we
describe plans on how to evaluate rationale
management during the agile project course. Section 5 lists
related work and Section 6 concludes the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <p>This section introduces the rationale model we use,
basics about issue tracking and wiki systems, our
previous work on integrating rationale management into
agile software development, and a description of the
agile multi-project course that the lecture is part of.
2.1</p>
      <sec id="sec-2-1">
        <title>Rationale Models</title>
        <p>A rationale model represents knowledge in the same
way a system model represents a system. Rationale
can be modeled as a graph of rationale elements
and edges that represent the elements’ relationships.
There are various models for building such graphs of
rationale. In general, these models differ in the types
of elements and edges that they allow. For example, an
advanced model is the decision documentation model,
Emoji</p>
        <sec id="sec-2-1-1">
          <title>I f suggest j propose g . . . One f option j proposal g is . . . What f about j do you think g . . .</title>
        </sec>
        <sec id="sec-2-1-2">
          <title>The f advantages j pros g are . . .</title>
          <p>I f like j prefer g it because . . .
I agree with user . . .</p>
        </sec>
        <sec id="sec-2-1-3">
          <title>The f disadvantages j cons g are . . .</title>
          <p>I don’t like it because . . .</p>
          <p>I disagree with user . . .</p>
          <p>Let’s do . . .</p>
          <p>We decided . . .</p>
          <p>
            The best option is . . .
which makes fine-grained differences in element types
such as implications resulting from a decision or
constraints that need to be considered [
            <xref ref-type="bibr" rid="ref10">9</xref>
            ]. There could
be various types of relationships between rationale
elements, for example, a decision can solve an issue
or it can also lead to a new issue.
          </p>
          <p>In order to teach rationale management, we use
an easy-to-learn model to represent rationale. This
model covers five types of rationale elements: issue,
alternative, pro- and con-argument, and decision
(Table 1). In our model, we distinguish three types of
relationships, i. e., edge types. The relates to
relationship is the default edge type. Only for arguments
different types are used: A pro-argument supports an
alternative or the decision, whereas a con-argument
attacks an alternative or the decision.
2.2</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>Issue Tracking and Wiki System</title>
        <p>
          Developers can capture rationale in various
documentation locations, for example, in the issue tracking
[
          <xref ref-type="bibr" rid="ref11 ref19 ref3">3, 10, 18</xref>
          ] or the wiki system. Issue tracking systems
are widely applied to store requirements, bug reports,
as well as development tasks. They contain various
information types such as functionality or quality
requests and as-is descriptions [
          <xref ref-type="bibr" rid="ref18">17</xref>
          ]. Wiki systems are
collaborative writing tools that can be applied for
many purposes, for example, for meeting
management and requirements elicitation [
          <xref ref-type="bibr" rid="ref20">19</xref>
          ]. For a lecture
on rationale management, we assume that students
use the issue tracking system JIRA and the wiki system
Confluence.1 JIRA and Confluence are commercial
systems that provide free licenses to universities. Both
systems can be extended with plugins.2
1https://atlassian.com/software
2https://developer.atlassian.com
2.3
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>Continuous Rationale Management</title>
        <p>Agile processes support lightweight, flexible, and
continuous software development. Rationale
management integrates well into such processes, yet, it should
be easy to apply, i. e., developers should need as
little effort for it as possible. Capturing and
exploring rationale should be non-intrusive, which means
that developers should be able to perform rationale
management as part of their daily practices rather
than having to change their development context.
For example, developers should be able to capture
and explore rationale simultaneously with performing
development tasks, implementing requirements, or
committing code.</p>
        <p>
          In order to fulfill this requirement of
nonintrusiveness, we develop tool support that directly
integrates into the development tools [
          <xref ref-type="bibr" rid="ref13">12</xref>
          ]. In
particular, we integrate our tool support into the issue
tracking system, version control system, wiki system, chat
system, and the integrated development environment.
We refer to our tool support as ConDec, standing for
the continuous management of decision knowledge.
The ConDec tool support is available online.3
        </p>
        <p>
          While ConDec comprises features to trigger
developers in capturing and exploring rationale [
          <xref ref-type="bibr" rid="ref12">11</xref>
          ], in
this paper, we focus on the basic infrastructure
necessary for capturing and visualizing rationale as a graph.
Regarding the ConDec tool support, the students get
to know and apply the ConDec JIRA plugin, i. e., the
tool support for the issue tracking system JIRA.
        </p>
        <p>The ConDec JIRA plugin supports different
documentation locations of rationale, e. g., JIRA issues and
comments. On the one hand, rationale elements can
be captured as JIRA issues with special types for issue,
alternative, argument, and decision. Note the
difference between JIRA issue as an abstract container and
the concrete issue as the rationale element. JIRA issue
links are used to link the rationale elements with each
other and also to JIRA issues of other types such as
scenarios or tasks. On the other hand, rationale can
be captured as part of the comments of JIRA issues.
2.4</p>
      </sec>
      <sec id="sec-2-4">
        <title>The iPraktikum</title>
        <p>
          The iPraktikum is a multi-project course in which up
to 100 students work in eight to ten teams on real
problems provided by an industry customer [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
        </p>
        <p>In particular in the first half of the semester, the
practical character of the course is supported by
theoretical, yet interactive lectures. During these lectures,
the students learn the basic concepts of agile
development, release and merge management, modeling, and
usability engineering. Recently, we added a lecture
on rationale management. During the iPraktikum, the
students apply latest tools and frameworks that are
used in real industry projects. Moreover, they get to
use the results of latest research projects, which might
3https://github.com/cures-hub
find their way into the development process in the
future. This prepares the students for their future use.</p>
        <p>At the time of the rationale management lecture,
they have already been introduced to JIRA and
Confluence. 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
managing the backlog, on what JIRA issues are, on how
to close, move, and work with them in sprints.
Regarding 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,
however, 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
present during each meeting?, (c) what are guidelines,
i. e., what to provide as the stand-up information and
when to use it?
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Lecture on Rationale Management</title>
      <p>In this section, we describe the lecture, the results of
its first instantiation, and then discuss these results
and our lessons learned.
3.1</p>
      <sec id="sec-3-1">
        <title>Preparation and Introduction</title>
        <p>The lecture is designed to last 90 minutes. Students
are grouped into teams and require a web-connected
device with access to the internet.4 During the
lecture, three systems are needed: JIRA, Confluence,
4An alternative would be to run the servers locally and to give
students access to the intranet (not possible for Slack).
and the instant messaging services Slack5. Further,
the ConDec JIRA plugin6 needs to be installed in JIRA
and be enabled for the specific projects that the
student teams work in. Rationale elements that can be
explored by the students need to be added to the
respective JIRA projects, e. g., the elements shown in
Figure 1 and Figure 2. Slack is used as a
communication tool between the instructors and students. In
particular, polls can be created with the Polly Slack
app7 through which students participate during the
lecture.</p>
        <p>5https://slack.com
6https://github.com/cures-hub/cures-condec-jira
7https://polly.ai
The first part of the lecture covers background
information about rationale management, such as its
definition, expected benefits, and the rationale
elements. We advise students to use certain phrases
when talking about and capturing rationale (Table 1).
Further, we recommend to phrase issues as questions
ending with a question mark and to end alternatives
with an exclamation mark.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2 Capturing, Visualizing, and Filtering</title>
      </sec>
      <sec id="sec-3-3">
        <title>Rationale in JIRA</title>
        <p>In the second part of the lecture, the students are
introduced to the JIRA ConDec plugin including the
JIRA issue types for rationale elements (Figure 3).</p>
        <p>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
rationale elements and their links for the given project. In
this view, a user can select single rationale elements
and visualize the graph of rationale as a tree, called
rationale tree. In the JIRA issue view, rationale
attached to JIRA issues can be explored. For example,
Figure 2 shows the rationale tree for a scenario.</p>
        <p>Then, the instructor demonstrates how to create
and link rationale elements shown on the right side
of Figure 1. Afterwards, the students gather in teams
and perform the first exercise:
Exercise 1 Gather your team, open your JIRA project,
and find the scenario already documented in the project.
Answer the question: How many issues are linked to the
scenario?</p>
        <p>The students can answer the question via a poll. In
our example, the correct answer is that two issues are
linked to the scenario (Figure 2). The next exercise is
to discuss the content of the solution proposals, i. e.,
the alternatives and decisions.</p>
        <p>Exercise 2 Answer the question: Which of the proposed
alternatives and decisions focus on requirements, which
of them on implementation?</p>
        <p>In our example, the decision and alternative on the
left are more requirements-related, whereas the
decision on the right is implementation-specific (Figure 2).
With this exercise, the students should learn that
rationale can be captured for all steps in the software
engineering process, including requirements
elicitation, implementation, deriving test cases, and when
processing user feedback.</p>
        <p>Now, the students will make their first experience
in capturing rationale:
Exercise 3 Link the existing issue “How to save
transactions?” to the scenario.</p>
        <p>This issue is already part of the JIRA project
(Figure 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).</p>
        <p>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.</p>
        <p>Figure 4 shows the solution of this exercise. Now,
students discuss rationale in their team:
Exercise 5 Create a new issue “How to persist data?”.
Add the following alternatives: “JSON!”, “SQLite!”.
Discuss and capture pro and cons of each persistence
alternative in your team. Add more alternatives and make a
decision.</p>
        <p>To solve this exercise, the students can add rationale
elements collaboratively from different devices. This
exercise takes about 10 to 15 minutes.</p>
        <p>Rationale can be captured in many places. JIRA
issues are just one possible documentation location
to store rationale. In order to demonstrate that there
are other possible documentation locations, the
students are presented with capturing rationale in JIRA
issue comments (Figure 6). In this lecture, this is
for information only, but, as part of our future work,
we integrate various documentation locations typical
for continuous software engineering and support the
identification of rationale elements with a supervised
text classifier.</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.3 Rationale-based Meeting Management</title>
        <p>Capturing rationale pays off during sprint meetings.
The meeting agenda has an information sharing
section that lists issues discussed and decisions made
during the last sprint. If meeting agendas are
managed in Confluence, the rationale elements captured
in JIRA can be easily imported.</p>
        <p>Exercise 6 Gather your team, open your Confluence
space and create a new page called &lt;Rationale Lecture&gt;
(one per team). Create a sub-page called &lt;Your Name&gt;
(every team member). Use the JIRA Issue/Filter macro
to display decisions from your JIRA project. Answer the
question: How many decisions do you see?</p>
        <p>The JIRA Issue/Filter macro is used in the exercise
and the search string is expressed using the JIRA query
language (JQL). The JQL string is:
project = &lt;Project Key&gt; AND
issuetype = Decision AND
created &gt; -7d.</p>
        <p>In our case, two decisions are shown.</p>
        <p>I would apply presenting rationale in Confluence pages.</p>
        <p>I would apply capturing rationale in JIRA issue comments.</p>
        <p>Discussing rationale using ConDec is simple.</p>
        <p>Linking an existing issue to a scenario is easy.</p>
      </sec>
      <sec id="sec-3-5">
        <title>3.4 Results</title>
        <p>Two authors of this paper gave the lecture on
November 8, 2018. In this section, we present results of this
first instantiation of the lecture.</p>
        <p>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.</p>
        <p>Exercise 1 was answered by 64 students, i. e., 73 %
of the participating students, of whom 63 gave the
correct answer.</p>
        <p>Regarding the content of the solution proposals,
i. e., the alternatives and decisions, we initially asked
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
to be hard to answer, we restated the question as given
in Exercise 2. This exercise was verbally performed
and we did not collect any results for it.</p>
        <p>After performing Exercise 3, we asked students to
assess how easy it was to link an existing issue to
a scenario via a poll. They were asked to rate the
statement Linking an existing issue to a scenario is
easy with one answer from a five point Likert scale. 59
students participated in this poll, of whom 6 disagreed,
11 were neutral, and 32 agreed with the statement
(Figure 5). After the lecture, we checked whether the
teams correctly performed Exercise 3. In every team
project, the issue was correctly linked to the scenario.</p>
        <p>We did not collect any results for or attitudes
towards Exercise 4.</p>
        <p>For Exercise 5, we created a poll in which the
students could rate the statement Discussing rationale
using ConDec is simple. 56 students participated in
this poll, of whom 7 disagreed, 13 were neutral, and
35 agreed with the statement (Figure 5).
20
0
20
40</p>
        <p>Number of students
strongly disagree
disagree
neutral
agree
strongly agree
We asked the students to provide written feedback
on discussing rationale (Table 2) and we analyzed the
rationale graphs. A total of 126 rationale elements
were documented, i. e., a mean value of 12.6 rationale
elements per team with a standard deviation of 9.4
elements. That means that each student contributed
a mean value of 1.4 rationale elements. A mean value
of 3.3 alternatives were documented per team
(standard deviation 1.2). 61 % of the alternatives correctly
ended with an exclamation mark. Seven of the ten
issues correctly ended with a question mark. Four
teams documented the decision. The types of the
elements were correctly chosen, e. g., arguments were
not accidentally classified as alternatives.</p>
        <p>Student Feedback
Our Rationale
Deletion of elements is not
possible.</p>
        <p>If there are many
alternatives and arguments, it is
hard to get an overview.</p>
        <p>The user needs to scroll
very far to the right to see
all the content.</p>
        <p>Rationale elements should
not always be a single
ticket. This seems to end
up in a ticket overflow.
Proand con-arguments should
be comments.</p>
        <p>Permission scheme in the
JIRA project forbids
deletion for non-admin users.</p>
        <p>A better graph visualization
and better, easy-to-apply
filter possibilities are needed.</p>
        <p>Capturing rationale
elements in separate JIRA
issues has the advantage that
they can easily be imported
into Confluence. We also
develop the ConDec
Confluence plugin to import
rationale from comments.</p>
        <p>After demonstrating that rationale could also be
captured in the comments of the scenario, we asked the
students to rate the statement I would apply capturing
rationale in JIRA issue comments. 61 students
participated in this poll, of whom 18 disagreed, 24 were
neutral, and 19 agreed with the statement (Figure 5).</p>
        <p>After the students performed Exercise 6, we asked
them to rate the statement I would apply presenting
rationale in Confluence pages. 55 students participated
in this poll, of whom 7 disagreed, 13 were neutral,
and 35 agreed with the statement (Figure 5).</p>
        <p>A mean value of 58 students participated in the
polls analyzed in Figure 5, which represents 66 % of
all students.
3.5</p>
      </sec>
      <sec id="sec-3-6">
        <title>Discussion and Lessons Learned</title>
        <p>Clearly, the results that we collected during the lecture
only represent the students’ first impression about the
presented methods for rationale management and the
ConDec JIRA plugin. As described in the next section,
we will apply a more thorough evaluation process
during the semester.</p>
        <p>
          The results of voting on the statements in Figure 5
lead us to conclude that the majority of the students
liked applying rationale management. More
important than the votes, the written feedback summarized
in Table 2 encourages us to improve the visualization
and filtering components of the ConDec JIRA plugin.
In general, we had the impression that the students
liked voting on the polls and performing the exercises,
since this made the lecture more interactive [
          <xref ref-type="bibr" rid="ref14">13</xref>
          ].
        </p>
        <p>Studying the rationale trees that the students
created in Exercise 5, we noticed that we did not ask the
students to make a decision. Thus, only four decisions
were documented. As a result, we will restate the
exercise for future use. The students seem to
understand the elements of the rationale model (Table 1),
since they correctly classified the element types in
their trees of rationale.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Evaluation During Semester</title>
      <p>Two teams continue to apply rationale management
during the agile project course. Thus, we will
evaluate the explained methods for rationale management,
especially the ConDec JIRA plugin.</p>
      <p>
        We introduced the role of the rationale manager.
The rationale manager is responsible for checking and
improving the rationale quality, i. e., they make sure
that important elements are documented and that
they are consistent. Further, the rationale manager
imports issues and decisions important for the last
sprint into the meeting agenda in Confluence. They
update and add rationale elements after the meeting
in JIRA. The role of the rationale manager is taken by
one student per team. The role is passed on after a
week to a different student, i. e., it is an interchanging
role. After the students have completed the role of the
rationale manager, we ask them to give us feedback
by filling in a questionnaire. We derive the questions
in this questionnaire by considering the variables of
the technology acceptance model [
        <xref ref-type="bibr" rid="ref17">16</xref>
        ]: We consider
the perceived usefulness, the perceived ease of use,
and the intention to use. Next to rating statements as
shown in Figure 5, it is important that the students
provide detailed feedback on the features for rationale
management they applied. For example, students
should provide details on what they think is useful or
useless, easy or difficult, and why they think so.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Related Work</title>
      <p>To the best of our knowledge there is no work that
reports on teaching rationale management. Thus, in
this section, we present related work on applying
rationale management in student projects.</p>
      <p>
        While tools for rationale management have been
evaluated in student projects before, e. g., in [
        <xref ref-type="bibr" rid="ref9">8</xref>
        ] and
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], the following authors especially focus on the
positive effects of rationale management for the success
of the student course.
Dutoit et al. discuss experiences with an integrated,
rationale-based modeling environment in a variety
of software engineering courses [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. By applying
rationale management, they aim to enhance the
communication between instructor and students, to
support students in reflecting their own work, and to
enable the instructor to better monitor the students’
progress. These are valid benefits that we also expect
when students apply rationale management during
the semester as part of the agile project course.
Similar to their modeling environment, ConDec integrates
the rationale elements with the system elements, such
as requirements. In addition, we focus on linking
rationale with development tasks since they represent the
place where developers need to solve issues related to
design and implementation.
      </p>
      <p>
        Malloy and Burge developed the software
engineering using rationale tool SEURAT_Edu as a web-based
system that replaces the former SEURAT Eclipse8
extension [
        <xref ref-type="bibr" rid="ref16">15</xref>
        ]. Like our tool support, SEURAT_Edu
aims to support students in making the best decision
for an issue under consideration by explicitly
reasoning about design alternatives. During their
evaluation, Malloy and Burge found that the students
using their tool considered more alternatives and put
more thought into decision-making. Similar to their
tool, the ConDec JIRA plugin is web-based, which
allows students to easily collaborate. Their tool
integrates with learning management systems such as
Moodle9, which has the advantage that the learning
management system takes care of authentication and
assignment creation. In our case, this is handled by
JIRA. Similar as we do in the lecture on rationale
management, SEURAT_Edu enables the teacher to
supply students with incomplete rationale that they
are asked to complete. In addition, SEURAT_Edu
enables the teacher to create a set of “solution” rationale.
It displays the status to which students reached a
solution, in order to encourage them during their tasks.
SEURAT_Edu performs automatic error checks, e. g.,
whether there are issues not solved by a decision. The
ConDec JIRA plugin provides a report page that lists
quality metrics. We plan to integrate support to ensure
the rationale quality in the development process.
6
      </p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>We presented a lecture on rationale management that
teaches students to apply a rationale model as well as
methods and tool support for rationale management.
The students’ feedback and the exercise results let us
conclude that the students comprehend the usage of
the rationale model and that they are motivated to
apply rationale management. To validate this first
impression, a more detailed evaluation will be part of
the remaining duration of the agile project course.
8https://eclipse.org
9https://moodle.de</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgements</title>
      <p>This work was supported by the DFG (German
Research Foundation) under the Priority Programme
SPP1593: Design For Future – Managed Software
Evolution (CURES project). We thank the
participants of the rationale management lecture for their
participation in the exercises as well as the ConDec
developers, inter alia, Tim Kuchenbuch, Jochen
Clormann, and Lars Tralle. Furthermore, we would like to
thank Dominic Henze, Matthias Linhuber, and Florian
Angermeir for their technical support and Doris
Keidel–Mueller for providing valuable feedback on the
paper. The emojis are created by Yusuke Kamiyamane10
and licensed under a Creative Commons License.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Zoya</given-names>
            <surname>Alexeeva</surname>
          </string-name>
          , Diego Perez-Palacin, and
          <string-name>
            <given-names>Raffaela</given-names>
            <surname>Mirandola</surname>
          </string-name>
          .
          <article-title>Design decision documentation: A literature overview</article-title>
          .
          <source>In Software Architecture</source>
          , volume
          <volume>5292</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>84</fpage>
          -
          <lpage>101</lpage>
          . Springer, Berlin, Heidelberg,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Rana</given-names>
            <surname>Alkadhi</surname>
          </string-name>
          , Jan Ole Johanssen, Emitza Guzman, and
          <string-name>
            <given-names>Bernd</given-names>
            <surname>Bruegge</surname>
          </string-name>
          .
          <article-title>REACT: An approach for capturing rationale in chat messages</article-title>
          .
          <source>In 11th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM'17)</source>
          , Toronto, Canada,
          <year>2017</year>
          . IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Manoj</given-names>
            <surname>Bhat</surname>
          </string-name>
          , Klym Shumaiev, Andreas Biesdorf, Uwe Hohenstein, and
          <string-name>
            <given-names>Florian</given-names>
            <surname>Matthes</surname>
          </string-name>
          .
          <article-title>Automatic extraction of design decisions from issue management systems: A machine learning based approach</article-title>
          .
          <source>In 11th European Conference on Software Architecture (ECSA'17)</source>
          , pages
          <fpage>138</fpage>
          -
          <lpage>154</lpage>
          , Cham, Switzerland,
          <year>2017</year>
          . Springer.
          <source>ISBN 978-3-319-65830-8.</source>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Bernd</given-names>
            <surname>Bruegge</surname>
          </string-name>
          , Stephan Krusche, and
          <string-name>
            <given-names>Lukas</given-names>
            <surname>Alperowitz</surname>
          </string-name>
          .
          <article-title>Software engineering project courses with industrial clients</article-title>
          .
          <source>ACM Transactions on Computing Education</source>
          ,
          <volume>15</volume>
          (
          <issue>4</issue>
          ):
          <volume>17</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>17</lpage>
          :
          <fpage>31</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Michael</given-names>
            <surname>Doyle</surname>
          </string-name>
          and
          <string-name>
            <given-names>David</given-names>
            <surname>Straus</surname>
          </string-name>
          .
          <article-title>How to Make Meetings Work: The New Interaction Method</article-title>
          . Berkley,
          <year>1993</year>
          . ISBN 978-0425138700.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Allen</surname>
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Dutoit</surname>
            , Timo Wolf, Barbara Paech, Lars Borner, and
            <given-names>Jürgen</given-names>
          </string-name>
          <string-name>
            <surname>Rückert</surname>
          </string-name>
          .
          <article-title>Using rationale for software engineering education</article-title>
          .
          <source>In 18th Conference on Software Engineering Education and Training (CSEE&amp;T)</source>
          , pages
          <fpage>129</fpage>
          -
          <lpage>136</lpage>
          , Ottawa, Canada,
          <year>2005</year>
          . IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Allen</surname>
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Dutoit</surname>
          </string-name>
          ,
          <string-name>
            <surname>Raymond</surname>
            <given-names>McCall</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Ivan</given-names>
            <surname>Mistrík</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Barbara</given-names>
            <surname>Paech</surname>
          </string-name>
          .
          <article-title>Rationale Management in Software Engineering: Concepts and Techniques</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Springer</surname>
          </string-name>
          ,
          <year>2006</year>
          . ISBN 978-3-
          <fpage>540</fpage>
          -30998-7.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Davide</given-names>
            <surname>Falessi</surname>
          </string-name>
          , Giovanni Cantone, and
          <string-name>
            <given-names>Martin</given-names>
            <surname>Becker</surname>
          </string-name>
          .
          <article-title>Documenting design decision rationale to improve individual and team design decision making</article-title>
          .
          <source>In ACM/IEEE International Symposium on Empirical Software Engineering (ISESE)</source>
          , pages
          <fpage>134</fpage>
          -
          <lpage>143</lpage>
          , Rio de Janeiro, Brazil,
          <year>2006</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Tom-Michael</given-names>
            <surname>Hesse</surname>
          </string-name>
          and
          <string-name>
            <given-names>Barbara</given-names>
            <surname>Paech</surname>
          </string-name>
          .
          <article-title>Supporting the collaborative development of requirements and architecture documentation</article-title>
          .
          <source>In 3rd International Workshop on the Twin Peaks of Requirements and Architecture</source>
          , pages
          <fpage>22</fpage>
          -
          <lpage>26</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Tom-Michael</surname>
            <given-names>Hesse</given-names>
          </string-name>
          , Veronika Lerche, Marcus Seiler, Konstantin Knoess, and
          <string-name>
            <given-names>Barbara</given-names>
            <surname>Paech</surname>
          </string-name>
          .
          <article-title>Documented decision-making strategies and decision knowledge in open source projects: An empirical study on firefox issue reports</article-title>
          .
          <source>Information and Software Technology</source>
          ,
          <volume>79</volume>
          :
          <fpage>36</fpage>
          -
          <lpage>51</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Anja</surname>
            <given-names>Kleebaum</given-names>
          </string-name>
          , Jan Ole Johanssen, Barbara Paech, Rana Alkadhi, and
          <string-name>
            <given-names>Bernd</given-names>
            <surname>Bruegge</surname>
          </string-name>
          .
          <article-title>Decision knowledge triggers in continuous software engineering</article-title>
          .
          <source>In 4th International Workshop on Rapid Continuous Software Engineering (RCoSE)</source>
          , pages
          <fpage>23</fpage>
          -
          <lpage>26</lpage>
          , Gotheburg, Sweden,
          <year>2018</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Anja</surname>
            <given-names>Kleebaum</given-names>
          </string-name>
          , Jan Ole Johanssen, Barbara Paech, and
          <string-name>
            <given-names>Bernd</given-names>
            <surname>Bruegge</surname>
          </string-name>
          .
          <article-title>Tool support for decision and usage knowledge in continuous software engineering</article-title>
          .
          <source>In 3rd Workshop on Continuous Software Engineering</source>
          , pages
          <fpage>74</fpage>
          -
          <lpage>77</lpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Stephan</surname>
            <given-names>Krusche</given-names>
          </string-name>
          ,
          <article-title>Nadine von Frankenberg, and Sami Afifi. Experiences of a software engineering course based on interactive learning</article-title>
          .
          <source>In 15. Workshop Software Engineering im Unterricht der Hochschulen (SEUH)</source>
          , pages
          <fpage>32</fpage>
          -
          <lpage>40</lpage>
          , Hanover, Germany,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Claudia</surname>
            <given-names>López</given-names>
          </string-name>
          , Víctor Codocedo, Hernán Astudillo, and
          <article-title>Luiz Marcio Cysneiros. Bridging the gap between software architecture rationale formalisms and actual architecture documents: An ontology-driven approach</article-title>
          .
          <source>Science of Computer Programming</source>
          ,
          <volume>77</volume>
          (
          <issue>1</issue>
          ):
          <fpage>66</fpage>
          -
          <lpage>80</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>John</given-names>
            <surname>Malloy</surname>
          </string-name>
          and
          <string-name>
            <given-names>Janet</given-names>
            <surname>Burge</surname>
          </string-name>
          . SEURAT_
          <article-title>Edu: A tool to assist and assess student decision-making in design</article-title>
          .
          <source>In 47th Technical Symposium on Computing Science Education (SIGCSE)</source>
          , pages
          <fpage>669</fpage>
          -
          <lpage>674</lpage>
          , Memphis, Tennessee, USA,
          <year>2016</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>Nikola</given-names>
            <surname>Maranguni</surname>
          </string-name>
          <article-title>´c and Andrina Grani´c. Technology acceptance model: a literature review from 1986 to 2013</article-title>
          .
          <article-title>Universal Access in the Information Society</article-title>
          ,
          <volume>14</volume>
          (
          <issue>1</issue>
          ):
          <fpage>81</fpage>
          -
          <lpage>95</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Thorsten</surname>
            <given-names>Merten</given-names>
          </string-name>
          , Bastian Mager, Paul Hübner, Thomas Quirchmayr, Simone Bürsner, and
          <string-name>
            <given-names>Barbara</given-names>
            <surname>Paech</surname>
          </string-name>
          .
          <article-title>Requirements communication in issue tracking systems in four open-source projects</article-title>
          .
          <source>In 6th International Workshop on Requirements Prioritization and Communication (RePriCo)</source>
          , pages
          <fpage>114</fpage>
          -
          <lpage>125</lpage>
          , Essen, Germany,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Benjamin</surname>
            <given-names>Rogers</given-names>
          </string-name>
          , Yechen Qiao, James Gung, Tanmay Mathur, and
          <string-name>
            <given-names>Janet E.</given-names>
            <surname>Burge</surname>
          </string-name>
          .
          <article-title>Using text mining techniques to extract rationale from existing documentation</article-title>
          .
          <source>In 6th International Conference on Design Computing and Cognition</source>
          , pages
          <fpage>457</fpage>
          -
          <lpage>474</lpage>
          . Springer,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>Carlos</given-names>
            <surname>Solis</surname>
          </string-name>
          and
          <string-name>
            <given-names>Nour</given-names>
            <surname>Ali</surname>
          </string-name>
          .
          <article-title>Distributed requirements elicitation using a spatial hypertext wiki</article-title>
          .
          <source>In 5th IEEE International Conference on Global Software Engineering</source>
          , pages
          <fpage>237</fpage>
          -
          <lpage>246</lpage>
          , Princeton, NJ, USA,
          <year>2010</year>
          . IEEE.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>