Please wait
Please install the Adobe Flash Player if no e-book is displayed.
Subtitle: Vergleich und Evaluierung
Diploma Thesis, 2006, 100 Pages
Author: Dipl.-Ing. (FH) Jürgen Götzenauer
Subject: Computer Science - Software
Details
Institution/College: University of Applied Sciences Mittweida (Fachbereich Informationstechnik & Elektrotechnik)
Tags: Software Entwicklung, Agile Methoden, Scrum, XP, Extreme Programming, FDD, Feature Driven Development, Crystal Methods, ASD, Adaptive Software Development, DSDM, Dynamic Systems Development Method, Globale Softwareentwicklung, Software Development, Distributed Development, Agile Methods
Year: 2006
Pages: 100
Grade: Sehr gut
Language: German
ISBN (E-book): 978-3-640-33480-3
ISBN (Book): 978-3-640-33444-5
Other users also were interested in the following titles:
Abstract
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.
Excerpt (computer-generated)
G¨otzenauer, J¨
urgen
Agile Methoden in der Software
Entwicklung - Vergleich und Evaluierung
eingereicht als
D I P L O M A R B E I T
an der
Hochschule Mittweida (FH)
----------------------------------------------
University of Applied Sciences
Fachbereich Informationstechnik & Elektrotechnik
Graz, 2005
Vorgelegte Arbeit wurde verteidigt am:
16. Januar 2006
Bibliografische Beschreibung
G¨
otzenauer, J¨
urgen:
Agile Methoden in der Softwareentwicklung - Vergleich und Evaluierung. - 2005 - 103 S.
Graz, Hochschule Mittweida (FH), Fachbereich Informationstechnik & Elektrotechnik,
Diplomarbeit, 2005
Referat
Die Software-Industrie steht heute mehr denn je vor der Tatsache, dass ein Großteil der
beauftragten Projekte die geforderte Qualit¨
at nicht erreicht, Zeit- und Budgetvorgaben
¨
uberschritten werden, oder im schlimmsten Fall das Projekt noch w¨
ahrend der Entwicklung
abgebrochen wird.
Die Anforderungen der Kunden an die beauftragte Software sind unklar, der Zeitraum
zwischen Vertragsunterzeichnung und Auslieferung des Endprodukts wird zunehmend en-
ger und die Entwicklung in verteilten Teams steht in Zeiten der Globalisierung an der
Tagesordung.
Der ¨
Ubergang von den traditionellen Softwareentwicklungsmethoden hin zu leichtge-
wichtigen und agilen Vorgehensmodellen ist eine der M¨
oglichkeiten sich diesen Herausfor-
derungen erfolgreich zu stellen.
Das Ziel der vorliegenden Arbeit ist es, die Eigenschaften und Schwerpunkte der ver-
schiedenen Vertreter der Agilen Methoden zu erarbeiten und zu vergleichen. Zus¨
atzlich
soll aus diesen Vertretern der Agilen Methoden ein geeignetes Vorgehensmodell f¨
ur die Ent-
wicklungsabteilung eines weltweit agierenden Unternehmens im Bereich der Telekommuni-
kation und Systemintegration ermittelt werden. Hierf¨
ur werden die unternehmensinternen
Anforderungen erarbeitet und daraus ein Kriterienkatalog abgeleitet, wobei besonderes
Augenmerk auf die Umsetzungsm¨
oglichkeiten in global verteilten Softwareentwicklungs-
projekten gelegt wird.
1
Danksagung
Ich m¨
ochte mich bei Herrn Prof. Dr.-Ing. Uwe Schneider von der Hochschule Mittweida
herzlich f¨
ur seine Unterst¨
utzung bei der Umsetzung der vorliegenden Arbeit bedanken.
Mein Dank gilt auch Herrn Dipl.-Ing. Mario Walder von der BearingPoint INFONOVA
GmbH, der mir die M¨
oglichkeit gab, die vorliegende Arbeit innerhalb meines beruflichen
Umfelds umzusetzen und mir immer mit Rat und Tat zur Verf¨
ugung stand.
Weiters m¨
ochte ich mich bei Herrn Dr. Peter Hruschka von der Atlantic Systems Guild
f¨
ur seine wertvollen Anregungen hinsichtlich der Anwendbarkeit Agiler Methoden in glo-
bal verteilten Softwareentwicklungsprojekten bedanken.
Mein ganz besonderer Dank gilt jedoch meiner Frau Martina und meiner Familie, die
mir auch in den entbehrungsreichen Zeiten des berufsbegleitenden Studiums zur Seite
standen und immer f¨
ur mich da waren.
J¨
urgen G¨
otzenauer
Graz, am 20. Dezember 2005
2
Inhaltsverzeichnis
1
Einleitung
8
1.1
Motivation
.
8
1.2
Zielsetzung
.
10
1.3
Gliederung
.
11
2
Klassische Softwareentwicklung
13
2.1
Die Softwarekrise .
13
2.2
Software Engineering - Methodik als L¨
osungsansatz .
15
2.3
Traditionelle Vorgehensmodelle .
16
2.3.1
Das Phasen- oder Wasserfallmodell .
16
2.3.2
Das V-Modell .
19
2.3.3
Das Spiralmodell .
20
2.4
Erfolgskriterien in Softwareprojekten .
21
3
Agile Softwareentwicklung
25
3.1
Eine neue Bewegung entsteht .
25
3.2
Das Agile Manifest .
26
3.3
Die vier Agilen Werte
.
28
3.3.1
Individuen und Interaktionen .
28
3.3.2
Funktionierende Software .
28
3.3.3
Zusammenarbeit mit dem Kunden .
28
3.3.4
Vorbereitung auf unbekannte ¨
Anderungen .
29
3.4
Die zw¨
olf Agilen Prinzipien .
29
4
Anforderungen an einen Entwicklungsprozess
31
4.1
Einordnung der Agilen Vorgehensmodelle
.
31
4.2
Unternehmensspezifische Anforderungen .
32
4.2.1
Unternehmensdarstellung .
32
4.2.2
Projekteigenschaften und Arbeitsumfeld .
32
4.3
Der Kriterienkatalog .
35
4.3.1
Einordnung der Agilen Methodik .
36
4.3.2
Projektgr¨
oße .
36
4.3.3
Projektphasen
.
37
4.3.4
Gewichtung .
37
4.3.5
Projektumwelt .
38
3
5
Vergleich und Evaluierung
39
5.1
Adaptive Software Development (ASD)
.
39
5.1.1
Rollen und Verantwortlichkeiten
.
40
5.1.2
Prozessbeschreibung .
40
5.1.3
Praktiken und Charakteristika
.
42
5.1.4
Zusammenfassung und Evaluierung .
43
5.2
Crystal Methods .
45
5.2.1
Rollendefinitionen
.
47
5.2.2
Prozessbeschreibung .
48
5.2.3
Praktiken und Charakteristika
.
50
5.2.4
Zusammenfassung und Evaluierung .
51
5.3
Scrum .
53
5.3.1
Rollen und Verantwortlichkeiten
.
53
5.3.2
Prozessbeschreibung .
54
5.3.3
Praktiken und Charakteristika
.
56
5.3.4
Zusammenfassung und Evaluierung .
58
5.4
Dynamic Systems Development Method (DSDM) .
60
5.4.1
Rollen und Verantwortlichkeiten
.
61
5.4.2
Prozessbeschreibung .
61
5.4.3
Praktiken und Charakteristika
.
63
5.4.4
Zusammenfassung und Evaluierung .
64
5.5
Extreme Programming (XP)
.
66
5.5.1
Rollen und Verantwortlichkeiten
.
67
5.5.2
Prozessbeschreibung .
67
5.5.3
Praktiken und Charakteristika
.
69
5.5.4
Zusammenfassung und Evaluierung .
71
5.6
Feature Driven Development (FDD) .
73
5.6.1
Rollen und Verantwortlichkeiten
.
73
5.6.2
Prozessbeschreibung .
75
5.6.3
Praktiken und Charakteristika
.
77
5.6.4
Zusammenfassung und Evaluierung .
78
5.7
Zusammenfassung der Evaluierung .
80
6
Agile Methoden und global verteilte Entwicklung
81
6.1
Eigenschaften gobal verteilter Entwicklung .
81
6.2
Organisatorische Komplexit¨
at in global verteilter Entwicklung .
82
6.3
Agile Praktiken in global verteilter Entwicklung .
83
6.4
Umsetzung in der BearingPoint INFONOVA GmbH
.
86
7
Zusammenfassung
88
7.1
Res¨
umee .
88
7.2
Ergebnisse .
89
7.3
Schlussbemerkung und Ausblick .
93
Literaturverzeichnis
95
4
Abbildungsverzeichnis
2.1
Das Phasen- oder Wasserfallmodell .
17
2.2
Das erweiterte Phasen- oder Wasserfallmodell .
18
2.3
Das NATO-Phasenmodell (Quelle: [NR68, S.13]) .
19
2.4
Das V-Modell .
20
2.5
Das Spiralmodell (Quelle: wikipedia.org) .
21
2.6
IT-Projekte von 1994 bis 2004 (Quelle: Standish Group Int.) .
23
2.7
Rezept f¨
ur Projekterfolg (Quelle: Standish Group Int.) .
24
4.1
Projekt-Entwicklung vs. Produktentwicklung .
33
4.2
Struktur von Projektmitarbeitern .
34
4.3
Struktur von verteilten Projektteams .
35
5.1
ASD Prozessmodell .
41
5.2
ASD Projektphasen (Quelle: [DK05, S.142] .
42
5.3
¨
Ubersicht der verschiedenen Crystal Methodiken .
46
5.4
Crystal Projektphasen (Quelle: [DK05, S.149]) .
50
5.5
Das Scrum-Prozessmodell in der Grob¨
ubersicht .
54
5.6
Der Scrum-Prozess im ¨
Uberblick .
56
5.7
Beispielhafte Burndown-Chart
.
57
5.8
DSDM Prozessmodell
.
62
5.9
XP Prozess¨
ubersicht .
68
5.10 Test Driven Development (TDD) .
69
5.11 FDD Prozess¨
ubersicht .
75
5.12 FDD Prozess-Schritte (Quelle: Kevin Morrison) .
76
6.1
Abnahme der Kommunikationsh¨
aufigkeit (Quelle: [Kot01, S.56])
.
83
5
Tabellenverzeichnis
2.1
Kriterien f¨
ur den Projekterfolg im Jahr 1994
.
22
5.1
Evaluierungsmatrix f¨
ur Adaptive Software Development (ASD) .
44
5.2
Evaluierungsmatrix f¨
ur Crystal Methods .
52
5.3
Evaluierungsmatrix f¨
ur Scrum .
59
5.4
Die MoSCoW-Regel
.
63
5.5
Evaluierungsmatrix f¨
ur Dynamic Systems Development Method (DSDM)
.
65
5.6
Evaluierungsmatrix f¨
ur Extreme Programming (XP) .
72
5.7
FDD Zertifizierungsstufen .
73
5.8
Evaluierungsmatrix f¨
ur Feature Driven Development (FDD) .
79
5.9
Evaluierungsmatrix - Gesamt¨
ubersicht .
80
6
Abk¨
urzungsverzeichnis
ACM Association for Computing Machinery
ADT Agile Database Techniques
AM Agile Modelling
ASD Adaptive Software Development
DIN Deutsches Institut fuer Normung
DSDM Dynamic Systems Development Method
FDD Feature Driven Development
HTML Hypertext Markup Language
ISO International Organization for Standardization
IT Information Technology
JAD Joint Application Development
LSD Lean Software Development
NATO North Atlantic Treaty Organisation
PP Pragmatic Programming
SW Software
TDD Test Driven Development
TSP Team Software Process
UI User Interface
XP eXtreme Programming
7
Kapitel 1
Einleitung
In diesem Kapitel wird die grundlegende Motivation und Ausgangssituation der vorlie-
genden Arbeit beschrieben, die Aufgabenstellungen und Zielsetzungen pr¨
azisiert und die
Gliederung des Dokuments n¨
aher erl¨
autert.
1.1
Motivation
Software findet sich mittlerweile in allen Bereichen des Lebens und ist schon lange aus
unserem Alltag nicht mehr wegzudenken. Der Wandel hin zur nahezu vollst¨
andig automa-
tisierten Informationsgesellschaft hat sich in den letzten Jahren bereits vollzogen. Neben
den herk¨
ommlichen Computersystemen, die sich schon in fast jedem Haushalt und jedem
B¨
uro finden, steigt auch die Verbreitung von sogenannten Embedded-Systems1 rasant an.
Man m¨
ochte meinen, dass durch diese ubiquit¨
are Nutzung von Software-Komponenten
deren Entwicklung ein qualitativ zumindest gleichwertiges Niveau wie die Entwicklung
von Produkten in vergleichbaren traditionellen Ingenieursdisziplinen (z.B. Maschinenbau,
Elektrotechnik oder Architektur) erreicht hat. Doch schon in der ersten H¨
alfte der 60er
Jahre des 20. Jahrhunderts zeichnete sich in der Industrie eine Situation ab, die im Bereich
der Software-Entwicklung zu dem Begriff Softwarekrise2 f¨
uhrte:
· Programme taten nicht das, was sie sollten, oder aber sie taten das, was sie tun
sollten, nur fehlerhaft.
· Software kostete, wenn sie ¨
uberhaupt je fertig wurde, ein Vielfaches dessen, was zu
Beginn geplant war.
· Termine wurden selten eingehalten und die nachtr¨
agliche ¨
Anderung von exisitieren-
der Software war nahezu unm¨
oglich.
1Embedded System:
A computer system that is part of a larger system and performs some of the
"
requirements of that system; for example, a computer system used in an aircraft or mobile phone." [IEE90,
S.30]
2Softwarekrise:
Bezeichnet ein Mitte der sechziger Jahre des zwanzigsten Jahrhunderts auftretendes
"
Ph¨
anomen: Erstmalig ¨
uberstiegen die Kosten f¨
ur die Software die Kosten f¨
ur die Hardware. In der Folge
kam es zu den ersten großen gescheiterten Software-Projekten." (Vgl. http://de.wikipedia.org/wiki/
Softwarekrise) - Wird in Kapitel 2 - Abschnitt 2.1, Seite 13 n¨
aher erl¨
autert.
8
KAPITEL 1. EINLEITUNG
9
Die Software-Industrie war zu dieser Zeit nicht mehr in der Lage, mit den damals
bekannten Techniken und Werkzeugen die Entwicklung großer Programme zu beherrschen.
[PS94, S.19ff]
In einer ersten Reaktion auf die Softwarekrise erkannte man, dass ein v¨
ollig neues und
systematisches Vorgehen notwendig war, um von der damals vorherrschenden Kunst des
"
Programmierens" den Schritt zu ingenieurm¨
aßiger Softwareentwicklung zu gehen. Vor die-
sem Hintergrund wurde 1968 auf einer NATO-Konferenz in Garmisch der Begriff Software
Engineering3 gepr¨
agt. [NR68, S.19ff]
Man sah Parallelen zur Herstellung von Produkten im Bereich der Ingenieurwissen-
schaften und wollte deren methodisches Vorgehen adaptieren. Der Entwicklungsprozess
von Software sollte dadurch plan- und kalkulierbar werden. Die oben genannten Umst¨
ande
und die steigende Komplexit¨
at der Programme bei kommerziellen Softwareprojekten f¨
uhr-
ten zur Definition von sogenannten Vorgehensmodellen4, mit denen die Arbeitsabl¨
aufe in
Softwareprojekten standardisiert werden sollten. Es etablierte sich ein erstes systemati-
sches Modell, das sich gr¨
oßtenteils am Vorbild von industriellen Fertigungsprozessen ori-
entierte und den Softwareentwicklungsprozess in die vier großen Phasen Analyse, Entwurf,
Implementierung und Test gliederte, das sogenannte Phasen- oder Wasserfallmodell 5.
Inzwischen gibt es eine große Anzahl an wissenschaftlichen Untersuchungen zu der
Fragestellung, wie man Software qualitativ hochwertig und zugleich fristgerecht und wirt-
schaftlich ¨
okonomisch entwickeln k¨
onnte. Es wurden weitere Methoden und Vorgehens-
modelle entwickelt, welche die Bereiche der Softwareentwicklung Schritt f¨
ur Schritt in ihre
Teilprozesse zerlegen und umfangreiche Regelwerke zur effizienten Softwareentwicklung zur
Verf¨
ugung stellen. Dennoch ist es auch heute noch h¨
aufig so, dass viele Softwareprojekte
die Anforderungen, welche vom Kunden gefordert werden, nicht oder nur unzureichend
erf¨
ullen, Termin- und Budgetvorgaben ¨
uberschreiten und somit letztendlich die Projekt-
ziele verfehlen. [Int95, S.3ff]
Es stellt sich zunehmend heraus, dass bei der Entwicklung von Software andere Ge-
setzm¨
aßigkeiten gelten, als in den traditionellen Ingenieursdisziplinen und Softwarepro-
jekte beim Projektstart oftmals mit vielen Konstanten begonnen werden, die sich aber im
weiteren Projektverlauf sehr schnell zu Variablen ¨
andern.
So sollen zum Beispiel Preis, Liefertermin, Qualit¨
at und Umfang der geforderten Soft-
ware schon zu Vertragsbeginn feststehen und das Projekt mit Hilfe eines definierten Pro-
jektplans abgewickelt werden. Doch sind diese Anforderungen an ein Softwareprodukt
l¨
angst nicht so stabil und weisen h¨
aufig Konflikte und Zielkonkurrenzen auf. Niedrigst-
preise widersprechen umfangreicher Funktionalit¨
at und sportlich" definierte Zeitrahmen
"
konkurrieren naturgem¨
aß mit den hohen Qualit¨
atsanspr¨
uchen der meisten Kunden.
Dynamische Projekte an der Spitze von Markt und Technologie entwickeln ihre kon-
kreten Anforderungen oft sogar erst w¨
ahrend des eigentlichen Projektverlaufs.
3Software Engineering:
The application of a systematic, disciplined, quantifiable approach to the
"
development, operation, and maintenance of software." [IEE90, S.67]
4Vorgehensmodell: Gliedert einen Prozess in verschiedene, strukturierte Phasen, denen wiederum ent-
"
sprechende Methoden und Techniken zugeordnet sind. Aufgabe eines Vorgehensmodells ist es, die allgemein
in einem Prozess auftretenden Aufgabenstellungen und Aktivit¨
aten in ihrer logischen Ordnung darzustel-
len." (Vgl. http://de.wikipedia.org/wiki/Vorgehensmodell)
5Wird in Kapitel 2 - Unterabschnitt 2.3.1, Seite 16 dieser Arbeit n¨aher erl¨autert.
Comments
No comments yet
Other users also were interested in the following titles:
Formatvorlage / Vorlage für eine Diplomarbeit - Formatvorlage / Vorlage für eine Hausarbeit für Microsoft Word
Author: GRIN VerlagPresentations, Models, Tutorials, Instructions, 2005 Download as PDF-file for 6,99 EUR
Formatvorlage / Vorlage für eine Diplomarbeit - Formatvorlage / Vorlage für eine Hausarbeit für OpenOffice.org
Author: GRIN VerlagPresentations, Models, Tutorials, Instructions, 2005 Download as PDF-file for 9,99 EUR
Formatvorlage zur Erstellung einer Diplomarbeit / Vorlage zur Erstellung einer Hausarbeit
Author: Marco FeindlerPresentations, Models, Tutorials, Instructions, 2005 Download as PDF-file for 6,99 EUR
Formatvorlage / Vorlage für eine Diplomarbeit / Hausarbeit
Author: GRIN VerlagPresentations, Models, Tutorials, Instructions, 2008 Download as PDF-file for 6,99 EUR
Anleitung zum Erstellen schriftlicher Arbeiten: Der Aufbau einer wissenschaftlichen Arbeit
Author: Zoran ZivkovicPresentations, Models, Tutorials, Instructions, 2004 Download as PDF-file for 5,99 EUR
Erstellen einer schriftlichen Hausarbeit
Author: Claudia NickelPresentations, Models, Tutorials, Instructions, 2006 Download as PDF-file for 4,99 EUR
Grundtechniken wissenschaftlichen Arbeitens
Author: Maik PhilippPresentations, Models, Tutorials, Instructions, 2004 Download as PDF-file for 5,99 EUR
Ratgeber zur Erstellung wissenschaftlicher Arbeiten. Diplomarbeiten - Hausarbeiten - Seminararbeiten
Author: Mark RichterPresentations, Models, Tutorials, Instructions, 2008
This text can be quoted and accessed from this url: