Starten Sie ihr Softwareprojekt mit Smartsquare
xing twitter linkedin github

Agile Software-Entwicklung

Mit eingespielten Teams flexibler Größe lassen sich auch sportliche Deadlines zuverlässig einhalten sowie Kosten dank Festpreisabrechnungen genau und nachvollziehbar budgetieren. Hier erfahren Sie, wie das geht.

Agile Softwareentwicklung bei smartsquare

Schneller, flexibler,
günstiger

Klassische Softwareentwicklung arbeitet mit detaillierten Spezifikationen und legt bereits vor Entwicklungsbeginn einen linearen und starren Projektplan verbindlich fest. Das suggeriert Sicherheit bezüglich der zu erwartenden Softwarequalität sowie der Zeit- und Kostenplanung. Ob die fertige Software dann aber wirklich zur Zufriedenheit umgesetzt wurde, wird oft erst am Projektende kurz vor Auslieferung der Software überprüft. Durch zu späte Kontrolle der Entwicklungsfortschritte, fehlendes Nachsteuern während der Umsetzung und Widerstand gegen Änderungen an der ursprünglichen Planung führt diese Vorgehensweise gerade bei langen Projektlaufzeiten und komplexen Anforderungen in 80% aller Fälle zu Problemen.

The Chance to change

Der Plan

Ihr Plan (Illustration)

Die Realität

Die Realität (Illustration)

In der klassischen Entwicklung sind dann lange, kostenintensive Nachverhandlungen und Change Request-Prozesse nötig, wodurch sich das Projekt verzögert und teurer wird – falls eine Änderung aufgrund der nacheinander abschließenden Phasen überhaupt noch möglich ist. Nicht selten ist stattdessen die zweit- oder drittbeste Lösung das Ergebnis, welches – obwohl es den gesetzten Zeit- und Kostenrahmen sprengt – weit hinter den ursprünglich geplanten Resultaten zurückbleibt. Anforderungen ändern sich nach Projektstart erfahrungsgemäß immer. Sei es aufgrund sich ändernder Rahmenbedingungen oder weil sich neue, bessere Lösungsoptionen eröffnen. In der agilen Entwicklung akzeptiert man diese Tatsache. Es wird mit Methoden gearbeitet, die:

Methoden der agilen Entwicklung

  • Unsicherheiten zulassen
  • engmaschige Kontrolle von Kosten und Nutzen befördern
  • Projektrisiken offen benennen und proaktiv managen
  • klare Priorisierungen einfordern
  • realistischen Kostenrahmen setzen
  • beginnend mit den wichtigsten Basisanforderungen schrittweise vorangehen

Jederzeit transparent und
anpassungsfähig

Es gibt für die Softwareentwicklung verschiedene agile Vorgehensweisen, aus denen wir je nach Rahmenbedingungen eine geeignete wählen und vorschlagen. In den meisten Fällen empfiehlt sich eine auf dem bekannten SCRUM basierende Organisation. Das gesamte Projekt gliedert sich dann in mehrere Sprints von jeweils zwei bis vier Wochen Dauer, an deren jeweiligem Ende bereits nach wenigen Wochen die erste einsatzfähige Softwarelösung ausgeliefert wird. Während des Projektverlaufs können jederzeit neue oder geänderte Anforderungen definiert werden, z.B. weil festgestellt wurde, dass die individuelle Softwarelösung andere Merkmale haben muss als bisher angenommen, oder weil sich die Wettbewerbssituation geändert hat.
Durch dieses iterative Vorgehen werden Erkenntnisse aus dem laufenden Projekt im weiteren Entwicklungsprozess berücksichtigt, sodass für die finalen Version nur Funktionen umgesetzt werden, deren Nutzen erprobt ist.

Agiler Projektablauf

Agiler Projektablauf

Einsatzbereite Software bereits früh
in der Entwicklung

Die regelmäßigen Softwareauslieferungen und Anwendertests sichern eine hohe Qualität in einem zielgerichteten, schnellen und kostengünstigen Projektverlauf. Agile Projekte setzen auf eine enge und direkte Zusammenarbeit zwischen Entwicklern, Auftraggebern und Anwendern, um Detailfragen schnell zu klären und Missverständnisse und Fehler zu vermeiden. Die frühen Versionen der Software werden unter realen Bedingungen getestet, bis die finale Veröffentlichung alle Anforderungen erfüllt. Dabei werden stets diejenigen Elemente des Systems zuerst fertig gestellt, die dem Kunden am wichtigsten sind und den höchsten Geschäftswert erzielen. So können große Teile der neuen Individualsoftware bereits weit vor Ende des Gesamtprojektes produktiv genutzt werden.

Wasserfallmethode

Wasserfallmethode

Agile Entwicklung

Agile Entwicklung

Planungssicherheit durch zuverlässiges
Zeit- und Kostenmanagement

Illustration zur Chaos-Studie

Die Erfahrung zeigt, dass agile Projekte, die auf häufigere und kürze Iterationen setzen, schneller, kostenünstiger und wahrscheinlicher fertiggestellt werden als in der klassischen Entwicklung und dieser Trend steigt mit der Komplexität des Projekts.

71% der klassischen Entwicklungsprojekte im Jahr 2015 wurden nicht erfolgreich beendet, wobei zu viele Anforderungsänderungen zu den drei am häufigsten genannten Gründen gehörten, die zum Scheitern von Projekten führten (Chaos-Studie).

Fazit

Diese Erkenntnis resultierte darin, dass inzwischen auch konservative Unternehmen Software agil entwickeln lassen. Denn mit eingespielten und flexibel großen Teams lassen sich Projektpläne und Deadlines zuverlässig einhalten und Kosten dank Festpreis genau und transparent budgetieren.

Agile Methode
Anforderungen

nur wesentliche Anforderungen bekannt

Dokumentation

bedarfsgerecht

Entwicklungsprozess

interaktiv/inkrementell

Änderungen

möglich und eingeplant

Kommunikation

von großer Bedeutung

Releases

häufige und kurze

Auslieferung

lauffähige Zwischenergebnisse

Klassisch
Anforderungen

Klar formuliert zu Beginn und stabil im Ablauf des Projektes

Dokumentation

Umfassend

Entwicklungsprozess

linear

Änderungen

kaum möglich oder ganz schwierig umsetzbar

Kommunikation

es wird wenig kommuniziert

Releases

ein großes Release am Ende des Projektes

Auslieferung

fertiggestelltes Endprodukt