Was ist Agilität? Deep Dive into agile Methoden

Was ist Agilität? Deep Dive into agile Methoden

Was ist Agilität? Ein tiefes Eintauchen in die agile Methodik.

Agilität Definition

Die agile Methodik ist ein definierter Rahmen für die erfolgreiche Softwareentwicklung. Auf der Grundlage von vier Werten und zwölf Prinzipien, die im Manifest für agile Softwareentwicklung dargelegt sind, ist Agilität auf Anpassungsfähigkeit bei der Lösung spezifischer Marktbedürfnisse zu einem bestimmten Zeitpunkt ausgelegt und legt den Schwerpunkt auf eine schnellere Markteinführung und den Wert von Nutzererkenntnissen.

WAS IST AGILE METHODIK?

Agilität ist eine Methode zur Organisation von Entwicklungs- und Produktmanagementteams, die auf Flexibilität und Anpassungsfähigkeit ausgerichtet ist und der kontinuierlichen Weiterentwicklung von Produkten nach ihrer Markteinführung Vorrang einräumt. Agile Methoden stellen sicher, dass Produkte in der Lage sind, Marktprobleme zu lösen, sobald sie auftreten, und reduzieren die Anzahl der abgebrochenen Projekte im Portfolio eines Teams.

Agilität vs. Wasserfall

Vor der Einführung der agilen Methodik konnte es Jahre dauern, ein Produkt zu entwickeln, das die wichtigsten Herausforderungen eines Unternehmens löst und es ihm ermöglicht, sich auf kontinuierliches Wachstum zu konzentrieren. Der gängigste Softwareentwicklungsprozess der Vor-Agilitäts-Ära war als Wasserfall bekannt. Wasserfall ermutigt Entwicklungsteams dazu, Probleme zu identifizieren, eine Lösung zu entwickeln und ein Produkt in seiner Gesamtheit auf den Markt zu bringen, um bei der ersten Interaktion eine möglichst stabile Erfahrung zu bieten.

Die Wasserfall-Entwicklungsmethodik folgt einem klaren Pfad, um das Endprodukt zu erreichen:

  • Die Projektanforderungen und der Arbeitsumfang werden festgelegt.
  • Die Produkte werden so entworfen, dass sie die im Umfang festgelegten Anforderungen erfüllen
  • Produkte werden gebaut
  • Die Produkte werden getestet
  • Während der Tests werden Probleme entdeckt und behoben
  • Die Produkte werden nach Abschluss der Tests auf den Markt gebracht.

Der Wasserfall-Ansatz führte zwar dazu, dass zu einem bestimmten Zeitpunkt mehr vollständige Produkte auf den Markt kamen, hatte aber auch einige Nachteile. Das größte Problem bestand darin, dass die Entwicklungsteams bei der Wasserfallmethode gezwungen waren, sich an den Umfang zu halten, ohne während des Prozesses Änderungen vorzunehmen. Dies bedeutete, dass die Lösungen oft nicht mehr tragfähig waren, da sich die Herausforderungen im Laufe der Zeit auf neue, schnell auftretende Probleme verlagerten. Es kam häufig vor, dass Entwicklungsteams einen "Friedhof" von aufgegebenen Projekten anhäuften, anstatt veraltete Lösungen auf den Markt zu bringen.

Umstellung auf Agilität

Als in den 1990er Jahren die Frustrationen in den Unternehmen immer größer wurden, war die Softwarebranche reif für ein Update der Projektentwicklung. Die Antwort kam im Jahr 2000 mit der Einführung der agilen Methodik.

Die Methode der Agilität wurde von einer Gruppe von siebzehn Softwareentwicklern in Utah ins Leben gerufen, um die Entwicklungszeiten zu verkürzen und neue Software schnell auf den Markt zu bringen. Diese Entwickler erkannten, dass eine Verkürzung der Zeit, die die Benutzer benötigen, um Lösungen für ihre Probleme zu erhalten, Probleme mit der Markttauglichkeit beheben würde, während sie gleichzeitig erkannten, dass ein schnelles Feedback der Benutzer die laufende Arbeit bestätigen und eine ständige Verbesserung ermöglichen würde. Schließlich gelang es den siebzehn Entwicklern, das Manifest für agile Softwareentwicklung zu formulieren, das allgemein als Agiles Manifest bezeichnet wird.

Die Erstellung des Agilen Manifests führte zu vier zentralen Werten und zwölf Prinzipien, die die Grundlage für die Agile Methodik bilden.

