Kurs-Katalog

Online-Studium

Zum Kurs-Katalog


Agile

Was ist die Agile-Methodologie

Was ist die Agile-Methodologie?

Agile ist eine flexible Methodik der Projektführung auf der Grundlage des Zusammenwirkens mit dem Team und mit den interessierten Parteien. Im Rahmen der Agile-Definition werden alle Arbeitsprozesse ebenso in Etappen eingeteilt und bilden somit einen einheitlichen Zyklus, bis die Produktverbesserung endgültig beendet ist. Dieser Zyklus umfasst immer Planung, Umsetzung und Bewertung der Ergebnisse, die ebenfalls aus Iterationen bestehen (ein beliebtes Synonym dazu ist der Begriff Sprint), d. h., aus aufeinander folgenden Entwicklungsschritten. Dieser Ansatz bietet dem Team eine ganzheitliche Vision des Endprodukts und eine stabile, gut organisierte Lösung von bestimmten Aufgaben, die zuerst einfach, dann aber kompliziert sein können.

Eines der Merkmale von Agile besteht darin, dass diese Methodik ein hohes Niveau an Mitarbeiterengagement gewährleistet, denn im Prozess der Entwicklung von Agile finden regelmäßig Begegnungen mit dem Team statt, der Kontakt zum Auftraggeber muss aufrechterhalten bleiben, und alle Einzelheiten müssen beim Fortschritt sorgfältig beschrieben werden. Darüber hinaus macht Agile es möglich, die Iterationen bei Bedarf zu verlängern, zu früheren Phasen zurückzugehen oder neue Phasen mit anderen Aufgaben zu formulieren, wenn während der Entwicklungsarbeiten zusätzliche Probleme oder Bedingungen entstanden sind. Gerade deshalb ist die Agile-Projektverwaltung vor allem bei Aktivitäten im IT-Bereich und für die Entwicklung von Software- oder Technologie-Produkten besonders ratsam.

Das Agile-Manifest

2001 reisten siebzehn IT-Fachleute in einen Alpine-Kurort im US-Bundesstaat Utah, wo sie ihren Urlaub beim Skifahren und bei leckerem Essen verbringen wollten. Doch stattdessen begannen sie sich mit dem Problem der Systematisierung von Ansätzen für die Software-Entwicklung auseinanderzusetzen und haben sich kurzentschlossen die "Agile Alliance Group" getauft. Und obwohl es damals noch keine Agile-Methodik gab, sondern nur den Namen, ist das sogenannte Agile-Manifest entstanden. Das war ein kurzes Dokument, das 12 Prinzipien der effektivsten Softwareentwicklung aufzählte und eine Antwort auf den wachsenden Bedarf in der IT-Gemeinschaft darstellte, einen alternativen Ansatz für die Arbeit mit Technologien zu finden, um das Teammanagement und den Dokumentenverkehr zu erleichtern. Das Agile-Manifest konkretisierte die Ideen, aus denen die moderne Agile-Methodik hervorgegangen ist.

Die 12 Agile-Prinzipien

Die 12 Agile-Prinzipien

Das Agile-Manifest umfasst folgende Prinzipien:

  1. Das Hauptziel jeder Entwicklungsarbeit besteht darin, den Kunden zufriedenzustellen.

  2. Anpassungen sind zulässig und werden sogar in den letzten Entwicklungsetappen begrüßt, wenn sie das Produkt verbessern und dem Kunden zum Wettbewerbsvorteil verhelfen.

  3. Das Produkt muss dem Kunden auf verschiedenen Arbeitsetappen regelmäßig vorgeführt werden, deshalb sollten diese Etappen in kürzere Zeitabschnitte eingeteilt werden.

  4. Alle am Projekt interessierten Parteien müssen täglich in einem Team während des gesamten Entwicklungsprozesses zusammenarbeiten.

  5. Es ist erforderlich, ein komfortables Arbeitsklima für das Team zu schaffen, ihm selbständige Arbeit an den Aufgaben anzuvertrauen und jede erdenkliche Unterstützung zu gewähren.

  6. Die effektivste Methode der Informationsübertragung ist die Kommunikation von Angesicht zu Angesicht.

  7. Der primäre Maßstab für den Projekterfolg ist vor allem die Software, die bei der Arbeit eingesetzt wird.

  8. Die Projektentwicklung muss konsequent und stabil sein, in einem einheitlichen Tempo stattfinden und die Möglichkeit haben, die Endtermine bei Bedarf zu verlängern.

  9. Die kontinuierlichen technischen Verbesserungen und der Designfortschritt sind imstande, dem Produkt maximale Flexibilität zu gewährleisten.

  10. Zum Projekterfolg trägt auch die Minimierung der überflüssigen Arbeit erheblich bei.

  11. Die eindrucksvollsten Architekturen und Designideen entstehen bei selbstorganisierenden Teams.

  12. Das Team muss seine Arbeit regelmäßig korrigieren und bei gemeinsamen Treffen diejenigen Methoden besprechen, wie das Produkt verbessert werden kann.

