Geschichte des Agile-Manifests
Das Agile-Manifest und die Zwölf Prinzipien der Agile-Software waren die Folgen der Frustration in der Branche in den 1990er-Jahren. Die enorme Zeitverzögerung zwischen den Geschäftsanforderungen (die Anwendungen und Funktionen, die Kunden anforderten) und der Bereitstellung von Technologie, die diese Anforderungen erfüllte, führte zur Kündigung vieler Projekte. Geschäftsanforderungen und Kundenanforderungen änderten sich während dieser Verzögerung, und das Endprodukt erfüllte nicht die damals aktuellen Anforderungen. Die Softwareentwicklungsmodelle des Tages, angeführt vom Wasserfall-Modell, erfüllten nicht die Nachfrage nach Geschwindigkeit und nutzten nicht aus, wie schnell Software verändert werden konnte.
Im Jahr 2000 traf sich eine Gruppe von siebzehn „Vordenkern“, darunter Jon Kern , Kent Beck , Ward Cunningham , Arie van Bennekum und Alistair Cockburn , zunächst in einem Resort in Oregon und später, im Jahr 2001, in der Lodge im Snowbird Ski Resort in Utah. Es war beim zweiten Treffen, bei dem das Agile-Manifest und die Zwölf Prinzipien formell geschrieben wurden. Das Manifest lautet:
„Wir entdecken bessere Möglichkeiten, Software zu entwickeln
, indem wir sie nutzen und anderen helfen.
Durch diese Arbeit haben wir einen Mehrwert geschaffen:
Laut Art Snyder sind bei diesen Prinzipien „Einzelpersonen und Interaktionen wichtiger als Prozesse und Tool: funktionierende Software ist wichtiger als eine umfassende Dokumentation; Zusammenarbeit mit dem Kunden ist wichtiger als Vertragsverhandlungen; und das Reagieren auf Veränderungen ist wichtiger als das Befolgen eines Plans.“
„Das heißt, während die Elemente auf
der rechten Seite einen Wert haben, schätzen wir die Elemente auf der linken Seite mehr.“
Eine große Auswahl an kostenlosen Agile-Vorlagen für Ihr nächstes Agile-Projekt finden Sie unter Best Agile Project Management Excel Vorlage .
Die vier Werte des agilen Manifests
Das Agile-Manifest besteht aus vier grundlegenden Werten und 12 unterstützenden Prinzipien, die den agilen Ansatz in der Softwareentwicklung leiten. Jede Agile-Methode wendet die vier Werte auf unterschiedliche Weise an, aber alle verlassen sich auf sie, um die Entwicklung und Bereitstellung hochwertiger, funktionierender Software zu steuern.
1. Individuen und Interaktionen über Prozesse und Tools
Individuen und Interaktionen über Prozesse und Tools Menschen mehr zu schätzen als Prozesse oder Tools, ist leicht zu verstehen, da es die Menschen sind, die auf Geschäftsbedürfnisse reagieren und den Entwicklungsprozess vorantreiben. Wenn der Prozess oder die Tools die Entwicklung vorantreiben, reagiert das Team weniger auf Änderungen und erfüllt die Kundenbedürfnisse mit geringerer Wahrscheinlichkeit. Kommunikation ist ein Beispiel für den Unterschied zwischen der Bewertung von Einzelpersonen und Prozessen. Im Falle von Einzelpersonen ist die Kommunikation fließend und erfolgt, wenn ein Bedarf entsteht. Im Falle eines Prozesses ist die Kommunikation geplant und erfordert bestimmte Inhalte.
2. Funktionierende Software über umfassende Dokumentation
In der Vergangenheit wurde enorm viel Zeit für die Dokumentation des Produkts für die Entwicklung und endgültige Lieferung aufgewendet. Technische Spezifikationen, technische Anforderungen, technischer Prospekt, Schnittstellendesign-Dokumente, Testpläne, Dokumentationspläne und Genehmigungen, die für jedes Produkt erforderlich sind. Die Liste war umfangreich und eine Ursache für die langen Entwicklungsverzögerungen. Agile eliminiert keine Dokumentation, aber es optimiert sie in einer Form, die dem Entwickler das Nötige gibt, um die Arbeit zu erledigen, ohne sich in Minuten zu verzetteln. Agile dokumentiert Anforderungen als User Storys, die ausreichen, damit ein Softwareentwickler mit der Erstellung einer neuen Funktion beginnen kann.
Das Agile Manifesto schätzt die Dokumentation, aber es schätzt funktionierende Software mehr.
3. Zusammenarbeit mit Kunden über Vertragsverhandlungen
Verhandlungen sind der Zeitraum, in dem der Kunde und der Produktmanager die Details einer Lieferung ausarbeiten, mit Punkten, an denen die Details neu verhandelt werden können. Zusammenarbeit ist ein ganz anderes Wesen. Mit Entwicklungsmodellen wie Wasserfall verhandeln Kunden die Anforderungen an das Produkt, oft sehr detailliert, bevor sie mit der Arbeit beginnen. Dies bedeutete, dass der Kunde in den Entwicklungsprozess involviert war, bevor die Entwicklung begann und nachdem sie abgeschlossen war, aber nicht während des Prozesses. Das Agile-Manifest beschreibt einen Kunden, der während des gesamten Entwicklungsprozesses involviert ist und mitarbeitet, um Projekte zu erstellen. Dies macht es der Entwicklung viel einfacher, ihre Bedürfnisse des Kunden zu erfüllen. Agile Methoden können den Kunden in regelmäßigen Abständen für regelmäßige Demos einbeziehen, aber ein Projekt kann genauso leicht einen Endbenutzer als täglichen Teil des Teams haben und an allen Meetings teilnehmen, um sicherzustellen, dass das Produkt die Geschäftsbedürfnisse des Kunden erfüllt.
4. Reaktion auf Änderungen über Befolgung eines Plans
Die traditionelle Softwareentwicklung betrachtete Änderungen als Ausgabe, sodass sie vermieden werden sollten. Ziel war es, detaillierte, ausgefeilte Planungen mit einem definierten Funktionsumfang zu entwickeln, bei denen alles im Allgemeinen genauso hohe Priorität hat wie alles andere, und mit einer großen Anzahl von, die in einer bestimmten Reihenfolge liefern, damit das Team am nächsten Teil des Rätsels arbeiten kann.
Bei Agile bedeutet die Kürze einer Iteration, dass Prioritäten von der Iteration zur Iteration verschoben werden können und neue Funktionen in die nächste Iteration aufgenommen werden können. Agile ist der Ansicht, dass Änderungen ein Projekt immer verbessern; Änderungen bieten zusätzlichen Wert.
Vielleicht veranschaulicht nichts den positiven Veränderungsansatz von Agile besser als das Konzept der Methodenanpassung, das in der verwendeten Methode zur Entwicklung agiler Informationssysteme definiert wird als: „Ein Prozess oder eine Funktion, in der menschliche Akteure einen Systementwicklungsansatz für eine bestimmte Projektsituation durch reaktionsschnelle Veränderungen und dynamische Wechselwirkungen zwischen Kontexten, Absichten und Methodenfragmenten bestimmen.“ Agile Methoden ermöglichen es dem Agile-Team, den Prozess zu modifizieren und ihn an das Team anzupassen, anstatt umgekehrt.
Die zwölf Prinzipien des agilen Manifests
Die Zwölf Prinzipien sind die Leitprinzipien für die Methoden, die unter dem Titel „The Agile Movement“ enthalten sind. Sie beschreiben eine Kultur, in der Veränderung willkommen ist und der Kunde im Mittelpunkt der Arbeit steht. Sie zeigen auch die Absicht der Bewegung, wie von Alistair Cockburn, einem der Unterzeichner des Agile-Manifests, beschrieben, die Entwicklung mit den Geschäftsbedürfnissen in Einklang zu bringen.
Zu den zwölf Prinzipien der agilen Entwicklung gehören:
- Kundenzufriedenheit durch frühzeitige und kontinuierliche Softwarebereitstellung – Kunden sind zufriedener, wenn sie in regelmäßigen Abständen funktionierende Software erhalten, anstatt zwischen den Releases längere Zeiträume zu warten.
- Anpassung an sich ändernde Anforderungen während des gesamten Entwicklungsprozesses – Die Möglichkeit, Verzögerungen zu vermeiden, wenn sich eine Anforderung oder Funktionsanforderung ändert.
- Häufige Lieferung von funktionierender Software – Scrum entspricht diesem Prinzip, da das Team in Software-Sprints oder Iterationen arbeitet, die eine regelmäßige Lieferung von funktionierender Software gewährleisten.
- Zusammenarbeit zwischen den Business-Stakeholder und Entwicklern während des gesamten Projekts – Bessere Entscheidungen werden getroffen, wenn das Business- und das Technikteam aufeinander abgestimmt sind.
- Hilfe, Vertrauen und Motivation der beteiligten Personen – Motivierte Teams liefern mit höherer Wahrscheinlichkeit ihre beste Arbeit als unzufriedene.
- Ermöglichen Sie persönliche Interaktionen – Die Kommunikation ist erfolgreicher, wenn Entwicklungsteams an einem gemeinsamen Standort arbeiten.
- Funktionierende Software ist das primäre Maß für den Fortschritt – Die Lieferung funktionaler Software an den Kunden ist der ultimative Faktor, der den Fortschritt misst.
- Agile Prozesse zur Unterstützung eines konsistenten Entwicklungstempos – Teams legen eine wiederholbare und wartbare Geschwindigkeit fest, mit der sie funktionierende Software liefern können, und sie wiederholen dies mit jedem Release.
- Die Aufmerksamkeit auf technische Details und Design erhöht die Agilität – Die richtigen Fähigkeiten und ein gutes Design stellen sicher, dass das Team das Tempo beibehalten, das Produkt ständig verbessern und den Wandel aufrechterhalten kann.
- Einfachheit – Entwickeln Sie gerade genug, um die Arbeit jetzt zu erledigen.
- Selbstorganisierende Teams fördern großartige Architekturen, Anforderungen und Designs – Qualifizierte und motivierte Teammitglieder, die über Entscheidungsbefugnisse verfügen, Verantwortung übernehmen, regelmäßig mit anderen Teammitgliedern kommunizieren und Ideen austauschen, die hochwertige Produkte liefern.
- Regelmäßige Überlegungen, wie Sie effektiver werden können – Selbstverbesserung, Prozessverbesserung, Weiterentwicklung von Fähigkeiten und Techniken helfen Teammitgliedern, effizienter zu arbeiten.
Die Absicht von Agile ist es, die Entwicklung mit den Geschäftsbedürfnissen in Einklang zu bringen, und der Erfolg von Agile ist offensichtlich. Agile Projekte sind kundenorientiert und fördern die Kundenberatung und -beteiligung. Infolgedessen hat sich Agile zu einem übergreifenden Überblick über die Softwareentwicklung in der gesamten Softwarebranche und einer Branche für sich entwickelt.
Erste Schritte mit Agile
Im Wahnsinn des Arbeitsalltags können Aufgaben leicht untergehen. Was Sie brauchen, ist eine bessere, visuellere Möglichkeit, Aufgaben nachzuverfolgen und zu verwalten.
Unterstützen Sie Ihr Team mit der Boardansicht in Smartsheet – einer benutzungsfreundlichen Lösung für die Aufgabenverfolgung, die für eine nahtlose Aufgabenpriorisierung, eine höhere Projekttransparenz und eine einfache agile Zusammenarbeit sorgt.
Ob beim Verwalten von Projekten, Optimieren von Arbeitslasten oder Verfolgen von Aufgaben – die Boardansicht trägt dazu bei, unnötige Statusmeetings zu vermeiden, da Teammitglieder den Projektfortschritt sowie abgeschlossene und anstehende Aufgaben mit Aufgabenkarten nachverfolgen können.
Entdecken Sie die intuitiven Drag-and-drop-Karten, die Zusammenarbeit in Echtzeit und die organisatorische Kartenverschachtelung, die Ihrem Unternehmen ermöglichen, sich anzupassen und effektiver zu arbeiten.