Agile Werte

  • Individuen und Interaktionen sollten Vorrang vor Prozessen und Tools haben - die Menschen, die die Produkte erstellen, sind für den Erfolg dieses Produkts verantwortlich.
  • Eine funktionierende Software ist nützlicher als eine umfassende Dokumentation - die rechtzeitige Markteinführung von Produkten hat Priorität.
  • Die Zusammenarbeit mit Kunden sollte Vorrang vor Vertragsverhandlungen haben - Kunden sind für die Entwicklung von Qualitätsprodukten entscheidend.
  • Reagieren auf Veränderungen hat Vorrang vor dem Befolgen eines Plans - in agilen Arbeitsumgebungen geht es um Anpassungsfähigkeit und darum, zu einem bestimmten Zeitpunkt die richtige Entscheidung zu treffen.

AGILE GRUNDSÄTZE

  • Kundenzufriedenheit ist die oberste Priorität
  • Veränderungen nutzen
  • Häufig funktionierende Software liefern
  • Unternehmensweite Zusammenarbeit ist ein Muss
  • Aufbau einer unterstützenden Umgebung um motivierte Mitarbeiter herum
  • Entscheidungsfindung von Angesicht zu Angesicht
  • Messung des Fortschritts durch funktionierende Software
  • Förderung der nachhaltigen Entwicklung
  • Aufrechterhaltung der Aufmerksamkeit für technische Spitzenleistungen
  • Einfachheit ist entscheidend
  • Sich auf selbstorganisierende Teams verlassen
  • Regelmäßige Reflexion und Anpassung der Teameffizienz

Als die Teams begannen, ihre eigenen Agile-Frameworks anzuwenden, entwickelte und überarbeitete sich die gesamte Methodik bis weit ins 21. Jahrhundert weiterentwickeln. Die Vorteile von Agilität wurden den Unternehmen zwischen 2012 und 2015 deutlich, als die Akzeptanz von dem Konzept bei den Entwicklungsteams 50 % überstieg.

AGILES PROJEKTMANAGEMENT

Vektorillustration mehrerer Mitarbeiter, die mit einer übergroßen Kanban-Tafel interagieren

Agilität stützt sich auf mehrere spezifisch definierte Konzepte, um den Entwicklungsprozess zu organisieren. Diese Prozesse helfen dabei, klare Erwartungen für alle Beteiligten festzulegen und potenzielle Hindernisse zu minimieren, die die Markteinführung verzögern könnten. Eines der wichtigsten Konzepte ist, dass sich jeder agile Entwicklungsprozess um bestimmte Rollen dreht.

Agile Rollen

  • User:- Agile Prozesse beginnen mit dem Benutzer oder Kunden im Hinterkopf, indem eine Persona definiert wird, die dabei hilft, ihr Verhalten, ihre Bedürfnisse und die Art und Weise, wie das Produkt sie unterstützen wird, zu identifizieren.
  • Product owner- die Hauptverantwortung des Produktinhabers besteht darin, die Erkenntnisse der Benutzer, interne und externe Ideen und erhaltenes Feedback in eine Produktvision zu destillieren. Produktvisionen sind prägnante, klare Aussagen, die es ermöglichen, den gewünschten Nutzen des Produkts für alle Beteiligten deutlich zu machen. Produktinhaber arbeiten gemeinsam mit den Entwicklungsteams an der Erstellung von User Stories, die weitere Details über den Zielnutzer, das Problem, den Nutzen der Lösung und die Kriterien für die Zielerreichung enthalten.
  • Software-Entwicklungsteam - In agilen Software-Entwicklungsteams arbeiten verschiedene, multidisziplinäre Gruppen von Menschen zusammen, um durchgängig funktionierende Anwendungen zu liefern. Die Teams setzen sich häufig aus Entwicklern, Qualitätssicherungsingenieuren, Designern, Analysten und weiteren Ingenieuren zusammen, die zunächst die Datenbank, die Geschäftslogik und die Benutzeroberfläche für Demos erstellen. Agile Softwareentwicklungsteams treffen sich häufig, um sicherzustellen, dass Fortschritte gemacht werden und jedes Mitglied eine klare Vorstellung von seiner Rolle im Prozess hat.

Agile Methoden und Rahmenwerke

Die Festlegung von Rahmenwerken ist ein weiteres agiles Konzept, das einen reibungslosen Ablauf des Prozesses ermöglicht. Während die agile Methodik so konzipiert ist, dass sie an die Bedürfnisse eines Unternehmens und seines Marktes angepasst werden kann, helfen diese Rahmenwerke dabei, den Entwicklungsprozess zu definieren, um eine rechtzeitige Einführung zu gewährleisten.

  • Agile und Scrum - Scrum ist das am weitesten verbreitete agile Framework und basiert auf fünf Werten: Engagement, Mut, Fokus, Offenheit und Respekt. Scrum behält viele der Rollen des grundlegenden Agile Frameworks bei, fügt aber den Scrum Master hinzu, der sicherstellt, dass Scrum verstanden und richtig ausgeführt wird.

