Karriere
10 Minuten

Was genau ist Agile Methodik und Ihre beliebtesten Formen

Inhalt

Was genau ist Agile Methodik und Ihre beliebtesten Formen

Viele neue Start-ups bevorzugen Agile als Methode, da die Einbindung der Kunden sehr wichtig ist und das Produkt daher viel eher mit den Wünschen des Marktes übereinstimmt, wenn das Produkt schließlich ausgeliefert wird.

Was ist Agile Methodik?

Agile ist die Praxis, ein Produkt iterativ in kurzen Zyklen, genannt Sprints, zu entwickeln. 

  • Es nutzt häufige Auslieferungen, um das Lernen darüber zu beschleunigen, was funktioniert und was nicht, indem man Software baut und früh und oft Feedback von Kunden erhält.
  • Agile ändert die Pläne ständig, um neue Informationen zu berücksichtigen. Agile Teams liefern Software alle 2-4 Wochen aus.
  • Es verwendet einen empirischen Ansatz, um das richtige Produkt zu bauen, anstatt einem Plan zu folgen.
  • Agile ist mehr mit der Anpassungsfähigkeit und dem Reagieren auf Veränderungen beschäftigt, als damit, den "einen besten Weg" zu finden, etwas zu tun.
  • Es sucht nach schnellem Feedback, um zu lernen, Änderungen vorzunehmen und sich weiterzuentwickeln. Es ist ein empirischer Ansatz für die Arbeit der Softwareentwicklung.
  • Agile legt einen großen Wert auf Teamwork und Zusammenarbeit, die essenziell sind, um gemeinsam großartige Produkte zu produzieren. Agile Teams haben Mitglieder mit unterschiedlichen Fähigkeiten, die effektiv kommunizieren und gut zusammenarbeiten können, um Kompromisse zwischen Zeitplan, Kosten und Funktionalität zu finden.

Traditionell konnten große Unternehmen mit komplexen Produkten (z.B.: Microsoft und ihr Betriebssystem) ihre Software nicht in Teilen auf den Markt bringen, da sonst das gesamte Produkt nicht richtig funktionieren würde. Diese Unternehmen mussten ihre Produkte vorausschauend ausliefern, indem sie alle Anwendungsfälle und Randbedingungen sorgfältig durchplanten.

Als die Entwicklungskosten sanken, waren kleinere Teams in der Lage, Produkte schneller zu entwickeln und die etablierten Unternehmen der Branche mit deutlich kleineren Teams zu überholen. In der Zwischenzeit verbrachten Unternehmen Jahre damit, an Produkten zu arbeiten und sie auf den Markt zu bringen, nur um dann festzustellen, dass die Kunden ihre Meinung darüber, was sie brauchen, bereits geändert hatten.

Die Teams begannen, sich auf die Anpassung an den Markt zu konzentrieren, indem sie neue Versionen eines Produkts im Laufe der Zeit in kleineren Phasen auslieferten und herausfanden, was der Markt wollte, bevor sie viel Zeit und Ressourcen in die Entwicklung von Produkten investierten, die niemand wollte.

Vorteile Agile Methodik

  • Agile kann schnell einen funktionierenden Prototyp produzieren, um den Kunden sofort Feedback zu geben
  • Kunden können während des gesamten Entwicklungsprojekts Input geben
  • Da Sprints 1-4 Wochen dauern, können Projekte neue Features schnell und häufig sowie mit einem gewissen Maß an Vorhersehbarkeit liefern
  • Im Gegensatz zu Waterfall, wo es schwieriger ist, einmal erstellte Spezifikationen zu ändern, erlaubt Agile einem Team, das Product Backlog ständig zu optimieren oder neu zu priorisieren
  • Da das Projekt in überschaubare Phasen unterteilt ist, können Teams viel Zeit auf die Entwicklung und das Testen verwenden, was die Wahrscheinlichkeit von unbemerkten Fehlern zum Release-Datum stark reduziert

