Das Agile Manifesto bildet die Grundlage für alle agilen Methoden und beschreibt die Kernwerte und Prinzipien, die agiles Arbeiten bestimmen. Es wurde im Jahr 2001 von einer Gruppe erfahrener Softwareentwickler verfasst und hat sich seitdem als richtungsweisend für agile Softwareentwicklung etabliert.
Agile Manifesto Kernwerte
- Individuen und Interaktionen über Prozesse und Werkzeuge (Individuals and Interactions over Processes and Tools): Dieser Wert betont die Bedeutung der Menschen und ihrer Zusammenarbeit. Agile Methoden setzen auf direkte Kommunikation und Zusammenarbeit, um flexible und kreative Lösungen zu finden.
- Funktionierende Software über umfassende Dokumentation (Working Software over Comprehensive Documentation): Der Fokus liegt darauf, funktionsfähige Software zu liefern, die dem Kunden echten Nutzen bringt, statt umfangreiche Dokumentationen zu erstellen, die oft nicht aktuell sind.
- Zusammenarbeit mit dem Kunden über Vertragsverhandlungen (Customer Collaboration over Contract Negotiation): Agile Methoden fördern eine enge und kontinuierliche Zusammenarbeit mit dem Kunden, um dessen Bedürfnisse und Anforderungen besser zu verstehen und flexibel darauf reagieren zu können.
- Reagieren auf Veränderung über Befolgen eines Plans (Responding to Change over Following a Plan): Veränderungen werden als Chance gesehen, das Produkt zu verbessern. Agile Teams sind bereit, ihre Pläne anzupassen, um auf neue Erkenntnisse und veränderte Anforderungen einzugehen.
Agile Manifest Prinzipien
Das Agile Manifesto enthält zwölf Prinzipien, die die Kernwerte weiter konkretisieren und den agilen Entwicklungsprozess unterstützen.
Kundenzufriedenheit durch frühe und kontinuierliche Lieferung wertvoller Software (Customer Satisfaction through Early and Continuous Delivery of Valuable Software)
Agile Teams liefern regelmäßig funktionsfähige Software, um kontinuierliches Feedback und eine hohe Kundenzufriedenheit zu gewährleisten.Willkommene Änderung der Anforderungen, selbst spät in der Entwicklung (Welcome Changing Requirements, Even Late in Development)
Änderungen der Anforderungen werden als Chance gesehen, den Kunden besser zu bedienen und das Produkt zu verbessern.Häufige Lieferung funktionierender Software (Deliver Working Software Frequently)
Funktionsfähige Software wird in kurzen, regelmäßigen Intervallen geliefert, typischerweise alle paar Wochen oder Monate.Enge, tägliche Zusammenarbeit zwischen Fachexperten und Entwicklern (Business People and Developers Must Work Together Daily Throughout the Project)
Eine enge Zusammenarbeit und tägliche Kommunikation zwischen Entwicklern und Fachexperten sind essenziell für den Projekterfolg.Projekte rund um motivierte Individuen aufbauen (Build Projects Around Motivated Individuals)
Agile Projekte setzen auf motivierte und fähige Teammitglieder, die in einer unterstützenden Umgebung arbeiten.Direkte Kommunikation bevorzugen (Face-to-Face Conversation is the Best Form of Communication)
Direkte, persönliche Kommunikation ist die effektivste Art der Informationsübermittlung innerhalb eines Teams.Funktionierende Software ist das wichtigste Fortschrittsmaß (Working Software is the Primary Measure of Progress)
Der Fortschritt eines Projekts wird an der Menge der funktionsfähigen Software gemessen, nicht an der Menge der erstellten Dokumentation.Nachhaltige Entwicklung fördern (Agile Processes Promote Sustainable Development)
Agile Methoden fördern eine gleichmäßige und nachhaltige Arbeitsweise, bei der das Entwicklungsteam langfristig produktiv bleiben kann.Ständige Aufmerksamkeit für technisches Können und gutes Design verstärken Agilität (Continuous Attention to Technical Excellence and Good Design Enhances Agility)
Technische Exzellenz und gutes Design sind entscheidend, um flexibel und reaktionsschnell zu bleiben.Einfachheit ist essenziell (Simplicity – the Art of Maximizing the Amount of Work Not Done – is Essential)
Die Kunst, die Menge der nicht erledigten Arbeit zu maximieren, ist ein zentraler Aspekt der agilen Entwicklung. Es wird darauf geachtet, nur das Nötigste zu tun, um die Anforderungen zu erfüllen.Die besten Architekturen, Anforderungen und Entwürfe entstehen durch selbstorganisierte Teams (The Best Architectures, Requirements, and Designs Emerge from Self-Organizing Teams)
Selbstorganisierte Teams sind in der Lage, die besten Lösungen zu entwickeln, da sie die Freiheit und Verantwortung haben, eigene Entscheidungen zu treffen.Regelmäßige Reflexion zur Effizienzsteigerung (At Regular Intervals, the Team Reflects on How to Become More Effective, Then Tunes and Adjusts Its Behavior Accordingly)
Teams reflektieren regelmäßig ihre Arbeitsweise und passen diese kontinuierlich an, um effizienter zu werden und sich stetig zu verbessern.
Diese Werte und Prinzipien bilden die Grundlage für die agile Softwareentwicklung und helfen Teams, flexibel, kundenorientiert und effizient zu arbeiten.