Die Software-Industrie steht heute mehr denn je vor der Tatsache, dass ein Großteil der beauftragten Projekte die geforderte Qualität nicht erreicht, Zeit- und Budgetvorgaben überschritten werden, oder im schlimmsten Fall das Projekt noch während der Entwicklung abgebrochen wird.
Die Anforderungen der Kunden an die beauftragte Software sind unklar, der Zeitraum zwischen Vertragsunterzeichnung und Auslieferung des Endprodukts wird zunehmend enger und die Entwicklung in verteilten Teams steht in Zeiten der Globalisierung auf der Tagesordnung.
Der Übergang von den traditionellen Softwareentwicklungsmethoden hin zu leichtgewichtigen und agilen Vorgehensmodellen ist eine der Möglichkeiten sich diesen Herausforderungen erfolgreich zu stellen.
Das Ziel der vorliegenden Arbeit ist es, die Eigenschaften und Schwerpunkte der verschiedenen Vertreter der Agilen Methoden zu erarbeiten und zu vergleichen. Zusätzlich soll aus diesen Vertretern der Agilen Methoden ein geeignetes Vorgehensmodell für die Entwicklungsabteilung eines weltweit agierenden Unternehmens im Bereich der Telekommunikation und Systemintegration ermittelt werden. Hierfür werden die unternehmensinternen Anforderungen erarbeitet und daraus ein Kriterienkatalog abgeleitet, wobei besonderes Augenmerk auf die Umsetzungsmöglichkeiten in global verteilten Softwareentwicklungsprojekten gelegt wird.
Inhaltsverzeichnis
1 Einleitung
1.1 Motivation
1.2 Zielsetzung
1.3 Gliederung
2 Klassische Softwareentwicklung
2.1 Die Softwarekrise
2.2 Software Engineering - Methodik als Lösungsansatz
2.3 Traditionelle Vorgehensmodelle
2.3.1 Das Phasen- oder Wasserfallmodell
2.3.2 Das V-Modell
2.3.3 Das Spiralmodell
2.4 Erfolgskriterien in Softwareprojekten
3 Agile Softwareentwicklung
3.1 Eine neue Bewegung entsteht
3.2 Das Agile Manifest
3.3 Die vier Agilen Werte
3.3.1 Individuen und Interaktionen
3.3.2 Funktionierende Software
3.3.3 Zusammenarbeit mit dem Kunden
3.3.4 Vorbereitung auf unbekannte Anderungen
3.4 Die zwölf Agilen Prinzipien
4 Anforderungen an einen Entwicklungsprozess
4.1 Einordnung der Agilen Vorgehensmodelle
4.2 Unternehmensspezifische Anforderungen
4.2.1 Unternehmensdarstellung
4.2.2 Projekteigenschaften und Arbeitsumfeld
4.3 Der Kriterienkatalog
4.3.1 Einordnung der Agilen Methodik
4.3.2 Projektgröße
4.3.3 Projektphasen
4.3.4 Gewichtung
4.3.5 Projektumwelt
5 Vergleich und Evaluierung
5.1 Adaptive Software Development (ASD)
5.1.1 Rollen und Verantwortlichkeiten
5.1.2 Prozessbeschreibung
5.1.3 Praktiken und Charakteristika
5.1.4 Zusammenfassung und Evaluierung
5.2 Crystal Methods
5.2.1 Rollendefinitionen
5.2.2 Prozessbeschreibung
5.2.3 Praktiken und Charakteristika
5.2.4 Zusammenfassung und Evaluierung
5.3 Scrum
5.3.1 Rollen und Verantwortlichkeiten
5.3.2 Prozessbeschreibung
5.3.3 Praktiken und Charakteristika
5.3.4 Zusammenfassung und Evaluierung
5.4 Dynamic Systems Development Method (DSDM)
5.4.1 Rollen und Verantwortlichkeiten
5.4.2 Prozessbeschreibung
5.4.3 Praktiken und Charakteristika
5.4.4 Zusammenfassung und Evaluierung
5.5 Extreme Programming (XP)
5.5.1 Rollen und Verantwortlichkeiten
5.5.2 Prozessbeschreibung
5.5.3 Praktiken und Charakteristika
5.5.4 Zusammenfassung und Evaluierung
5.6 Feature Driven Development (FDD)
5.6.1 Rollen und Verantwortlichkeiten
5.6.2 Prozessbeschreibung
5.6.3 Praktiken und Charakteristika
5.6.4 Zusammenfassung und Evaluierung
5.7 Zusammenfassung der Evaluierung
6 Agile Methoden und global verteilte Entwicklung
6.1 Eigenschaften gobal verteilter Entwicklung
6.2 Organisatorische Komplexität in global verteilter Entwicklung
6.3 Agile Praktiken in global verteilter Entwicklung
6.4 Umsetzung in der BearingPoint INFONOVA GmbH
7 Zusammenfassung
7.1 Resumee
7.2 Ergebnisse
7.3 Schlussbemerkung und Ausblick
Zielsetzung & Themen
Die Arbeit untersucht, wie Agile Methoden in global verteilten Softwareentwicklungsprojekten effektiv eingesetzt werden können. Das primäre Ziel ist der Vergleich verschiedener Agiler Vertreter sowie deren Evaluierung hinsichtlich unternehmensspezifischer Anforderungen, um ein geeignetes Vorgehensmodell für ein weltweit agierendes Unternehmen im Bereich der Telekommunikation zu ermitteln.
- Klassifizierung und Vergleich agiler Softwareentwicklungsmethoden
- Erstellung eines Kriterienkatalogs zur Prozessbewertung
- Analyse der Herausforderungen global verteilter Entwicklungsteams
- Evaluierung agiler Praktiken für verteilte Umgebungen
- Empfehlung eines angepassten Vorgehensmodells für die BearingPoint INFONOVA GmbH
Auszug aus dem Buch
Die Softwarekrise
In den 50er Jahren des 20. Jahrhunderts gestaltete sich die Entwicklung von Software noch als relativ einfach, obwohl zu dieser Zeit sich nur Spezialisten und Universitäten damit beschäftigten:
• Die entwickelte Software war verhältnismäßig klein und überschaubar.
• Die implementierten Algorithmen hatten im Vergleich zu späteren Entwicklungen eine sehr geringe Komplexität.
• Die Entwickler der Software waren in den meisten Fällen auch gleichzeitig die Anwender, dadurch kam es in der Regel nicht zu Verständigungsschwierigkeiten zwischen Auftraggebern und Auftragnehmern.
Darüber hinaus war die Hardware zu dieser Zeit noch nicht sehr leistungsfähig, was dazu führte, dass das Scheitern eines Projektes zu dieser Zeit meistens auf eine fehlerhafte Hardware zurückzuführen war. Denn entweder war die Hardware durch Rechenfehler der Ingenieure flasch definiert, oder einfach zu fehleranfällig, bzw. zu langsam.
Zusammenfassung der Kapitel
1 Einleitung: Diese Einleitung beschreibt die Motivation hinter der Arbeit sowie die Zielsetzung, agile Methoden in globalen Softwareprojekten zu untersuchen.
2 Klassische Softwareentwicklung: Es wird die historische Entwicklung beleuchtet, die durch die sogenannte Softwarekrise und die Einführung traditioneller Vorgehensmodelle geprägt war.
3 Agile Softwareentwicklung: Dieses Kapitel erläutert die Entstehung der Agilen Bewegung als Gegenentwurf zur traditionellen Vorgehensweise und stellt das Agile Manifest sowie dessen Prinzipien vor.
4 Anforderungen an einen Entwicklungsprozess: Es werden unternehmensspezifische Kriterien definiert, die als Grundlage für den später erstellten Kriterienkatalog dienen.
5 Vergleich und Evaluierung: Der Hauptteil der Arbeit, in dem sechs agile Methoden detailliert nach einem einheitlichen Schema analysiert und bewertet werden.
6 Agile Methoden und global verteilte Entwicklung: Hier werden die spezifischen Herausforderungen bei geografisch verteilten Teams diskutiert und agile Anpassungsstrategien aufgezeigt.
7 Zusammenfassung: Das abschließende Kapitel fasst die Ergebnisse der Arbeit zusammen und gibt einen Ausblick auf künftige Entwicklungen.
Schlüsselwörter
Agile Methoden, Software Engineering, Softwarekrise, Vorgehensmodelle, Softwareentwicklung, Global verteilte Entwicklung, Projektmanagement, Kriterienkatalog, Scrum, Extreme Programming, Prozessmodell, Anforderungsanalyse, Systemintegration, IT-Projektmanagement, Iterative Entwicklung.
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Diplomarbeit befasst sich mit der Analyse und dem Vergleich verschiedener agiler Vorgehensmodelle in der Softwareentwicklung, um deren Eignung für global verteilte Projekte in einem Telekommunikationsunternehmen zu evaluieren.
Welche zentralen Themenfelder behandelt das Dokument?
Die Arbeit deckt Themen wie klassische Softwareentwicklung, die Geschichte und Werte agiler Methoden, Anforderungsmanagement, Prozessklassifizierungen sowie die spezifischen Anforderungen an verteilte Entwicklungsteams ab.
Was ist das primäre Ziel der Untersuchung?
Das Ziel ist es, aus den existierenden agilen Methoden ein Vorgehensmodell zu identifizieren oder anzupassen, das die unternehmensinternen Anforderungen an Projekte in einem globalen, technologisch heterogenen Umfeld erfüllt.
Welche wissenschaftliche Methode verwendet der Autor?
Der Autor führt eine Literaturanalyse durch, ergänzt durch einen selbst entwickelten Kriterienkatalog, anhand dessen agile Modelle systematisch klassifiziert und in Evaluierungsmatrizen gegenübergestellt werden.
Was wird im umfangreichen Hauptteil behandelt?
Der Hauptteil widmet sich der detaillierten Beschreibung von sechs agilen Methoden (ASD, Crystal Methods, Scrum, DSDM, XP, FDD), inklusive ihrer Rollen, Prozessphasen und spezifischen Praktiken.
Welche Keywords charakterisieren die Arbeit?
Die Arbeit wird durch Begriffe wie Agile Methoden, Software Engineering, Global verteilte Entwicklung und Projektmanagement definiert.
Wie geht der Autor mit der Herausforderung von global verteilten Teams um?
Der Autor schlägt spezifische Anpassungen vor, wie die Entsendung von Botschaftern, den Einsatz von Wikis zur Dokumentation und den Ausbau der virtuellen Integration, um die mangelnde direkte Kommunikation in verteilten Umgebungen auszugleichen.
Welche Rolle spielt die BearingPoint INFONOVA GmbH in der Arbeit?
Das Unternehmen dient als konkretes Fallbeispiel für die praktische Anwendung der Untersuchungsergebnisse, wobei deren spezifische Projektstrukturen als Anforderungen für die Evaluierung der agilen Methoden genutzt wurden.
- Quote paper
- Dipl.-Ing. (FH) Jürgen Götzenauer (Author), 2006, Agile Methoden in der Softwareentwicklung, Munich, GRIN Verlag, https://www.grin.com/document/127411