.jpg)
Steckbrief: Die 12 Prinzipien des Manifests für agile Software-Entwicklung
Steckbrief
Die zwölf Agilen Prinzipien
Eigentlich sollte es nur ein gemeinsames Winterwochenende mit Sonne, gemeinsamen Skilaufen, gutem Essen und guten Gesprächen über die Verbesserung von Softwareentwicklung werden.
Tatsächlich wurde an diesem Wochenende von den Teilnehmern nicht nur das Manifest für Agile Software-Entwicklung formuliert. In Folge entwickelte sich daraus ein Set von Führungs- und Organisationsprinzipien, die unter den Namen Agiles Management gefasst werden und ihren Wert inzwischen für alle Arten von Unternehmen und Organisationen bewiesen haben.
Agilität bedeutet „Beweglichkeit, Mobilität”. Im Zusammenhang mit Managementprozessen ist damit ein erhöhtes Maß an Flexibilität gemeint, die in den heutigen Zeiten der schnellen Veränderungen und zunehmenden Komplexität der Prozesse dringend Not tut. Es handelt sich um eine unternehmerische Strategie, die vorausschauendes Handeln und Flexibilität in den Vordergrund stellt, um mögliche Marktveränderungen und Kundenwünsche schneller als bisher zu erkennen und darauf reagieren zu können.
Hier im Folgenden finden Sie die 12 Prinzipien, die das Manifest für Agile Software-Entwicklung umfasst.
Mit dem Nutzer zusammenarbeiten
Niemand kann so gut über die Qualität und die umgesetzten Anforderungen Auskunft geben wie die Anwender des Produktes. Durch die frühzeitige und regelmäßige Einbindung der Nutzer erhält das Team wertvolles Feedback.
Änderungen begrüßen
„Radikale Anforderungsänderungen sind selbst spät in der Entwicklung willkommen. Agile Prozesse nutzen Veränderungen zum Wettbewerbsvorteil des Kunden.“
Hinter diesem Prinzip steht die Kernidee, dass es sinnvoller ist, eine Realität zu akzeptieren und sich darauf einzustellen als sich ihr zu verweigern. Wenn man akzeptiert, dass Anforderungen nicht bis ins letzte Detail beschrieben und vorhergesehen werden können, dann sollten sich auch die Arbeitsprozesse an dieser Realität ausrichten und die Anpassungsfähigkeit beibehalten.
Crossfunktionale Teams
Im Team sind alle Kompetenzen vereint, die zur Lösung der Aufgabe nötig sind und um das Ziel zu erreichen. Alle arbeiten gemeinsam an einem Ziel. Alle lernen voneinander.
Aber nicht nur die Kompetenzen sollten Vielfalt aufweisen, sondern auch die Persönlichkeiten, denn heterogene Teams sind besser aufgestellt als homogene Teams um kreativere Lösungen zu finden.
So schnell wie möglich liefern
„Unsere höchste Priorität ist es, den Kunden durch frühe und kontinuierliche Auslieferung wertvoller Software/Produkte zufrieden zu stellen.“
Das Ziel ist nicht, ein perfektes, vollständig ausgereiftes Produkt zu entwickeln, sondern durch regelmäßige und schnelle Auslieferung eines funktionierenden Produkts die Wertschöpfung zu erhöhen und den Anwendernutzen zu optimieren.
Starte mit den Motivierten
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 Projekte sollten nicht verordnet werden, sondern mit denen starten, die sich freiwillig beteiligen, um positive Erfahrungen damit zu ermöglichen.
Gleichmäßiges Tempo
Ziel ist es ein gleichmäßiges Arbeitstempo zu finden, das auch auf unbegrenzte Zeit zu halten ist. Dadurch kann auch besser eine gleichmäßige Auslastung der Mitarbeiter erreicht werden.
Der Begriff „Sprint“ (Planungszyklus) in Scrum lässt zwar eher ein schnelles Tempo vermuten, tatsächlich aber fördern agile Prozesse eine nachhaltige Entwicklung.
Funktionierende Produkte sind das Maß
Liefere funktionierende (Zwischen-)Produkte regelmäßig innerhalb weniger Wochen oder Monate und bevorzuge dabei die kürzere Zeitspanne. Funktionierende Produkte sind das wichtigste Fortschrittsmaß.
Simplicity
Einfachheit – die Kunst, die Menge der nicht getanen Arbeit zu maximieren – ist essenziell und sicherlich eine große Herausforderung, denn sie bringt uns dazu, aktiv zu entscheiden, welche Dinge wir nicht mehr tun. Alles zu tun, was anfällt ist, in unserem Arbeitsleben nicht mehr möglich.
Face 2 Face - Kommunikation
Die effizienteste und effektivste Methode, Informationen an und innerhalb eines Teams zu übermitteln, ist das Gespräch von Angesicht zu Angesicht.
Je länger der Weg zwischen zwei Personen ist und je mehr Hindernisse sich zwischen diesen befinden, desto schwieriger wird der kommunikative Austausch, vor allem wenn Konflikte im Raum sind. Dabei geht es trotzdem darum Arbeit intelligent zu managen, denn für bestimmte Arbeiten ist das mobile Arbeiten sicherlich die bessere Alternative.
Exzellenz und gutes Design
„Ständiges Augenmerk auf technische Exzellenz und gutes Design fördert Agilität.“
Selbstorganisation
„Die besten Architekturen, Anforderungen und Entwürfe entstehen durch selbstorganisierte Teams.“
In einem Team von qualifizierten Kopfarbeitern entscheidet das Team selbst, wer wann welche Aufgabe wie durchführt. Jede Form von Micro-Management bewirkt den Verlust von Selbstverantwortung und Motivation. Gemeint ist dabei nicht der Verzicht auf Führung (Leadership), sondern der Verzicht auf kleinteilige Planung von Aufgaben, bei denen die durchführenden Teammitglieder selbst am besten wissen, wie sie zu organisieren sind.
Inspektion und Adaption
„In regelmäßigen Abständen reflektiert das Team, wie es effektiver werden kann und passt sein Verhalten entsprechend an.“
Eines der wesentlichen Grundprinzipien aller agilen Methoden ist das kritische Hinterfragen des Status Quo mit dem Ziel, aus den Erfahrungen Rückschlüsse für den weiteren Weg zu ziehen. Dieses Prinzip hilft, um Schwierigkeiten, Probleme, aber auch Vorteile schnell zu erkennen und zu nutzen. Das kann für das Produkt, die Prozesse, die Aspekte der Zusammenarbeit, die Praktiken und die kontinuierlichen Verbesserungen genutzt werden.
Zusätzliche Prinzipien
Arbeit sichtbar machen – Make Work Visible
Die Darstellung des Arbeits- und Entwicklungsprozesses und seiner einzelnen Arbeitsschritte hilft dabei, die Arbeitsabläufe zu hinterfragen und zu verbessern. Eine funktionierende Koordination im Team wird durch diese Sichtbarkeit der Arbeit deutlich vereinfacht. Eine gängige Methode dafür ist das Kanban-Board oder die Arbeit mit Haftnotizen.
Entscheidungen da treffen, wo die Infos sind
Die akzeptierte Verantwortung eines Teams steigt mit dessen Möglichkeit, eigene Entscheidungen treffen zu dürfen. Diese Bevollmächtigung kann nur von oben gegeben werden. Aus diesem Grunde ist das Management bei der Einführung agiler Methoden immer stark mit einzubeziehen.
Transparenz
Der wichtigste Aspekt, um ein System, ein Produkt oder einen Prozess beurteilen zu können, ist die volle Transparenz über alle Zustände und Ergebnisse. Transparenz ist die grundlegende Basis für die weitere Inspektion und die abgeleitete Adaption bzw. Verbesserung.
Verschwendung eliminieren
Das aktive Weglassen von Anforderungen und Funktionalitäten führt zu einer Fokussierung, auf die tatsächlich benötigten und wichtigen Features in einem Produkt. Auch der Verzicht auf die technisch „schönste“ Lösung kann oftmals zu einer Beschleunigung und Entschlackung der Entwicklung führen. Überflüssige Arbeit und Features sollen unbedingt vermieden werden.
copyright Bild: Freepik.com