2007-06-15

Agile Manifesto - Zusammenhang zwischen Agiler Software-Entwicklung, Postmoderne und Kirche

Agile Software-Entwicklung

Seit einiger Zeit hat sich in der Software-Entwicklung der Begriff "agil" (engl.: agile) eingebürgert, und wird inzwischen gerne als plakativer Werbebegriff für "fortschrittlich", "zeitgemäß" usw. als Gegensatz zu "überholt" und "starr" oder "unflexibel" verwendet.

Etliche bekannte Größen und Vordenker im Bereich "Methodik der Software-Entwicklung" hatten sich 2001 zusammengetan, und Prinzipien formuliert, die Verbesserungen im Entwicklungsprozess bringen sollten, und einen besseren Umgang mit den neuzeitlichen Anforderungen an Software und deren Erstellung garantieren sollen. Es ging dabei darum, Erfahrungen aus der Praxis, die auch aufgrund von Experimentierfreudigkeit in Projekten gewonnen wurden, zu sammeln und zu verallgemeinern.

Als Problemthemen der Software-Entwicklung wurden dabei folgende Bereiche erkannt:

  1. Starre Vorgehensmodelle, die auf kurzfristige Änderungen von Anforderungen nicht eingehen konnten, da der Durchlauf von der Anforderung bis zur Realisierung zu lang und zu umständlich war. Meist wurden die Verfahren von entsprechenden Methoden-Abteilungen entworfen, die diese inklusive dazugehöriger Werkzeuge dann den Entwicklungsabteilungen vor die Füße warfen, mit dem üblichen Resultat, dass ein Bruch zwischen Theorie und gelebter Praxis eher zu Hindernissen statt zu Verbesserungen im Prozess führten und Werkzeuge als in der Praxis recht unhandlich erwiesen.
  2. Ebenfalls starr an den Vorgehensmodellen war die Notwendigkeit, ein vorgegebenes Arbeitsschema immer und für alle Projekte anwenden zu müssen, auch wenn dies hieß, ein Projekt künstlich und umständlich in dieses Schema hineinquetschen zu müssen.
  3. Starre Projektstrukturen, die durch einen Overhead von Hierarchieebenen und zuständigen Instanzen mit Kontroll- und Steuerfunktionen bremsend auf Veränderungen von Anforderungen, Vorgehensweisen und einzusetzenden Werkzeugen wirkten, nicht zu reden von dadurch hervorgerufenen Machtkämpfen und Kompetenzstreitigkeiten, welche nicht dem eigentlichen Projektziel -eine bestimmte Software zu entwickeln- förderlich waren.
  4. Überverwaltung, die sich oft in Form von einem Übermaß an Dokumentation, Formularen, Papieren, Spezifikationen und Planungen ausdrückte. Oft dauerte das Dokumentieren der Anforderungen, Ausformulieren von Aufträgen, Einplanen der Tätigkeiten, Entwerfen der Lösungskonzepte und Beschreiben der implementierten Lösung nebst Qualitätssicherung der Dokumente (mal abgesehen vom Lesen und Verstehen)um etliches länger, als das Programmieren der Lösung selbst, nicht zu reden von der Pflege der Ablagen, Suchen und Finden der Dokumente, nachziehen von Änderungen in diesen usw.

Im ersten Schritt gingen die Vertreter der Agilen Entwicklung hin, pfiffen auf dieses industrielle Verwaltungsgelumpe und bauten einfach ihre Software. Musste man wissen, wie ein bestimmter Teil zu realisieren sei, ging man zum Sachbearbeiter und fragte ihn einfach. Kurze Hand-Notizen, ein Digi-Foto des Gekritzels auf dem Whiteboard, ein formloses Worddokument, waren die Grundlagen für die Entwicklung. Ging ein Problem oder eine Frage über zwei Teams hinweg, so ging man einfach hinüber und sprach sich mit dem Kollegen im anderen Team ab, der sogenannte "kleine Dienstweg". Software wurde bereits in sehr frühem Zustand dem Kunden lauffähig gezeigt, notwendige Änderungen sofort besprochen und kurzfristig umgesetzt.

Während traditionell industriell orientierte Verfahrenstheoretiker die Hände über dem Kopf zusammenschlugen, weil sie den Untergang der Projekte im Chaos voraussahen, stellte sich diese Vorgehensweise als hoch flexibel, weit weniger riskant als gedacht und überlebensfähig heraus, und die Akzeptanz der daraus resultierenden Software beim Kunden war unerwartet hoch, "Agile Software Development" war geboren.

