Es ist soweit - SAFe 6.0 ist da! Wir aktualisieren gerade unsere Inhalte. Besuch unser SAFe-Board für Updates.

tectrain logo
Business Agility

Agiles Manifest: Kernwerte & 12 Prinzipien

~14 Min. Lesezeit

Table Of Contents

Was ist das Agile Manifest?

Im Gegensatz zu anderen Projektentwicklungsansätzen begann die Agile-Bewegung mit Ideen, Werten und Prinzipien, die eine Denkweise verkörpern. Agilität entstand, als eine Gruppe innovativer Menschen zusammenkam und versuchte, eine andere Denkweise für Probleme im Projektmanagement zu finden. Das agile Manifest legt die Grundlagen der Agilität dar und ist als Aussage bekannt.

Im Jahr 2001 kamen 17 bekannte Persönlichkeiten der Softwarewelt zusammen und veröffentlichten nach 2 Tagen Arbeit das "Agile Software Development Manifest" zusammen mit den Principles of Agile Software. Obwohl das agile Manifest für die agile Softwareentwicklung geschrieben wurde, lassen sich die Kernwerte fast direkt auf jedes agile Projektmanagement anwenden. Die Tatsache, dass das Agile Manifest von Softwareentwicklungsexperten veröffentlicht wurde, bedeutet nicht, dass es nur im Bereich der Softwareentwicklung verwendet wird. Agilität kann auch in administrativen Bereichen angewendet werden.

Wer hat das agile Manifest verfasst?

Kent Beck James Grenning Robert C. Martin
Mike Beedle Jim Highsmith Steve Mellor
Arie van Bennekum Andrew Hunt Ken Schwaber
Alistair Cockburn Ron Jeffries Jeff Sutherland
Ward Cunningham Jon Kern Dave Thomas
Martin Fowler Brian Marick  

 

Anstatt zu versuchen, zu definieren, was Agilität bedeutet, haben diese Autoren des Agile Manifests 12 Prinzipien und 4 Werte veröffentlicht, die definieren, worauf sich Agilität konzentriert. Diese Gruppe einigte sich nach tagelangen Diskussionen auf eine Reihe grundlegender Ideen und Prinzipien, um Lösungen für die Softwareentwicklungsprobleme zu finden, mit denen sie während ihrer Karriere konfrontiert waren.

Was sind die vier Kernwerte des Agile Software Development Manifest?

Alle agilen Techniken, Frameworks und Modelle basieren auf diesen agilen Werten. Im Wesentlichen besteht der agile Prozess von Organisationen nicht nur darin, ihre Techniken zu agilen Techniken umzuwandeln oder ihre Prozesse zu vereinfachen, von der Einzelarbeit zur Teamarbeit überzugehen, den kaskadierenden Projektmanagementprozess zu verlassen und mit der Verwendung agiler Frameworks zu beginnen oder sich vom Projektmanagement zum Produktmanagement zu entwickeln. Hier sollen die Unternehmen einen kulturellen Wandel in einem ganzheitlichen Rahmen erleben.

Die 4 Kernwerte des Agile Software Development Manifest:

I. Ganze Konzentration auf Einzelpersonen und Interaktionen statt auf Prozesse und Tools

Dieser erste Wert weist darauf hin, dass Teamarbeit und Kommunikation Groß geschrieben werden sollten. Das Team sollte während der Erstellung von Softwaresysteme nicht gezwungen sein, nur diese Tools zu verwenden. Es ist wichtig, Agilität als die Leistung eines Teams zu verstehen, um einen umfassenderen Einblick in die agilen Methoden, Praktiken und Werkzeuge zu erhalten, die im agilen Projektmanagementansatz populär geworden sind. Tools sind ein wesentlicher Bestandteil der Softwareentwicklung, aber es sollte keinen Einfluss darauf haben, wie das Team miteinander interagiert. Das Team sollte das Tool auswählen, das den Anforderungen des Softwareentwicklungszyklus am besten entspricht und die Teammitglieder nicht daran hindern, miteinander zu interagieren.

