Agile Softwareentwicklung

Adaptive Software Development (ASD)

13.08.2010
Nach dem Entwickler der ASD-Methodik, James A. Highsmith III, lassen sich auch komplexe Systeme mit einfachen Grundregeln gestalten.

Laut Highsmith ist ein Software-Entwicklungsteam ein kompliziertes System, in dem mehrere Personen zusammen eine Lösung entwickeln. Generell wird angenommen, dass solche komplexen Systeme ebenfalls komplexe Regeln benötigen, um überhaupt zu funktionieren. Highsmith bestreitet dies jedoch und stellt die Behauptung auf, dass wenige, einfache Grundregeln genügen. Nach seiner Aussage soll Softwareentwicklung Spaß machen und zudem entsteht die beste Software eher zufällig. Dieses Phänomen bezeichnet er als "Emergence" (Entstehung, Sichtbarwerdung), was eines der wichtigsten Kennzeichen für die adaptive Softwareentwicklung darstellt.

"Emergence" ist dabei gleichzusetzen mit Verwirklichung neuer Ideen, Lösen von Problemen sowie Kreativität. Um zu verhindern, dass ein Projekt ungeordnet verläuft, stellt ASD einen Rahmen mit gerade so vielen Richtlinien zur Verfügung, dass die Emergence dabei nicht verdrängt wird. Der Schwerpunkt der Methode liegt mehr auf den Ergebnissen und deren Qualität (Komponentenorientierung) als auf den zu erfüllenden Aufgaben oder dem Prozess, der für die Zielerreichung benötigt wird (Aufgabenorientierung). Erreicht wird das durch adaptive Entwicklungszyklen. Basis für jeden Zyklus ist das Wasserfallmodell mit folgenden Phasen:

  • Planen (Plan)

  • Erstellen (Build)

  • Auslieferung (Implement)

Diese traditionellen Phasen werden in ASD ersetzt durch die Begriffe:

  • Spekulieren (Speculate)

  • Zusammenarbeiten (Collaborate)

  • Lernen (Learn)

Adaptive Development Lifcycle (BQI Research, nach Highsmith)
Adaptive Development Lifcycle (BQI Research, nach Highsmith)
Foto: BQI

Spekulieren (Speculate): In dieser Phase erfolgt die gesamte, übergeordnete Planung des Ablaufs und der Zielvorgaben der Entwicklungszyklen. Die Rahmenbedingungen des Projekts werden in der Projektmission definiert, die bereits einen groben Rahmen für das Endprodukt festlegt. Die ganze Entwicklung wird so gesteuert, dass die Projektmission auch realisiert werden kann.

Zusammenarbeiten (Collaborate): Die in der Speculate-Phase geplanten Zyklen werden hier implementiert und umgesetzt. Unter Hervorhebung der Wichtigkeit von Teamarbeit werden mehrere Komponenten gleichzeitig entwickelt. Die Beschreibungen der einzelnen Komponenten werden permanent verfeinert, um neue Informationen sofort zu dokumentieren.

Lernen (Learn): Sollen weitere Zyklen integriert werden, kann das erst in dieser Phase erfolgen. Weitere Zyklen werden hier als "Learning Loop" bezeichnet. Basis dabei ist die Qualitätssicherung, welche den Fokus auf die Funktionalität der entwickelten Software setzt. Die Qualitätssicherung kann nur unter Anwesenheit des Kunden stattfinden.

Bewertung BQI Research

Foto: BQI

ASD schneidet nur im Qualitäts-Management (QM) sehr gut ab. Disziplinen wie Integration (INT), Wartung (W), und Betrieb (B) werden überhaupt nicht abgedeckt. Projekt- und Requirement-Management (PM/RM), Systemdesign (SD), Implementierung (IMP) und Test (T) sind schwach ausgeprägt.

  • Bekanntheitsgrad und Verbreitung sind gering.

  • Es existiert spezialisierte Tool-Unterstützung.

  • Die Methode ist nicht normiert/standardisiert oder zertifiziert.

  • Keine Lizenzierung erforderlich.

  • Support ist vorhanden.