Natürlich geht es in keinem Teamprozess völlig ohne Ordnung und Struktur, daher wurden von unterschiedlichen Leuten an unterschiedlichen Orten verschiedene Verfahren und Methoden entwickelt, die dieser agilen Vorgehensweise Rechnung trugen, aber dennoch die Fehler der herkömmlichen Methodiken vermieden. Diese Verfahren traten zum Teil in Konkurrenz zueinander, da sie unterschiedliche Aspekte mit unterschiedlichem Schwerpunkt betonten und natürlich entsprechend unterschiedliche Vorgehensweisen vorsahen.

Trotz allem erkannte man, dass das generelle Ziel dieser Entwicklungen bei allen Verfahren das gleiche war.

So trafen sich im Jahre 2001 nun diese Vordenker und schlossen sich zur "Agile Alliance" zusammen, deren Anliegen sie im Agile Manifesto formulierten.

Hintergründe und den Text des von dieser Gruppe erstellten Manifests sind auf Agile Manifesto nachzulesen.

Unter Agile Manifesto - die Grundlagen kann man eine deutsche Übersetzung und einen Kommentar dazu finden.

Hier der übersetzte Text der vier Kernsätze des Manifests:

  1. Menschen und Kommunikation sind wichtiger als Prozesse und Tools
  2. Lauffähige Software ist wichtiger als eine ausführliche Dokumentation
  3. Die Zusammenarbeit mit dem Kunden ist wichtiger als Vertragsverhandlungen
  4. Auf Änderungen zu reagieren ist wichtiger als dem Plan zu folgen

Bezug zur Postmoderne

Wenn man Beschreibungen zur Postmoderne liest, so drängen sich einem unweigerlich einige Parallelen auf.

Das ganze Manifest und alle Verfahren der Unterzeichner sind letztlich auf kritische Hinterfragung und Zweifel am Universalitätsanspruch traditioneller Methodiken basiert.

So ist schon der erste Satz des Manifestos interpretierbar als ein Ausdruck der Abkehr von der Industrialisierung und der Unterordnung des Menschen unter das Diktat der Maschine, bei gleichzeitiger Hinwendung zum menschlichen Gegenüber.

Menschen und Beziehungen werden höher gewertet als Sachwerte, ohne dabei das Ziel von beidem aus den Augen zu verlieren. Jedoch verschiebt sich die Priorität eindeutig zu Ersteren. Jegliche Sache (seien es Dinge, wie Dokumente oder Werkzeuge oder Konzepte, wie Methoden und Pläne) muss sich den Menschen unterordnen und ihnen dienlich sein, nicht umgekehrt.

Gleiches gilt, wenn auch nicht explizit erwähnt, für Hierarchiestrukturen, die nicht um ihrer selbst willen existieren dürfen oder gar als Machtbereich eines höher Positionierten, sondern dem gemeinschaftlichen Projektziel untergeordnet sind. Der Leiter wird zum Dienenden. Dies findet sich jedoch nur implizit in den Begriffen "Kommunikation" und "Zusammenarbeit" wieder.

Die Tatsache, dass Vertreter durchaus konkurrierender Verfahren sich in einer Allianz zusammenschlossen und gemeinsame Ziele formulierten, ist ein klarer Ausdruck postmoderner Toleranz, Freiheit und Pluralität.

Bezug zu anderen Kontexten, zum Beispiel Kirche

In wieweit können Aussagen darin verallgemeinert und in andere Kontexte übertragen werden ?

Gerade der Bereich der IT und Software-Entwicklung ist ein sehr moderner (im doppelten Sinne) Bereich der Gesellschaft. Er besteht nicht nur aus der "Software-Industrie" zu der die großen kommerziellen Vertreter wie Microsoft oder klassisch-IBM gehören, sondern hat auch durch universitäre Einflüsse sehr stark zur Fortschritts-Entwicklung beigetragen. Globalisierung und weltweite Kommunikation sind gerade durch die Errungenschaften der IT-Branche entstanden, vor allem durch das Internet und die neuen Medien.

