Du kennst das sicher, wenn ein Kollege dir begeistert davon erzählt, dass sein Team jetzt "agil" arbeitet. Er erzählt dir von zweiwöchigen Sprints, Backlog-Optimierungsmeetings und so weiter. Dabei denkst du wahrscheinlich zuerst an Scrum. Ist Scrum also Agile? Oder ist Agile Scrum? Die Beantwortung dieser und weiterer Fragen ist ein guter erster Schritt, um sicherzustellen, dass dein Team die richtige Methode verwendet.
Was bedeutet Agile?
Agile ist eine Projektmanagement-Philosophie, die eine Reihe von Prinzipien und Werten verwendet, um Softwareteams dabei zu unterstützen, auf Veränderungen zu reagieren. Agile-Teams schätzen Einzelpersonen und Interaktionen mehr als Prozesse und Tools, funktionierende Software mehr als umfassende Dokumentation, Zusammenarbeit mit Kunden mehr als Vertragsverhandlungen und die Reaktion auf Änderungen mehr als die Einhaltung eines Plans. Diese Werte wurden im Agile Manifest niedergeschrieben, zusammen mit seinen 12 zugrunde liegenden Prinzipen.
Agile lässt sich gut verstehen, indem wir es mit einer anderen Projektmanagement-Philosophie vergleichen, dem Wasserfallprinzip. Bei der Lieferung nach dem Wasserfallprinzip ist der Umfang eines Produkts festgelegt und Zeit und Ressourcen sind flexibel. In Wasserfallorganisationen werden mehr Programmierer hinzugefügt und Zeitpläne verlängert, um das zuvor festgelegte Produkt zu liefern.
Bei Agile ist der Umfang des Produkts flexibel, während Ressourcen und Zeit festgelegt sind. Agile Teams verpflichten sich, Software mit ihrem gegenwärtigen Team pünktlich zu liefern. Was sie liefern, ist ein flexibler Kompromiss aus den ermittelten Kundenwünschen und dem, was sie im festgelegten Zeitrahmen liefern können.
Vorteile von Agile
Agile-Teams haben eine gute Begründung für ihre Aufgaben und es herrscht Klarheit über ihre Vorgehensweise. Die Prinzipien von Agile helfen Teams dabei, große, ehrgeizige Ziele in überschaubare Abschnitte zu unterteilen, die sie konsequent abarbeiten können. Agile-Softwareentwickler können sich dabei auf unzählige Geschichten von kleinen, agilen Teams berufen, die große, nach dem Wasserfallprinzip arbeitende Konkurrenten übertroffen haben. Agile-Teams profitieren auch vom "Agile Industrial Complex" ("Agile-Industrie"). Es gibt eine Fülle von Ressourcen und Tools, um Agile zu lernen, und unzählige Berater, die bei der Implementierung helfen.
Nachteile von Agile
Agile-Prinzipien führen dich schnell an Ziele, die du nie im Auge hattest. Agile hilft Teams, auf der Grundlage von Markt- und Kundenfeedback ihren Kurs zu wechseln. Wenn du diesen Idealen nachjagst, kann es vorkommen, dass dein Team etwas völlig anderes liefert als geplant. Das kann dich verunsichern und ziellos erscheinen, wenn du neue Wege beschreiten und den Kurs durch Kundenfeedback vorgeben lassen musst. Durch diese Abweichung bei den Ergebnissen eignet sich Agile nicht für alle Teams und Unternehmen. Wenn Teams sich aber entscheiden, diese Hürden zu überwinden, stellen sie oft fest, dass sie ihren Kunden am Ende ein besseres Produkt liefern können.
Was ist Scrum?
Scrum ist ein agiles Framework, mit dem Teams ihre Arbeit in kurze Entwicklungszyklen, sogenannte Sprints, einteilen. Scrum-Teams setzen sich das Ziel, bis zum Ende eines jeden Sprints bestimmte Aufgaben abzuschließen. Um in diesem Rhythmus zu bleiben, verwenden sie spezielle Praktiken und Teamstrukturen. Scrum führt die Prinzipien von Agile noch einen Schritt weiter und schafft eine Struktur, mit der Teams diese Prinzipien im Arbeitsalltag umsetzen können. Scrum ist ein gut dokumentiertes Agile-Framework, das viele Teams relativ reibungslos einführen können.
Vorteile der Scrum-Methode
Scrum-Teams liefern Software pünktlich. Anstatt das Unternehmen über deinen Fortschritt zu informieren, kannst du ihn demonstrieren! Wenn du Software auslieferst, beginnen Kunden, sie zu verwenden. So kannst du mehr Nutzungsdaten erfassen, die dir den Weg weisen und das Wachstum fördern. Außerdem bietet Scrum in der Regel ein gesünderes Arbeitsumfeld und es kommt zu weniger Burn-out und Abwanderung. Das liegt daran, dass Scrum-Praktiken wie Sprint-Planung und Sprint-Retrospektiven darauf ausgerichtet sind, Teamkollegen auf Erfolgskurs zu bringen.
Nachteile der Scrum-Methode
Bei Scrum geht es um "alles oder nichts". Der Erfolg beruht darauf, neue Rollen wie einen Scrum Master hinzuzufügen und die Zeitpläne aller Beteiligten um regelmäßige Meetings herum zu strukturieren. Viele Teams haben nicht die Ressourcen, um neue Teamkollegen einzustellen und auch keine Zeit für zusätzliche Meetings. Wenn sich Teams der Scrum-Methode nicht voll verschreiben können, profitieren sie oft auch nicht davon. Außerdem können nicht alle Teams in einem so schnellen Rhythmus arbeiten. Wenn die Qualität darunter leidet, ziehen viele Teams ihre Sprints immer weiter in die Länge, bis sie wieder beim Wasserfallprinzip landen.
Andere Methoden: Kanban und Wasserfall
Was ist Kanban?
Kanban ist ein Agile-Framework, das Teams hilft, kontinuierlich Arbeitsergebnisse abzuliefern. Kanban-Teams organisieren ihre Arbeit auf einem Kanban-Board mit Karten, Spalten, WIP-Grenzen und bestimmten Commitment- und Auslieferungspunkten. Kanban eignet sich am besten für Wissensarbeit, bei der das Produkt oder der Service nicht materieller Natur ist. Kanban hilft Teams dabei, ihre Ziele zu visualisieren und Tag für Tag Fortschritte zu machen.
Was ist das Wasserfallprinzip?
Beim Wasserfallprinzip geht es um die Entwicklung von Produkten oder Lösungen auf der Grundlage von Spezifikationen des Kunden oder Unternehmens. Teams analysieren die Anforderungen und entwickeln die Lösung über Wochen, Monate oder sogar Jahre. Das Wasserfallprinzip wird in Branchen bevorzugt, in denen strenge Auflagen herrschen.
Stell dir vor, du baust einen chirurgischen Roboter, für den behördlich vorgeschrieben ist, dass er eine bestimmte Aufgabe 100 Betriebsstunden lang fehlerfrei durchführen muss. Nach dieser Vorgabe richtet sich deine Arbeit und sie wird zum Kernpunkt der Entwicklung. Dein Team experimentiert und testet, bis dein Roboter die Spezifikationen erfüllt. Sind die Spezifikationen spezifisch und streng, konzentriert sich dein Team bei der Wasserfallmethode hauptsächlich auf deren Einhaltung.
Was ist die beste Methode für dein Team?
Wenn du deine Agile-Transformation beginnen möchtest, musst du dich wahrscheinlich für eine Methode entscheiden. Agile-Methoden beinhalten die Teamstruktur, die Praktiken und Tools, die du benötigst, damit deine Organisation nach Agile-Prinzipien arbeiten kann. Du kannst aber auch auf eigene Faust loslegen. Mit dem Agile Manifest und etwas Kreativität kannst du deinen eigenen Ansatz entwerfen, der für dein Unternehmen und dein Team funktioniert.
Agile vs. Scrum
Bei Agile gibt es keine festen Regeln, bei Scrum hingegen einige! Wenn du nach einem Framework suchst, das dich auf deinem Weg zu mehr Agilität begleiten kann, ist Scrum ein guter Ausgangspunkt. Scrum wird dein Team dazu motivieren, Arbeit schnell zu erledigen und sich bei Bedarf weiterzuentwickeln. Zusätzlich gibt es Vorlagen, die du sofort übernehmen kannst, um die Einführung von Scrum zu beschleunigen. Wenn du die ultimative Flexibilität suchst, kannst du stattdessen dein Team dazu inspirieren, agil zu werden. Eine Agile-Transformation ist ein spannender Prozess, bei dem bestehende Prozesse aufgebrochen und nach den Agile-Prinzipien wieder aufgebaut werden.
Agile vs. Wasserfall
Normalerweise musst du dich nicht zwischen Agile und Wasserfall entscheiden. Häufiger ist, dass du von einem zum anderen Prinzip wechseln musst. In solchen Momenten ist der Kunde entscheidend. Ist der Kunde eher lösungs- oder problemorientiert? Wenn ein Kunde weiß, was er will und jemanden für die Entwicklung bezahlen möchte, kannst du dich dem Wasserfallprinzip zuwenden. Wenn der Kunde ein Problem hat und du es lösen möchtest, dann ist Agile der einzig richtige Weg.
Agile-Projekte mit Jira verwalten
Einer der größten Vorteile von Agile-Frameworks ist, wie gut sie mittlerweile von Projektmanagement-Tools unterstützt werden. Jira wurde entwickelt, um Kanban, Scrum und mehr ohne weiteren Aufwand zu unterstützen. Experten erweitern Jira regelmäßig, damit selbst die komplexesten Agile-Frameworks unterstützt werden. Beginne mit Agile-Tutorials.