<!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>Report of the 2nd Engineering</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Stephan Krusche</string-name>
          <email>krusche@in.tum.de</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Horst Lichter</string-name>
          <email>lichter@swc.rwth-aachen.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dirk Riehle</string-name>
          <email>dirk.riehle@fau.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andreas Steffens</string-name>
          <email>steffens@swc.rwth-aachen.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Friedrich-Alexander-University Erlangen-Nürnberg, Open Source Research Group</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>RWTH Aachen University, Research Group Software Construction</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Technische Universität München, Chair for Applied Software Engineering</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>In order to develop and deliver high-quality products to their customers, software companies have to adopt state-of-the-art software development processes. To face this challenge, companies are applying innovative methods, approaches and techniques like agile methods, DevOps, continuous delivery, test automation, infrastructure as code or container-based virtualization. These new approaches have a high impact on the specification, design, development, maintenance, operation and the evolution of software systems. Therefore, common software engineering activities, organizational forms and processes have to be questioned, adapted and extended to ensure continuous and unobstructed software development. After the successful 1st Workshop on Continuous Software Engineering (CSE 2016) [SEW16], held in Vienna, the organizers of the 2nd workshop wanted to widen the scope of the workshop. Therefore, the call for papers and the list of workshop topics were adjusted to the following:</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <sec id="sec-1-1">
        <title>Processes and workflows</title>
        <p>• Change management and handling user feedback
Software development lifecycle for CSE
Continuous delivery for requirements engineering
Lean agile processes and practices</p>
      </sec>
      <sec id="sec-1-2">
        <title>Technologies and tools</title>
        <p>• Infrastructure as code</p>
        <p>Provisioning of software and infrastructure
Application virtualization with container</p>
        <p>Engineering of deployment pipelines
Copyright © 2017 for the individual papers by the papers’ authors. Copying permitted for private and
academic purposes. This volume is published and copyrighted by its editors.
•
•
•
•</p>
      </sec>
      <sec id="sec-1-3">
        <title>Architecture</title>
        <p>• Design for scalability
• Software architecture for CSE
Microservices</p>
        <p>Model driven architecture for CSE</p>
      </sec>
      <sec id="sec-1-4">
        <title>Quality and testing</title>
        <p>• Test automation and optimization
•</p>
        <p>Monitoring and performance
• Security and Metrics for DevOps</p>
      </sec>
      <sec id="sec-1-5">
        <title>Culture and business</title>
        <p>• Teaching CSE approaches</p>
        <p>Organizational issues for CSE</p>
        <p>Digital transformation and innovation
Overall, the workshop aimed at gathering together researchers and practitioners to
present new ideas and discuss experiences in the application of state of the art
approaches to Continuous Software Engineering.
2</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Workshop Format</title>
      <p>Based on our former experience, we wanted the workshop to be highly interactive. In
order to have an interesting and interactive event sharing lots of experience, we
organized the workshop presentations applying the author-discussant model.
Based on this model, papers are presented by one of the authors. After the presentation, a
discussant starts the discussion based on his or her pre-formulated questions. Therefore,
the discussant had to prepare a set of questions and had to know the details of the
presented paper. The general structure of each talk was as follows:
1. The author of a paper presented the paper (20 minutes).</p>
      <p>After that, the discussant of the paper opened the discussion using his or her
questions (5 minutes).
3. Finally, we moderated the discussion among the whole audience (5 minutes).
This format was very successful because it led to more intensive discussions among the
participants.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Workshop Contributions</title>
      <p>B1
B2
C1</p>
      <p>C2
Altogether, eleven papers were submitted. Finally, six papers were accepted by the
program committee for presentation and publication covering different topics. We
grouped the papers into three sessions, added a special discussion session called
“Industry meets Academia” and a final round-up session to discuss the major findings of
our workshop. The following papers were presented:</p>
      <sec id="sec-3-1">
        <title>Session A: Processes</title>
        <p>A1 Jan Ole Johanssen, Anja Kleebaum, Bernd Brügge and Barbara Paech: Towards a
Systematic Approach to Integrate Usage and Decision Knowledge in Continuous
Software Engineering
A2</p>
        <p>Martin Kleehaus, Ömer Uludag and Florian Matthes: Towards a Multi-Layer IT
Infrastructure Monitoring Approach based on Enterprise Architecture
Information</p>
      </sec>
      <sec id="sec-3-2">
        <title>Session B: Industrial Experience</title>
        <p>Masud Fazal-Baqaie, Baris Güldali and Simon Oberthür: Towards DevOps in