Nachteile Agile Methodik

  • Wenn die Schätzungen für bestimmte Features nicht genau sind, muss ein Team Sprints hinzufügen oder Features auf spätere Sprints verschieben, was sich auf den Gesamttermin auswirkt
  • Eine Menge Verantwortung fällt auf den Scrum Master, der ständig das Product Backlog verwaltet, um sicherzustellen, dass die Sprints rechtzeitig fertig werden
  • Größere Teams können es schwieriger finden, die schnellere Agile Methodik anzuwenden.
Vor- und Nachteile von Agile Methoden


Beliebte Agile Methoden

Die folgenden sind die beliebtesten und nützlichsten Agile Methoden, die die erfolgreichsten Produktteams verwenden.


1. Scrum

Scrum ist eine beliebte Methode, die von vielen Start-ups verwendet wird und in 4 Hauptkomponenten unterteilt werden kann:

1.1 Sprint-Planung

Der Produktmanager führt in der Regel ein Product Backlog, das ist eine priorisierte Liste von Dingen, an denen dein Team arbeiten soll. Am Ende des aktuellen Sprints beginnt der Produktmanager mit seinem Team die Planung für den nächsten Sprint. Der Produktmanager würde im Product Backlog die Kandidaten für den nächsten Sprint heraussuchen (Elemente, an denen das Team im nächsten Sprint arbeiten sollte) und mit den entsprechenden Teammitgliedern einige Zeit damit verbringen, zu kalkulieren, wie lange jeder Kandidat für die Umsetzung brauchen könnte. Auf diese Weise kann sich das Team während des Sprint Planning Meetings darauf konzentrieren, die Prioritäten der einzelnen Elemente zu diskutieren und wie viele Kandidaten das Team realistisch betrachtet im folgenden Sprint fertigstellen kann. Sobald diese Kriterien diskutiert und finalisiert wurden, werden sie in das Sprint Backlog verschoben, um sie den einzelnen Teammitgliedern zur Bearbeitung zuzuweisen.

1.2 Sprint

Jeder Sprint kann unterschiedlich lange dauern, obwohl ein üblicher Sprint-Zyklus 2 Wochen beträgt (wobei ein Produktrelease / neues Update am Ende des Sprint-Zyklus live an die Nutzer ausgeliefert wird). Im eigentlichen Sprint werden den Teammitgliedern Aufgaben zugewiesen, an denen sie arbeiten müssen. Alles, was nicht rechtzeitig zur Veröffentlichung fertig wird, wird als "verrutscht" betrachtet und für einen zukünftigen Sprint neu priorisiert oder vielleicht auch herausgenommen.

1.3 Stand-up Meetings

Stand-up Meetings finden in der Regel täglich statt (auch hier variiert es je nach Team) und sind eine Möglichkeit für das Team, sich gegenseitig zu informieren. Der Produkt Owner oder der Projektmanager wird jeden fragen, was er gestern gemacht hat, was er heute macht und welche Hindernisse es gibt. So kann jeder auf dem Laufenden bleiben, was mit der Arbeit der anderen passiert, die Leute zur Verantwortung ziehen und jedem, der nicht weiterkommt, Hilfe anbieten.

1.4 Retrospektiven

Eine Retrospektive ist in der Regel ein Meeting, das am Ende des Sprint-Zyklus stattfindet und in dem ihr besprecht, was während des letzten Sprints passiert ist. Dein Team bespricht die Punkte auf der Tagesordnung, wie z.B. was gut gelaufen ist, was nicht gut gelaufen ist, was verbessert werden könnte und alle Fragen/Bedenken über den gesamten Prozess. Der Projektmanager könnte derjenige sein, der diese Fragen stellt, Feedback sammelt und herausfindet, wie man den Sprintprozess verbessern kann. 

2. Kanban

Kanban ist ebenfalls eine beliebte Methode, die von vielen Start-ups verwendet wird. Sie ist weniger streng als Scrum und wird oft von Teams verwendet, die einfach kontinuierlich arbeiten wollen, ohne sich auf Schätzungen und Deadlines zu konzentrieren.

Im Gegensatz zu Scrum gibt es bei Kanban keine Sprints, sodass es nicht notwendig ist, ein Sprint Backlog zu führen. Stattdessen gibt es nur ein Produkt-Backlog, aus dem die Teammitglieder kontinuierlich Tickets ziehen, um daran zu arbeiten.

