Agile Methoden sind zwar in einer Reihe von Branchen von Nutzen, haben sich jedoch in der Softwareentwicklung und während des Software Development Lifecycle (SDLC) als äußerst erfolgreich erwiesen. Die agile Methodik basiert auf den zwölf Grundprinzipien des Agile Manifests und beinhaltet iterative Prozesse, die auf die kontinuierliche Überwachung und Verbesserung der Ergebnisse ausgerichtet sind.
Agile Prozesse wurden als Alternative zu traditionellen Wasserfalltechniken entwickelt. Die Waterfall-Methode ist ein sequentieller Entwurfsprozess, bei dem ein Schritt abgeschlossen werden muss, bevor mit dem nächsten fortgefahren werden kann. Herkömmlicherweise hat sich die Wasserfallmethode beim Bauen als erfolgreich erwiesen. Für technischere Branchen ist ein agiler Ansatz jedoch von größerem Wert. Anstatt Schritt für Schritt vorzugehen, werden alle Phasen eines Projekts parallel abgeschlossen. Agile Prozesse versuchen, mit der Unvorhersehbarkeit des Entwicklungszyklus umzugehen, indem sie Fehler identifizieren und einen vollständigen Neustart des Projekts überflüssig machen.
Agile Methodik
Ein Kernprinzip der agilen Methodik ist die Zufriedenstellung und Bereitstellung des Kundennutzens durch kontinuierliche Ergebnisse. Anstatt ein großes Projekt über einen langen Zeitraum hinweg in Angriff zu nehmen, teilen agile Methoden ein Projekt in kleinere, einfachere und handlichere Aufgaben auf, die effektiv und schnell erledigt werden können.
Spotify ist für seine agilen Prozesse bekannt: Die kleinste Konzerneinheit des Unternehmens, die so genannten Squads, verhält sich wie autonome Startups. Jeder Kader konzentriert sich auf eine bestimmte Funktion und iteriert basierend auf dem Produkt mit minimaler Verfügbarkeit. Updates werden frühzeitig und häufig veröffentlicht. Per Definition ist ein Produkt mit minimaler Funktionsfähigkeit die neueste Version eines Produkts, mit der das Team die maximale Menge an Informationen sammeln kann, die erforderlich sind, um zu bestimmen, was funktioniert und was nicht. Bei Spotify kümmert sich jeder Kader um ein kleines Projekt. Jedes Projekt verfolgt jedoch das gemeinsame Ziel, einen größeren Kundennutzen zu erzielen.
Durch die frühzeitige und häufige Lieferung eines Produkts sind Unternehmen gezwungen, alles zu beseitigen, was keinen Mehrwert bringt. Einzelpersonen werden Experten in bestimmten Bereichen des Entwicklungszyklus, da sich jedes kleine Team über einen längeren Zeitraum auf eine Mission konzentriert, wodurch Fehler identifiziert und beseitigt werden können. Während bei der Waterfall-Methode die Rückmeldung gegen Ende des Projekts erfolgt, nachdem bereits viel Zeit, Geld und Energie aufgewendet wurden, ermöglicht die agile Methodik Änderungen auf dem Weg durch kontinuierliche Rückmeldung. Durch kontinuierliches Feedback und Flexibilität in Bezug auf die Einhaltung des ursprünglichen Plans halten das Hinzufügen oder Ändern von Funktionen Unternehmen auf dem neuesten Stand der Entwicklungen in ihrer Branche.
Aufgaben in einem agilen Projekt werden durch Iteration gesteuert. Eine Iteration ist ein Zeitraum von in der Regel ein bis zwei Wochen, in dem die Kundenanforderungen entwickelt und in laufende, testbare Produkte umgewandelt werden. Ein wesentliches Merkmal der agilen Methodik ist die Annahme, dass Projekte aus einer Folge von Iterationen bestehen. Die Teams können mit ihrer Geschwindigkeit verfolgen, wie viel sie während der einzelnen Iterationen erreicht haben, um die Pläne realistisch zu halten und eine Überbeanspruchung zu vermeiden. In jeder Iteration wird ein versandfähiges Produkt fertiggestellt, nachdem Analyse, Design, Test, Qualitätssicherung und Benutzererfahrung durchlaufen wurden. Möglicherweise fehlen alle fein abgestimmten Funktionen. Die Teammitglieder sollten jedoch zuversichtlich sein, dass sie das Produkt bei Bedarf freigeben können.
Scrum-Methodik
Innerhalb der agilen Methodik gibt es mehrere Frameworks, darunter Scrum, Lean und Extreme Programming. Die meisten Unternehmen, die auf agile Methoden umsteigen, entscheiden sich aufgrund ihrer Einfachheit und Flexibilität für Scrum. Scrum-Projekte bieten Unternehmen und Kunden eine Struktur für Rollen, Besprechungen und Regeln. Die Teammitglieder sind dafür verantwortlich, Prozesse zu lernen und anzupassen, um mit Unvorhersehbarkeit fertig zu werden.
Jedes Scrum-Projekt verfügt über einen Rückstand oder eine Aufgabenliste. Während der Planungsphase wird der Rückstand mit Aufgaben, Zielen und einem Zeitrahmen für die Ausführung gefüllt. Nachdem der Rückstand besprochen wurde, wird das Projekt in Sprints aufgeteilt. Dies sind ein bis zwei Wochen, die darauf abzielen, eine Reihe von Rückstandsposten zu vervollständigen. Während jedes Sprints hat das Team tägliche Besprechungen, um aktuelle Fortschritte, zukünftige Fortschritte und alle Faktoren, die den Fortschritt behindern, zu besprechen. Am Ende jedes Sprints sollten im Falle einer möglichen Produktfreigabe alle erforderlichen Schritte ausgeführt werden.
Anschließend führt der Product Owner eine Überprüfung durch, um festzustellen, ob alle Stories im Sprint-Backlog ausreichend abgeschlossen wurden. Zu diesem Zeitpunkt trifft sich der ScrumMaster mit dem Team für eine Retrospektive. Die Teammitglieder reflektieren ihre eigenen Prozesse, um das Verhalten für zukünftige Sprints anzupassen. Es ist von entscheidender Bedeutung, dass der ScrumMaster gemeinsame Hindernisse vermeidet und ein anregendes Diskussionsumfeld schafft. Aufgrund der unvorhersehbaren Natur der Software- und Produktentwicklung ist jeder Sprint einzigartig und muss sich an Veränderungen anpassen.
Scrum-Projekte werden von einem Product Owner, ScrumMaster und Team unterstützt. Während jedes Sprints ist das Team, das sich aus sich selbst verwaltenden Personen zusammensetzt, dafür verantwortlich, zu bestimmen und zu delegieren, wie alle erforderlichen Arbeiten ausgeführt werden sollen. Innerhalb des Teams hat jedes Mitglied einen Spezialbereich. Es gibt jedoch keine formalen Titel oder eine Hierarchie. Der ScrumMaster ist eine engagierte Person, die Hindernisse beseitigt, das Team auf dem Laufenden hält und gleichzeitig Transparenz über den Sprint-Rückstand gewährleistet. Schließlich ist der Produktbesitzer für die Erstellung und Kommunikation der Produktvision verantwortlich und entscheidet, ob Produkte weiterentwickelt werden sollen oder zur Freigabe bereit sind.
Die Quintessenz
Die heute in der Softwareentwicklung weit verbreitete agile Methodik wurde für Arbeiten entwickelt, bei denen definierte Prozesse fehlen. Im Gegensatz zu sequentiellen Ansätzen sind agile Methoden nicht für sich wiederholende Arbeiten gedacht. Viele Branchen haben und implementieren agile Methoden in ihren Geschäftsstrukturen.
Das agile Framework enthält mehrere Teilmengen, einschließlich Scrum-, Lean- und Extreme-Programmierung, die den Einzelnen dabei unterstützen, mit Unvorhersehbarkeit und Flexibilität umzugehen. An der Oberfläche kann eine agile Methodik dazu beitragen, End-to-End-Prozesse zu verbessern. Einzelpersonen müssen jedoch engagiert, anpassungsfähig und lernfähig sein, damit es funktioniert.