Gerade in diesem Umfeld hat sich aber auch eine Gegenkultur der Gesellschaft etablieren können: Die Hacker-Kultur (siehe Hacker auf Wikipedia). Ich verwende diesen Begriff dabei im klassischen Sinne, nicht zu verwechseln mit Cracker oder Raubkopierer. Aus diesem Umfeld heraus hat sich als Gegentendenz zur Industrialisierung und Kommerzialisierung die Open-Source Bewegung gebildet, deren Erfolge wird gerade in den letzten Jahren sehen und in den kommenden Jahren noch stärker erleben werden. Zu fast allen kommerziellen Programmen (Betriebsystem, Office-Paket, Graphik-Bearbeitung, Musikproduktion, Mediaplayer ...) gibt es ein Pendant im Open Source Bereich, welches vielfach gleich gut und teilweise sogar um einiges besser ist als die kommerzielle Variante.

Open Source wird dabei gestützt durch die Prinzipien der freiwilligen engagierten Zusammenarbeit, des Offenlegens aller Quellen, durch Kostenfreiheit und der besonderen Berücksichtigung der Rechte des Anwenders, im Gegensatz zu Geheimhaltung, informationellem Feudaldenken und vornehmlich monetären Interessen.

Treibender Faktor des Open Source ist das Gemeinschaftsdenken.

Als Resultat davon sind Open Source Programme oft fehlerfreier, Sicherheitslücken und Bugs werden schneller erkannt und behoben, Unterstützung bekommt der Benutzer statt durch kommerziellen Support durch die weltweite Gemeinschaft der Anwender, die teilweise ein Wissen bereit hält, welches sich eine kommerzielle Supportabteilung gar nicht leisten kann.

Der Grundsatz: "Nimm es, fühl dich frei, es zu nutzen und für deine Belange anzupassen" greift nun so nach und nach auch auf andere Bereiche der Gesellschaft über.

So schießen zur Zeit Open-Books aus dem Boden, zum Beispiel für den Computerbereich bei Galileocomputing. Siehe auch das Projekt Gutenberg. Wissen wird in Form von Wiki-Systemen präsentiert, weit voran Wikipedia, die freie Enzyklopädie, deren Grundlage es ist, dass prinzipiell jedermann zu den Inhalten beitragen und diese Anpassen kann. Mit dem Problem entsprechender Rechteabsicherung und Freiheitsgewährung beschäftigt sich unter anderem die Organisation Creative Commons.

Gemeinschaftliche Zusammenarbeit zur Erreichung gemeinschaftlicher Ziele wird immer mehr Bestandteil der zeitgenössischen Gesellschaft.

Auch die Kirchen bleiben von dieser Veränderung nicht ... "verschont" ...? tatsächlich fällt mir dieser Begriff an dieser Stelle schwer.

Gerade auch im kirchlichen Umfeld spiegeln sich diese Tendenzen der Gesellschaft wider. Betrachten wir beispielsweise die Evangelische Allianz, so besteht diese aus der traditionellen Landeskirche, die in ihrer Struktur ihr Pendant in der Industrie und Verwaltung der modernen Gesellschaft findet, aber auch aus den Freikirchen, die in ihrer Vielfalt bereits in der Moderne eine Pluralität darstellen.

Dort, wo Allianz wirklich gelebt wird und gemeinschaftliche Zusammenarbeit trotz der Unterschiede möglich ist; dort, wo Gottesdienstformen und Gemeindestrukturen dem Menschen zeitgemäß in seinen Ausdrucks- und Lebensformen nahekommen; dort befindet sich Kirche auf dem Weg in die Postmoderne.

Die Frage ist, ob so etwas wie das "Agile Manifesto" auch für Kirche in der Postmodernen Gesellschaft formuliert werden kann.

Ein spontanes Beispiel, welches aus dem Originaltext abgeleitet wurde, wäre:

  1. Menschen und Kommunikation sind wichtiger als gemeindlicher Aktivismus, Arbeitsgruppen und Strukturen.
  2. Gelebter Glaube ist wichtiger als das theoretisieren über theologische Inhalte
  3. Zusammenarbeit der Gläubigen ist wichtiger als die Satzungs-Unterschiede der Kirchenorganisationen.
  4. Auf Zustände und Veränderungen der Menschen vor Ort einzugehen ist wichtiger als Traditionen, Gemeinde-Konzepten und Aufbau-Theorien zu folgen.

1 Kommentar:

MentalRover hat gesagt…

Dieser Artikel wurde auf Exiles: Ein kleiner Zwischenruf in den Alltag in Kommentaren besprochen.