We do it the „Agile Way“

Agile Development ist eine Methodik, um Projekte in relativ kleine/kompakte Schritte zu unterteilen und ein Produkt in diesen Schritten nach und nach zu verbessern um damit darum herum zu kommen, langfristige und komplexe Planungen zu machen.

Wir bieten unseren Kunden diese agile Entwicklungsmethode an, die sich vor allem bei Startups und frühen Produktzyklen sehr bewährt hat.

Was bedeutet „agile“?

Der typische „Agile“-Entwicklungsprozess ist in folgenden Schritten zu sehen:

  1. Projektstart.
  2. Wir definieren das Projekt (Produkt) und seine Ziele.
  3. Dazu definiert man Anforderungen und Regeln, Wünsche.
  4. Man beginnt, Fuktionen des Produkts zu entwickeln.
  5. Diese Funktionen werden ins Produkt integriert und getestet.
  6. In einem Sprint kann man eine Reihe solcher Funktionen entwickeln. Ein Sprint dauert typischerweise zwischen 7 und 14 Tagen.
  7. Nach einem Sprint läßt man die entwickelten Funktionen im Produkt revue passieren, präsentiert sie dem Kunden, sammelt Feedback und prüft die Release-Fähigkeit des neuen (verbesserten) Produkts.
  8. Wird das Resultat für gut befunden, wird es veröffentlicht (geht live).
  9. Oder aber es ist noch nicht fertig, lernt woran es liegt und muss nochmals überarbeitet werden. Man geht zurück zu Schritt 7.
  10. Nach dem Release geht man in die Phase „Anpassen und Messen“ um neue Entscheidungen zu treffen, Feedback von Kunden zu sammeln (zu messen), neu zu Priorisieren.
  11. Dann beginnt die Planung für die nächste Iteration der nächsten Produkt-Inkremente.

Langristige Planungen können hinderlich sein!

Langristige Planungen zu einem Produkt oder Projekt sind grundsätzlich gut! Jedoch ist die Idee hinter „Agile“, dass zu langfristige Planungen zu relativ schlechten Resultaten führen und kurze Produkt-Inkrements mit ständig durchgeführten Kurs-Korrekturen viel besser geeignet sind, erfolgreich im Markt zu werden.

Kosten vs. Timing vs. Produkt-Features

Oft wird vom Kunden verlangt, dass man Kosten, Timing und Produkt-Features parallel und gleichzeitig berücksichtig und einhält. Das ist aber immer eine aufwendiges und auch teures Vorhaben und zwar schon im Vorfeld. Man muss dafür sehr viel Arbeit in die Planung stecken um sicher gehen zu können, alle drei Faktoren gleichermaßen zu befriedigen. Heisst auch, dass man Features sehr genau analysieren und „schon wissen“ muss, wie man sie umsetzt, bevor man tatsächlich an ihnen schon entwickeln darf.

Agile macht das anders: Ein Agile-SCRUM-Sprint kostet x und hat das Timing y. Was genau das Resultat des Sprints ist, z (welche Features umgesetzt werden können und wie), weiss man aber vorher nicht genau. Der Freiheitsgrad ist das Produkt, das wird wirklich erst entwickelt wird, wenn man tatsächlich entwickelt und nicht schon die extensive Planung gedanklich alles vorwegnimmt. Man verläßt sich im Agile-Way auf die Entwickler und den SCRUM-Master, dass das Resultat schon ganz gut sein wird.

Man spart sich mit dem Agile Way den „Kosten-Overhead“ des Pflichtenhefts mit korrespondierender Umsetzungs-Detailplanung für ein sehr viel späteres finales Produkt, der schon mal 10 bis 25% der Gesamtkosten ausmachen kann.

 

Nicht Agile, wenn…

Natürlich passt „Agile“ aber nicht auf alle Projekttypen und Kunden. Man kann das aber meist früh entscheiden und eine konsequente Beratung ist da entscheident für die Wahl des richtigen Wegs. Agile hat den Nachteil, dass die Iteration und Entscheidung, Features überhaupt zu entwickeln, schwer fällt, solange (noch) gar kein Produkt da ist.

Speziell Startups haben das Problem, das die „Time-to-Market“ für das angestrebte „Minimal-Viable-Product“ mit Agile oft nicht zu halten ist, weil zuwenig Planung vorhanden war und der Schwerpunkt nicht auf die „richtigen“ Features gelegt wurde.

Sprecht uns an, wenn ihr Produkte auf diese Weise entwickeln wollt! Happy to hear from you!