Die Hauptkomponenten und Instrumente von Agile

Zur effektiven Umsetzung der Agile-Methoden können folgende Tools eingesetzt werden:

  • Die User Stories in Agile sind vereinfachte Beschreibungen potenzieller Nutzer, ihrer Wünsche und Bedürfnisse, die in "Blöcke" eingetragen werden und die Grundlage für den Bau der nächsten "Stockwerke" des Frameworks bilden. Die User-Stories stellen sicher, dass das Team nicht nur die Ziele des Kunden erreicht, sondern auch zukünftige Kunden des Produkts zufriedenstellt.

  • Das Agile Board ist ein Tool für die Zusammenarbeit im Team, das eine visuelle Abbildung aktueller, abgeschlossener und zukünftiger Aufgaben sowie des Fortschritts bei diesen Aufgaben darstellt. Dieses Board steht allen Teammitgliedern zur Verfügung und kann entweder online über eine Cloud-Software oder offline direkt im Büro erstellt werden.

  • Das Produkt-Backlog ist eine Liste mit der Kurzbeschreibung aller Funktionen, die das Produkt am Ende aufweisen soll. Später kann man dies auch für Marketingzwecke einsetzen.

  • Spike ist ein Aktivitätsformat, das vom Agile-Team verwendet wird, wenn es während des Sprints mit einer unbekannten und unerwarteten Aufgabe konfrontiert wird. Diese Aktivität kann eine Vielzahl von Möglichkeiten zur Analyse und Diskussion beinhalten, von Brainstorming bis zum Clustering - die Wahl hängt vom Team selbst ab.

Agile-Zeremonien

Agile-Zeremonien

Im Rahmen der Agile-Methodik haben die Zeremonien, oder, anders gesagt, die Team-Meetings einen grundlegenden Charakter und finden in der Regel täglich statt, damit der Stand der aktuellen Aufgaben und Probleme besprochen werden kann. Bei den größeren Treffen hingegen, die gewöhnlich zweimal während des Sprints abgehalten werden, das heißt, am Anfang und am Ende, wird außerdem der zurückgelegte Weg retrospektiv zusammengefasst.

Die täglichen Besprechungen dauern nie länger als 15 Minuten und dienen lediglich dazu, den Teammitgliedern die Möglichkeit zu geben, sich über entstandene Schwierigkeiten auszutauschen und gegebenenfalls gemeinsam einen bequemeren und effizienteren Arbeitsweg zu entwickeln, was nicht nur das Gesamtergebnis verbessert, sondern auch das Engagement fördert und die Beziehungen im Team stärkt.

Agile und Scrum

Agile und Scrum sind zwei Begriffe, die man oft als Synonyme verwendet und die man tatsächlich kaum gegenüberstellen kann, weil sie Teile eines Ganzen sind. Die Definition von Agile stellt die theoretische Methodik dar, eine Art "Arbeitsphilosophie", die Werte und Arbeitsgrundsätze beschreibt. Scrum hingegen ist eine Reihe von Werkzeugen, mit denen sich die Agile-Grundsätze praktisch umsetzen lassen.

