Methods and tools supporting agile software development for distributed teams/ Tools und Methoden zur Unterstützung agiler Entwicklungsprozesse in global verteilten Softwareentwicklungsteams

Hintergrund

Agile Methoden gewinnen im Bereich der Softwareentwicklung immer mehr an Bedeutung. Die damit einhergehende Flexibilität ermöglicht besonders innovativen Projekten eine effektive Arbeitsweise. Das Phänomen von global verteilten Projektteams, das mittlerweile besonders in großen Firmen vorherrschend ist, steht ursprünglich in Kontrast zu den agilen Konzepten. Dennoch werden diese Methoden aufgrund ihrer verschiedenen Vorteile auch in globalen Teams eingesetzt und sind mittlerweile breit verbreitet. Da die physische Trennung, als auch kulturelle Unterschiede zu einer höheren Komplexität hinsichtlich der Koordination innerhalb eines Projekts führen, ist es wichtig, geeignete Technologien und Methoden zu nutzen, um die gegenseitige Wahrnehmung sowie das Bewusstsein über aktuelle Projektstadien und -aufgaben zu stärken.

Zielsetzung der Arbeit

Im Rahmen dieser Arbeit soll evaluiert werden, mit welchen computergestützten Methoden und Tools ein agiler Entwicklungsprozess potenziell unterstützt bzw. automatisiert werden kann, wobei ein besonderer Fokus auf die Arbeit in einem global verteilten Team gelegt werden soll. Zu diesem Zweck soll auf Basis von bereits bestehenden Ergebnissen aus der Literatur sowie eigenen Erhebungen ein Designkonzept entworfen werden, das verschiedene Technologien und Vorgehen in die einzelnen Phasen des Prozesses integriert. Diese sollen im Rahmen einer Studie evaluiert werden. Aus den daraus erworbenen Erkenntnissen soll eine prototypische Plattform entwickelt werden, die die als den Prozess potenziell fördernd bewerteten Methoden und Tools bereitstellt. Aus der Arbeit soll somit sowohl eine konkrete Unterstützung des Prozesses von Softwareteams in der Firma Continental entstehen, als auch allgemeine Erkenntnisse zur Unterstützung von agilen Prozessen mit verschiedenen Tools und Methoden abgeleitet werden

Konkrete Aufgaben

Analyse von Ideen und Konzepten zur technischen Unterstützung der Softwareentwicklung aus der Literatur

Durchführung einer Analyse von Bedürfnissen und Vorschlägen hinsichtlich der Thematik mit repräsentativen Personen aus der Zielgruppe

Integration der gesammelten Konzepte in ein Designkonzept zur Unterstützung der verschiedenen eines agilen Prozesses

Toolevaluation in Bezug auf erarbeitete Designvorschläge

Prototypische Implementierung von Tools

Integration der Ergebnisse in prototypisch implementierte Plattform

Evaluation einzelner Konzepte sowie des Endresultats

Erwartete Vorkenntnisse

Theoretische Kenntnisse in Bezug auf agile Softwareentwicklung

Praktische Kenntnisse in der Webentwicklung

Qualitative Erhebungsmethoden und Auswertung

Weiterführende Quellen

Herbsleb, J.D. (2007). Global software engineering: The future of socio-technical coordination. In Future of Software Engineering (pp. 188-198). Washington: IEEE Computer Society.

Sutherland, J., Schoonheim, G., Rustenburg, E. & Rijk, M. (2008). Fully distributed scrum: The secret sauce for hyperproductive offshored development teams. In Agile, 2008. AGILE'08. Conference (pp. 339-344). IEEE.

Woodward, E., Surdek, S. & Ganis, M. (2010). A practical guide to distributed Scrum. Upper Saddle River: IBM Press.