**Dies ist eine alte Version des Dokuments!**
Agile Softwareentwicklung
Kernpunkte agiler Entwicklungsmethoden
nach {[quellen:Bleek2008]}
priorisierte Anforderungen sind die Grundlage der Entwicklung
Kommunikation mit dem Kunden
-
Kunde entscheidet über Prioritäten (neue Features, Bugfixing etc.)
zusätzliche Anforderungen können leicht und schnell integriert werden
das Team soll ständig dazulernen
Retrospektiven sind äußerst wichtig für die Entwicklung des Teams und des Prozesses
kontinuierliche Verbesserung des Schätzverfahrens für Tasks → z.B. Planning Poker
Collective Code Ownership → jeglicher Code darf von jedem Entwickler geändert werden
lauffähige Software abliefern
die verfügbare Arbeitszeit muss realistisch verplant werden
überschaubare Länge der Tasks/Aufgaben der Entwickler (max. 1 Woche)
z.B. 70% produktive Zeit wegen Urlaub, unvorhergesehenen Aufgaben etc.
Zeit für Bugfixing, Retrospektiven etc. muss eingeplant werden
Timeboxing → Termine stehen fest, Funktionen werden ggfs. reduziert
einfache Regeln → keine Zeitverschwendung durch lange Lernzeiten für Prozessmodell
viel Freiheit für die Entwickler → dennoch sollten die wenigen Regeln strikt eingehalten werden
wenig Dokumentation
Agile Werte
nach {[quellen:Bleek2008|S. 10ff.]}
Kommunikation
Einfachheit
technisch: nur das bauen, was benötigt wird
organisatotisch: Entwickler organisieren sich weitestgehend selbst
methodisch: keine überbordenden Prozesse, sondern einfach umzusetzendes Vorgehen
Rückkopplung
Mut
Respekt
Das agile Manifest
Das Original: Manifesto for Agile Software Development
Individuen und Interaktionen vor Prozessen und Werkzeugen
laufende Software vor ausgedehnter Dokumentation
Zusammenarbeit mit dem Kunden vor Vertragsverhandlungen
Reaktion auf Veränderungen vor Planverfolgung