Multi-provider Projects
Thomas Kurpick and Sebastian Melchior: Naming in deployment pipelines for
SaaS</p>
      </sec>
      <sec id="sec-3-3">
        <title>Session C: Techniques &amp; Tools</title>
        <p>Konrad Schneid: Versioning strategies for developing new features within the
context of Continuous Delivery
Lukas Alperowitz, Andrea Marie Weintraud, Stefan Christoph Kofler and Bernd
Brügge: Continuous Prototyping: Unified Application Delivery from Early
Design to Code
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Summary of the Discussions</title>
      <p>In the following we summarize the main results of the discussions of the workshop.</p>
      <sec id="sec-4-1">
        <title>Session A: Processes</title>
        <p>The central idea of the approach presented in paper A1 is to capture decision knowledge
for certain features by gathering feedback and usage data from continuous deployment.
This data is combined with the initial feature request and the final decision to integrate
the feature in order to create a knowledge repository, which can be then analyzed and
queried in the further development. It was discussed that it is not obvious which
information on which level of granularity is of interest for the stakeholders. Hence, the
knowledge repository needs to be designed as adaptable as possible, especially if the
existence of itself may lead to a changed behavior of developers and users which may
lead to new information needs. In addition, the question arises if and how knowledge
items evolve over time. The concept could be extended by introducing links or
dependencies between knowledge items.</p>
        <p>Paper A2 motivated that traceability between the elements of the different layers
(business, application and infrastructure) of an Enterprise Architecture (EA) is a
prerequisite to better understand the relationships as well as the impacts between these
layers in case something changes. Moreover, there is a need to continuously evolve the
business of an enterprise. It was discussed that dynamic trace information could be used
to identify links between the elements of the EA layers. The high heterogeneity of
technologies and data structures may prove a high hurdle to link EA items in different
layers and it could be hard to match the identified links to the EA model elements in case
there are deviations between the modelled EA and the implemented EA.</p>
      </sec>
      <sec id="sec-4-2">
        <title>Session B: Industrial Experience</title>
        <p>Paper B1 reported on the results obtained to define a naming schema for components
that support readability and understandability on the one hand. On the other hand, it has
to be designed in a way that it does not violate naming constraints required by typical
CI/CD tools. The discussion focused on the importance of a naming guideline and what
could be automated in order not to violate the guideline and to apply the created names
consistently in the process. Furthermore, it was discussed if there are more aspects that
have mayor cross-cutting impacts on a CI/CD tooling infrastructure.</p>
        <p>The presenter of paper B2 discussed interesting insights when running projects with
several sub-contractors implementing features in parallel. The focus was on how to
leverage these sub-contractors in a way that their performance becomes predictable and
measurable. The subsequent discussion focused on the presented idea of applying
dedicated maturity levels. Furthermore, it was discussed how to transfer knowledge to
the teams involved using very different channels like videos, tutorials or documents.
In the closing “Industry meets Academia” session, the participants discussed the main
activities of academia, teaching and research, especially how these activities should be
adapted to fulfill the needs of the industry in the context of CSE. From industry, it was
clearly stated that the whole application life cycle should be covered by education
including all so called “continuous” activities. This could be achieve best, if lectures
from universities and experts from the industry closely work together and if industry
experts teach best practices, e.g. in guest lectures or if they participate in project courses.
While there are already courses teaching CSE in university, they typically include
smaller projects, as it is particularly challenging to create large project environments in
the university. In addition, universities have to focus on the conceptual knowledge by
teaching CSE abstractions and workflows, instead of focusing too much on concrete
tools. From a research perspective, industry participants expected more usable and
applicable knowledge, for example (anti-)patterns, best practices and processes to
introduce CSE methods and techniques at an industry scale. As the bandwidth of tools is
huge, the development of a conceptual framework for CSE activities was proposed,
which could be used to instantiate CSE in a company while avoiding common errors and
pitfalls.</p>
      </sec>
      <sec id="sec-4-3">
        <title>Session C: Techniques and Tools</title>
        <p>Developing software in teams and in parallel can only be managed if applying an
appropriate version control strategy. Paper C1 argued that feature development in the
context of CI/CD could be organized applying feature toggles in the main branch or by
using feature branches to separate the feature development into own branches; a hybrid
approach could be feasible as well. The discussion shows that there is no silver bullet
solution and the decision how to organize feature development in a CI/CD environment
has to be taken carefully.</p>
        <p>The last paper, paper C3, argued that non-executable prototypes, typically created by
