Die 8 Prinzipien der agilen Softwareentwicklung

Agil bedeutet nicht ohne Planung

Einleitung

Die 8 Prinzipien der agilen Softwareentwicklung

Die immer rasanter werdende Entwicklung von IT-Systemen in den letzten Jahrzehnten und der stetige Aufstieg von Personal Computern in den 90er Jahren, als Computer begannen, in beinahe jedem Haushalt Einzug zu halten, machten bald deutlich, dass die bisherigen Entwicklungsmethoden nicht mehr mit den sich ebenfalls steigernden Anforderungen der Softwareentwicklung Schritt halten konnten. Die bislang fest in den Softwareschmieden etablierten starren und schwer änderbaren Prozesse trafen auf immer mehr Widerstand. Es ergab sich die Notwendigkeit, neue Wege zu finden und leichtgewichtigere und flexiblere Prozesse zu entwickeln, welche einerseits Zeitverbrauch und Kosten senken, andererseits die Qualität der entwickelten Software und die Zufriedenheit des Kunden steigern sollten.

2001 trafen sich die führenden Vertreter der „leichtgewichteten Ansätze“ und machten sich daran, Lösungen für die Probleme zu finden, die mit „klassischen“ Entwicklungsprozessen einherkamen. Dieses Zusammentreffen mündete in der Niederschrift des Manifests der agilen Softwareentwicklung:

 „Wir erschließen bessere Wege, Software zu entwickeln,
indem wir es selbst tun und anderen dabei helfen.
Durch diese Tätigkeit haben wir diese Werte zu schätzen gelernt:

Individuen und Interaktionen mehr als Prozesse und Werkzeuge
Funktionierende Software mehr als umfassende Dokumentation
Zusammenarbeit mit dem Kunden mehr als Vertragsverhandlung
Reagieren auf Veränderung mehr als das Befolgen eines Plans

Das heißt, obwohl wir die Werte auf der rechten Seite wichtig finden,
schätzen wir die Werte auf der linken Seite höher ein.“

Quelle: agilemanifesto.org

Der Begriff „agil“ war geboren. Im allgemeinen Sprachgebrauch wird „agil“ eher mit „rüstig“ in Verbindung gebracht, der Duden liefert aber eine etwas brauchbarere Beschreibung: „von großer Beweglichkeit zeugend; regsam und wendig“.

Seit diesem Zeitpunkt fällt jedes Mal, wenn über das Thema Entwicklung und moderne Prozesse ausgetauscht und diskutiert wird, der Begriff „agil“. Aber was heißt „agil“ in diesem Zusammenhang eigentlich?

Agilität und die 8 Prinzipien

Mit agilem Projektmanagement wird mit alten Traditionen gebrochen. Herkömmliche, klassische Entwicklungsmodelle wie das Wasserfall-Modell nach dem Schema Entwurf – Implementierung – Test – Veröffentlichung rücken in den Hintergrund. Einige Beispiele:

  • Stakeholder liefern nicht nur den Input zu Beginn der Entwicklung und erhalten am Ende das „gewünschte“ Produkt (ob es dann auch tatsächlich den Vorstellungen der Auftraggeber entspricht sei dahingestellt), sondern werden während des gesamten Projekts mit eingebunden und erhalten regelmäßig Ergebnisse.
  • Änderungen werden nicht kategorisch abgeblockt, sondern begrüßt, denn nur so erhält der Kunde ein Produkt, welches auch wirklich seinen Vorstellungen entspricht.
  • Teams organisieren sich selbst und reflektieren über die eigene Arbeit in geregelten Abständen, um Effizienz und Arbeitsaufwand besser steuern zu können.


Die mit dem agilen Manifest entwickelten acht Prinzipien machen die Vorteile des agilen Projektmanagements gegenüber dem klassischen deutlich:

  1. Konzentrieren Sie sich auf das Geschäftsbedürfnis
  2. Liefern Sie pünktlich
  3. Arbeiten Sie zusammen
  4. Dulden Sie keine Abstriche in Sachen Qualität
  5. Bauen Sie schrittweise auf soliden Grundlagen auf
  6. Entwickeln Sie iterativ
  7. Kommunizieren Sie kontinuierlich und deutlich
  8. Demonstrieren Sie Steuerung

 Sehen wir uns diese Prinzipien nun etwas genauer an.

Konzentrieren Sie sich auf das Geschäftsbedürfnis

Die klare Definition und stete Verfolgung der Projektziele sind ein wichtiger Faktor, um Zeit und Kosten möglichst gering zu halten. Durch erstmalig frühzeitig angewendete und stetig wiederkehrende Priorisierungen der Anforderungen für die erstrebte Lösung können Zeit und Ressourcen optimal für die Entwicklung angewendet werden.

Liefern Sie pünktlich

Die Fertigstellung einer Lösung innerhalb der festgesetzten Fristen kann für ein Projekt den lebenswichtigsten Erfolgsfaktor darstellen, speziell, wenn gesetzliche Fristen einzuhalten sind oder Mitbewerbern am Markt zuvorgekommen werden soll. Grundsätzlich ist pünktliche Fertigstellung bzw. Lieferung immer erstrebenswert. Erlauben Sie keine Verzögerungen!

