Bitte benutzen Sie diese Kennung, um auf die Ressource zu verweisen: http://dx.doi.org/10.18419/opus-13809
Autor(en): Bhawsinka, Nistha
Titel: Change tracking and observability for complex software development
Erscheinungsdatum: 2023
Dokumentart: Abschlussarbeit (Master)
Seiten: xi, 48
URI: http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-ds-138284
http://elib.uni-stuttgart.de/handle/11682/13828
http://dx.doi.org/10.18419/opus-13809
Zusammenfassung: The complexity involved in the wide range of software products that are developed around the globe varies in many aspects. It is often easier to manage small projects because of less development tools involved, but for larger projects it can get overwhelming fairly quickly. Having an option to view all the important parts of a development process at one place can help in such complex scenarios. The objective of this study is to make this process simpler by introducing an observability solution for the development teams. The work revolves around two use cases, one from IBM having more than 250 repositories managed by a small group of developers. And the other one is preCICE, which is an open-source project with around 50 repositories. Both the use cases have their respective needs which are recorded by surveying the developers. The solution developed is intended to be generic so that it can be used in other projects in the future. This accounts to the pressing need of creating a reusable solution. Major components of the proposed solution include a Grafana dashboard with custom scripts written in Python. It is a client server architecture, shipped as docker images for portability purposes. One of the key aspects of this study was to keep the developers informed and understand their needs. This helped while designing questions for all the surveys that were conducted with them as subjects. Results of those surveys acted as a knowledge base while planning the solution. The work also contributes in streamlining the software development process in complex projects by reducing the mental effort and development time of the developers. There is an added advantage of better collaboration with such an overview of the project. It will allow the new developers to get familiarized with the organizational pulse and make contributions to the source code in a more informed manner. The results showcase how projects with different level of complexity and perspectives can benefit from such a solution.
Die Komplexität der zahlreichen Softwareprodukte, die weltweit entwickelt werden, ist in vielerlei Hinsicht unterschiedlich. Kleine Projekte sind oft einfacher zu verwalten, weil weniger Entwick-lungswerkzeuge beteiligt sind, aber bei größeren Projekten kann es schnell unübersichtlich werden. Eine Möglichkeit, alle wichtigen Teile eines Entwicklungsprozesses an einem Ort abzubilden, kann in solchen komplexen Szenarien helfen. Das Ziel dieser Studie ist es, diesen Prozess durch die Einführung einer Beobachtungslösung für die Entwicklungsteams zu vereinfachen. Die Arbeit dreht sich um zwei Anwendungsfälle, einen von IBM mit mehr als 250 Repositories, die von einer kleinen Gruppe von Entwicklern verwaltet werden.Der andere ist preCICE, ein Open-Source-Projekt mit etwa 50 Repositories. Beide Anwendungsfälle haben ihre jeweiligen Bedürfnisse, die durch Befragung der Entwickler erfasst werden. Die entwickelte Lösung soll generisch sein, so dass sie in Zukunft auch in anderen Projekten eingesetzt werden kann. Dies trägt der dringenden Notwendigkeit Rechnung, eine wiederverwendbare Lösung zu schaffen. Zu den Hauptkomponenten der vorgeschlagenen Lösung gehört ein Grafana-Dashboard mit benutzerdefinierten, in Python geschriebenen Skripten. Es handelt sich um eine Client-Server-Architektur, die aus Gründen der Portabilität als Docker-Images ausgeliefert wird. Einer der wichtigsten Aspekte dieser Studie war es, die Entwickler zu informieren und ihre Bedürfnisse zu verstehen. Dies half bei der Gestaltung der Fragen für alle Umfragen, die mit ihnen als Probanden durchgeführt wurden. Die Ergebnisse dieser Umfragen dienten als Wissensgrundlage für die Planung der Lösung. Die Arbeit trägt auch dazu bei, den Softwareentwicklungsprozess in komplexen Projekten zu rationalisieren, indem der mentale Aufwand und die Entwicklungszeit der Entwickler reduziert werden. Ein zusätzlicher Vorteil ist die bessere Zusammenarbeit mit einem solchen Überblick über das Projekt. Neue Entwickler können sich so mit dem organisatorischen Pulsschlag vertraut machen und fundiertere Beiträge zum Quellcode leisten. Die Ergebnisse zeigen, wie Projekte mit unterschiedlichem Komplexitätsgrad und unterschiedlichen Perspektiven von einer solchen Lösung profitieren können.
Enthalten in den Sammlungen:05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Dateien zu dieser Ressource:
Datei Beschreibung GrößeFormat 
Master_Thesis.pdf2,5 MBAdobe PDFÖffnen/Anzeigen


Alle Ressourcen in diesem Repositorium sind urheberrechtlich geschützt.