Bei Kanban gibt es in der Regel ein Board mit 3 Spalten, To Do, In Progress und Done. Die To-Do-Spalte ist das priorisierte Produkt-Backlog, aus dem die Teammitglieder Tickets von der Spitze der Liste ziehen können, um daran zu arbeiten. Nach der Fertigstellung eines Tickets würde das Teammitglied einfach das nächste Ticket von oben aus der Liste ziehen, um daran zu arbeiten. Es kann auch bestimmte Einschränkungen geben, wie z.B. nur eine bestimmte Anzahl von Items in jeder Spalte zu einer bestimmten Zeit.

Kanban erlaubt es den Teams, schnell zu arbeiten, ohne dass ein schwerer Prozess nötig ist, da es keine Meetings wie Sprint Planning oder Stand-up Meetings gibt. Das Fehlen eines solchen Prozesses bedeutet auch, dass es für Teams, die mit Kanban arbeiten, viel schwieriger ist, abzuschätzen, wann die Arbeit erledigt sein wird, da das Team sich nicht wie Scrum-Teams in Time boxen einteilt.

3. Extreme Programming 

Extreme Programming ist eine Methodik, die darauf abzielt, extrem hochwertige Software zu erstellen, die sich weiterentwickeln und verändern kann, ohne dass große Überarbeitungen oder Korrekturen nötig sind, wenn neue Ideen auftauchen. Agile und Agile-ähnliche Methoden sind nur moderne Iterationen von Extreme Programming, das in den späten 90er Jahren entwickelt wurde.

Allerdings braucht Extreme Programming eine Menge Zeit, um es zu implementieren. Wenn Teams zum ersten Mal mit Agile beginnen, starten sie in der Regel mit einer Form von Agile-light-Methoden, da viele Agile-Methoden viel mehr Prozesse am vorderen Ende erfordern als traditionelle Wasserfallmodelle. Aus diesem Grund beginnen viele Unternehmen mit der Implementierung von Agilitätsprinzipien, indem sie Agile-light-Methoden verwenden oder sogar nur bestimmte Teile ihrer Softwareentwicklung auslagern, um Agile in die Praxis umzusetzen.

4. Adaptive Software-Entwicklung 

Adaptive Software Development ist eine Methodik, die von Microsoft in den 90er Jahren entwickelt wurde und Agile und Waterfall in einem Prozess vereint.
In einem Agile-Wasserfall-Hybrid wie Adaptive Software Development gibt es immer noch Sprints, in denen die agilen Prinzipien für die Länge des Release-Zyklus gelten. Die agile Planung findet immer noch am Anfang statt, um sicherzustellen, dass sowohl die agilen als auch die Wasserfallprinzipien eingehalten werden. Nach der agilen Planung führt das Entwicklungsteam die Wasserfall-Methoden zur Umsetzung durch. Am Ende eines Sprints (Agile) wird ein Produktmeilenstein ausgeliefert (Wasserfall). Die Kombination von Agile und Wasserfall führt laut der Experten zu einem Endprodukt, das schneller ausgeliefert werden kann, ohne dass die Qualität darunter leidet. Außerdem sagen die Vertreter von Agile, dass Agile dazu beitragen kann, die Menge an Verschwendung zu reduzieren, die bei Wasserfall-Methoden entsteht, weil diese Methoden auf Schätzungen beruhen, die nicht immer genau sind.

5. Dynamische Softwareentwicklungsmethode 

Dynamic Software Development Method ist das Gegenstück von Agile zum Wasserfallmodell. Dynamic Software Development Method ist eine Methode, bei der Agiles Projektmanagement und Agile Programmierung zusammen in einer übergreifenden Arbeitsweise eingesetzt werden.

Die Dynamic Software Development Method besteht im Allgemeinen aus der Agilen Planung, der Agilen Programmierung, der Agilen Entwicklung (für das eigentliche Agile) und dem Agilesupport (für das Management von Agilen Projekten).

