Entwicklung: Agilität - die sanfte Revolution Detail - Computerwelt

Computerwelt: Aktuelle IT-News Österreich


01.01.2012 Jutta Eckstein*

Entwicklung: Agilität - die sanfte Revolution

Agiler Softwareentwicklung haften noch einige Vorurteile an. Hier ein Plädoyer für Agilität: Was sie ist - und was sie nicht ist.

Als die ersten Dilbert-Comics über Agilität veröffentlicht wurden, war klar, dass Agilität kein Hype mehr war, sondern langsam, aber sicher den Massenmarkt erreicht hatte. Doch wie in anderen Bereichen stellen auch die agilen Dilberts eine Mischung aus typischen Missverständnissen, falschen Erwartungen und merkwürdigen Interpretationen dar. Agilität ist ein Wertesystem, das im Agile Manifest definiert worden ist. Dieses Manifest basiert auf zwölf Prinzipien. Das heißt, agile Entwicklung ist mehr als nur eine spezielle Methode wie Extreme Programming oder Scrum. Der erste deklarierte Wert im Manifest betont sogar: "Individuen und Interaktionen sind wichtiger als Prozesse und Werkzeuge", was selbstverständlich auch agile Prozesse einschließt. Folgerichtig muss das Team dafür sorgen, dass der eingesetzte Entwicklungsprozess die eigenen Bedürfnisse so gut wie möglich erfüllt. Dazu bieten die Prinzipien des Manifests eine gute Orientierungshilfe für die Modifizierung und Anpassung des Prozesses.

DAS AGILE WERTESYSTEM Der Kern des Manifests vergleicht mit vier Aussagen jeweils zwei Werte und argumentiert, obwohl jeder dieser Werte generell als wertvoll erachtet wird, dass der erste im Sinne von Agilität größeres Gewicht hat als der zweite.

Individuen und Interaktionen sind wichtiger als Prozesse und Werkzeuge. Diese Aussage respektiert die Tatsache, dass die wichtigsten Kriterien für einen Projekterfolg oder -misserfolg die an dem Projekt beteiligten Menschen und die Art ihrer Zusammenarbeit sind. Prozesse und Werkzeuge werden zwar als wertvoll erachtet - ansonsten würden wir gar nicht über (agile) Prozesse diskutieren, und die agile Gemeinschaft hätte wohl nicht so viele Werkzeuge erfunden (Frameworks für Unit Tests, Integrations- und Konfigurationswerkzeuge etc.). Aber wenn die Projektmitglieder im Team nicht gut zusammenarbeiten, helfen die besten Prozesse und Werkzeuge auch nicht viel.

Lauffähige Software ist wichtiger als umfangreiche Dokumentation. Diese Aussage wird vermutlich am häufigsten missverstanden. Menschen, die mit der agilen Entwicklung nicht vertraut sind, verstehen sie oft dahingehend, dass es in agilen Projekten keine Dokumentation gibt. Aber in der gleichen Weise, wie Prozesse und Werkzeuge eine wichtige Rolle spielen, gilt dies auch für die Dokumentation. Allerdings drückt dieser Wertevergleich aus, dass lauffähige Software der kritische Erfolgsfaktor für die Entwicklung ist. Dokumentation kann zur Unterstützung oder zum besseren Verständnis der lauffähigen Software notwendig sein, aber sie kann und sollte nicht als Selbstzweck dienen.

Zusammenarbeit mit dem Kunden ist wichtiger als Vertragsverhandlungen. Obwohl ein Vertrag benötigt wird, unterstreicht diese Aussage, dass der Vertrag nie ein Ersatz für eine gute Beziehung zum Kunden sein kann. Um ein Produkt erfolgreich zu entwickeln, ist ein regelmäßiger Austausch mit dem Kunden unabdingbar.

Auf Änderungen reagieren ist wichtiger, als einem Plan zu folgen. Diese Aussage weist darauf hin, dass es wichtiger ist, mögliche Änderungen in Kauf zu nehmen, speziell in Form von Anforderungsänderungen, als stur einen Plan zu verfolgen, den man vor einiger Zeit entworfen hat. Wir akzeptieren, dass sowohl der Kunde als auch das Projektteam über die Zeit dazulernen werden, und wir wollen dieses Gelernte berücksichtigen, indem wir es in die weitere Entwicklung einfließen lassen. Wenn in dem fertigen Produkt all das umgesetzt wurde, was der Kunde und wir am Anfang geplant haben, nicht aber das, was wir später herausgefunden haben und was wirklich benötigt wird, dann ist das Produkt mit Sicherheit ein Fehlschlag.

SYSTEMISCHE VORGEHENSWEISE Agile Entwicklung verfolgt einen systemischen Ansatz, der durch einen Regelkreis unterstützt wird. Dieser Regelkreis besteht aus folgenden Schritten:

