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.
Research members
Theses
Closed theses
No theses found
Publications
↓ 2022Global Software Engineering in a Global Classroom.
Paul Schmiedmayer,
Robert Chatley,
Jan Philip Bernius,
Stephan Krusche,
Konstantin Chaika,
Kirill Krinkin, and
Bernd Brügge.
IEEE/ACM 44th International Conference on Software Engineering: Software Engineering Education and Training
(ICSE SEET '22
)
.
Pittsburgh, PA, USA,
May
2022.
doi: 10.1109/ICSE-SEET55299.2022.9794211
[BibTeX]