II. Der Fokus sollte eher auf funktionierender Software als auf umfangreicher Dokumentation liegen

Die Dokumentation ist absolut notwendig und stellt eine Ressource und Referenz für Benutzer oder Mitarbeiter dar, die sich fragen, was die Software ist und wie sie funktioniert. Ein agiles Team sollte jedoch keine Dokumente schreiben, die den Fortschritt behindern oder eine Belastung darstellen, die größer ist als der erzeugte Wert. Nur der Wert sollte dokumentiert werden.

III. Der Fokus sollte eher auf der Zusammenarbeit mit dem Kunden als auf Vertragsverhandlungen liegen

Die Person, die ihre eigenen Bedürfnisse kennt und diese auf das Team übertragen kann, ist der Kunde. Damit sich das Team erfolgreich weiterentwickeln kann, ist es daher notwendig, eng mit dem Kunden zusammenzuarbeiten und mit ihm in ständigem Austausch zustehen. Nur so kann das Team die am besten geeigneten Entwicklungen für die Bedürfnisse des Endbenutzers realisieren, indem es Feedback vom Kunden erhält.

IV. Die Anpassung an Veränderungen ist wichtiger als das Befolgen eines Plans

Unternehmen, die herkömmliche Software entwickeln, beginnen zunächst mit der Planung des gesamten Prozesses. Dies ist ein sehr mühsames, schwer vorhersehbares und riskantes Geschäft. Denn im Laufe der Zeit kann es zu Änderungen an den geplanten Elementen kommen. Beispielsweise können sich Technologie, Geschäftsanforderungen und sogar Kunden ändern, und es ist notwendig, sich an diese Änderungen anzupassen. Das Wissen muss angewendet werden, um das erlernte Wissen in eine Fertigkeit umzuwandeln. Talent entwickelt sich, wenn Sie Wissen in die Praxis umsetzen. Wenn sich Talent entwickelt, entwickelt sich Agilität.


Die Kernwerte, die den im Agilen Manifest und darüber hinaus hervorgebrachten agilen Techniken zugrunde liegen, sind:

Ehrlichkeit Offenheit für Veränderungen Teamgeist
Mut ehrenamtliches Engagement Respekt
Kundenorientierung effektive Kommunikation Kontinuität
Einfachheit Effizienz Selbstverwaltung

 

Was sind die 12 Prinzipien das Agile Manifest? Und was bedeutet das?

Diese Prinzipien zielen darauf ab, die Kundenbedürfnisse besser zu erfüllen, indem der Softwareentwicklungsprozess schneller und flexibler wird. Das 2001 veröffentlichte 

Die 12 Prinzipien, agiles Manifest:

1. Die erste Priorität ist die Sicherstellung der Kundenzufriedenheit durch frühzeitige und kontinuierliche Bereitstellung von Software.

Die Kundenzufriedenheit steht in Bezug auf agiles Arbeiten an der Spitze der 12 Prinzipien. Eine frühzeitige und kontinuierliche Bereitstellung erhöht die Wahrscheinlichkeit, Kundenanforderungen zu erfüllen, und trägt zu einem schnelleren Return on Investment bei. Im wirklichen Leben laufen die Dinge nie perfekt. Da sich der Kunde nicht vorstellen kann, wie die Software funktionieren wird, bis er eine funktionierende Software hat, wird das Team beim Sammeln der Anforderungen einige Lücken haben.

Der Kunde kann umfangreiches und reichhaltiges Feedback erst geben, nachdem er die laufende Software gesehen hat. Der beste Weg, um Feedback zu erhalten, besteht darin, dem Kunden so früh wie möglich die erste funktionierende Version der Software zu liefern. Der Nachteil der vorzeitigen Lieferung der Software besteht darin, dass es Mängel an der gelieferten Software gibt. Vor der Lieferung sollte das Softwareteam dem Kunden die Lieferbedingungen der Software vollständig erklären, um Panik im Falle des Fehlens erwarteter Funktionen zu vermeiden.

