<!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>Using Essence in a Software Development Methodologies Course: An Experience Report</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Jan-Philipp Stegh o ̈fer Software Engineering Division Chalmers</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2019</year>
      </pub-date>
      <volume>2</volume>
      <fpage>7</fpage>
      <lpage>10</lpage>
      <abstract>
        <p>-We report on our experience of using Essence as an educational tool in a course on Software Development Methodologies. Students used both the kernel and the language of Essence to discuss processes and endeavours, to define and combine practices, and to plan a Scrum-like process that was then applied in a workshop to build a Lego city. We found that using Alpha State Cards and the associated games helped students get a deeper understanding of the coherence of process elements and that the shared terminology was helpful in discussions. However, we observed students struggling with the idea of a language to describe processes and with what constitutes the kernel. Index Terms-Software Process Education, Essence, Software Engineering</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        An important objective of software engineering education is
to let students understand the principles of applying software
development processes to structure their work, coordinate with
stakeholders and other teams, and to create customer value in
a repeatable way [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Students must be able to apply different
processes in their professional life and they require the ability
to understand the ideas and purposes behind them [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. However,
process knowledge and understanding is strongly connected
to experience with working as a development team in an
organisational context [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. In an educational setting, students
tend to focus their attention on delivering products rather than
applying the process correctly [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. This impedes learning of
process aspects and makes it difficult for teachers to provide
meaningful education in these matters.
      </p>
      <p>
        One problem with teaching software processes used to be
a lack of common ground for speaking about the elements
of processes, how they are combined to form a coherent,
applicable process, and how they relate to important aspects of a
process such as stakeholders, the produced software system, or
the team. Situational method engineering [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] was a step towards
modularising processes and allowing parts of them to be reused
and combined. The Software &amp; Systems Process Engineering
Metamodel (SPEM) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] provided a language to describe
processes and its constituting parts. Both of these approaches
have, however, never reached broad adoption. In particular,
high-quality descriptions of software processes in terms of
method content as prescribed by situational method engineering
modelled in SPEM are few and far between. The Eclipse
Process Framework (EPF) project used to publish descriptions1
1https://www.eclipse.org/epf/downloads/configurations/pubconfig
downloads.php
of Scrum, XP and the OpenUP, but the downloadable content is
outdated. At the same time, there is little support for combining
different practices from these processes into new processes
or tailoring the method content to form a coherent whole.
Which practices are needed to create a workable process and
which impact process design choices have remains a topic for
experienced process engineers.
      </p>
      <p>
        Essence [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] is an attempt to remedy these shortcomings. It
provides a kernel — a set of process elements that are common
to all endeavours — as well as a language —a simple
metamodel similar to SPEM to describe practices and patterns that
can be combined into a process. It is supported by a growing
body of material, in particular a set of games, e.g., to identify
the status of a project or to identify next steps. Essence has
been designed from the beginning as an educational tool and
to allow students and practitioners alike to explore software
processes with the help of clearly defined, easy-to-understand
concepts and the support of the kernel.
      </p>
      <p>This paper reports on the use of Essence in a course on
Software Development Methodologies. We exemplify the use
of Essence in the classroom, describe how students perceive
and use it, what they understand readily and what they struggle
with, and report on observations and recommendations based
on our experience. It thus lends support to other teachers who
would like to introduce Essence in their courses and provides
pointers to how Essence can be used effectively.</p>
    </sec>
    <sec id="sec-2">
      <title>II. “ESSENCE” OF SOFTWARE ENGINEERING</title>
      <p>
        Essence is the result of work conducted within the Software
Engineering Method and Theory (SEMAT) community2 to
standardise and summarise the essential elements required
to describe, compare, tailor and use software processes. It
is described in an OMG specification [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and detailed in an
upcoming book [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] that focuses on Essence’s practical use
and exemplifies how it can be applied in practice. At the time
of writing, supporting materials are available, but spread over
different websites3, some of which require registration before
download. They include online games (e.g., the Essence Kernel
Puzzler4), descriptions of serious games to help understand the
      </p>
    </sec>
    <sec id="sec-3">
      <title>2http://www.semat.org</title>
      <p>3For instance, https://www.ivarjacobson.com/alphastatecards and http://www.
software-engineering-essentialized.com/home
4https://puzzler.sim4seed.org/
Alpha
&lt;deosrcgraibneizses&gt;
status of an endeavour, identify goals, or to plan next steps,
and templates for cards (see below).</p>
      <p>Essence consists of two parts: the kernel and the language.
The kernel contains recurring, essential parts of software
processes. Most notably, it provides Alphas (Way of Working,
Work, Team, Stakeholders, Requirements, Software System,
and Opportunity). These Alphas are the elements of a process
that needs to be considered during the endeavour and change
state as the endeavour progresses. The states of each Alpha
are defined with a checklist. The kernel also contains Activity
Spaces, i.e., placeholders for the important activities that need
to take place in each endeavour. Key competencies are defined
as well. All of these elements can be categorised using three
areas of concern (Requirements, Solution, Endeavour).</p>
      <p>The language, in turn, defines a meta-model and a graphical
representation for method content and practices. It defines key
constructs such as activities, activity spaces, work products,
patterns, alphas, and competencies and how these constructs
relate to each other (cf. Figure II). The language can thus
be used to create complex patterns and practices that can be
combined into larger building blocks and full processes.</p>
      <p>
        The Alphas play a particular role: using Alpha State Cards,
i.e., representations of the different states of the Alphas as
playing cards, it is possible to play different games to, e.g.,
plan an iteration, check the progress of the process, or define
milestones and checkpoints. These games are described in
an instructional guide [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. While the cards are available for
purchase, a PDF5 to craft one’s own deck is also available.
      </p>
    </sec>
    <sec id="sec-4">
      <title>III. INTEGRATING ESSENCE IN THE COURSE</title>
      <sec id="sec-4-1">
        <title>A. Course Design</title>
        <p>discussed how to construct a process, correctly apply it, and
continuously improve it. No learning objectives are associated
with processes in these project courses and proficiency in
software processes is not examined.</p>
        <p>
          The intended learning outcomes of the Software Development
Methodologies course cover these aspects. They range from
low-level objectives such as “describe the core elements of a
software process and the associated method content, including
activities, tasks, roles, artefacts, etc.” to more advanced topics of
software process improvement such as “evaluate a development
project, suggest a plan for software process improvement
based on the evaluation, and apply the plan.” To achieve these
intended learning outcomes, the course is based on active
learning [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]: students work in groups on different tasks in class
after instruction from the teacher and complete assignments that
ultimately lead up to an experience report. A typical lecture
consists of a quiz at the start to repeat the most important
concepts from the previous session, the introduction of new
content with a few slides by the teacher, and group work to
apply the new concepts. The latter steps are repeated so that
two to three new ideas or concepts are covered in each session.
        </p>
        <p>
          Students also go through two Lego Scrum simulations [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
        </p>
        <p>In the first of those workshops, students create a shared
experience of applying a process and witness issues with the
process first hand. In the second workshop, at the end of the
course, they apply the software process improvement plans they
have constructed during the weeks since the first simulation.</p>
        <p>The overall structure of the course is as follows:
Part 1: Software Processes
1) Understand software processes, including their basic</p>
        <p>building blocks and lifecycles.
2) Construct a process to apply for collaboratively building</p>
        <p>a Lego city.
3) Apply the process for building a Lego city and report on</p>
        <p>the experiences with this endeavour.</p>
        <p>Part 2: Software Process Improvement (SPI)
4) Identify improvement needs from the experience of</p>
        <p>applying the process.
5) Identify goals, questions, and metrics to formalise
im</p>
        <p>provement needs and make improvements measurable.
6) Construct a process improvement plan using agile practices
and method content from prescriptive SPI methods such
as CMMI.
7) Apply the improvement plan in a second workshop and
report on the experience.</p>
        <p>
          The course on Software Development Methodologies is taught
