FAQ
© 2015 Staats- und Universitätsbibliothek
Hamburg, Carl von Ossietzky

Öffnungszeiten heute09.00 bis 24.00 Uhr alle Öffnungszeiten

Eingang zum Volltext in OPUS

Hinweis zum Urheberrecht

Dissertation zugänglich unter
URN: urn:nbn:de:gbv:18-49591
URL: http://ediss.sub.uni-hamburg.de/volltexte/2011/4959/


Architekturzentrierte agile Anwendungsentwicklung in global verteilten Projekten

Architecture-Centric Agile Application Development in Globally Distributed Projects

Sauer, Joachim

pdf-Format:
 Dokument 1.pdf (2.832 KB) 


SWD-Schlagwörter: Software Engineering , Softwarearchitektur , Agile Softwareentwicklung
Freie Schlagwörter (Deutsch): Global verteilte Softwareentwicklung
Freie Schlagwörter (Englisch): software engineering , software architecture , agile software development , global software development
Basisklassifikation: 54.52
Institut: Informatik
DDC-Sachgruppe: Informatik
Dokumentart: Dissertation
Hauptberichter: Züllighoven, Heinz (Prof. Dr.-Ing.)
Sprache: Deutsch
Tag der mündlichen Prüfung: 08.12.2010
Erstellungsjahr: 2010
Publikationsdatum: 05.01.2011
Kurzfassung auf Deutsch: Die global verteilte Anwendungsentwicklung hat international und auch in Deutschland in den letzten Jahren an Bedeutung gewonnen. Von der Verlagerung auf mehrere verteilte Entwicklungsstandorte versprechen sich die Auftraggeber insbesondere geringere Kosten, einen leichteren Zugriff auf qualifiziertes Personal, das in einem Land nicht ausreichend verfügbar ist, und eine größere Nähe zum Endanwender. Eine besondere Form der global verteilten Entwicklung ist das Offshoring, bei dem Aufträge an einen geografisch entfernten, unabhängigen IT-Dienstleister vergeben werden, der die Entwicklung überwiegend auf einem anderen Kontinent erledigt. Die Erfahrungen mit global verteilter Entwicklung sind eher negativ. In vielen Projekten konnten die avisierten Kosteneinsparungen nicht realisiert werden und mehrere Projekte sind gescheitert.

In dieser Arbeit wird untersucht, inwiefern der Einsatz von agilen Methoden in global verteilten Entwicklungsprojekten Probleme vermeiden und die Erfolgswahrscheinlichkeit erhöhen kann. Bei agiler Entwicklung wird Wert auf Flexibilität, Kommunikation und ein iteratives Vorgehen sowie eine offene Kommunikation zwischen allen Beteiligten gelegt. Anhand der Analyse veröffentlichter Erfahrungsberichte und dem Abgleich mit wissenschaftlichen Erkenntnissen wird aufgezeigt, dass sich in der Praxis charakteristische Probleme aus dem Einsatz agiler Methoden in verteilten Entwicklungsprojekten ergeben. Insbesondere ist es schwierig, eine effiziente Kommunikation und Koordination zwischen allen Beteiligten zu gewährleisten.

Um den Problemen zu begegnen, wird in dieser Arbeit agile verteilte Entwicklung mit weiteren Ansätzen kombiniert. Dies ist zum einen das Dual-Shore-Modell, bei dem sowohl onshore in der Nähe des Auftraggebers als auch offshore beim ausländischen Dienstleister entwickelt wird. Zum anderen die architekturzentrierte Entwicklung, bei der die Softwarearchitektur im Mittelpunkt vieler Aktivitäten der Softwareentwicklung steht und u. a. zur Arbeitsteilung und -koordination, Fortschrittsprüfung, Wissensvermittlung und Qualitätssicherung dient.

Durch Auswertung von eigenen Erfahrungen, veröffentlichten Erfahrungsberichten und Feldstudien werden Vor- und Nachteile der Ansätze herausgearbeitet und ihre Eignung für die agile verteilte Entwicklung diskutiert. Die Ergebnisse werden in Musterform festgehalten. Die Einsatzmöglichkeiten der Muster werden in zwei global verteilten Entwicklungsprojekten untersucht. So kann in der Praxis nachgewiesen werden, dass die in dieser Arbeit herausgearbeiteten Ansätze eine gute Grundlage für die agile verteilte Entwicklung bilden.
Kurzfassung auf Englisch: Over the past years, global software development has gained in importance both internationally and in Germany. Customers hope to profit from the relocation to several distributed development sites by lower costs, an easier access to qualified staff that is not available in one country, and closer proximity to end users. A special type of global software development is offshoring where orders are placed with a geographically distant, independent IT service provider who carries out the development mainly on another continent. Present experience with global software development is rather negative. Many projects missed the anticipated cost savings. Several projects failed.

In this paper we investigate how the application of agile methods to globally distributed development projects helps to avoid problems and increases the probability of success. Agile software development emphasizes flexibility, communication and an iterative proceeding as well as open communication among all participants. By means of an analysis of published experience reports and an alignment with scientific findings, we show that the application of agile methods to distributed development projects in practice leads to characteristic problems. It is particularly difficult to provide for efficient communication and coordination among all participants.

In order to avoid these problems, we combine agile distributed development with further approaches in this paper. One of these approaches is the dual shore model which connects onshore development close to the customer with offshore work at the foreign service provider’s development site. Another one is architecture-centric development which places the software architecture center-stage of many tasks during the software development and aids in the separation and coordination of tasks, progress monitoring, knowledge transfer, and quality management, among other things.

Through the evaluation of our own experiences, published experience reports, and field studies, we identify advantages and disadvantages of the approaches and discuss their suitability for agile distributed development. The results are recorded as patterns. The possible applications of these patterns are evaluated in two globally distributed development projects. Thereby we demonstrate in practice that the approaches which are developed in this paper form a good basis for agile distributed development.

Zugriffsstatistik

keine Statistikdaten vorhanden
Legende