Ein kollaboratives Team mit Kunden, das nicht an eine strenge Spezifikation gebunden ist, hat die Möglichkeit, notwendige Änderungen während des gesamten Prozesses vorzunehmen. Das bedeutet Continuous Delivery. Agile Methoden sollten so iteriert werden. Das Team, bestehend u. a. aus dem Scrum Master und Product Owner, plant die nächsten Iterationen der Software, indem es mit dem Kunden zusammenarbeitet und Feedback von früheren Iterationen sammelt und Funktionen und Anforderungen auswählt, die der Software einen Mehrwert verleihen.

2. Auch am Ende des Entwicklungsprozesses müssen wechselnde Anforderungen erfüllt werden und der Wettbewerbsvorteil des Kunden darf nicht verloren gehen.

Viele erfolgreiche agile Teams haben Probleme, wenn sie zum ersten Mal auf dieses Prinzip für die agile Transformation stoßen. Wenn man in der Hitze des Projekts mit einer Änderung konfrontiert wird, die viel Entwicklung erfordert, wird es schwierig, durchzukommen, da der Chef unter Termindruck steht und das Team für Verzögerungen zur Rechenschaft gezogen wird.

Aber die Erfüllung sich ändernder Anforderungen sind eines der mächtigsten Werkzeuge der Agilität. Das Team als auch die Kunden sollten sich im Klaren sein, dass nicht immer alles beim ersten Mal klappen wird. Fehler werden vorkommen. Nichtsdestotrotz werden diese schnell behoben, sodass die Ziele erreicht werden können.

Die Umsetzung von Änderungen in jeder Phase der Software erhöht die Kundenzufriedenheit, da sie den Wettbewerbsvorteil des Kunden erhöht. Aufgrund der Natur des iterativen Prozesses von Agilität sollten Teams kein Problem damit haben, zeitnah auf diese Änderungen zu reagieren.

3. Die Software sollte kurzfristig geliefert werden und wenn die Verbesserungen fortgesetzt werden sollen, sollte eine kurzfristige Version erstellt werden.

Die Idee, sich ändernden Anforderungen gerecht zu werden, wird als interessant und hilfreich für Projekte angesehen. Tatsächlich sind viele Teams und Projektleiter mit der Idee aber unzufrieden. Es schafft eine Atmosphäre des Chaos, da es für sie ein schwieriger Prozess sein wird, die Veränderungen zu akzeptieren und ihnen zu begegnen. Der Weg, Änderungen vorzunehmen, ohne Chaos zu verursachen, besteht darin, regelmäßig funktionierende Software bereitzustellen.

Das Team iteriert mit regelmäßigen Fristen und stellt dem Kunden funktionierende Software zur Verfügung. Am Ende jeder Iteration demonstriert das Team dem Kunden die Verbesserungen, und aus der retrospektiven Analyse dieser Demonstrationen werden Lehren gezogen. Dann wird eine Planungssitzung gestartet, um herauszufinden, was in der nächsten Iteration zu tun ist. Zeitlich begrenzte Iterationen ermöglichen es dem Projektmanager, die Frist zu kontrollieren, um mit zu spät eintretenden Änderungen fertig zu werden. Tägliche Reviews und iterative Retrospektiven ermöglichen zudem die frühzeitige Erkennung schwerwiegender Probleme bei Projektänderungen.

4. Der effektivste Weg, Wissen im Team zu vermitteln, ist von Angesicht zu Angesicht.

Dokumentation ist für agile Teams nur eine Form der Kommunikation. Der Zweck der Erstellung des Dokuments besteht darin, sicherzustellen, dass die zu vermittelnde Idee so genau wie möglich ist. Dokumentation ist zwar ein gutes Werkzeug, aber nicht das einzige Kommunikationsinstrument. Persönliche Kommunikation ist ein viel besseres Werkzeug für das Team, um Ideen auszutauschen. Die agile Form der Kommunikation konzentriert sich auf die Kommunikation zwischen Personen, dokumentiert nur, damit detaillierte Informationen gespeichert werden können. Ein Gemeinschaftsgefühl zu schaffen, ist das Ziel der Teamkommunikation. Wenn das Team ein Gemeinschaftsgefühl hat, nähert es sich auch einem gemeinsamen Standpunkt und Konflikte werden reduziert.