to around 70 second-year students in an international bachelor
program on Software Engineering and Management. The In the final, individual report that constitutes the examination,
students have previously been exposed to software processes, the students describe and analyse their experience following
in particular to Scrum, in the project courses that run each a similar structure. In addition, they need to relate their own
semester. In these project courses, the focus is on an iterative- experience to knowledge from guest lectures and the course
incremental way to produce a demoable product at the end literature which consists of a collection of papers mainly
of each sprint for review with the teacher based on a high- focused on SPI as well as selected chapters from Software
level introduction to the method. The students have thus not Engineering Essentialised [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. Mandatory assignments cover
5https://www.ivarjacobson.com/publications/cards/alpha-state-cards-pdf- most of the points in this list. The aim is to guide the students
version through the steps and provide continuous feedback.
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>B. Use of Essence</title>
        <p>Essence is mostly used in the first part of the course when
introducing software processes and how to construct them, i.e.,
during the first two step listed in Section III-A. In addition,
students can apply concepts from Essence in step three, e.g., to
define milestones for their endeavour or to check their progress,
and it is used in step four to check the health of the completed
endeavour. Table I lists the different teaching moments in which
Essence is used along with the associated intended learning
outcomes. At the beginning of the course, each student received
a set of Alpha State Cards. For the lecture on Scrum, students
also received a set of Essence Scrum cards6 each.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>IV. OBSERVATIONS AND RECOMMENDATIONS</title>
      <p>them, partially because they struggled with understanding the
purpose and rationale behind the pre-defined activity spaces.</p>
      <p>The main issue is the lack of experience students have
with software processes. That makes it difficult for them to
understand the complications that can arise and to make the
abstract concepts of software processes concrete for them.</p>
      <p>Essence helps a little bit in this regard since it names the
important aspects in the Alphas and lists the possible issues that
can arise in the checklists of the Alpha States. However, many
of these issues are difficult to grasp with little experience. In
particular for the Alphas “Opportunity” and “Stakeholders”, the
students are missing a frame of reference. Without experience in
requirements engineering, the later stages of the “Requirements”
Alpha are difficult for them to grasp. Their poor understanding
of teamwork likewise makes it hard to them to understand the
meaning of the more advanced states of “Team”.</p>
      <p>
        At the same time, Essence can be a supporting tool in alerting
students to these facets of software processes that are often
overlooked in an educational setting that is rather focused on
technical aspects [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Since issues are made explicit, an analysis
of the Alpha States and their checklists in the classroom can
lead to interesting discussions about them. If the course contains
practical elements, either in the form of an actual software
project or in the form of a simulation, it is also possible to
create a shared experience that can be drawn from in the
discussions in the classroom.
      </p>
      <p>In summary, a teacher using Essence in the classroom
should ensure that the scaffolding provided takes the level
of experience of the students into account. Using the language
to construct patterns and practices should also be supported
by sufficient skills in modelling. Grounding the discussions
about software processes in a concrete, practical shared
experience and applying Essence in its context has proven</p>
      <p>Using Essence as an educational tool proved to offer a
number of advantages. First of all, Essence defines a clear
terminology that is extremely helpful when discussing the
concepts of software processes in the classroom. The software
processes literature does unfortunately not use a common and
clear terminology (witnessed, e.g., in the confusion about the
terms “method”, “methodology”, “approach” and “process”
which are sometimes, but not always, used synonymously).</p>
      <p>Furthermore, the Alphas have proven useful when discussing
the different relevant aspects of a process. The games using the
Alpha State Cards are helpful catalysts for discussions. The
Alphas make the necessary building blocks explicit and the
games cover important parts of engaging with the process. In
the classroom, different Alphas and their possible states can be
discussed in relation to how certain practices influence them.</p>
      <p>At the same time, the games give the students tools to plan,
monitor, and analyse the endeavour themselves.</p>
      <p>Finally, transitioning between Alpha states especially for
Team, Stakeholders, and Way of Working can be easily tied to
software process improvement. The “Way of Working” Alpha, to be advantageous.
e.g., describes the process maturity of the development team.</p>
      <p>In its more advanced states, it contains checklist items such
as “Continuously tuned” (state five of six). This corresponds
to a continuous approach to SPI in which improvements are
discussed and implemented as needed. It is also possible to
discuss how the method content students select to improve
the process impacts the Alpha states. For instance, if students
adopt Kanban boards, this has an impact on the “Work” Alpha
and specifically on how tasks are planned and if unplanned
work is under control</p>
      <p>However, based on feedback from students and the grading
of the assignments, there are a number of caveats that a teacher
aspiring to use Essence in the classroom can encounter. First
of all, the students struggled in using the Essence language and
the elements from the kernel as they had insufficient knowledge
of modelling and language engineering. The concept of a
metamodel and its instantiation was thus not clear to them. They
also had issues in understanding how to make the activity
spaces more concrete by defining suitable activities within</p>
      <p>6http://ss.ivarjacobson.com.pages.services/essential-scrum?ts=
1528896470457</p>
    </sec>
    <sec id="sec-6">
      <title>V. CONCLUSION</title>
      <p>Essence is a helpful pedagogical tool that supports students
in understanding the somewhat abstract concepts of software
engineering processes. In particular the Alpha State Cards
and the associated serious games have proven to be an asset
to clarify important concepts of software processes such as
structured planning and measuring progress. The Essence
language and the kernel are useful to introduce students to
process modelling and highlight the most important building
blocks of a software process. If the use of Essence is carefully
scaffolded and combined with a practical element, it provides
many advantages such as a clear terminology, a construction
kit for processes, and a set of serious games that show different
process aspects and are useful in both education and practice.</p>
      <p>An important step to support teachers in the use of Essence
in the classroom is to make educational material available in a
central location. This effort is currently under way within the
SEMAT community and will hopefully provide a repository
of teaching concepts, slides, quizzes, assignments, etc. as well
as a forum for exchange between teachers.
Lecture 1: Building blocks of a software process (Steps 1 and 2)</p>
      <p>
        Essence kernel: areas of con- Select one Activity Space. Define two activities
cern, alphas and alpha states, for the selected Activity Space with the the
competencies, activity spaces following information: (1) input (in terms of
Essence language: language work products); (2) output (in terms of work
constructs and meta-model products); (3) necessary competencies; (4) alpha
states changed by the activity
Milestone Mapping Game [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]: Define a number
of milestones from inception to delivery. For each
Alpha, identify the state that the Alpha should
be in when the milestone is achieved.
      </p>
      <p>Lecture 2: Structured Planning and Progress (Steps 1 and 2)
Lecture 3: Agile Development Processes (Steps 1 and 2)</p>
      <p>Use Alpha State Cards to play
serious games to plan project
and measure its progress
Model and combine agile
practices using the Essence
language and elements from
the Essence kernel;
introduce
iterativeincremental development
lifecycle and different
approaches to agile software
development.</p>
      <p>Lecture 4: Scrum (Steps 1 and 2)</p>
      <p>Important concepts in Scrum,
including Sprints, Sprint
Reviews and Sprint
Retrospectives as well as customer
involvement;
scaling Scrum to several
development teams using a
program and a team level [7,
p. 249ff.]
Process is defined using
Essence language and kernel
Alpha State Cards available
to students, games known
Lecture 5: Process Quality (Step 4)</p>
      <p>Use Alpha State Cards to
identify issues in the
application of a process and find
areas of improvement</p>
      <p>Checkpoint construction
Progress Poker
Build your own practice: Describe one of the
practices Test-driven Development, Continuous
Integration, or Product and Sprint Backlog using
information from the provided sources. Use the
Essence language and elements from the kernel.</p>
      <p>Kanban: Create a practice “Manage Kanban
Workflow” using the Essence language and
elements from the kernel. Define the activities
that it should include.</p>
      <p>XP: Create a model of XP using the Essence
language and elements from the kernel.</p>
      <p>Use the Essence Scrum cards to answer the
following questions: (1) What’s in a sprint? (2)
How are requirements handled? (3) How do the
team patterns impact the activities?
Process instantiation: Discuss what needs to be
done to progress to the “In Use” state of the
“Way of Working” Alpha!
Students define activities on their own as part of
their process;
in practice Essence was not used in the
simulation.</p>
      <p>Health Monitoring: track the health of your
endeavour and identify what the next steps are
using the Alpha State Cards.</p>
      <p>Workshop: Use constructed process in a Lego Scrum simulation (Step 3)</p>
      <p>describe the core elements of a
software process and the
associated method content, including
activities, tasks, roles, artifacts,
etc.</p>
      <p>Select practices to use in the
workshop and provide a
rationale. Combine them to a
process that addresses all
relevant activity spaces. Create
one or more diagrams that
show the activity spaces, how
Alphas and work products
are connected, and which
patterns are used.</p>
      <p>Describe how you are going
to scale the process to include
other teams and stakeholders.</p>
      <p>Describe how you plan to
instantiate the process by
progressing the “Way of
Working” Alpha from
“Foundations Established” to the “In
Use” state. Remember that
you should discuss roles,
rules, tools, and schedule.</p>
      <p>describe the core elements of a
software process and the
associated method content, including
activities, tasks, roles, artifacts,
etc.
describe and discuss the
advantages and disadvantages of
different lifecycles, including
Waterfall, V-Model, Iterative,
Incremental, and their
respective combinations</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Heredia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. C.</given-names>
            <surname>Palacios</surname>
          </string-name>
          , and A. de Amescua Seco, “
          <article-title>A systematic mapping study on software process education</article-title>
          ,” in SPETPSPICE,
          <year>2015</year>
          , pp.
          <fpage>7</fpage>
          -
          <lpage>17</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kuhrmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. M.</given-names>
            <surname>Fernandez</surname>
          </string-name>
          , and
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>M u¨nch, “Teaching software process modeling,” in ICSE-SEET</article-title>
          , May
          <year>2013</year>
          , pp.
          <fpage>1138</fpage>
          -
          <lpage>1147</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>L.</given-names>
            <surname>McLeod</surname>
          </string-name>
          and
          <string-name>
            <surname>S. G</surname>
          </string-name>
          . MacDonell, “
          <article-title>Factors that affect software systems development project outcomes: A survey of research,” ACM Computing Surveys (CSUR)</article-title>
          , vol.
          <volume>43</volume>
          , no.
          <issue>4</issue>
          , p.
          <fpage>24</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>J.-P.</surname>
          </string-name>
          <article-title>Stegh o¨fer</article-title>
          , E. Knauss, E. Ale´groth, I. Hammouda,
          <string-name>
            <given-names>H.</given-names>
            <surname>Burden</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Ericsson</surname>
          </string-name>
          , “
          <article-title>Teaching agile: Addressing the conflict between project delivery and application of agile methods,” in ICSE-SEET</article-title>
          . ACM,
          <year>2016</year>
          , pp.
          <fpage>303</fpage>
          -
          <lpage>312</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>B.</given-names>
            <surname>Henderson-Sellers</surname>
          </string-name>
          and
          <string-name>
            <surname>J. Ralyte´</surname>
          </string-name>
          , “
          <article-title>Situational method engineering: state-of-the-art review</article-title>
          ,
          <source>” Journal of Universal Computer Science</source>
          , vol.
          <volume>16</volume>
          , no.
          <issue>3</issue>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Object</given-names>
            <surname>Management</surname>
          </string-name>
          <article-title>Group (OMG)</article-title>
          .
          <source>(2008) Software &amp; Systems Process Engineering Metamodel Specification Version 2</source>
          .
          <fpage>0</fpage>
          . [Online]. Available: https://www.omg.org/spec/SPEM/2.0/
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>I.</given-names>
            <surname>Jacobson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. B.</given-names>
            <surname>Lawson</surname>
          </string-name>
          , P.-W. Ng,
          <string-name>
            <given-names>P. E.</given-names>
            <surname>McMahon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and M.</given-names>
            <surname>Goedicke</surname>
          </string-name>
          , Software Engineering Essentialized. SEMAT,
          <year>2018</year>
          . [Online]. Available: http://www.software-engineering-essentialized.com/
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Object</given-names>
            <surname>Management</surname>
          </string-name>
          <article-title>Group (OMG)</article-title>
          .
          <article-title>(2018) Essence Specification Version 1</article-title>
          .
          <fpage>2</fpage>
          . [Online]. Available: https://www.omg.org/spec/Essence/1.2/
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Ivar</given-names>
            <surname>Jacobsson</surname>
          </string-name>
          <string-name>
            <surname>International</surname>
          </string-name>
          , “
          <article-title>Alpha state card games - instructional guide</article-title>
          ,”
          <year>2015</year>
          . [Online]. Available: https://www.ivarjacobson.com/ publications/brochure/alpha-state
          <string-name>
            <surname>-</surname>
          </string-name>
          card-games
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>M.</given-names>
            <surname>Prince</surname>
          </string-name>
          , “
          <article-title>Does active learning work? a review of the research</article-title>
          ,
          <source>” Journal of Engineering Education</source>
          , vol.
          <volume>93</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>223</fpage>
          -
          <lpage>231</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>J.-P. Stegh</surname>
          </string-name>
          <article-title>o¨fer, “Providing a baseline in software process improvement education with lego scrum simulations,” in ICSE-SEET '18</article-title>
          . ACM,
          <year>2018</year>
          , pp.
          <fpage>126</fpage>
          -
          <lpage>135</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>