Das Agile Manifest beschreibt 12 agile Prinzipien. Jeff Sutherland, dem Miterfinder von Scrum und Unterzeichner des agilen Manifest, antwortete auf die Frage: „Was ist Agile?“ mit: „4 Werte und 12 Prinzipien.“.
Agile Prinzipien hinter dem Agilen Manifest
Schauen wir uns nun die agilen Prinzipien an.
Unsere höchste Priorität ist es den Kunden durch frühe und kontinuierliche Auslieferung wertvoller Software zufriedenzustellen.
Dahinter verbirgt sich nichts weiter als: Baue, Liefere und Lerne daraus. Schauen Sie sich dazu den Deming-Kreis an.
Heiße Änderungen, selbst spät in der Entwicklung willkommen. Agile Prozesse nutzen Veränderungen zum Wettbewerbsvorteil des Kunden.
Dieses Prinzip fordert dazu auf, zu jeder Zeit Änderungen in der Entwicklung zu akzeptieren und umzusetzen. Durch die ständige Bereitschaft Änderungen zu akzeptieren, entsteht ein klarer Wettbewerbsvorteil durch frühzeitige Lieferung, Realisierung und schnellerer Return on Invest dem ROI.
Liefere funktionierende Software regelmäßig innerhalb weniger Wochen oder Monate und bevorzuge dabei die kürzere Zeitspanne.
Beschreibt das Iterativ, inkrementelle Vorgehen.
Fachexperten und Entwickler müssen während des Projektes täglich zusammenarbeiten.
Sie sollen in Zusammenarbeit mit dem Kunden, den Entwicklern und den Stakeholdern, für das was erschaffen werden soll, ein gemeinsames Verständnis aufbauen.
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.
Bei den motivierten Individuen ist es manchmal etwas problematisch ein ganzes Team davon zu finden. Trotzdem sollte die Bemühung stets vorhanden sein, dieses Team zusammenzustellen und motiviert zu halten.
Die effizienteste und effektivste Methode, Information an und innerhalb eines Entwicklungsteams zu übermitteln, ist im Gespräch von Angesicht zu Angesicht.
Heißt auch: Vergessen Sie Dokumente, schreiben Sie keine E-Mails, sondern begeben Sie sich direkt zu deinem Gesprächspartner und interagiere mit ihm persönlich.
Funktionierende Software ist das wichtigste Fortschrittsmaß.
Das bedeutet egal, was Sie tun, am Ende zählt nur die funktionierende Software.
Agile Prozesse fördern nachhaltige Entwicklung. Die Auftraggeber, Entwickler und Benutzer sollten ein gleichmäßiges Tempo auf unbegrenzte Zeit halten können.
Hier hilft es die Velocity, also die Entwicklungsgeschwindigkeit im Auge zu behalten und die Teams nicht permanent mit 100% auszulasten. Es ist wie mit einem Fahrzeugmotor. Wenn dieser permanent am roten Bereich gefahren wird, dann verkürzt sich die Zeit bis zu einem Ausfall wesentlich.
Ständiges Augenmerk auf technische Exzellenz und gutes Design fördert Agilität.
Mike Beedle hat dazu einen Tweet geschrieben:
„Agile doesn’t cure INCOMPETENCE.You can coach teams to be more engaged and collaborative, but NO Agile framework, method, or mindset can save you from BLATANT FAILURE if your development team is INCOMPETENT in basic engineering practices.Technical excellence is a MUST!“
Deutsche Übersetzung:
„Agile heilt keine INKOMPETENZ. Sie können Teams coachen, um engagierter und kollaborativer zu sein, aber KEIN agiles Framework, keine agile Methode oder Denkweise kann Sie vor EKLATANTEM MISSERFOLG bewahren, wenn ihr Entwicklungsteam in grundlegenden Konstruktionspraktiken INKOMPETENT ist. Technische Exzellenz ist ein MUSS!“
Einfachheit, die Kunst, die Menge nicht getaner Arbeit zu maximieren, ist essenziell.
Gerade für Softwareentwickler ist dieser Hinweis entscheidend. Keine Sonderlocken, keine goldenen Henkel, sondern: Mache weniger und erreiche mehr. Profis werden nicht dadurch schneller, indem du sie antreibstt, sondern sie erreichen eine höhere Entwicklungsgeschwindigkeit dadurch, indem sie ihre Tätigkeiten reduzieren und wirklich nur die notwendigen Dinge erledigen.
Die besten Architekturen, Anforderungen und Entwürfe entstehen durch selbstorganisierte Teams.
Heißt für die Führungskraft ganz einfach: Halt dich bitte raus.
In regelmäßigen Abständen reflektiert das Team wie es effektiver werden kann und passt sein Verhalten entsprechend an.
Das ist die Verpflichtung zur kontinuierlichen Verbesserung. Perfektion existiert nicht. Deswegen ist die ständige Verbesserung ein Grundbaustein der Agilität. Es gibt immer irgendetwas zu verbessern, um näher an Perfekt heranzukommen.
Wie lösen diese agile Prinzipien Probleme aus dem Wasserfallmodell?
Schauen wir uns die agilen Prinzipien mal genauer an. Agile Prinzipien teilen sich in zwei Bereiche:
- Der Bereich über die adaptive Komponente: Sie hilft Übersetzungsprobleme frühzeitig zu erkennen.
- Über die Zusammenarbeit: Diese hilft ebenfalls Übersetzungsprobleme frühzeitig zu erkennen. Missverständnisse zu eliminieren und ein gemeinsames Verständnis aufzubauen.
Entstehen durch Agile auch neue Probleme?
Ja, sicher. Durch die ständige Veränderung fühlst du dich, als hättest du nicht alles im Griff und diese Unvorhersehbarkeit macht Führungskräften in Organisationen zu schaffen.
Es fühlt sich an wie auf einem Schiff ohne Ruder.
Der Kunde wird ständig einbezogen und muss sich mit dem System beschäftigen. Das ist der Kunde nicht gewohnt, bisher erwartet er einfach ein Ergebnis. Das macht Agilität schwierig, wenn das Mindset, bzw. die Denkweise nicht geändert wird.
Dazu fällt mir noch ein Zitat von dem Rennfahrer Mario Andretti ein. Der wurde 1978 Weltmeister in der Formel 1. Andretti hat gesagt: “Wenn du glaubst, alles unter Kontrolle zu haben, fährst du nicht schnell genug.”.
Deshalb ist bei Scrum alles kontrolliert, aber nicht alles unter Kontrolle.