Not logged in.

Contribution Details

Type Master's Thesis
Scope Discipline-based scholarship
Title Bifrost Toolkit: Data-Driven Release Strategies Formalize and automate real-time, data-driven live-testing methods using a DSL
Organization Unit
Authors
  • Dominik Schöni
Supervisors
  • Harald Gall
  • Gerald Schermann
Language
  • English
Institution University of Zurich
Faculty Faculty of Economics, Business Administration and Information Technology
Date 2016
Abstract Text The pace of software development has steadily increased, being transformed by the notion of agile and iterative development. In the meantime, the process of turning source code into releasable software artifacts is similarly transforming using techniques such as continuous integration, delivery and deployment. By automating and streamlining the process of releasing software, developers receive a new set of methods to leverage real-time customer feedback in their development processes. Fueled by scalable and flexible approaches to software such as microservices-based architecture, companies start to integrate live-testing methods into their applications to benefit from real-time user data e.g. by conducting A/B tests, silently launching new functionality or gradually testing new features in production. However, these kind of data-driven release strategies exist solely in large-scale corporations and few research has been conducted in this area. This thesis formalizes a general model of data-driven release strategies to allow complex and multi-staged software releases. Furthermore, a prototype based on the developed model is implemented to showcase its potential and to discover its pitfalls. In a qualitative evaluation, it is demonstrated how the prototype and thus the model allows for more complex scenarios in comparison to existing tools. Furthermore, a quantitative evaluation of the prototype shows that the chosen approach can be integrated into existing web applications with minimal performance constraints.
Zusammenfassung Die Entwicklung von Software wurde zunehmend schneller, transfomiert und beeinflusst von Techniken wie agiler und iterativer Entwicklung. Zugleich passt sich auch der Prozess an, welcher aus Code auslieferungsfähige Artefakte erstellt, unter anderem durch Techniken wie Continuous Integration, Delivery und Deployment. Durch die zunehmende Automatisierung und Vereinfachung des Auslieferungsprozesses erhalten Entwickler die Möglichkeit Kundenfeedback in Echtzeit zu erhalten, indem Metriken ausgewertet werden. Diese Metriken können Feedbackprozesse der Organisation beschleunigen. Angetrieben durch neuartige und flexible Architekturansütze wie Microservices integrieren Organisationen zunehmend live-testing in ihre Applikationen, um in Echtzeit durch Metriken profitieren zu können. Beispiele dafür sind A/B Tests oder das versteckte Ausrollen neuer Funktionalitäten. Diese Daten-getriebenen Prozesse existieren allerdings hauptsächlich in grossen Firmen und bis anhin wurde wenig Forschungsarbeit in diesem Bereich geleistet. Diese Arbeit präsentiert wie Daten-getriebene Auslieferungsprozesse in ein generalisiertes Modell formalisiert werden können, welches komplexe und mehrstufige Prozesse erlaubt. Basierend darauf wird ein Prototyp implementiert, um das Potenzial sowie mögliche Schwachstellen des Modells aufzuzeigen. Eine qualitative und eine quantitative Evaluation des Prototypen zeigen, dass das vorgestellte Modell komplexere Szenarios erlaubt als existierende Lösungen und dass der gewählte Ansatz es erlaubt das entwickelte Toolkit mit minimalem Performanceverlust in bestehende Webapplikationen zu integrieren.
PDF File Download
Export BibTeX