Obwohl Agile auch andere Methoden als Werkzeuge verwenden kann (z. B. Scaled Agile Framework oder Kanban), sind es die Scrum-Werkzeuge, die am häufigsten eingesetzt werden. Iteration oder Sprint sind nur einige der Komponenten von Scrum, ebenso wie die Benennung von Master, Produktinhaber und anderer Rollen.

Agile vs. Waterfall

Agile und Waterfall stellen zwei absolut unterschiedliche Ansätze bei der Projekt-Umsetzung dar. Während das Agile-Produktmanagement iterativ und flexibel ist, auf Zyklen und einer Allianz aller an den Geschäftsprozessen Beteiligten aufbaut und Änderungen und neue Aufgaben zulässt, ist Waterfall sein Gegenstück.

Die Waterfall-Methode geht streng konsequent vor, sie fußt auf dem Release-Train-Prinzip und lässt nicht die Möglichkeit zu, auf frühere Iterationen zuzugreifen oder neue hinzuzufügen. Obwohl die Beteiligten darin genau so zusammenarbeiten, fehlt es ihnen an Selbständigkeit und Aktionsfreiheit. Aufgrund der Linearität und der bedingten Einschränkungen ist die Waterfall-Methode einfacher zu handhaben. Sie umfasst jedoch auch Projektarbeiten und die Planung des Projektkonzepts, Definition der Anforderungen, Entwicklung der erforderlichen Elemente, Qualitätssicherung und Wartung.

Die Rollen bei Agile

Alle Team-Mitglieder führen nicht nur bestimme Aufgaben im Rahmen ihrer Kompetenz aus, sondern sie spielen auch entsprechende Rollen. Die Team-Struktur bei Agile umfasst u.a. folgende Personen:

  • Leiter der Gruppe. Wenn die Agile-Werte mit der Scrum-Methode vereinbar sind (und gerade diese Form wird meistens praktiziert), dann bekommt der Leiter den Titel "Scrum Master". In Kombination mit anderen Methoden kann er auch als "Teamcoach" oder "Projektleiter" bezeichnet werden. Als formelle und informelle Führungskraft bei Agile ist der Scrum Master für die technische Versorgung des Teams, die Verteilung von Ressourcen und Aufgaben, die Fortschrittskontrolle und die Hilfe bei der Lösung auftretender Probleme zuständig. Besonders wichtig sind für diese Rolle Soft Skills, die Fähigkeit, das Team zu leiten, Agile-Sprints zu entwerfen, Zeitpläne zu erstellen und die Branchenspezifik zu verstehen. Vieles hängt auch vom Engagement des Masters ab.

  • Entwickler. Dieses Team-Mitglied ist für Projektumsetzung verantwortlich. Die Entwicklergruppe kann aus beliebig vielen Mitarbeitern bestehen. Doch wenn Agile Scrum-Prinzipien verwendet werden, dann darf die Gruppe nicht mehr als 7 bis 8 Leute haben. Denn gerade die Entwickler sind es, die für das Modellieren, Programmieren, für Designlösungen, Tests und alle wichtigen Arbeitsprozesse zuständig sind.

  • Produktinhaber. Er ist im Grunde genommen der Auftraggeber, der für das Projekt die hauptverantwortliche und disziplinierteste Person ist, die Liste der Anforderungen und der Entwicklungselemente festlegt, die fürs Business lebenswichtigen Entscheidungen trifft und aktuelle Marktinformationen rechtzeitig liefert.

  • Interessierte Personen. Zu dieser Kategorie gehören alle diejenigen, die direkt oder indirekt mit dem Projekt in Verbindung stehen. Das können u.a. potentielle Nutzer, Investoren, Vertriebsmanager und Entwickler von verwandten und integrierten Systemen sein.

Der Lebenszyklus der Software-Entwicklung nach Agile und der Arbeitsprozess Agile

Im Rahmen des Agile-Modells besteht der Entwicklungszyklus aus folgenden Etappen:

  1. Konzept-Erarbeitung

