20 Jahre Agiles Manifest – Ein Überblick über Werte & Prinzipien
Im Februar 2001 trafen sich 17 Softwareentwickler in den amerikanischen Rocky Mountains, um sich über Muster und Praktiken effektiver Software-Entwicklung auszutauschen. Dieses Treffen gilt als Geburtsstunde des Prinzips der Agilität – die Teilnehmer prägten nicht nur den Begriff «Agile», mit dem Agilen Manifest (original “Manifesto for Agile Software Development” bzw. “Agile Manifesto”) definierten sie auch neue Rahmenbedingungen für die Projektorganisationen in der Softwareentwicklung. Heute gilt das Agile Manifest als das Gründungsdokument der agilen Bewegung, das ihren Ursprung zwar in der Softwareentwicklung hat, aber sich weit über diesen Bereich hinaus verbreitet hat. Heute bildet es weltweit die Basis für die Aktivitäten vieler Unternehmen aller Branchen. Heute ist Agilität ein Mantra und das Agile Manifest ist ein wesentlicher Meilenstein der agilen Bewegung. (Qytera 2021; Pressebox 2021)
Zum 20-jährigen Bestehen des Agilen Manifests, möchten wir nochmals auf die zentralen Konzepte des Dokuments eingehen. Denn selbst nach dieser langen Zeit repräsentieren die enthaltenen Werte und Prinzipien die Grundmanifeste der agilen Arbeitsmethode und finden sich in vielen verschiedenen agilen Methoden, wie zum Beispiel Scrum, Kanban oder SAFe wieder.
Das Agile Manifest – Vier Werte für agile Teams
Das Fundament des Agilen Manifests bilden vier Leitsätze, die die der Bewegung zugrunde liegenden Werte widerspiegeln. Abbildung 1 stellt die «alten» den agilen Werte gegenüber und verdeutlicht die wesentlichen Unterschiede der Herangehensweisen. Diese zwei Wertegruppen sind als Gegensatzpaare notiert, dies bedeutet, dass beide wichtig sind, die agilen Werte jedoch priorisiert werden sollten:
Abbildung 1 Das Agile Manifest (Bild: agilemanifesto.org)
Die agilen Werte bilden die Grundlage für die Arbeit agiler Teams. Im Folgenden stellen wir die zentralen Leitsätze in Anlehnung an Diehl (2020) kurz vor:
1. Individuen und Interaktionen sind wichtiger als Prozesse und Werkzeuge
Teammitglieder oder am Entwicklungsprozess beteiligte Personen sowie ihre Zusammenarbeit sind wichtiger als Formalismen Das bedeutet, dass in einem persönlichen Austausch Information effektiver und eindeutiger vermittelt werden kann als durch gut dokumentierte Prozesse und Werkzeuge. Wenn wir an unseren Büroalltag denken, können das die meisten von uns sicherlich bestätigen – wenn wir persönlich mit Kollegen sprechen und ggf. auch Rückfragen zu den erhaltenen Informationen stellen können, sind offene Punkte schneller und oftmals verständlicher geklärt, als wenn wir die Informationen aufwendig zusammensuchen und eigens interpretieren müssten. In der Praxis wird dieser agile Wert dadurch umgesetzt, dass die räumliche Distanz in Teams minimiert wird. Agile Teams sitzen oft zusammen in einem Büro und erhöhen ihre Interaktionspunkte durch Meeting-Strukturen, wie zum Beispiel durch den täglichen Austausch.
2. Funktionierende Software ist wichtiger als umfassende Dokumentation
Im Mittelpunkt der agilen Arbeitsweise steht ein funktionierendes Endprodukt, dass die zu Beginn der Entwicklung aufgestellten Anforderungen erfüllt. Agile Teams haben eine hohe Wert- und Ergebnisfokussierung – für sie steht die Erledigung einer Aufgabe an oberster Stelle. Folglich wird verfügbare Zeit eher in die Erledigung der Aufgabe, als in die Erstellung umfassender Dokumentation investiert. Dies bedeutet auf der anderen Seite jedoch keinesfalls, das agile Teams nichts dokumentieren. Es bedeutet vielmehr, dass auf nicht unbedingt notwendige Dokumentation verzichtet wird und Dokumentation in einem schlankeren Rahmen erfolgt. In der Praxis ist es häufig so, dass agile Teams die Anforderungen an ein Produkt dokumentieren; innerhalb des Erstellungsprozesses wird jedoch darauf verzichtet, alle Arbeitsschritte minuziös zu dokumentieren.
3. Zusammenarbeit mit dem Kunden ist wichtiger als Vertragsverhandlung
Der Kunde steht im Mittelpunkt der Softwareentwicklung. Das bedeutet nicht nur, dass die Bedürfnisse und Anforderungen des Kunden Ausgangspunkt des Entwicklungsprozesses sind, sondern auch, dass das Produkt während der Entwicklung periodisch durch potenzielle Kunden getestet wird, um zu gewährleisten, dass das Endergebnis ihren Wünschen entspricht. Auch hier ist eine persönliche Interaktion mit dem Kunden vorrangig. In der Praxis gibt es häufig Meetings mit Kunden, um ihnen Produktweiterentwicklungen aus der letzten Iteration vorzuführen und ihr Feedback einzuholen. Hierdurch kann direkt in kleinen Erstellungsschritten überprüft werden, ob die Kundenanforderungen richtig umgesetzt werden konnten.
4. Reagieren auf Veränderung ist wichtiger als das Befolgen eines Plans
Der agilen Arbeitsweise liegt das Verständnis zugrunde, dass die Umwelt und das Unternehmen ständigen Veränderungen unterliegen. Daher müssen agile Teams über eine hohe Anpassungsfähigkeit verfügen, um Veränderungen entsprechend wahrzunehmen, einzuordnen und angemessen auf diese zu reagieren. Dies bedeutet, dass agile Teams zwar planen, der Plan allerdings eine gewisse Flexibilität aufweist und im Zweifelsfall angepasst wird, wenn Veränderungen dies erfordern.
Zwölf Agile Prinzipien für die Anwendung des Agilen Manifests
Die vier Leitsätze stellen die obersten Werte des Agilen Manifests dar, reichen jedoch nicht aus, um die konkrete Arbeitsweise agiler Teams im operativen Alltag zu beschreiben. Daher wurden auf Basis der Leitsätze zwölf Prinzipien formuliert, die diese Werte konkretisieren. Zusammen mit den Leitsätzen bilden sie den Handlungsrahmen für agile Teams. (Eckstein 2021; Agile Manifesto 2001; Diehl 2020):
- Unsere höchste Priorität ist es, den Kunden durch frühe und kontinuierliche Auslieferung wertvoller Software zufrieden zu stellen – Wie in Wert 3 beschrieben, steht der Kunden im Mittelpunkt des Entwicklungsprozesses. Ein Produkt ist nur erfolgreich, wenn es die Anforderungen des Kunden erfüllt. Damit das der Fall ist, werden dem Kunden so früh wie möglich und regelmässigen Abständen Teilergebnisse vorgeführt, um sein Feedback abzuholen und in die Weiterentwicklung des Produkts einzubeziehen. So können Fehler schnell erkannt und behoben werden, bevor sie den Erfolg des Projekts gefährden.
- Heisse Anforderungsänderungen selbst spät in der Entwicklung willkommen. Agile Prozesse nutzen Veränderungen zum Wettbewerbsvorteil des Kunden – Neue und nachvollziehbare Anforderungen werden als Chance für ein besseres Endergebnis und damit die Basis für einen potenziellen Wettbewerbsvorteil gesehen – auch wenn diese kurzfristig erfolgen.
- Liefere funktionierende Software regelmäßig innerhalb weniger Wochen oder Monate und bevorzuge dabei die kürzere Zeitspanne – Dieses Prinzip knüpft an den 4. Wert des Manifests an(Reagieren auf Veränderung ist wichtiger als das Befolgen eines Plans). In einer sich kontinuierlich verändernden Welt können sich Kundenanforderungen bereits innerhalb weniger Wochen ändern. Unternehmen sollten bei der Produkt- und Serviceentwicklung daher einem inkrementellen Ansatz folgen, um diesen potentiellen Veränderungen Rechnung zu tragen.
- Fachexperten und Entwickler müssen während des gesamten Prozesses eng zusammenarbeiten – Fachexperten und IT-Entwickler müssen gemeinsam an einer Lösung arbeiten. So wird gewährleistet, dass die Anforderungen der Fachseite vollumfänglich berücksichtigt werden und die IT-Seite diese Anforderungen passgenau umsetzen kann. Um die optimale Zusammenarbeit beider Seiten zu gewährleisten, wird in der Praxis Wert auf die räumliche Nähe beider Parteien gelegt oder es werden Meetingstrukturen eingeführt, die ihre effektive und effiziente Zusammenarbeit ermöglicht.
- Errichte Projekte rund um motivierte Individuen. Gib ihnen das Umfeld und die Unterstützung, die sie benötigen und vertraue darauf, dass sie die Aufgabe erledigen – Agile Teams verfolgen die Auffassung, dass Menschen nicht von aussen zu guter Arbeit motiviert werden müssen, sondern diese Arbeit ein Ergebnis geeigneter Umweltbedingungen ist, die den Teammitgliedern erlauben, ihr Potenzial zu entfalten. Das Management muss die Voraussetzungen hierfür schaffen, durch entsprechendes Vertrauen und die Einrichtung von Handlungsspielräumen. Zentral hierbei ist eine Führungsweise, die entsprechend auf den agilen Werten und Prinzipien beruht.
- Die effizienteste und effektivste Methode, Informationen an und innerhalb eines Entwicklungsteams zu übermitteln, ist im Gespräch von Angesicht zu Angesicht –Dies ist eng verknüpft zu Wert 1 (Individuen und Interaktionen sind wichtiger als Prozesse und Werkzeuge) der auf der Auffassung basiert, dass persönliche Interaktionen Informationen viel effektiver und eindeutiger transportieren als aufgeschriebene Prozesse oder Werkzeuge. Daher sollte durch verschiedene Meetings eine Struktur geschaffen werden, damit sich das Team austauschen kann.
- Funktionierende Software ist das wichtigste Fortschrittsmaß – Agil entwickelte Software, Produkte oder Services müssen höchsten Anforderungen genügen – aus technischer und auch aus fachlicher Perspektive. Dementsprechend wird auch der Entwicklungsfortschritt anhand konkreter Parameter bemessen, wie beispielsweise Kundenfeedback, Umsatz und funktionierende Software.
- Agile Prozesse fördern nachhaltige Entwicklung. Die Auftraggeber, Entwickler und Benutzer sollten ein gleichmäßiges Tempo auf unbegrenzte Zeit halten können – Dieses Prinzip zielt auf Nachhaltigkeit ab, da es nach Auffassung der agilen Arbeitsweise sinnvoll ist, dass die Entwicklung eines Produktes gleichmässig fortläuft und durch das Vermeiden von Engpässen eine gleichmässige Qualität erzielt werden kann. Dafür müssen alle Beteiligten durchgehend an der Entwicklung beteiligt sein. Der Aspekt der Nachhaltigkeit lässt sich aber auch auf das Erlernen agiler Arbeitsweisen übertragen, das kontinuierlich und unter erfahrener Anleitung erfolgen und dem Team Raum geben sollte, mit unterschiedlichen Techniken zu experimentieren.
- Ständiges Augenmerk auf technische Exzellenz und gutes Design fördert Agilität – Ein Design ist gut, wenn es einfach und eindeutig ist und keine komplexen Abhängigkeiten zu anderen Schnittstellen, Produkten, etc. aufweist. Technische Excellence bedeutet, dass die technische Ausgestaltung der Entwicklung höchsten Qualitätsansprüchen genügen muss, damit das Team später keine Zeit für die Beseitigung von Fehlern aufwenden muss, die vermeidbar gewesen wären.
- Einfachheit – die Kunst, die Menge nicht getaner Arbeit zu maximieren – ist essenziell – Für agile Teams zählt allein das Ergebnis, d. h. die Erfüllung der Kundenbedürfnisse, nicht die Anzahl investiert Arbeitsstunden. Der Weg zur Erreichung des Ziels ist «einfach» zu gestalten. Dies bedeutet, dass das Team sich auf die zur Zielerreichung essentiell notwendigen Aufgaben fokussiert und diese möglichst effizient und fokussiert gestaltet.
- Die besten Architekturen, Anforderungen und Entwürfe entstehen durch selbstorganisierte Teams – Agile Teamsorganisieren sich selbst und arbeiten eigenverantwortlich an der Entwicklung von Lösungen. Dies bedeutet im Umkehrschluss, dass Führungskräfte ihren Mitarbeitern viele Freiräume sowie Vertrauen entgegenbringen und dem Team unterstützend zur Seite stehen müssen.
- In regelmäßigen Abständen reflektiert das Team, wie es effektiver werden kann und passt sein Verhalten entsprechend an – Ein wichtiger Aspekt der agilen Softwareentwicklung ist sich selbst und als Team in regelmässigen Abständen zu reflektieren. In sogenannten Retrospektiven besprechen agile Teams wie ihre Zusammenarbeit funktioniert hat – was gut lief und was beim nächsten Mal verbessert werden kann. Wichtig ist hierbei, dass dieser Austausch in regelmässigen Abständen erfolgt.
Fazit
Das Agile Manifest ist als Rahmengerüst des agilen Arbeitens zu verstehen. Es bietet einen Verhaltenskodex, an dem Handeln reflektiert und anhand der agilen Werte neu ausgerichtet werden kann. Frameworks wie Scrum geben Teams notwendige Techniken sowie einen Rahmen vor, um diese Werte auch umsetzen zu können.
Trotz seines 20-jährigen Bestehens, ist das Agile Manifest nach wie vor das grundlegende Dokument der agilen Arbeitsweise. Zwar sind in den letzten Jahren diverse andere Manifeste entstanden, die Domänen definieren, die ausserhalb der Softwareentwicklung liegen, z. B. Agile Marketing Manifest, Agile HR-Manifest oder Modern Agile. Grundsätzlich gilt jedoch, dass alle neuen Manifeste zwar eine Erweiterung des ursprünglichen Agilen Manifests darstellen, dieses jedoch keinesfalls ersetzen. (Eckstein 2021)
Quellen
Agile Manifesto. 2001. Prinzipien hinter dem Agilen Manifest. Prinzipien hinter dem Agilen Manifest (agilemanifesto.org)
Diehl, Andreas. 2020. Das Agile manifest – Leitsätze und Werte agiler Teams. Das Agile Manifest – Leitsätze und Werte agiler Teams (digitaleneuordnung.de)
Eckstein, Jutta. 2021. 20 Jahre Agiles Manifest – definitiv den Kinderschuhen entwachsen. 20 Jahre Agiles Manifest – definitiv den Kinderschuhen entwachsen | heise online
Pressebox, 2021. iX-Magazin: 20 Jahre agiles Manifest. Veränderung und Anpassung. iX-Magazin: 20 Jahre agiles Manifest, Heise Gruppe GmbH & Co KG, Pressemitteilung – PresseBox
Qytera 2021. 20 Jahre agiles Manifest – Ein Rückblick und Ausblick. 20 Jahre agiles Manifest – Ein Rückblick und Ausblick (qytera.de)
- Agiles Mindset – Was genau ist ein agiles Mindset und
warum ist es so wichtig? - 22.07.2022 - Objectives and Key Results (OKRs) und agiles Management: Wie OKRs eine agile Führung unterstützen können - 15.07.2022
- Agilität – Wie das Erreichen von Unternehmenszielen durch die agile Methode Scrum begünstigt werden kann - 06.04.2022