designers for user interfaces, have to be included in the CI/CD process, so that they are
under control and can be used for systematic and frequent feedback from the users.
Although prototyping is an excellent means to get early feedback for open questions, it
has to be decided, when to stop prototyping and when to start the target development of
the prototyped aspects. It was discussed, if this kind of prototyping could lead to
expectations that cannot be fulfilled by the final implementation.</p>
        <p>In the closing summary session, some topics were discussed that were not covered and
where only little or no work has been published. One mayor topic was on key
performance indicators for CSE, e.g. what metrics could be applied to assess the quality
of CI/CD processes or artifacts like deployment pipelines. Those metrics could be used
to monitor the evolution and to get early feedback if the quality of processes or artifacts
decrease.</p>
        <p>Another discussed topic was, how universal CI/CD approaches are regarding the
different software development domains and their specific requirements. The question
appeared, what is common for the different CI/CD approaches applied in industry. In
this context, solutions for integrating existing legacy systems into CI/CD processes are
needed.</p>
        <p>We want to summarize the central results of the workshop by proposing some key
challenges for CSE research and education in the future.</p>
        <p>•
•
•
•</p>
        <p>Develop a conceptual framework for CSE methods, techniques and processes
Derive best practices and patterns from real life experience
Develop metrics and KPIs to assess CSE and its implementation.</p>
        <p>Extend SE teaching by including CSE topics and by cooperating closely with
industry
Based on the results of the workshop the organizers agreed to propose a follow-up
workshop in 2018. In this follow-up workshop, the organizers want to facilitate more
industry contributions by lowering the barrier for industry presentations. Furthermore,
some ideas were discussed to initiate and establish a working group on CSE in the
context of the Germany society of informatics (GI). The organizers and also some
industry participants confirmed to join this working group as founding members.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgements</title>
      <p>Many people contributed to the success of this workshop. First of all, we want to give
thanks to the authors and presenters of the accepted papers. Furthermore, we want to
express our gratitude to the SE 2017 organizers for supporting our workshop. Finally, we
are glad that these people served on the program committee, soliciting papers and
writing peer reviews:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•</p>
      <p>Lukas Alperowitz
Jan Bosch
Michael Goedicke
Willi Hasselbring
Martin Jung
Stephan Krusche
Horst Lichter
Christian Nester
Dirk Riehle</p>
      <sec id="sec-5-1">
        <title>TU München</title>
      </sec>
      <sec id="sec-5-2">
        <title>Chalmers University of Technology</title>
      </sec>
      <sec id="sec-5-3">
        <title>University of Duisburg-Essen</title>
      </sec>
      <sec id="sec-5-4">
        <title>Universität Kiel</title>
        <p>develop group, Erlangen</p>
      </sec>
      <sec id="sec-5-5">
        <title>TU München</title>
      </sec>
      <sec id="sec-5-6">
        <title>RWTH Aachen University</title>
      </sec>
      <sec id="sec-5-7">
        <title>Google Inc.</title>
      </sec>
      <sec id="sec-5-8">
        <title>FAU Nürnberg</title>
        <p>Heinz-Josef Schlebusch</p>
      </sec>
      <sec id="sec-5-9">
        <title>Kisters AG, Aachen</title>
        <p>Andreas Steffens
Christian Uhl
Andre von Horn
Stefan Wagner
Heinz Züllighoven</p>
      </sec>
      <sec id="sec-5-10">
        <title>RWTH Aachen University</title>
        <p>codecentric AG, Düsseldorf</p>
      </sec>
      <sec id="sec-5-11">
        <title>Universität Stuttgart</title>
      </sec>
      <sec id="sec-5-12">
        <title>Universität Stuttgart</title>
      </sec>
      <sec id="sec-5-13">
        <title>WPS und Universität Hamburg</title>
        <p>(Organizer)</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [SEW16]
          <string-name>
            <given-names>W.</given-names>
            <surname>Zimmermann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Alperowitz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Brügge</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Fahsel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Herrmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hoffmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Krall</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Landes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Lichter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Riehle</surname>
          </string-name>
          , I. Schaefer,
          <string-name>
            <given-names>C.</given-names>
            <surname>Scheuermann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Schlaefer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Schupp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Seitz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Steffens</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Stollenwerk</surname>
          </string-name>
          , R. Weißbach (eds) (
          <year>2016</year>
          )
          <article-title>: Gemeinsamer Tagungsband der Workshops der Tagung Software Engineering 2016</article-title>
          (SE
          <year>2016</year>
          ), Wien,
          <volume>23</volume>
          .-
          <fpage>26</fpage>
          . Februar,
          <year>2016</year>
          .
          <article-title>CEUR-WS.org</article-title>
          ., Vol-
          <volume>1559</volume>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>