Arbeiten Sie zusammen

Ein gut eingespieltes Team liefert bei weitem mehr als ein loser Zusammenschluss von Mitarbeitern. Dies gilt auch projektübergreifend: nur wenn die Mitglieder des Projektteams genau wissen, was zu tun ist, auf wen sie sich verlassen können, sie über die entsprechenden Befugnisse verfügen, um ihre Aufgaben zu bewerkstelligen, und Stakeholder zur richtigen Zeit miteinbezogen werden, wird die Zusammenarbeit zwischen den Mitgliedern erfolgreich sein.

Dulden Sie keine Abstriche in Sachen Qualität

Die Qualität wird zu Beginn des Projekts vereinbart. Alle darauffolgenden Aufgaben und Arbeiten haben als Ziel, die vereinbarte Qualität zu erreichen. Hierbei wird darauf abgezielt, die vereinbarten Abnahmekriterien als Minimum Usable SubseT (MUST), also Minimalanforderungen, festzulegen. Das fertiggestellte Produkt soll also diese Minimalanforderungen „gerade mal so“ erreichen können – nicht mehr, aber auch nicht weniger!

Bauen Sie schrittweise auf soliden Grundlagen auf

Bevor mit der Entwicklung begonnen wird, ist ausreichend für die Schaffung einer soliden Basis zu sorgen – im Sinne von Designentwürfen, Analysen und Entwicklung eines Grobkonzepts, welches in späteren Phasen detaillierter ausgearbeitet werden wird. Die darauf aufbauende inkrementelle Umsetzung bietet den Stakeholdern laufend Einblicke in den aktuellen Entwicklungsstand und somit auch den Rahmen für Feedback, welches in die weiteren Iterationen miteinbezogen werden kann.

Entwickeln Sie iterativ

Die in klassischen Softwareentwicklungsmodellen angewendeten Phasen Entwurf – Implementierung – Test werden in kleinen, sich wiederholenden (iterativen) Schritten durchgeführt. Da im selben kurzen Zeitfenster (auch Sprint oder Timebox genannt, welches im Durchschnitt 1-2 Wochen dauert) der Entwurf, Umsetzung und Test der jeweiligen Komponente stattfinden, kann flexibel auf Änderungen oder unvorhergesehene Vorkommnisse reagiert werden. Nur durch die wiederholte Durchführung der Vorgänge kann schrittweise die optimale Lösung erreicht werden.

Kommunizieren Sie kontinuierlich und deutlich

Viele Projekte scheitern, weil zu selten, zu wenig, oder einfach falsch kommuniziert wird. Dies schlägt sich oft in missverständlicher oder schwer verständlicher Dokumentation oder Unstimmigkeiten zwischen Mitgliedern des Projektteams nieder. Durch klare, deutliche und offene Kommunikation können viele Probleme ausgeräumt werden, bevor sie überhaupt entstehen. Hierzu zählt auch die Möglichkeit für alle Mitglieder, sich jederzeit ein Bild über die aktuellen Prozesse und Geschehnisse im gesamten Projekt machen zu können – dies gilt im Speziellen natürlich auch für die Stakeholder des Projektes, welche nicht direkt daran arbeiten.

Demonstrieren Sie Steuerung

Ein Projekt, das aus dem Ruder läuft, wird mit hoher Wahrscheinlichkeit fehlschlagen. Durch konsequente Steuerung kann sichergestellt werden, dass zu jeder Zeit Klarheit über die Zuständigkeiten herrscht, dass Fortschritte mitgeteilt werden, und dass das Geschäftsbedürfnis auch bei unvorhergesehenen Vorkommnissen oder grundlegenden Änderungen nicht aus dem Auge verloren wird.

Wird agiles Projektmanagement aufgrund seiner Qualitäten die klassischen Projektmanagementmethoden ersetzen? Dies ist nur mit einem klaren „Jein“ zu beantworten. Denn auch klassische Entwicklungsmodelle wie das Wasserfallmodell haben ihre Vorteile, welche nicht außer Acht gelassen werden sollten. Für kleine, einfache Projekte, welche schnell umgesetzt werden können, würde sich agiles Projektmanagement wahrscheinlich als „zu viel Aufwand“ herausstellen. Traditionelle Modelle können auch dann erfolgreich eingesetzt werden, wenn beispielsweise ein Bestandssystem auf eine neue technische Basis gehoben und neu entwickelt wird. Wenn Aaso bereits eine Vorlage existiert und kein neues System „erfunden“ werden muss. Je größer und komplexer ein Projekt ist, wenn es schnellen und ständigen Veränderungen ausgesetzt ist, auf die es reagieren muss, oder wenn es nur über ein Grobkonzept ohne genaues Anforderungsbild als Ausgangsbasis verfügt, ist agiles Projektmanagement der Schlüssel zu kosteneffizienter, qualitativ hochwertiger Softwareentwicklung, die Kunden genau das liefert, was sie sich wünschen. Und Kundenzufriedenheit ist immerhin das höchste zu erreichende Ziel.

Zurück

Zum Seitenanfang navigieren