Please use this identifier to cite or link to this item: http://dx.doi.org/10.18419/opus-10646
Authors: Speth, Sandro
Title: Issue management for multi-project, multi-team microservice architectures
Issue Date: 2019
metadata.ubs.publikation.typ: Abschlussarbeit (Master)
metadata.ubs.publikation.seiten: xii, 72
URI: http://elib.uni-stuttgart.de/handle/11682/10663
http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-ds-106639
http://dx.doi.org/10.18419/opus-10646
Abstract: Many modern software architectures follow a microservice style. An microservice architecture consists of several independent developed and operated services. Often, issues, e.g. interface model changes, or design decision changes must be communicated between multiple teams. For example, if there are any changes of an interface of a service, all depending services must be changed too, otherwise their functionality might break. Changes in artefacts and models concerning multiple teams, therefore, must be synchronized between all affected teams in order to be in a consistent state. However, this is difficult and current approaches to communicate issues affecting multiple projects or teams comes with a communication overhead. Various methods are used to communicate them, for example, e-mail, instant messengers, calls or additional meetings. In order to synchronize models or design decisions, traceability towards them can be used as suggested by some researches. Yet, this does not solve the communication problem. This thesis introduces multi-project coding issues as solution approach for communicating issues concerning multiple projects/services and teams in a qualitative way. A multi-project coding issue is a coding issue that can concern more than one projects at the same time. They can link other coding issues which could concern other projects/services. Since their body text can be extended with semantic links, multi-project coding issues build a perfect platform to include such traceability links mentioned. Therefore, artefacts can easily be synchronized over multiple teams. This reduces development complexity while keeping communication overhead small. In addition to this, multi-project coding issues can have non-functional requirements to improve quality-of-service properties. This work presents the Multi-Project Issue Management and Notation, a modelling language to notate multi-project coding issues and projects/services together in a system architecture graph. Furthermore, a prototype of a multi-project coding issue management system is described. To validate this solution approach a Goal-Question-Metric plan is depicted, and an expert survey conducted. Finally, future research challenges are introduced.
Viele moderne Softwarearchitekturen folgen einem Microservice-Stil. Eine Microservice-Architektur besteht aus mehreren unabhängig entwickelten und betriebenen Diensten. Häufig müssen Probleme, wie z.B. Änderungen an Schnittstellenmodellen oder Änderungen an Designentscheidungen, zwischen mehreren Teams kommuniziert werden. Wenn es beispielsweise Änderungen an einer Schnittstelle eines Dienstes gibt, müssen auch alle abhängigen Dienste angepasst werden, da sonst deren Funktionalität beeinträchtigt werden könnte. Änderungen an Artefakten und Modellen, die mehrere Teams betreffen, müssen daher zwischen allen betroffenen Teams synchronisiert werden, um in einem konsistenten Zustand zu sein. Dies ist jedoch schwierig und die aktuellen Ansätze zur Kommunikation von Problemen (Issues), die mehrere Projekte oder Teams betreffen, sind mit einem Kommunikationsaufwand verbunden. Zur Kommunikation werden verschiedene Methoden eingesetzt, z.B. E-Mail, Instant Messenger, Telefonkonferenzen oder zusätzliche Meetings. Um Modelle oder Designentscheidungen zu synchronisieren, können (Verfolgbarkeits-)Links zu ihnen genutzt werden, wie von einigen wissenschaftlichen Ausarbeitungen vorgeschlagen wird. Dies löst jedoch nicht das Kommunikationsproblem. Diese Arbeit stellt Multi-Project Coding Issues als Lösungsansatz für die Kommunikation von Problemen, die mehrere Projekte/Dienstleistungen und Teams betreffen, auf qualitative Weise vor. Ein Multi-Project Coding Issue ist ein Coding Issue, das mehr als ein Projekt gleichzeitig betreffen kann. Sie können andere Coding Issues verknüpfen, die andere Projekte/Dienste betreffen könnten. Da ihr Textkörper mit semantischen Links erweitert werden kann, bilden Multi-Project Coding Issues eine perfekte Plattform, um die genannten (Verfolgbarkeits-)Links aufzunehmen. Somit können Artefakte problemlos über mehrere Teams hinweg synchronisiert werden. Dies reduziert die Komplexität der Entwicklung und hält den Kommunikationsaufwand gering. Darüber hinaus können projektübergreifende Coding Issues nicht-funktionale Anforderungen haben, um die Quality-of-Service Eigenschaften zu verbessern. Diese Arbeit stellt die Multi-Project Issue Management and Notation vor, eine Modellierungssprache, um Multi-Project Coding Issues und Projekte/Dienste in einem Systemarchitekturgraphen zusammenzufassen. Darüber hinaus wird ein Prototyp eines Multi-Project Coding Issue Management Systems beschrieben. Um diesen Lösungsansatz zu validieren, wird ein Goal-Question-Metric-Plan vorgestellt und eine Expertenbefragung durchgeführt. Abschließend werden mögliche zukünftige Forschungsaufgaben vorgestellt.
Appears in Collections:05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Files in This Item:
File Description SizeFormat 
Issue Management for Multi-Project, Multi-Team Microservice Architectures.pdf2 MBAdobe PDFView/Open


Items in OPUS are protected by copyright, with all rights reserved, unless otherwise indicated.