Da ist es nun also schon seit vielen Jahren und findet immer weitere Verbreitung - das agile Manifest. Fast alle Organisationen und Menschen folgen mittlerweile "agilen Prinzipien" - oder glauben dies zumindest. Aber was hat es wirklich damit auf sich?
Der Ursprung
Entstanden ist der Text als Sammlung von “best practices” zum Management eines Software-Entwicklungsprozesses. Beteiligt waren eine Reihe von erstklassigen Programmierern, die sich ausgehend von Ihren Kenntnissen und Erfahrungen im Wesentlichen auf Verfahren, Vorgehen und Prinzipien geeinigt haben, von denen Sie sich gemeinsam einen großen Wert für diesen Prozess und dessen Ergebnissen versprachen. Es waren also herausragende Praktiker, die versucht haben, theoretische Grundlagen ihres eigenen, erfolgreichen Handelns zu beschreiben. Dies geschah in aller gebotenen Kürze - Manifeste sind normalerweise nur eine Seite lang - und unter vielen Kompromissen und gibt also nur einen kleinen - wenn auch wesentlichen - Ausschnitt der vorhandenen “best practices” wieder.
Die Kernaussage
Diese Empfehlungen der Verfasser des agilen Manifests müssen den konkreten Umständen angepasst werden, und damit sie ihre Wirkung entfalten können, ist dabei insbesondere auf die beteiligten Personen Rücksicht zu nehmen. Agile Prozesse sind in diesem Sinne also immer “individuell”, denn nur so gelingt es, die Stärken der Teammitglieder zu nutzen und ihre Schwächen zu kontrollieren. Vorbild kann und soll hier in vielerlei Hinsicht etwa eine militärische Spezialeinheit sein, meist eine kleine Gruppe von hoch qualifizierten Experten, die in den meisten Fällen über mehrere Qualifikationen verfügen und gemeinsam herausfordernde Aufgaben in einer festgelegten (zeitlichen) Abfolge bewältigen, immer unter Einhaltung der (vorgeschriebenen) “best practices”.
Dabei spielt direkte, effektive und effiziente Kommunikation zwischen den Beteiligten eine entscheidende Rolle. Je größer das gemeinsame Verständnis der Gruppe und der anderen Beteiligten für eine Aufgabe ist, desto kleiner sind die für die Abstimmung notwendigen Aufwände. Agilität setzt üblicherweise eine offene und direkte, aber dennoch wertschätzende Kommunikation voraus und erfordert von Seiten aller Beteiligten ein hohes Maß an Objektivität, Selbstreflexion und Disziplin. Nur so werden die Aufwände für die Steuerung des Prozesses minimiert, und dies ist das Ziel des agilen Vorgehens. Achten alle Beteiligten darauf, so kann dies tatsächlich gelingen.
Daher darf Agiltät nicht verwechselt werden mit den zahlreichen in den letzten Jahren modern gewordenen Methoden, diese zu “managen” oder “einzuführen". Agiltät ist weder Kanban, Scrum, Scaled Agile Framework oder Extreme Programming, sondern immer eine individuell auf die Beteiligten angepasste Mischung aus in diesem Kontext Erfolg versprechenden Methoden und einer Geisteshaltung, bei der - unter Unterordnung einzelner und persönlicher Interessen - das bestmögliche Ergebnis für den Kunden angestrebt wird. Es steht also ein ausgeprägter “Dienstleistungsgedanke” im Vordergrund des Handelns.
Das Versprechen
Hat sich ein Team auf die oben beschriebene Weise gefunden und aufeinander eingespielt und werden die Anforderungen gemäß der Empfehlungen des Manifestes an so ein Team gerichtet, so kann es sich im besten Fall vollständig auf die zu bewältigende Aufgabe konzentrieren und diese mit großer Wahrscheinlichkeit mit dem bestmöglichen Resultat bearbeiten.
Die Schwierigkeiten
Die größte Schwierigkeit der Agilität ist, den Teams die Freiheit zu lassen, ihre Form der Zusammenarbeit zu finden und sie daran nicht durch striktes Festhalten an empfohlenen Methoden oder Formalien bzw. Vorschriften zu hindern - wenn z.B. ein Team für sich entscheidet, dass es besser mit strikten Führungsrollen funktioniert als mit "demokratischer Gleichheit", dann widerspricht es möglicherweise allen agilen Vorgehensweisen - ist aber dennoch agil, indem es besser performt als vorher. Dies gilt in allen Bereichen der Software-Entwicklung.
Eine weitere Schwierigkeit ist es, dass das allgemeine Verständnis agiler Methoden ohne jeglichen Zweifel davon ausgeht, dass sich jedes Teammitglied von vornherein auf der Stufe eines Experten befindet und höchstens noch an seiner Geisteshaltung arbeiten muss, ansonsten aber problemlos alle Aufgabe bewältigen könne. In der Realität erweist es sich aber für viele Teams als hilfreich, wenn je nach Reife des Teams weiterhin eine angemessene Führung vorhanden ist.
Als letztes ist noch anzumerken, dass der Aspekt des "Erforschens" der genauen Aufgabenstellung anhand von konkreten Beispielen je nach Projekt hinterfragt werden sollte - was ebenso vielen schwer fällt. Je genauer und vollständiger die Anforderungen im voraus bekannt sind bzw. ermittelt werden können, desto weniger Flexibilität wird im Prozess der Software Entwicklung benötigt. Das reicht bis zur für bestimmte Bereiche vorgeschriebenen formalen Verifikation entsprechender Programme. Arbeitet ein Unternehmen hingegen in einem Bereich, wo grosse Unsicherheit bezüglich verschiedener Rahmenbedingungen herrscht und die genauen Anforderungen weder ermittelt noch festgelegt werden können oder sich sogar stetig ändern, so sind agile Methoden geeignet, sowohl den Prozess der Ermittlung der Anforderungen als auch deren Umsetzung in Software in hoch effizienter Weise zu kombinieren.
Fazit
Agilität hat sehr viel weniger mit festen Vorgehensmodellen zu tun als vielmehr mit einer Geisteshaltung - und diese muss sich nicht nur in den Entwicklungsabteilungen verbreiten, sondern auch im Rest der Organisation: Nutze dein Wissen und deine Fähigkeiten, um gemeinsam mit allen anderen Beteiligten einen Erfolg für das gemeinsame Unterfangen zu erzielen.
Falls Sie weitergehende Informationen zu den Themen der Agiltät sowie zu Prozessen der (kontinuierlichen) Verbesserung wünschen, freuen wir uns über Ihren Kontakt.