In dieser Etappe hängt vieles vom Produktinhaber ab, das heißt, vom Auftraggeber, denn gerade er legt den Maßstab und den Projektrahmen fest. Wenn es mehrere Projekte gibt, dann werden sie je nach Priorität rangiert. Alle Bedingungen und Anforderungen sind in einem speziellen Dokument zusammengefasst, genauso wie die zu erwartenden Ergebnisse mit den optimalen Agile-Praktiken. Das muss alles so kurz wie möglich gehalten werden, weil das Dokument und die Anforderungen während des Entwicklungsprozesses ergänzt werden können. In dieser Etappe schätzt der Produktinhaber lediglich den erforderlichen Zeit- und Kostenaufwand für das Projekt ein, führt eine detaillierte Analyse durch und bewertet die Bereitschaft des Teams, mit der Arbeit zu beginnen, indem er den Planungspoker oder eine andere Schätzungstechnik einsetzt.

  1. Arbeitsbeginn

Sobald das Konzept fertig ist, wird das Entwickler-Team zusammengestellt. Der Produktinhaber bewertet selbständig die Kompetenzen der verfügbaren Kandidaten und wählt die besten aus. Dann stellt er dem Team die Ressourcen und Werkzeuge zur Verfügung. Danach fängt das Team mit der Arbeit am Projekt an, d. h. mit der Erstellung des Layouts des Produkts und dem Aufbau seiner Architektur. Anhand von Diagrammen und Zielgruppenanalysen werden die Anforderungen an das Produkt spezifiziert und seine obligatorischen Funktionen beschrieben.

  1. Iterationen

Die Arbeit am Produkt wird daraufhin in kurze Etappen von 2 bis 4 Wochen aufgeteilt, das sind die bereits erwähnten "Iterationen". Das ist die längste Etappe des Agile-Zyklus, weil sie die gesamte Hauptarbeit voraussetzt. Der Teamleiter, d. h. der Scrum Master, verteilt die Aufgaben entsprechend den Kompetenzen der eingestellten Spezialisten und stellt sicher, dass die Aufgaben der vorangegangenen Iteration abgeschlossen sind, bevor das Team zur nächsten Iteration mit neuen Aufgaben übergeht. Das Ziel dieser Etappe ist es, ein funktionierendes Grundprodukt zu schaffen, das dann ergänzt und verbessert werden kann.

  1. Tests

Das fertige Basisprodukt wird in Bezug auf Funktionalität, Design und Benutzerfreundlichkeit zunächst im Entwickler-Team und dann an einer Stichprobe in der Zielgruppe getestet. Dabei prüft das Team, ob der Code sauber ist, es beseitigt auftretende Fehler und ermittelt die Schwachstellen am Produkt, damit es weiter verbessert werden kann. Sobald diese Etappe abgeschlossen ist und das Produkt hinsichtlich der festgestellten Mängel verfeinert wurde, wird es in der Form für die Produktion freigegeben, die es während der letzten (korrigierenden) Iteration erhalten hat.

  1. Wartung

Nachdem die Software für die Kunden verfügbar geworden ist, konzentriert sich das Team auf die technische Software-Unterstützung. Die Entwickler überwachen und beheben die von den Nutzern selbst festgestellten Fehler, sorgen für die Systemstabilität und unterweisen die Nutzer gleichzeitig in der Produkthandhabung. In dieser Etappe können neue, zusätzliche Iterationen gestartet werden, um die Produktfunktionen zu erneuern, neue Funktionen einzuführen und die bisher übersehenen Fehler zu beseitigen.

  1. Ende des Betriebs

Diese Etappe tritt aus zwei Gründen ein: Entweder wird die Software durch eine neuere und bessere Version ersetzt, oder die Software wird überholt und fürs Unternehmen somit unbrauchbar. Das Entwickler-Team benachrichtigt dann die Nutzer, dass die Software bald nicht mehr bedient wird. Die Nutzer bekommen dann entweder ein neues Produkt, oder sie haben nach einem vereinbarten Zeitraum keinen Zugang mehr zum alten Produkt.

Jede dieser Etappen kann mehrere Iterationen beinhalten, weil Agile es verbietet, zur nächsten Etappe überzugehen, ehe die vorherige Etappe das gewünschte Mindestergebnis erbracht hat.

Die Werkzeuge von Agile

Die Werkzeuge von Agile