5. Geschäftsleute und Softwareentwickler sollten während des gesamten Projekts täglich zusammenarbeiten.

Um eine gute Software zu entwickeln und Informationen über die mit der Software zu lösenden Probleme zu erhalten, müssen sich Teams und Geschäftsleute häufig persönlich treffen. Da Geschäftsleute den größten Teil ihrer Arbeit ohne Software erledigen können, ist dies ein kleiner Teil ihres Geschäfts.

Für Geschäftsleute wäre es ideal, eine hervorragende Software zu haben, indem man ein oder zwei Meetings mit dem Team abhält. Teams hingegen bevorzugen es einen stetigen Kontakt zu den Geschäftsleuten zu halten, um bestimmte Softwareprobleme besser und schneller lösen zu können. Wenn beide Seiten während des gesamten Projekts täglich zusammenarbeiten, wird die Produktivität erheblich höher sein, da schneller Feedback eingeht und aufgrund dieses Feedbacks schneller Änderungen und Verbesserungen vorgenommen werden.

6. Projekte nur mit motivierten Personen aufbauen und ihnen die Umgebung und Unterstützung bieten, die sie benötigen.

Das Projekt wird am besten abgeschlossen, wenn jeder im Unternehmen und im Team versteht, dass die entwickelte Software wertvoll ist. Auf der anderen Seite scheitern Projekte, wenn man den Wert der Software nicht erkennt und die Entwickler nicht belohnt werden. Wenn in einem motivierten Teamumfeld jeder die Unterstützung bekommt, die er braucht, wird das Projekt Erfolg haben.

7. Eine funktionierende Software ist das primäre Maß des Fortschritts.

Die Lieferung von funktionaler Software an den Kunden ist das ultimative Maß für den Fortschritt. Wenn das Ergebnis nicht den Erwartungen des Kunden entspricht, hat das Team ein großes Problem.

8. Agile Prozesse zur Unterstützung eines konsistenten Entwicklungstempos

Das Einhalten eines anspruchsvollen, schnellen Veröffentlichungszeitplans kann für ein Team anstrengend sein. Vor allem, wenn die Erwartungen zu hoch gesteckt sind. Agile Prinzipien ermutigen, dies zu berücksichtigen und realistische, klare Erwartungen zu setzen. Die Idee ist, die Moral hochzuhalten und die Work-Life-Balance zu verbessern, um Burnout und Fluktuation unter den Mitgliedern funktionsübergreifender Teams zu verhindern.

9. Ständiger Fokus auf technische Exzellenz und gutes Design erhöht die Agilität.

Auf lange Sicht ist es einfacher, einen Fehler frühzeitig zu vermeiden, als ihn später zu beheben. Ein gut gestalteter Code ist auch leicht zu warten, da er so entwickelt wurde, dass er leicht erweitert werden kann. Viele Innovationen der letzten Jahre, wie objektorientiertes Design und Analyse, Designmodelle, entkoppelte und serviceorientierte Architekturen haben zu technischer Exzellenz in Softwareprojekten beigetragen.

Anstatt zu Beginn jedes Projekts groß angelegte Designs zu erstellen, entwickeln agile Teams Programmiergewohnheiten, die ihnen helfen, gut gestalteten Code zu erstellen. Das Team sucht nach Problemen in seinen Designs und Codierungen, und wenn es sie entdeckt, verbringt es in der Projektzeit damit, diese Probleme zu lösen und eine Codebasis zu erstellen, die in Zukunft einfach zu warten ist.

10. Einfachheit – die Kunst, die Menge nicht getaner Arbeit zu maximieren – ist essenziell.

Das Hinzufügen eines weiteren Codes basierend auf dem Code in einem bestehenden Softwareprojekt macht den bestehenden Code komplexer. Abhängigkeiten zwischen Systemen, Objekten und Diensten machen den Code komplexer, und wenn eine Änderung gewünscht wird, erfordert diese Änderung eine weitere Änderung, sodass sich die Komplexität allmählich gegenseitig auslöst. Die Menge an Aufgaben zu maximieren bedeutet, dieses Durcheinander zu vermeiden.

Der Versuch, den vorhandenen Code bei jeder Iteration zu ergänzen, wird dem Projekt mehr schaden, als den Code zu löschen und einen neuen zu schreiben. Die Kosten für die Verwaltung von zusätzlichem Code sind höher als für das Löschen und Schreiben von neuem Code. Daher sollte ein Team in der Lage sein, den Code einfacher und wartungsfreundlicher zu halten, indem es Software entwirft, die aus kleinen, unabhängigen Einheiten mit einer einzigen Funktion besteht.

11. Die besten Architekturen, Anforderungen und Designs entstehen aus sich selbst organisierenden Teams.

Die Designs von Teams, die viel im Voraus planen, sind oft komplex. In einem selbstorganisierenden Team gibt es keine konkreten Anforderungen und Gestaltungsphasen. Das Team organisiert sich selbst, um das Projekt zu planen, und dafür kommen sie oft zusammen, zerlegen das Projekt in kleine Teile entsprechend ihren Funktionen und beginnen, sich von den Teilen zu entwickeln, die für das Unternehmen am wertvollsten sein könnten.

Sobald die Entwicklung beginnt, beginnt das Team über Anforderung, Design und Architektur im Detail nachzudenken. In diesem Prozess entwickeln die Projektarchitekten im agilen Team inkrementelle Designprojekte mit Techniken, die dem Team helfen, ein System zu entwerfen, das sich im Laufe der Zeit ändern kann, anstatt zu versuchen, ein großes Design zu erstellen, um alle Anforderungen zu Beginn des Projekts zu erfüllen.

12. In regelmäßigen Abständen bewertet das Team, wie es effektiver werden kann, und verfeinert dann seine Arbeit entsprechend.

Ein Team kann agil sein, wenn es seine Softwareentwicklungsmethoden kontinuierlich verbessert. Agile Teams prüfen ständig, wie das Projekt funktioniert und nutzen die daraus gewonnenen Erkenntnisse für spätere Verbesserungen. Wenn sich das Team jeden Tag trifft, suchen sie nach Möglichkeiten, sich zu verbessern und zu verändern, und wenn die Idee Sinn macht, beginnen sie sofort mit den Änderungen. Der einzige Weg, als Team erfolgreicher zu werden, besteht darin, die bisher vom Team geleistete Arbeit zu bewerten und weitere Verbesserungen zu planen.

Fazit

Zusammenfassend lässt sich sagen, dass das Agile Manifest eine wichtige Grundlage für agile Methoden im Projektmanagement ist. Die Kernwerte und Prinzipien des Manifests bieten eine Orientierung und helfen dabei, effektiv und erfolgreich im Team zusammenzuarbeiten.

Wenn du mehr darüber erfahren möchtest, wie du das Agile Manifest in deiner Arbeit umsetzen kannst, solltest du unsere "Scaled Agile Framework"-Seite besuchen. Dort findest du verschiedene SAFe-Kurse, darunter auch unseren "Leading SAFe"-Kurs, der dir die Grundlagen von SAFe vermittelt und dich auf die SAFe-Agile-Zertifizierung vorbereitet.

Und wenn du dich auch für andere IT-Themen interessierst, haben wir auf unserer "Academy" Seite eine breite Palette an Schulungen und Zertifizierungen im Angebot, die dir dabei helfen können, dein Wissen und deine Fähigkeiten in verschiedenen Bereichen zu erweitern. Schau doch mal vorbei und entdecke die Möglichkeiten, die dir zur Verfügung stehen!

 


Referenzen:

Letzte Chance

um dich für diese Schulungen mit Rabatt anzumelden

Inhouse Training

Du suchst nach einer Schulung für ein ganzes Team, aber keines unserer Trainings entspricht Deinen Anforderungen? Kein Problem! Gerne konzipieren wir gemeinsam mit dir ein maßgeschneidertes Inhouse-Training, das optimal auf die Bedürfnisse deines Unternehmens zugeschnitten ist. Wir freuen uns auf deine Anfrage!

Empfohlen