title: Agile software development in distributed teams with low spatial distance: Challenges, benefits and recommendations
Creators: name: Stadler, Manuel
Publisher: name: TU Wien
Year: 2016
Subjects: subject: agil
subject: Scrum
subject: Kanban
subject: eXtreme Programming
subject: verteilte Softwarentwicklung
subject: verteilte Teams
subject: agile
subject: Scrum
subject: Kanban
subject: eXtreme Programming
subject: distributed software development
subject: virtual teams
subject: distributed agile

description: In der Softwareentwicklung werden verstärkt agile Vorgehensweisen zur Strukturierung und Koordination der täglichen Arbeit eingesetzt. Methoden wie Scrum oder Extreme Programming empfehlen, alle Teammitglieder am selben Ort bzw. sogar im selben Raum zu positionieren. Gleichzeitig gibt es aber auch einen klaren Trend in Richtung verteilten Arbeitens sowie verteilter Teams. Trotz dieser beiden Gegensätzlichkeiten werden beide Aspekte immer öfter kombiniert und agile Methoden vermehrt in verteilten Teams eingesetzt. Diese Diplomarbeit untersucht, wie agile Prozessmodelle in verteilten Teams angewendet werden, welche Vor- und Nachteile diese mit sich bringen und die Herausforderungen, die dabei entstehen. Als Einschränkung dieses komplexen und weitläufigen Themengebietes wurde der Fokus explizit auf Teams, welche innerhalb eines Landes oder in Nachbarländern verteilt sind, gelegt. Im Zuge einer Fallstudie wurden verteilte Teams mit Standorten in Österreich und Deutschland untersucht. Die empirische Datenerhebung erfolgte mittels qualitativer, semi-strukturierter Interviews mit Experten sowie Teamleitern mit praktischer Erfahrung auf diesem Gebiet. Die Analyse der gesammelten Daten zeigt klar, dass agile Methoden erfolgreich in verteilten Teams mit geringer Distanz angewendet werden können und diese sogar Vorteile mit sich bringen. Moderne Kommunikationstechnologien ermöglichen es Teams, ohne bedeutende Hindernisse über Entfernungen zu kommunizieren und erleichtern außerdem eine enge Zusammenarbeit über Standortgrenzen hinaus. Typische agile Praktiken und Kennzeichen wie kurze Iterationen, Pair Programming, tägliche Standup-Meetings, Code-Reviews oder Retrospektiven werden von verteilten Teams erfolgreich eingesetzt und bieten neben einer Verbesserung im Softwareentwicklungsprozess gleichzeitig weitere Kommunikationskanäle, welche zur Stärkung der Teamstruktur beitragen. Häufige informelle sowie formelle Kommunikation, kurze Iterationen und regelmäßiger persönlicher Kontakt vor Ort helfen dabei, die größten Schwierigkeiten verteilten Arbeitens, insbesondere Herausforderungen in den Bereichen Koordination und Kontrolle, zu überwinden. Als Ergebnis der Forschungsarbeit werden sechs grundsätzliche Herausforderungen sowie fünf Vorteile von agilen Methoden in verteilten Teams herausgearbeitet. Abschließend werden elf Empfehlungen für Teams in ähnlichen Situationen aus den gesammelten Daten abgeleitet.
description: Agile methodologies are facing increased adoption in software engineering teams. Established practices like Scrum or extreme programming furthermore strongly suggest to co-locate all team members in one office. Simultaneously there is a rising trend of remote working and distributed teams in today-s software development community. Despite this alleged contradiction there is an increasing number of distributed teams applying agile methods. This thesis examines how agile process models can be applied in distributed teams, which challenges have to be faced and which benefits such process models can entail. To delimit the scope this thesis focuses on teams with a limited spatial dispersion, explicitly investigating teams that are distributed within one or at most across neighboring countries. In order to achieve that the author performed a case study analyzing multiple distributed teams located in Austria or Germany. Data collection was done through semi-structured interviews of team leaders and experts who have practical experience in this area. The content analysis clearly indicates that applying agile methods in distributed teams with low spatial distance poses no problem but instead even brings forth several benefits. Modern technology enables teams to communicate remotely without serious obstacles and allow a close collaboration across geographical locations. Teams successfully mastered common agile practices and methods like short iterations, pair programming, daily meetings, code reviews or retrospective meetings in their distributed settings which not only improve the software engineering process but furthermore pose important communication channels which strengthen the team. Frequent informal as well as formal communication, short iteration cycles and regular face-to-face contact help to overcome problems of distributed collaboration especially when it comes to the problem areas of coordination and control. As a result this thesis brings up six challenges as well as five benefits of agile methods in distributed teams. Conclusively eleven recommendations derived from the analyzed data are presented which aim at improving the application of agile methods in such environments.