Planen: In diesem ersten Schritt planen wir die jeweils nächsten Aktivitäten. Dabei handelt es sich meist um eine kurzfristige Planung, indem beispielsweise die nächste Iteration geplant wird, aber es kann sich auch um eine langfristige Planung handeln, um zum Beispiel das nächste Release aufzusetzen.

Machen: In dem zweiten Schritt führen wir die Aktivitäten aus, die wir im ersten Schritt geplant haben.

Überprüfen: Der dritte Schritt dient der Überprüfung beziehungsweise Analyse des Ergebnisses. Hat alles wie geplant funktioniert? Gab es etwas, das besonders gut funktioniert hat, so dass es ratsam wäre, wenn wir uns dieses Vorgehen merken? Gab es etwas, das gar nicht funktioniert hat, weshalb man sich für die Zukunft ein anderes Vorgehen überlegen sollte?

Anpassen: Basierend auf dem Ergebnis des vorherigen Schrittes definieren wir, welche Änderungen wir vornehmen müssen, um besser voranzukommen. Als Resultat entscheiden wir über die notwendigen nächsten Aktionen.

Der letzte Schritt in diesem Regelkreis dient als Input für den ersten Schritt in der nächsten Runde. Folglich werden bei der nächsten Planung die Aktionen, die im letzten Schritt der letzten Runde beschlossen wurden, berücksichtigt.

RISIKO REDUZIEREN Die grundlegende Idee eines agilen Projekts besteht darin, nicht nur am Projektende, sondern frühzeitig und regelmäßig ein lauffähiges System zu liefern. Zu diesem Zweck wird die Lebenszeit des Projekts in Entwicklungszyklen gegliedert. In einem größeren Zyklus, genannt Release, wird ein Feature-Bündel (englisch: Feature Pack) fertiggestellt. Der kleinere Zyklus dient der Organisation von kleineren Segmenten, aber auch der Lieferung von kleineren Funktionalitäten. Dieser kleinere Zyklus wird Iteration genannt. Beide, Release und Iteration, haben als Ergebnis die Lieferung eines Produkts beziehungsweise ein potenziell lieferbares Produkt.

Der größte Vorteil einer derartigen Vorgehensweise liegt darin, dass sich aufgrund einer hohen Sichtbarkeit und Transparenz das Risiko stark reduziert.

Dadurch, dass man immer ein lauffähiges System hat, regelmäßig Rückmeldungen vom Kunden und über Tests erhält und den Fortschritt, den man mit jedem Inkrement macht, nicht auf Papier, sondern anhand eines realen Systems sieht, erhält man einen realistischen aktuellen Projektstatus. Dieser ermöglicht es, Entscheidungen bezüglich weiterer Lieferungen und notwendiger Aktionen zu treffen. Wenn beispielsweise im schlechtesten Fall festgestellt wird, dass der Kunde mit dem System nicht zufrieden ist und es auch unmöglich ist, das System wieder in die richtige Richtung zu drehen, dann besteht immerhin noch die Möglichkeit, das Projekt gleich und damit frühzeitig zu stoppen und nicht erst, wenn das ganze Geld ausgegeben wurde.

Diesen Artikel

Bewertung:

Übermittlung Ihrer Stimme...
Noch nicht bewertet. Seien Sie der Erste, der diesen Artikel bewertet!
Klicken Sie auf den Bewertungsbalken, um diesen Artikel zu bewerten.
  Sponsored Links:

IT-News täglich per Newsletter

E-Mail:
Weitere CW-Newsletter

CW Premium Zugang

Whitepaper und Printausgabe lesen.  

kostenlos registrieren

Aktuelle Praxisreports

(c) FotoliaHunderte Berichte über IKT Projekte aus Österreich. Suchen Sie nach Unternehmen oder Lösungen.

Service

Acceptance Testing: Trotz knapper Ressourcen

Zum Thema

  • HATAHET productivity solutions GmbH

    HATAHET productivity solutions GmbH Individual-Softwareentwicklung, Migrations-Management, Programmierung, System- und Netzwerk-Tuning, Systemintegration und Systemmanagement, Übernahme von Softwareprojekten, User Helpdesk-Systeme und Hotlines,... mehr
  • Bacher Systems EDV GmbH

    Bacher Systems EDV GmbH mehr
  • Arrow ECS Internet Security AG

    Arrow ECS Internet Security AG WLAN-Systeme, VPN, Netzwerk-Systeme (LAN, MAN, WAN), Netzwerk-Management, Netzwerk-Diagnose-Systeme, Netzwerk-Betriebssysteme, Office Software,... mehr
  • adesso Austria GmbH

    adesso Austria GmbH Öffentliche Verwaltung, Grundstoffindustrie, Großhandel, Finanzdienstleistungen, Fertigung, Produktion und Konstruktion, Druck- und Verlagswesen, Qualitätssicherung,... mehr

Hosted by:    Security Monitoring by: