<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>ISEE</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Reaching Steady State in Software Engineering Project Courses</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Dora Dzvonyar</string-name>
          <email>dzvonyar@in.tum.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="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Informatics, Technical University of Munich</institution>
          ,
          <addr-line>Munich</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <volume>1</volume>
      <fpage>8</fpage>
      <lpage>11</lpage>
      <abstract>
        <p>-Project courses provide students with a hands-on experience of software engineering practices in industry and prepare them for their later career. The first weeks of such a course typically involve change and uncertainty and are therefore challenging for students: project teams have to understand requirements that are often unclear, learn to work together and communicate as a team, as well as become accustomed to processes and workflows used in the course. In this paper, we summarize our experiences of how student teams master change at the beginning of a project course to reach a steady state in which the level of uncertainty is manageable. We describe the typical stages of a student project, go into detail on the challenges during the Launch Phase and provide suggestions of how instructors can help students overcome those challenges. We report both on our experience conducting project courses with clients from industry since 2008 and on the results of a qualitative evaluation of one instance of a large multi-project capstone course.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        Project work helps students apply and develop their software
engineering skills in a realistic environment, thus preparing
them for their career in industry [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Project courses often
involve industry partners to increase students’ motivation and
maximize educational effectiveness: by working on real-world
problems, the course participants develop both their technical
and soft skills, gain contacts to potential mentors in industry
and get the satisfaction of working on a project that is not a
purely academic exercise [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        However, the realistic setting also introduces challenges
for the participants. The beginning of a project course is
particularly difficult, as students have to familiarize
themselves with development processes and tools, get to know
the project’s problem domain, understand requirements, and
get acquainted with their fellow team members [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Some
projects are more clearly defined than others, resulting in
different initial situations and varying levels of uncertainty
for the teams [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Instead of shielding students from these
challenges, instructors should design environments that enable
project teams to overcome them and learn from experience [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. This task is challenging and time-consuming, especially
with large courses or inexperienced instructors [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>In this paper, we report on our experiences conducting large
capstone courses with industry partners since 2008. We first
describe our course structure and the phases a project typically
goes through between the course kickoff and its termination.
We then go into detail about the challenges students face in the
Launch Phase during the first weeks of the course. While we
do not aim to provide solutions, we give recommendations and
examples of how instructors can support the teams in handling
these challenges. Finally, we present and discuss the results of
a qualitative analysis of students’ perspective of the first weeks
of a multi-project capstone course.</p>
      <p>
        II. COURSE STRUCTURE AND THE PROJECT LIFECYCLE
This publication is based on our experience conducting the
large multi-project capstone course iPraktikum with customers
from industry and 10-12 projects per semester. We have
described the course structure, our teaching methods and other
aspects of the course in further detail in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]–[
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        Each instance of the course runs for one semester and starts
with a Kickoff meeting in which all industry partners present
their problem to all participants. The instructors of the course
allocate project teams based on students’ priorities with the
goal of creating balanced teams regarding experience as well
as other factors described in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Each project team consists
of 6-10 developers, one team coach who is an experienced
student having participated in the course as a developer before,
and a project leader who is a PhD candidate.
      </p>
      <p>After the Kickoff, the teams go through a period of 2-3
weeks, which we call Sprint 0. During this time, the focus
is on reducing uncertainty in the project: the teams discuss
the requirements and verify them with the customer, conduct
team building activities, set up the tools and test important
workflows. Sprint 0 can be of varying duration depending
on the initial level of definition of the project as well as the
technological challenges involved.</p>
      <p>
        Following Sprint 0, teams start developing based on our
agile process model Rugby [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. We hold two major events with
presentations from all teams: in the Design Review 8 weeks
after the beginning of the course, all teams present the result of
their requirements analysis and system design activities, and
the Client Acceptance Test marks the last milestone of the
course, after which teams wrap up their project by finishing
the documentation and conducting a retrospective.
      </p>
      <p>The aforementioned milestones of the course are visualized
in Figure 1 along with the typical phases we experience in the
Project A
Project B
Project C</p>
      <p>Kickoff Meeting</p>
      <p>Team Allocation</p>
      <p>Sprint 0
Week 1 Week 2</p>
      <p>Launch Phase</p>
      <p>Week 3</p>
      <p>Launch Phase</p>
      <p>Design Review
Development Sprints</p>
      <p>Week 8
Steady State</p>
      <p>Steady State</p>
      <p>
        Launch Phase
projects. After the initial team allocation, projects go through
a Launch Phase, a period of typically high uncertainty in
which students have to familiarize themselves with a large
amount of information both general to software engineering
as a discipline, as well as specific to the problem domain of
their project. As the teams gradually reduce uncertainty, they
reach what we call a Steady State: while requirements can be
refined or disambiguated during iterations, there should not be
any changes that fundamentally alter or even derail the project,
setting the team back by several weeks [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>
        The duration of the Launch Phase depends on the initial
level of definition of a project. We visualize three examples
in Figure 1. Project A reaches steady state during Sprint 0,
which is the case for roughly half of the projects in the
iPraktikum. This project is adequately defined by the customer
so that the team can fully understand the requirements and
decide on the initial system architecture as well as the main
technologies involved, enabling them to start development
with a strongly reduced level of uncertainty. In the case of
Project B, the Launch Phase outlasts Sprint 0 and overlaps
with the development sprints. This can be the case if the
problem is more abstract or involves technological challenges.
We describe the varying initial situations of student projects
in our courses in further detail in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In the past, an example
of this type of project involved a NFC sensor that collected
shock and humidity data that was not yet fully developed by
the manufacturer, requiring the team to reverse-engineer the
protocol used to read and write sensor data before they were
sure that they could use it for their purposes.
      </p>
      <p>FRienquailrelmy,entass Team C shows, some projects might not even
reach a steady state until the end of the course due to extremely
highChallenges for</p>
      <p>uncertainty and fundamental changes to the project
throPurogjehct oTeuamtsthe semester. This situation should be prevented
Communi- to avoid frustratioPnrocessesstudents and has happened very rarely
of
cation in our courses. In s&amp;uRcohlesa case, the instructor should intervene
by, e.g., limiting the scope of the project.</p>
      <p>Requirements
Challenges for</p>
      <p>Project Teams
Communication</p>
      <p>Processes
&amp; Tools</p>
    </sec>
    <sec id="sec-2">
      <title>III. CHALLENGES OF THE LAUNCH PHASE We have grouped the typical challenges of project teams during the Launch Phase into three categories visualized in Figure 2 and explain each in further detail in this section.</title>
      <sec id="sec-2-1">
        <title>A. Requirements</title>
        <p>
          Uncertainty resulting from factors around requirements is
regarded as one of the highest risk factors in software projects
[
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], thus it is not surprising that we also experience it as one
of the biggest challenges in our capstone courses. Involving
industry partners in a course brings a more realistic experience
for students, but it also introduces uncertainty compared to
a project that is fully defined by the instructor from the
beginning [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. For instance, some customers do not have
a technical background and thus are not able to specify the
requirements sufficiently to be used as a basis for development.
Students have to understand the visionary scenarios given
by the customer, clarify ambiguous requirements, as well as
prioritize and negotiate requirements.
        </p>
        <p>
          In projects involving emerging or unstable technologies,
students need to do research to decide on frameworks or
products to use, and they might even find that the results
envisioned by the customer are not entirely feasible.
Technological challenges have been previously identified as a risk
factor [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] and source of demotivation [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] in student projects.
To name an example from a past course, one project aimed at
saving blood glucose levels and other data of diabetic patients
in Apple’s secure HealthKit database had to change direction
when the team found out that the API did not support all kinds
of measurements; they had to implement their own database
and merge the data from both sources for analysis.
        </p>
        <p>
          In order to help students overcome challenges surrounding
requirements, instructors should encourage frequent
communication between the customer and the team in the beginning of
the project. We place a strong emphasis on communication
models in Sprint 0 because we believe that they enable
targeted, rich discussions between stakeholders, foster the
creation of a shared mental model and expose misunderstandings
in requirements [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. In addition, we introduced a
continuous prototyping workflow and tool that allows developers to
easily deliver even early mock-up prototypes to stakeholders,
gather feedback and iteratively transition to the delivery of
hybrid and code prototypes through the same channel [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]. Our
student teams use the workflow to regularly deliver potential
product increments to their customer and verify the progress
with them.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>B. Processes &amp; Tools</title>
        <p>
          As instructors, our goal is to introduce students to the
processes and tools used in industry so that they can gain
valuable knowledge for their later career [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. However, this
also increases the workload for students especially at the
beginning of the course, as they need to familiarize themselves
with a variety of new topics, from the principles of agile
software development through workflows such as continuous
delivery, software modeling, prototyping, code reviews or
meeting management [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. The tools used in the course are
also new to most students: depending on their prior experience,
they have to get used to an issue tracker, repository and merge
request system, continuous integration system and more.
Problems with tools have also been named as one of the top four
risks in student projects, e.g., [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ].
        </p>
        <p>
          As these topics are relevant to all teams, we use centralized
teaching methods to transfer the necessary knowledge to all
participants. We hold a weekly course-wide lecture during the
first month of the course in which we introduce all students
to the principles of agile software development, continuous
delivery and UML modeling, including the tools supporting
these workflows. In addition, we have cross-functional teams
that consist of one team member per project and concentrate
on the major workflows of the course [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. For instance,
we have a cross-functional team Release Management that
is concerned with the continuous integration and delivery
pipelines of the teams: the cross-project members get in-depth
knowledge about the workflows, set up the tools in their team,
and get support from coaches and instructors as needed. They
then present the information that is important for the other
team members and make sure their team correctly adopts the
workflows. This enables us to disseminate knowledge through
an additional channel without burdening all team members
with detailed information.
        </p>
        <p>
          After giving course participants the necessary information,
instructors should make sure that the workflows are correctly
applied in the teams, which can be a time-consuming task
with multiple projects. We use a set of metrics to get a
highlevel view over the projects and only investigate further if the
metrics show issues, making our courses more manageable
[
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>C. Communication</title>
        <p>
          Issues around communication, team work and personal
relationships are also among the top challenges in student
projects [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ], [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]. We do not find this surprising: on top
of the high workload in terms of understanding requirements
and getting used to processes and tools, students need to get
acquainted and start working productively with their fellow
team members, most of whom they did not know prior to the
course. Cultural and language issues can also get in the way
of establishing team synergy [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. Customer communication is
often an additional challenge if the customer is rarely available
for questions or does not have a technical background.
        </p>
        <p>
          Additional complexity is introduced by the fact that the
development teams do not spend every day working at the same
location: many course participants work next to their studies
or attend various other courses. This results in scheduling
difficulties when trying to find a suitable time for the team
meeting or time to work together on the project. Scheduling
has also been reported by fellow researchers as a major source
of annoyance in student projects [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ].
        </p>
        <p>
          As instructors, we take cultural and scheduling factors into
account when composing the teams [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. However, we cannot
do much to support teams in overcoming these hurdles in
a centralized way, as establishing communication processes
and synergy is a very team-individual process. Instead, we
use the coaches and project leaders who work closely with
the developers. We urge the coaches to organize at least one
icebreaker event in Sprint 0, in which they participate in a
joint activity outside of the course context to get to know
each other. Furthermore, we teach them facilitation methods
such as dealing with shy team members or agile retrospectives
to establish a constructive feedback culture and react to issues
arising in their team.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>IV. CASE STUDY</title>
      <p>
        In order to get a more accurate picture of how students
perceive the challenges in the Launch Phase, we conducted
a qualitative evaluation in one instance of the iPraktikum. 78
developers and 12 team coaches participated in the course,
which ran between October 2017 and February 2018. We sent
all participants a repeat questionnaire one, two, four and six
weeks after the Kickoff on 19 October and asked them to
describe at least one problem or challenge they had been
facing in their team since the last time they received the
questionnaire. Students had one week to answer the
openended question, with the promise that we would analyze their
responses anonymously and not use them for assessing their
contribution to the course in any way. The response rate
decreased slightly with each round, from 93.3% down to 70%
with the last questionnaire, which was sent out two weeks
before the Design Review. We coded the responses using a
provisional coding technique [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], grouping codes into the
three categories described in Section III. Figure 3 shows the
frequency of each code in the responses by questionnaire.
      </p>
      <p>Our results show that students perceived unclear
requirements as a challenge at the very beginning of their project,
with 17.9% and 15.7% of responses containing a reference to
this issue after week 1 and 2 of the course. The frequency of
this code dropped below 5% in the following questionnaires,
suggesting that most students felt they had reduced uncertainty
in terms of unclear requirements after Sprint 0. However, they
began to sense issues with the technologies involved in their
project from week 2 onward. Communication with fellow team
members is the code with the highest frequency in all
questionnaires, ranging from 17.5% to 27.1% of responses. Another
challenge in this category was “Synergy &amp; Investment”, the
code under which we group responses referring to a lack of
trust or team spirit as well as differences in dedication and
time investment of team members; the frequency of this code
increased dramatically in the last questionnaire, which was</p>
      <p>No
problems</p>
      <p>REQ:
Unclear</p>
      <p>REQ:
Changes</p>
      <p>REQ: REQ:
Missing Technology
Skills</p>
      <p>COM:
Customer</p>
      <p>COM:
Team</p>
      <p>COM:
Management</p>
      <p>COM:
Culture &amp;
Personal</p>
      <p>COM:
Synergy &amp;
Investment</p>
      <p>PRT: PRT:
Decision- Scheduling
making</p>
      <p>PRT:
Agile
Process</p>
      <p>
        PRT: PRT:
Infra- Meeting
structure Management
sent out during a high-workload period filled with preparations
for the first major event. In terms of processes and tools,
students perceived challenges around the decision-making
practices of their team, which includes answers referring to
unnecessarily long discussions or a lack of decisiveness and
compromise. Issues around finding times to meet and work as
well as punctuality and time management, grouped under the
code “Scheduling”, were also recurring in the projects, which
is in line with the findings of, e.g., [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. Problems referring
to the course infrastructure increased as the course progressed
and students had to integrate and deliver a growing amount of
features to their customer.
      </p>
      <p>Overall, our case study provided us with a deeper
understanding of students’ experience at the beginning of our
project course. While it is debatable whether students can
accurately assess and predict problems in a software project,
we were interested in their subjective perception of challenges
and how these evolve over time. Each of our three clusters
Requirements, Communication and Processes &amp; Tools posed
challenges to participants of the course. More analysis is
necessary to examine the impact of teaching methods described
in Section III on students’ ability to tackle these challenges.</p>
    </sec>
    <sec id="sec-4">
      <title>V. CONCLUSION</title>
      <p>In this publication, we described how projects in capstone
courses reach a steady state by reducing change and
uncertainty, and the challenges they need to overcome to do so.
We summarized how we experience the evolution of projects
throughout our multi-project capstone course and described
typical challenges along with suggestions of how instructors
can empower students to tackle those challenges. Finally, we
gained a deeper understanding of students’ experience during
the first weeks of the course.</p>
      <p>We do not believe that there is a one-size-fits-all toolbox for
instructors to ensure that student projects run smoothly, as the
course structure, nature of the projects and background of the
people involved can differ widely. While we did not provide
concrete solutions, we hope that by reflecting on the Launch
Phase from both an instructor’s and a student’s perspective, we
inspired instructors to help students overcome the challenges
in their projects. In the future, we want to examine the impact
of instructors’ teaching on the ability of students to tackle
these issues, and we are also analyzing the influence of team
composition on teamwork and students’ experience at the
beginning of the course.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>C.</given-names>
            <surname>Ghezzi</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Mandrioli</surname>
          </string-name>
          ,
          <source>The Challenges of Software Engineering Education</source>
          . Springer Berlin Heidelberg,
          <year>2006</year>
          , pp.
          <fpage>115</fpage>
          -
          <lpage>127</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>C.</given-names>
            <surname>Wohlin</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Regnell</surname>
          </string-name>
          , “
          <article-title>Achieving industrial relevance in software engineering education,” in CSEET '99</article-title>
          . IEEE,
          <year>1999</year>
          , pp.
          <fpage>16</fpage>
          -
          <lpage>25</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>R.</given-names>
            <surname>Chatley</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Field</surname>
          </string-name>
          , “
          <article-title>Lean Learning - Applying Lean Techniques to Improve Software Engineering Education,” in ICSE '17</article-title>
          . IEEE,
          <year>2017</year>
          , pp.
          <fpage>117</fpage>
          -
          <lpage>126</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>B.</given-names>
            <surname>Boehm</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Port</surname>
          </string-name>
          , “
          <article-title>Educating software engineering students to manage risk,” in ICSE '01</article-title>
          . IEEE,
          <year>2001</year>
          , pp.
          <fpage>591</fpage>
          -
          <lpage>600</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>D.</given-names>
            <surname>Dzvonyar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Krusche</surname>
          </string-name>
          , and L. Alperowitz, “
          <article-title>Real Projects with Informal Models,” in MODELS '14 EduSymp</article-title>
          . ACM,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S. A.</given-names>
            <surname>Hernandez</surname>
          </string-name>
          , “
          <article-title>Team learning in a marketing principles course: Cooperative structures that facilitate active learning and higher level thinking</article-title>
          ,
          <source>” Journal of Marketing Education</source>
          , vol.
          <volume>24</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>73</fpage>
          -
          <lpage>85</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A. B.</given-names>
            <surname>Kayes</surname>
          </string-name>
          , “
          <article-title>Experiential learning in teams</article-title>
          ,
          <source>” Simulation &amp; Gaming</source>
          , vol.
          <volume>36</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>330</fpage>
          -
          <lpage>354</lpage>
          , sep
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>L.</given-names>
            <surname>Alperowitz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Dzvonyar</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Bruegge</surname>
          </string-name>
          , “
          <article-title>Metrics in Agile project courses,” in ICSE '16</article-title>
          . ACM,
          <year>2016</year>
          , pp.
          <fpage>323</fpage>
          -
          <lpage>326</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>D.</given-names>
            <surname>Coppit</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Haddox-Schatz</surname>
          </string-name>
          , “
          <article-title>Large team projects in software engineering courses,” in SIGCSE '05</article-title>
          . ACM,
          <year>2005</year>
          , p.
          <fpage>137</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>S.</given-names>
            <surname>Krusche</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Alperowitz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Bruegge</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. O.</given-names>
            <surname>Wagner</surname>
          </string-name>
          , “
          <article-title>Rugby: an agile process model based on continuous delivery,” in RCoSE '14</article-title>
          . ACM,
          <year>2014</year>
          , pp.
          <fpage>42</fpage>
          -
          <lpage>50</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>B.</given-names>
            <surname>Bruegge</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Krusche</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Wagner</surname>
          </string-name>
          , “
          <article-title>Teaching Tornado: from communication models to releases,” in MODELS '12 EduSymp</article-title>
          . ACM,
          <year>2012</year>
          , pp.
          <fpage>5</fpage>
          -
          <lpage>12</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>D.</given-names>
            <surname>Dzvonyar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Henze</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Alperowitz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Bruegge</surname>
          </string-name>
          , “
          <article-title>Algorithmically Supported Team Composition for Software Engineering Project Courses,” in EDUCON '18, accepted for publication.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>D.</given-names>
            <surname>Dzvonyar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Alperowitz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Henze</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Bruegge</surname>
          </string-name>
          , “Team Composition in Software Engineering Project Courses,” in SEEM '
          <volume>18</volume>
          , submitted for publication.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>S.</given-names>
            <surname>Krusche</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Dzvonyar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Xu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Bruegge</surname>
          </string-name>
          , “
          <source>Software Theater - Teaching Demo Oriented Prototyping,” Transactions on Computing Education</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>L.</given-names>
            <surname>Alperowitz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. O.</given-names>
            <surname>Johanssen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Dzvonyar</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Bruegge</surname>
          </string-name>
          , “
          <article-title>Modeling in agile project courses,” in MODELS '17 Satellite Events</article-title>
          . CEURWS.org,
          <year>2017</year>
          , pp.
          <fpage>521</fpage>
          -
          <lpage>524</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>L.</given-names>
            <surname>Wallace</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Keil</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Rai</surname>
          </string-name>
          , “
          <article-title>Understanding software project risk: a cluster analysis</article-title>
          ,
          <source>” Information &amp; Management</source>
          , vol.
          <volume>42</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>115</fpage>
          -
          <lpage>125</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>B.</given-names>
            <surname>Boehm</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Egyed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Port</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Shah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kwan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Madachy</surname>
          </string-name>
          , “
          <article-title>A stakeholder win-?win approach to software engineering education,”</article-title>
          <source>Annals of Software Engineering</source>
          , vol.
          <volume>6</volume>
          , no.
          <issue>1</issue>
          /4, pp.
          <fpage>295</fpage>
          -
          <lpage>321</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>T.</given-names>
            <surname>Ahtee</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Poranen</surname>
          </string-name>
          , “Risks in Students' Software Projects,” in CSEET '09. IEEE,
          <year>2009</year>
          , pp.
          <fpage>154</fpage>
          -
          <lpage>157</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>I. Bosnic´</surname>
          </string-name>
          , I. Cˇ avrak, M. Orlic´, M. Zˇagar, and I. Crnkovic´, “
          <article-title>Student motivation in distributed software development projects,” in CTGDSD '11</article-title>
          . ACM,
          <year>2011</year>
          , pp.
          <fpage>31</fpage>
          -
          <lpage>35</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>L.</given-names>
            <surname>Alperowitz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. M.</given-names>
            <surname>Weintraud</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. C.</given-names>
            <surname>Kofler</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Bruegge</surname>
          </string-name>
          , “Continuous prototyping,” in RCoSE '17. IEEE,
          <year>2017</year>
          , pp.
          <fpage>36</fpage>
          -
          <lpage>42</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bastarrica</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Perovich</surname>
          </string-name>
          , and
          <string-name>
            <surname>M. M. Samary</surname>
          </string-name>
          , “
          <article-title>What can Students Get from a Software Engineering Capstone Course?”</article-title>
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>M. B. Miles</surname>
            ,
            <given-names>A. M.</given-names>
          </string-name>
          <string-name>
            <surname>Huberman</surname>
            , and
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Saldana</surname>
          </string-name>
          ,
          <article-title>Qualitative data analysis</article-title>
          .
          <source>Sage</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>