Scrum folgt festgelegten "Ereignissen", um eine organisierte Entwicklung durchzuführen. Zu diesen Ereignissen gehören:

  • Sprints - Sprints sind Zeitfenster für die Erreichung eines Ziels. Sie bleiben während des gesamten Entwicklungsprozesses konsistent und ihre Länge überschreitet nicht einen einzigen Monat.
  • Sprint-Planung - Die Sprint-Planung ist der gemeinschaftliche Prozess der Erstellung des kommenden Sprints mit dem Rest des Entwicklungsteams.
  • Daily Scrum - 15-minütige Meetings, die an jedem Tag des Sprints stattfinden, werden als Daily Scrum bezeichnet. Während der täglichen Scrums werden die Ergebnisse des Vortages festgehalten und neue Erwartungen festgelegt.
  • Sprint-Review - Diese Treffen finden am Ende jedes Sprints statt, damit das Scrum-Team den Stakeholdern ihr Inkrement präsentieren und Feedback erhalten kann.
  • Sprint-Retrospektive - Am Ende eines Sprints treffen sich die Teams, um die Erfolge und Rückschläge des vorangegangenen Sprints zu besprechen, bevor sie Erwartungen und Verbesserungen für den nächsten Sprint festlegen.
  • Kanban - Kanban ist eine eher visuelle Methode des agilen Projektmanagements, die dabei hilft, ein klares Bild des Arbeitsablaufs zu zeichnen, um Engpässe frühzeitig zu erkennen und bessere Ergebnisse zu erzielen. Kanban wurde in den 1940er Jahren aus den Produktionslinien von Toyota entwickelt und folgt sechs allgemeinen Praktiken: Visualisierung, Begrenzung der laufenden Arbeit, Flussmanagement, Erstellung expliziter Richtlinien, Nutzung von Feedbackschleifen und experimentelle Zusammenarbeit.

Die visuelle Kanban-Methode basiert auf interaktiven Hinweisen, die den Entwicklungsprozess überdeutlich machen.

  • Kanban-Boards- Ein physisches oder softwarebasiertes Management-Tool, auf dem laufende Aufgaben, To-Do-Listen und abgeschlossene Aufgaben dargestellt werden.
  • Kanban-Cards - Kanban-Karten belegen das Kanban-Board und stellen die einzelnen Aufgaben dar, für die das Team verantwortlich ist. Die Informationen auf den Kanban-Karten umfassen häufig den Namen der Aufgabe, den Status, die Durchlaufzeit und die Fristen.
  • Kanban-Swimlanes - Dieses Element der Kanban-Tafel ermöglicht es den Teammitgliedern, Aufgaben zu kategorisieren, um den Fortschritt deutlich anzuzeigen. Die Aufgaben können nach Erhalt von Feedback umgeschichtet werden, um zwischen abgeschlossener, laufender oder noch nicht begonnener Arbeit zu unterscheiden.

Scrum und Kanban sind seit langem die populärsten Rahmenwerke für das agile Projektmanagement, aber es gibt auch andere Varianten, die den spezifischen Anforderungen von Mitarbeitern, Unternehmen und Markt gerecht werden.

  • Extreme Programming (XP) wurde entwickelt, um dem Entwicklungsteam eine höhere Lebensqualität zu bieten und gleichzeitig die Qualität des Produkts zu verbessern. Erreicht wird dies durch Praktiken wie kleine Releases, einfaches Design, Paarprogrammierung, kollektive Verantwortung, kontinuierliche Integration, einen Codierungsstandard, einen Kunden vor Ort und eine 40-Stunden-Woche.
  • Crystal ist eine Familie agiler Methoden, die auf den Schlüsselkomponenten Teamarbeit, Kommunikation, Einfachheit und Reflexion aufbauen. Dieses Framework ist so konzipiert, dass es von Projekt zu Projekt angepasst werden kann, und passt sich auf der Grundlage bereits vorhandener Richtlinien, Praktiken und Prozesse an die jeweiligen Anforderungen an.
  • Feature-Driven Development (FDD) legt mehr als jedes andere Framework Wert auf die schnelle Bereitstellung funktionierender Software. FDD basiert auf kürzeren Arbeitsphasen mit dem Ziel, jeweils ein einzelnes Feature zu verwirklichen.

Das könnte dich auch interessieren