Schritt für Schritt

Hallo Welt-Verbesserer.

Heute möchten wir mit euch eine kleine Reise machen. Wir wissen noch nicht so genau, wohin sie uns führen wird, aber wir kennen die grobe Richtung, das grobe Ziel. Daraus können wir für unseren Weg die erste Etappe ableiten. Wir nehmen also den ersten Schritt und los geht es auf die Reise zur iterativen Softwareentwicklung.

 

In Etappen zum Ziel

Ein wesentlicher Punkt bei der agilen Softwareentwicklung ist unserer Ansicht nach das sogenannte iterative Vorgehen bei der Entwicklung.

Bei dieser Vorgehensweise stecken wir – wie beim klassischen Projektmanagement – zu Beginn ein Ziel ab. Dieses ist bei der agilen Herangehensweise aber nur sehr grob skizziert und enthält kaum Details.

Als nächstes gehen wir einen ersten Schritt in die Richtung des Ziels. Nach diesem ersten Schritt sichten wir das bis dahin erreichte Zwischenergebnis und prüfen, ob wir noch auf dem richtigen Weg Richtung Ziel unterwegs sind, oder ob wir die Richtung bei unserem nächsten Schritt anpassen müssen.

Danach legen wir den nächsten kleinen Schritt in Richtung des Ziels fest und gehen diesen. Auch hier sichten wir anschließend das Zwischenergebnis und prüfen erneut, ob wir noch auf dem richtigen Weg unterwegs sind.

Jetzt legen wir den nächsten Schritt fest, sichten und prüfen das  Zwischenergebnis. Diesen Zyklus wiederholen wir und nähern uns so Schritt für Schritt dem Ziel. Wichtig ist dabei, dass wir uns so nicht dem ursprünglich definierten Ziel nähern, sondern dem Ziel, welches wir sinnvollerweise tatsächlich erreichen möchten. Dabei gehen wir in jedem Schritt immer den sinnvollsten und wichtigsten nächsten Punkt an.

Allgemein bekannt sein sollte der Comic zu Thema Projektmanagement, wo anhand einer Schaukel sehr deutlich gemacht wird, welche Missverständnisse bei einer Zieldefinition entstehen können. (Wir sind unsicher, ob wir das Bild hier posten dürfen, hier ein Link: https://www.pinterest.com/pin/255297872598273288/)

Wir prüfen das Ziel und unsere aktuelle Situation also regelmäßig und passen unseren nächsten Schritt daran an.

 

Das bewegliche Ziel

Auf den Punkt gebracht, worauf es bei der Agilität in Projekten ankommt, hat es die iteratec GmbH. Das Bild auf der verlinkten Seite zeigt sehr deutlich, wie wir uns mit Hilfe der iterativen Vorgehensweise Schritt für Schritt dem Ziel nähern: http://www.iteratec.de/de/das-moving-target-beherrschen

Im klassischen Projektmanagement hätten wir zu Beginn sehr viel Zeit und Mühe darauf verwendet, das ein Ziel zu definieren, welches im Bild recht weit unten rechts zu finden gewesen wäre. Nach jedem einzelnen Schritt wurde aber jeweils deutlich, dass wir dieses Ziel gar nicht erreichen wollen. Das tatsächliche Ziel, welches es zu erreichen gilt, liegt ganz woanders (in der Grafik oben rechts).

Es gibt verschiedene Gründe, warum sich ein Ziel verändert.

  • Klassisch weiß der Anforderer zu Beginn noch gar nicht so genau, was er braucht. Vielleicht weiß er, was er will, aber nicht, was er braucht.
  • Selbst wenn er weiß, was er braucht, kann er es ggf. nicht gut genug beschreiben. Der Anforderer ist oft kein Softwareentwickler und spricht eine andere Sprache
  • Natürlich kann es auch sein, dass der Anforderer genau weiß, was er braucht und es gut erklärt, wir es aber nicht oder falsch verstehen.
  • Dann können sich Rahmenbedingungen ändern, etwa das Budget des Projekts, der Zeitplan, die beteiligten Personen
  • Es können im Laufe des Projekts Hindernisse (technisch wie organisatorisch) auftreten

In all diesen Fällen müssen wir reagieren. Wenn wir nun zu Beginn sehr viel Zeit und Aufwand in die Planung für das Ziel investiert haben, neigen wir dazu, genau daran auch festzuhalten, obwohl es sinnvoller wäre, ein neues Ziel festzulegen.

Nach jedem Schritt einer Iteration prüfen wir also, ob unser derzeitiges Ziel noch richtig ist und korrigieren es ggf. Dies erfolgt natürlich immer in enger Absprache mit dem Anforderer. Dieser kann sich nach jedem Schritt ein besseres Bild von der Situation machen und besser einschätzen, wo wir derzeit stehen, was noch benötigt wird und wo genau wir hin möchten.

 

Zusammenfassung

Ein Projekt birgt zu Beginn viele Risiken, denen wir durch Projektmanagement begegnen wollen: Welches Know-How werden wir brauchen und wann? Wann wird das Projekt beginnen, sich in die falsche Richtung zu entwickeln? Wann wird unser Kunde das Vertrauen in uns verlieren? Wann wird seine Geduld nicht mehr ausreichen? Was braucht der Kunde, um ihn wieder zufrieden zu machen?

Leider gibt es noch keine Glaskugel, die uns verlässlich vorhersagt, wie ein Softwareentwicklungs-Projekt verlaufen wird. (Wenigstens haben wir bei Amazon keine gefunden, das heißt doch, dass es keine gibt, oder? 😉 Wir sind uns aber sicher, dass wenn wir eng mit dem Kunden zusammenarbeiten wir gemeinsam genau das Ziel erreichen, das der Kunde erreichen sollte.

 

Wir hoffen, mit dem Artikel ein wenig den hauptsächlichen Nutzen von iterativer Softwareentwicklung deutlich gemacht zu haben. Lasst euch darauf ein, kommuniziert offen mit eurem Kunden, zeigt auch mal halbfertige, halbgare Ergebnisse. Vielleicht ist es gar nicht das, was der Kunde braucht? Vielleicht ist es viel besser? In beiden Fällen habt ihr was davon.

Eure Spaß-Coder

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert