Agile Software-Entwicklung: Einsatz und Methoden

Immer wieder hört man von Software-Entwicklungsprojekten, die nicht nach Plan laufen und Ziele nicht oder unzureichend erreichen. Der Grund liegt meist darin, dass viele Software-Projekte zu komplex sind, um sie im Voraus detailliert zu planen. Agile Software-Entwicklung (englisch: Agile Software Development) setzt an dieser Stelle an, indem es eine flexible und transparente Projektplanung zulässt.

Historie: Von der klassischen zur agilen Software-Entwicklung

Klassische Software-Entwicklungsmethoden wie das Waterfall-Modell führen aufgrund starrer Anforderungen nicht selten zu einem unbefriedigenden Projektergebnis. Ungefähr seit der Jahrtausendwende setzen immer mehr Unternehmen auf Agilität. Dazu hat entscheidend das agile Manifest beigetragen. Dieses wurde 2001 von 17 renommierten Software-Entwicklern formuliert und bildet die Grundlage agiler Entwicklungsmethoden.

Statt den Funktionsumfang einer Entwicklung vorne anzustellen und als gegeben hinzunehmen, setzt die agile Software-Entwicklung vor allem auf Qualität und Termintreue. Änderungen von Anforderungen werden von vornherein erwartet. Ein konsequentes Änderungsmanagement, Feedback-Sammlung und Prozessverbesserungen sind feste Arbeitsbestandteile in einem agilen Team.

Was ist agile Software-Entwicklung?

Im Rahmen der agilen Software-Entwicklung gibt es verschiedene Methoden, wie zum Beispiel Scrum, die auf einer schrittweisen Verfeinerung der Planung und des Vorgehens innerhalb eines Projekts basieren. Das Fundament für diese agilen Modelle bildet das agile Manifest, welches vier Werte und zwölf Prinzipien beinhaltet.

Die vier Werte agilen Arbeitens: 

  • Menschen und Zusammenarbeit vor Prozessen und Werkzeugen
  • lauffähige Software vor umfangreicher Dokumentation
  • Zusammenarbeit mit Auftraggebern vor Vertragsverhandlungen
  • Reagieren auf Veränderung vor sturem Befolgen eines Plans

Ein kontinuierlicher Austausch ist die Basis agiler Software-Entwicklung.

Die wichtigsten Prinzipien agiler Software-Entwicklung 

Während die vier Werte des agilen Manifests den Rahmen bilden, gehen die zwölf Prinzipien tiefer ins Detail und füllen das Gerüst mit Leben. So entsteht ein theoretisches Konstrukt, das gleichzeitig als Handlungsempfehlung für agile Teams dient. Die agilen Leitsätze haben ihren Ursprung zwar in der Software-Entwicklung, können aber auf viele Bereiche im Arbeitsalltag, wie zum Beispiel dem agilen Projektmanagement, übertragen werden.

Die zwölf Prinzipien lassen sich wie folgt zusammenfassen:

  • frühe und kontinuierliche Auslieferung wertvoller Software
  • Anforderungsänderungen sind jederzeit willkommen.
  • Auslieferung funktionierender Software innerhalb weniger Wochen oder Monate
  • tägliche Zusammenarbeit von Fachexperten und Entwicklern
  • Projekte rund um motivierte Individuen
  • Gespräche von Angesicht zu Angesicht
  • funktionierende Software als wichtigstes Fortschrittsmaß
  • gleichmäßiges Tempo auf unbegrenzte Zeit
  • ständiges Augenmerk auf technische Exzellenz und gutes Design
  • Einfachheit ist essenziell.
  • selbstorganisierte Teams
  • regelmäßiges Reflektieren und Anpassen im Team

Was sind agile Frameworks?

In der agilen Software-Entwicklung gibt es nicht DIE eine agile Methode. Vielmehr gibt es verschiedene agile Frameworks, die im Kern zwar den gleichen Prinzipien folgen, sich aber beispielsweise in Sachen Skalierbarkeit, Team-Größe, Implementierungsaufwand und -kosten unterscheiden. Hier haben Unternehmen nun die Qual der Wahl.

Die wohl bekannteste Methode ist der Scrum-Ansatz. Dieser funktioniert auf Team-Ebene meist sehr gut, kann aber an seine Grenzen stoßen, wenn in großen Unternehmen eine Vielzahl agiler Teams an mehreren Produkten arbeiten. Es hängt also von der Größe eines Unternehmens und der strategischen Ausrichtung ab, welcher agiler – beziehungsweise eben auch nicht agiler – Ansatz zu einem passt. Sollte es in einem Unternehmen schon eine eigene agile Kultur geben, kann es sinnvoll sein, sich nicht zu sehr durch ein Framework einengen zu lassen.

Agile Software Development am Beispiel von Scrum

Grafik: Rollen der Scrum-Methode: Product Owner, Team und Scrum Master

Rollen der Scrum-Methode

Bei Scrum unterscheidet man die Projektbeteiligten in Product Owner, Team und den Scrum Master. Der Product Owner ist der Kunde beziehungsweise Auftraggeber, der die Anforderungen definiert. Das Scrum Team ist eine Mannschaft von Entwicklern, die sich eigenverantwortlich und selbst organisierend für den Projekterfolg einsetzen. Der Scrum Master moderiert zwischen Team und Product Owner und hält das Projekt zusammen. Feste Regeln sorgen dafür, dass das Entwickler-Team ungestört arbeiten kann und Änderungswünsche kanalisiert werden. Dabei orientiert sich das Team an dem vom Product Owner erstellten Product Backlog, der alle Anforderungen inklusive Priorisierung enthält. Dieser Anforderungskatalog kann während des Projekts ergänzt oder verändert werden. Zeitlich wird das Projektmanagement bei Scrum in verschiedenen Sprints unterteilt, die eine feste Dauer von 10, 15 oder 30 Tagen haben.

Vorteile agiler Software-Entwicklung

Schnellere Entwicklung 
Ein Hauptargument für den Einsatz agiler Software-Entwicklung ist zuvorderst die Beschleunigung der Entwicklungsprozesse. Schließlich führt der Einsatz agiler Methoden zu weniger oder effizienteren Abstimmungsprozessen. Technische sowie organisatorische Hürden werden überwunden. Eine schnellstmögliche Auslieferung funktionierender Software wird anvisiert. Doch die agile Software-Entwicklung punktet mit sehr viel mehr als Zeitersparnis.

Höherer Nutzen und Wettbewerbsvorteil
Ein Prinzip agiler Entwicklung ist es, Anforderungsänderungen selbst spät im Projekt willkommen zu heißen. Veränderungen werden als Chance gesehen, die zum entscheidenden Wettbewerbsvorteil werden können. Zu jedem Zeitpunkt erfolgt eine enge Rückkopplung mit den Auftraggebern und späteren Nutzern, was – richtig praktiziert – den tatsächlichen Nutzen der Anwendung erhöht.

Qualität
Agile Methoden intendieren einen permanenten Abgleich von Erwartungen, Zielen und Vorgaben. So werden Fehlentwicklung früh erkannt und korrigiert. Bei neuen Rahmenbedingungen läuft das Projekt nicht starr weiter, sondern bleibt beweglich. So übertrumpfen am Ende Qualität und Nutzen der Lösung vielleicht sogar die ursprünglichen Erwartungen. Das Ergebnis von jedem Schritt wird getestet, anstatt das Produkt erst nach der Entwicklung auf seine Qualität zu prüfen.

Akzeptanz
Eine tägliche Zusammenarbeit der Entwickler-Teams mit den Fachkräften und späteren Nutzern, im Idealfall Face to Face, zielt auf eine hohe Akzeptanz der Lösung am Ende des Projekts. Wenn alle Stakeholder aktiv und kontinuierlich in Prozesse und Entscheidungen eingebunden werden, ist die Anwendung kein Produkt unbekannter Entwickler, sondern das gemeinsame Ergebnis echten Teamworks.

Fazit

Insbesondere wenn die zu entwickelnden Lösungen sehr individuell sind und nur wenige feste Rahmenbedingungen existieren, spielt die agile Software-Entwicklung ihre Stärken aus. Letztendlich kommt es darauf an, den richtigen Mix erfolgversprechender Methoden und Tools einzusetzen.

Agile Prozesse und Methoden eignen sich nicht nur für die Entwicklung, sondern lassen sich auch auf viele andere Bereiche des täglichen Miteinanders im Büro oder remote übertragen. Fragen Sie sich einmal: An welchen Stellen könnten die agilen Prinzipien Ihrem Team oder Ihrem Unternehmen nützen? Gerne unterstützen wir Sie beratend oder in der Umsetzung agiler Projekte.

Agile Software-Entwicklung mit CONET

CONET begleitet Ihre Projekte mit erfahrenen Berater- und Entwickler-Teams.

Leistungen im Überblick

War dieser Artikel hilfreich für Sie? Oder haben Sie weiterführende Fragen zu agilen Methoden und Software-Entwicklung? Schreiben Sie uns einen Kommentar oder rufen Sie uns gerne an.

 

Seien Sie der erste, der diesen Beitrag teilt!

Über den Autor

Communication Managerin bei CONET Technologies Holding GmbH | Beiträge

Josephine Jaguste ist seit Mai 2016 Communication Managerin bei CONET.

2 Antworten

  1. Sehr geehrte Frau Jaguste

    Danke für diesen Beitrag . Ja agile Software Entwicklung ist natürlich interessant. Aber wie wir auch erfahren mussten mit:

    https://pagetracker.drkpi.com

    nicht alle Dinge laufen nach Plan. Wir haben 1 Product Owner und das Team aber da sind auch noch die Nutzer/Kunden die sich oft auch einbringen möchten sollten. Das führt wiederum zu Änderungen.

    Nich einfach. Aber wir sind dran.
    Merci
    Urs DrKPI CyTRAP

    • Josephine Jaguste sagt:

      Hallo Herr Gattiker, vielen Dank für Ihren Kommentar. Alle Stakeholder kontinuierlich mit ins Boot zu holen, kann tatsächlich eine Herausforderung sein. Aber Sie machen es schon richtig: Dranbleiben, auch wenn es mal schwierig wird! Ich wünsche Ihnen viel Erfolg für Ihre Projekte!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.