Zurzeit gibt es eine große Menge von Diensten und Plattformen, die dazu dienen, das Agile-Modell umzusetzen. Die bekanntesten und zuverlässigsten sind folgende:

  1. ClickUp. Damit ist es möglich, Sprints und jeden Agile-Prozess zu planen, Story Points festzulegen und den Fortschritt der Arbeit am Projekt zu verfolgen. Dazu gehören die Verwaltung von Daten, Aufgaben, vom Status und von Dokumenten sowie die Automatisierung aller Sprints.
  2. Jira. Dieses Tool wird meistens zur Identifizierung und Verfolgung von Softwarefehlern verwendet, bietet aber auch Selbstkonfigurationsmöglichkeiten durch die JQL-Sprache. Es testet selbstständig die Produkte, überwacht die Aufgaben und die Sprints, verarbeitet die daraus resultierenden Daten, erstellt Statistiken mit Berichten und übernimmt im wahrsten Sinne des Wortes einen Teil der Arbeit des Scrum Masters.
  3. GitHub. Das ist ein System, das in Echtzeit alle Änderungen erfasst, die Ihr Team am Produkt vornimmt, und jede Agile-Transformation bis ins kleinste Detail fixiert. Alle Teammitglieder, von den Entwicklern bis zum Produktinhaber, können dank der nahtlosen Cloud-Technologie gleichzeitig am selben Code arbeiten, wodurch auch Anforderungen und Aufgaben formuliert und verfolgt werden können.
  4. Lean Kit. Eine Anwendung, die auf dem Prinzip der "schlanken Produktion" fußt, d.h. auf der Umsetzung des Projekts im Sinne von Ressourceneinsparung durch rechtzeitiges Erkennen und Beseitigen von Fehlern und ineffizienten Prozessen. In visueller Hinsicht sind das Karten mit Arbeitselementen und dem aktuellen Status der Aufgaben.
  5. Planbox. Eine Anwendung zur Kontrolle und Optimierung von Iterationen, die die Produktivität der Mitarbeiter bei der Erledigung von Aufgaben analysiert und Agile-Metriken in verschiedenen Grafikformaten anzeigt. So wird dem Team veranschaulicht, wie weit es von der Fertigstellung des Sprints und des gesamten Projekts noch entfernt ist.

Agile-Zertifizierung

Eine Zertifizierung zum Nachweis der Beherrschung der Agile-Methodik wird nicht als zwingend nötig angesehen. Im Allgemeinen aber kann das Zertifikat aus zwei Gründen vom Fachmann verlangt werden:

  • Um das Niveau seiner Kenntnisse angesichts der Marktanforderungen zu prüfen. Viele Fachleute und Projekt-Manager sind der Meinung, sie beherrschen die Agile-Methodik hervorragend, weil sie Management-Erfahrungen haben. Die Zertifizierungsprüfung beweist aber sehr oft, dass diese Erfahrungen nichts wert sind, und dass man noch lange lernen muss, um wirklich Agile-Meister zu werden;

  • Um ihren beruflichen Wert in den Augen der Arbeitgeber zu steigern. Viele IT-Unternehmen und Teams, die Agile regelmäßig praktizieren, nehmen die Profilbildung und die dokumentarische Bestätigung ihrer Fähigkeiten ernst. Am häufigsten werden Agile-Zertifizierungen in den Firmen verlangt, die das hohe Niveau ihres Outstaffings zeigen wollen, ebenso wie in den Unternehmen, bei denen die Zertifikate der Mitarbeiter ein wesentliches Firmenstatus-Merkmal darstellen. Die Zertifizierung ist auch für formelles Agile-Coaching erforderlich, wenn man ein hoch bezahlter Berater oder Trainer werden will.


Wenn Sie sich also bereits in der Nische etabliert haben, über reale praktische Agile-Fähigkeiten verfügen und Fälle in Ihrem Portfolio haben, die dies beweisen können, dann brauchen Sie sich keine Sorgen um das Zertifikat zu machen. Wenn Sie neu im Bereich Agile und gerade dabei sind, es zu meistern, dann wird Ihre Agile-Zertifizierung ein guter Bildungs- und Karrierebonus für Ihren Start sein.

Teilen: