International Workshop on Continuous Software Evolution and Delivery
Continuous Software Engineering
Continuous Delivery is based on configuration management and continuous integration and allows developers to release the current development state of their software to users at any time in the development process. After successfully building a deployment pipeline, a developer can create a release with only a few interactions and has the possibility to obtain feedback from users easily and early in the development process.
Since 2012, our students apply the following Continuous Delivery workflow in the iOS Praktikum. We measured its benefits qualitatively and quantitatively in different case studies. Our findings show that the release management workflow leads to more releases, more feedback and better feedback. This feedback increases the quality of the developed applications and allows the teams to deliver the most important features faster.
The workflow works as follows: A developer commits and pushes source code to the Version Control Server (1). This leads to a new build on the Continuous Integration Server (2) where all test cases are executed. The Developer is then notified about the build status, e.g. via email or chat (3). If the build was successful and after it passed all test stages, the Release Manager can release the build with only a few interactions on the Continuous Integration Server (4). This uploads the build to the Continuous Delivery Server (5) which then notifies the User about the availability of the new release (6). The User can easily download the release (7) onto his/her Device and give feedback directly in the application (8). This user feedback is uploaded in a structured way to the Continuous Delivery Server (9) and then forwarded to the Issue Tracker (10) which notifies the Developer about the feedback (11).
Application
The Continuous Delivery process for mobile applications developed at our chair was successfully implemented in an industrial context at Capgemini. As part of his master's thesis, Sebastian Klepper adapted the process to the conditions in the company in order to deal with heterogeneous project environments, globally distributed resources and systems, high security requirements, constraints for the use of cloud-based services, multi-platform support and maintenance. The process is now successfully used in (international) projects and is a valuable contribution for the knowledge transfer from university to industry.
Workshop
We regularly conduct a workshop on continuous software engineering together with RWTH Aachen, co-located at the German Software Engineering conference:
- 1st Workshop on Continuous Software Engineering 2016
- 2nd Workshop on Continuous Software Engineering 2017
Projects Partners and Co-operations
Name | Partner |
---|---|
iOS Praktikum 2012 - Application of Continuous Software Engineering in Student Projects with Real Customers | Actiworks, Audi, B! Food, Bokowski+Laymann, B/S/H, Equinux, Graupner, MaibornWolff et. al., Siemens, Simon Pierro |
iOS Praktikum 2013 - Application of Continuous Software Engineering in Student Projects with Real Customers | Siemens, B/S/H/, NTT Data, Maiborn Wolff et. al. & FTI, Adesso, Bokowski+Laymann, Audi, Linova, Jaimie Jacobs, Kisi |
iOS Praktikum 2014 - Application of Continuous Software Engineering in Student Projects with Real Customers | BMW, T-Systems, Siemens IT, Siemens SPE, B/S/H/, NTT Data, equinux, Boinx Software, Adesso, Carnegie Mellon University, Praxis für Sporttraumatologie |
Introducing Continuous Delivery of Mobile Apps in a Corporate Environment: A Case Study | Capgemini |
iOS Praktikum WS14/15 - Application of Continuous Software Engineering in Student Projects with Real Customers | Siemens, B/S/H/, BMW, T-Systems, Allianz, Praxis für Sporttraumatologie, Hochschule Weihenstephan-Triesdorf, Incapptic, Innoactive |
iOS Praktikum 2015 - Application of Continuous Software Engineering in Student Projects with Real Customers | T-Systems, Lufthansa, Wirecard, Allianz, Bokowsky + Laymann, BMW, Siemens, NTT Data, Audi, Bayerischer Rundfunk |
CURES - Continuous Usage- and Rationale-based Evolution Decision Support (Contact: Jan Ole Johanßen) | Universität Heidelberg |
Theses In Progress
Mastersthesis
Automated Prototype Delivery in the Requirements engineering of Mobile Applications - A Case Study
Lukas Alperowitz
Date
-
-
Theses Finished
Master's Thesis
Introduction of a Standardized Continuous Delivery Workflow for Mobile Applications in a Corporate Environment
Advisor
Stephan Krusche
Date
November 2014
Mobile applications are of increasing relevance to businesses in all industries. While companies are progressively adopting agile methodologies to facilitate faster development, there is a lack of suitable workflows that accommodate all requirements and restrictions of a corporate environment. There are, however, promising approaches to continuous delivery for mobile projects in the academic field. Our goal is to transfer a well-proven process model and system from Technische Universität München (TUM) to the mobile business line at Capgemini, a multinational provider of IT consulting, outsourcing, and professional services. We describe a modified and extended process model that includes optional as well as variable subprocesses to provide a flexible solution. By allowing each project to adapt the workflow to their specific needs, we simultaneously provide a way of standardizing how continuous delivery is applied to mobile projects in the company. After evaluating our solution in eight deliberately chosen projects, results show increased frequency and thoroughness of integration, resulting in more immediate feedback about changes. Delivery is simplified and accelerated, saving both time and resources.
Master's Thesis
Collaborative Release Management in Agile Software Development
Advisor
Stephan Krusche, Lukas Alperowitz
Date
August 2014
Deployment and publication of software can be painful and time consuming. In this thesis we address the release management of software related to continuous integration and delivery. As collaboration is a central point in agile software development, we aim to promote collaboration in the area of release management by improving the release process. We focus on the release process, as the Rugby process model describes it. This thesis deals with the usage of releases in the context of Rugby and examines their impact. We conduct an evaluation to address the use of releases in meetings. This leads to an idea that can improve the application of releases as communication models.
Master's Thesis
A Framework for Continuous Delivery in Project-based Organizations
Advisor
Stephan Krusche
Date
November 2013
Continuous delivery allows software developers to deliver applications to the customer with a few clicks and therefore helps them to gather feedback fast. We present a continuous delivery process model and describe how we integrated this process model into the iOS Praktikum. We explain how we thought the concepts to the student using different teaching resources like a cross-project release-team. We evaluate the course using an online questionnaire after the end of the projects. Our observations show that participating students understood and applied the concepts of continuous delivery and are convinced about the benefits. Continuous delivery increased the amount of releases increased the speed of the delivery process compared to earlier versions of the Praktikum.
Master's Thesis
A context-sensitive user feedback mechanism for continuous software evolution
Advisor
Stephan Krusche
Date
October 2015
Regular user feedback is important, as it helps to validate requirements and improves user satisfaction. However, it fails to unfold its full potential in many projects. Common challenges include low user motivation, fragmented feedback channels, and missing information, making it difficult for the development team to extract the underlying requirements of the user. We aim to address these problems by proposing a system for Context-Aware Feedback (CAFE), which integrates user feedback into the software evolution process. The objective is to provide a channel for users to give feedback with as little effort as possible in order to bridge the gap between users and developers. CAFE stores feedback directly in the issue tracker enriching it with recorded usage context and visualizes the evolution of requirements through user feedback. In a formative evaluation with controlled user experiments we found that both developers and users prefer CAFE to other feedback channels and that automatically gathered context data is useful. Both the fact that user feedback is saved in the issue tracker and the added value of Feedback Traceability are regarded as beneficial.
Mastersthesis
Introduction of Agile Processes and Continuous Delivery in a Corporate Environment
Lukas Alperowitz
Date
-
-
Bachelorsthesis
Prototyping in Early Requirements Engineering
Lukas Alperowitz
Date
-
-
Mastersthesis
A Continuous Delivery Process for Distributed Systems
Supervisor
Lukas Alperowitz
Date
-
-
Mastersthesis
A Release Management Process for Connected Services in the Automotive Sector
Supervisor
Lukas Alperowitz
Date
Masterthesis
Tag-based Task Assignment Recommendation
Nitesh Narayan
15.06.2015
Needless to say that, for any act of team organisation like task management the importance of having an overview of the activities and the strength of the team members in different fields is of no doubt. As elements of task management, the features of task board management and assignee recommender cover the former and the latter respectively. Through task board management, the organiser tracks the sequence of the tasks and the arrangement of the assigned tasks, so he or she could minimize the idle status of the team. To this end, the task should be distributed optimally among the developers based on their level of desirability. This implicitly brings the necessity of a mechanism to evaluate their desirability quantitatively which is normally assessed intuitively and qualitatively. As a result, through more rational assignment of the tasks among the developers based on their quantitative desirability, more tasks would be accomplished in the same specific sprint. Therefore, the effectiveness of the team would be improved. In this thesis we develop a light weight assignee recommendation and association algorithm, which is integrated within an android application for task management
Bachelorthesis
Multimodal Scene Control for Smart Buildings
Advisor
Dominic Henze
Date
15.08.2017
Masterthesis
Towards Systematic User Involvement in Software Engineering
Advisor
Dennis Pagano
Date
2012
Bachelorthesis
User Feedback and Rationale Management in Continuous Software Evolution
Advisor
Dora Dzvonyar
Date
04/2016
User feedback is difficult to use as a basis for implementation. For this purpose, we introduce FeedViz, a feedback visualisation component which analyses, structures and prioritises user feedback and illustrates the results to the development team. The aim is to simplify the decision-making process as well as to capture information related to feedback which is important for rationale management.
Masterthesis
Communication Metrics in Agile Projects
Advisor
Dora Dzvonyar
Date
08/2016
Software metrics have been proven to be useful in indicating problems in development projects, but they are limited to analyzing information captured in software artifacts. By applying metrics to communication artifacts, we want to make the development process more insightful, validate the software metrics by combining them with results derived from aspects of team communication, and make it possible to recognize problems from a very early project stage.
Bachelorthesis
Development of a User Interface for Team Allocation in Software Projects
Advisor
Dora Dzvonyar
Date
10/2016
The team allocation for software projects is often done solely based on the subjective judgment of the project manager. The objective of this thesis is to create a hybrid system called TEASE (TEam Allocation for Software Engineering). It makes use of an algorithm while allowing user interaction to create optimal teams from a pool of persons. The project manager can adapt the generated team allocation through an intuitive user interface based on his own knowledge and experience. The focus of this thesis is the user interface of TEASE.
Source: https://ase.in.tum.de/lehrstuhl_1/home/74-research/research-topics/696-continuous-software-engineering
0 Response to "International Workshop on Continuous Software Evolution and Delivery"
Post a Comment