Der Agile Planungsteil beinhaltet die Definition einer geeigneten Timebox für Sprints, in denen die Teammitglieder zusammenarbeiten können, um ihre Aufgaben zu erledigen. Die agile Programmierung beinhaltet, dass die Teammitglieder in kleinen Abschnitten zusammenarbeiten, um einen Teil des agilen Projekts fertigzustellen. Agile Entwicklung ist, wenn Agile Programmierung und Agile Planung zusammenkommen. Agile Support beinhaltet, dass Agile Projekte auf der Höhe der Zeit bleiben, indem Aufgaben verfolgt werden, flexibel auf Veränderungen reagiert wird und mit anderen beteiligten Teams zusammengearbeitet wird, um einen reibungslosen Agile Prozess zu ermöglichen.

6. Feature Driven Development

Feature Driven Development ist der engste Cousin von Agile, der außerhalb von Agile existiert. Feature Driven Development und Agile sind nicht das Gleiche, aber Agile leiht sich viele Dinge davon aus. Vertreter von Agile sagen, dass Agile eine Erweiterung von Feature Driven Development ist, nicht ein Ersatz.

Die Anhänger von Agile sagen, dass Agiles Projektmanagement immer Agile sein wird. Stellvertreter von Agile sagen, dass Agile eine so vielfältige Gruppe von Arbeitsweisen ist, dass es Agiles Projektmanagement ohne Agile Programmierung oder Agile Entwicklung nicht gibt. Vertreter von Agile sagen, dass Agile nicht nur eine Liste von Dingen ist, die Agile Projektmanager tun, sondern dass Agile ein übergreifender Prozess (eine Arbeitsweise) an sich ist, in dem Agile Programmierung, Agiles Projektmanagement, Agile Entwicklung alle ihren Platz haben und zusammen verwendet werden müssen, um den vollen Agile-Effekt zu erhalten.

7. Behavior Driven Development 

Behavior Driven Development ist der Cousin von Agile. Agiles Projektmanagement und Agile Programmierung sind Agil durch Behavior Driven Development. Agile Entwicklung ist Agil durch Behavior Driven Development. Agile Support ist Agil durch Behavior Driven Development. Vertreter von Agile sagen, Agile ist nicht Agile ohne Agiles Projektmanagement oder Agile Programmierung darin und daher kann Agile nicht ohne Behavior Driven Development existieren.

Die beliebtesten Agilen Methoden in Start-Ups


Wie entscheidet man sich für die richtige agile Arbeitsweise?

Als Agile zum ersten Mal von Vertretern von Agile und Agile-Enthusiasten ins Gespräch gebracht wurde, war die Aufregung groß. Agile könnte potenziell das Allheilmittel für alle Probleme in der Softwareentwicklung sein.

Um sich für die richtige Agile Arbeitsweise zu entscheiden, musst du dich selbst einschätzen. Agile hat viel mit deiner Organisation und Kultur zu tun, was es schwierig macht, sich für Agile zu entscheiden, wenn Agile nicht in deiner persönlichen DNA liegt. Für Vertreter von Agile wurden Arbeitsweisen entwickelt, die am besten zu einem bestimmten Profil einer Organisation passen.

Der Jobmarkt entwickelt sich mehr und mehr in diese Richtung daher lohnt es sich mit diesen Arbeits Methodiken auseinander zu setzten und eventuell eine Fortbildung/Weiterbildung in diesen Methoden zu erwägen um dich auf dem Jobmarkt atraktiver zu machen.
Auf FiveTeams suchen hunderte von Top Unternehmen nach Programierern und Projektmanagern. Lass dich über deinem Wunschgehalt abwerben 💸💸




Lass dich über deinem Wunschgehalt abwerben.
FiveTeams ist ein anonymer Marktplatz, welcher es dir ermöglicht besser bezahlte Jobs zu finden während du in deinem aktuellen Job bleibst.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Erhalte jetzt Jobangebote über deinem Wunschgehalt!

Eine Registrierung dauert weniger als 1 Minute.
Jetzt Registrieren
Zurück zur Blog Übersicht

Ähnliche Artikel