Die Zeit der Unschuld ist vorbei

Die Zeit der Unschuld ist vorbei
Die XPDays 2009 haben mich sehr beeindruckt. Eine Erkenntnis macht sich seitdem bei mir breit. Andreas Boes beschrieb sie in seinem Vortrag theoretisch, die anwesenden Kollegen von SAP aus praktischer Sicht. In einen Satz gebracht könnte man sagen: Mit der Verbidnung von agilen Praktiken als Managementmethode im Kleinen, Operativen und Lean-Management im Großen setzt sich im Bereich der Softwareentwicklung eine Prozessrevolution durch, die in ihrer Bedeutung mit der industriellen Revolution vergleichbar ist. Andreas Boes sprach bei der Durchsetzung der Leanpraktiken im Management von einer zweiten industriellen Revolution. Die Kollegen von SAP sprachen davon, dass durch Leanmanagement – durch entsprechende makroskopische Steuerung und Kennzahlen – erst das wirkliche Potential von agilen Praktiken in ihrer Firma zur Geltung gebracht wird.
Wenn dem so ist, wenn wir als agile Praktiker eines der Herzstücke eines neuen Produktionsparadigmas ins Werk setzen, dann müssen wir auch darüber nachdenken, wie sich dieses Gefüge Produktionskultur insgesamt verändert und was für eine Verantwortung wird dabei haben.
Was ich damit meine, will ich am Beispiel einer kleinen Geschichte, einer wahren Begebenheit, erläutern. In den 90er Jahre gab es eine linke Fraktion der KIF (Konferenz der Informatik-Fachschaften) die JOINT (Jährliche Oldenburger Informatik-Tage). Dort haben wir uns drei oder viermal zu einem Wochenende versammelt, um über die Themen zu debattieren, die auf der KIF zu kurz kamen. Zu einem dieser Treffen hatte sich ein Betriebsrat eines großen deutschen Elektronik- und Softwarehersteller Herstellers, der im Raum einer süddeutschen Großstadt ein großes Werk betreibt – nennen wir den Hersteller Sienix – eingeladen. Für uns war es sehr spannend zu hören, was sich in so einem großen Konzern tut. Sienix hatte begonnen die inneren Prozesse zu restrukturieren und dabei an die Stelle von großen Fachabteilungen kleine Crossfunctional-Teams gesetzt, die untereinander marktförmig verbunden waren und auch nach außen selbständig am Markt agierten. Was der Betriebsrat in diesem neuen Konstrukt feststellte waren vor allem zwei Dinge. Erstens: in einem Geflecht von selbständig miteinander interagierenden kleinen Einheiten hat ein Betriebsrat keinen Platz mehr. Historisch ist der Betriebsrat als Teil der Kommando- und Kontrollpyramide eines Unternehmenes entstanden. Er ist das interessenvertretende Gegenüber der operativen Unternehmensleitung. Wenn es diese zentrale Leitstelle nicht mehr gibt, dann verliert auch der Betriebsrat seinen Sinn, bzw. seine Art des Handelns funktioniert nicht mehr. Zweitens: die Mitarbeitenden bei Sienix – in der Regel Akademiker – entwickelten intrinsische Motivation an ihrer Arbeit. (Zur Erklärung: Intrinsische Motivation ist die Motivation, die aus der Sache selbst erwächst, den Gegensatz dazu bildet extrinsische Motivation. Wenn ich durch Gehalt und Freizeitausgleich motiviert werde etwas zu tun, was mir keinen Spass macht, handelt es sich um extrinsische Motivation.) Diese intrinsische Motivation führte dazu, dass ein ganzes Regelsystem extrinsischer Motivation, welches die innerbetrieblichen Prozesse regelte, ad absurdum geführt wurde und sich als dysfunktional unter den neuen Bedingungen erwies. Was das heisst lässt sich am Beispiel der Überstundenregelungen erklären. In deutschen Unternehmen, zumindest in größeren, müssen Überstunden durch den Betriebsrat genehmigt werden. Das ist eines der zentralen Druckmittel, mit denen der Betriebsrat seine Forderungen durchsetzen kann. Wenn nun aber Mitarbeitende mit ihrer Abteilung eigenständig am Markt agieren und ein eigenes Interesse entwickeln ihre Arbeit zu einem bestimmten Zeitpunkt fertig zu haben, dann greifen Verbote oder Erlaubnisse von Überstunden nicht mehr. Bei Sienix hatte das dazu geführt, dass Mitarbeitende am Wochenende die Zäune der Firma überstiegen um unerkannt an ihren Arbeitsplatz zu gelangen.
Was bedeutet das alles für uns, für die agile Bewegung? Wenn es so ist, dass sich agiles Arbeiten als zentraler Bestandteil eines neuen Produktionsparadigmas durchsetzt und wenn es so ist, dass dieses neue Paradigma die zentralen Mechanismen verändert, mit denen der soziale Organismus Betrieb bisher interpretiert und gesteuert wurde, dann tragen wir auch eine Veantwortung über die Konsequenzen unseres Handelns in einem umfassenderen Sinne nachzudenken als wir das bisher tun. Die Zeit der Unschuld ist vorbei! Der Sozialraum Betrieb hat in den letzten 150 Jahren ein umkämpfte Interpretion erfahren. Diese Interpretation ist immer temporär, sie drückt sich aus in den Regelungen und Institutionen, die die verschiedenen Interessen ausdrücken und schützen. So sind z.B. die Betriebsräte und ihr Handeln versuche die Interessen derjenigen im Betrieb zum Ausdruck zu bringen, die nicht qua Position oder Eigentum das Sagen haben. So sind viele soziale Regelungen, die uns oftmals als sperrig erscheinen, gesetzlicher Ausdruck der Interessen der strukturell Schwachen: Überstundenregelungen, Pausenregelungen, Auflagen für die räumliche Bedingungen, innerbetriebliche Genehmigunsverfahren.
Wenn Agilität und Leanmanagement zumindest partiell Command- and Controlmanagement durch Selbstorganisation und extrinsische durch intrinsische Motivation ersetzen, dann hebeln sie viele gewachsene Mechanismen aus, die in den neuen Strukturen nicht mehr funktionieren. Wenn dem so ist, müssen wir darüber nachdenken, was dann an die Stelle der alten Mechanismen tritt, wie wir den Sozialraum Betrieb gestalten wollen.

Die XPDays 2009 haben mich sehr beeindruckt. Eine Erkenntnis macht sich seitdem bei mir breit. Andreas Boes beschrieb sie in seinem Vortrag theoretisch, die anwesenden Kollegen von SAP aus praktischer Sicht. In einen Satz gebracht könnte man sagen: Mit der Verbindung von agilen Praktiken als Managementmethode im Operativen und Lean-Management im Großen setzt sich im Bereich der Softwareentwicklung eine Prozessrevolution durch, die in ihrer Bedeutung mit der industriellen Revolution vergleichbar ist. Andreas Boes sprach bei der Durchsetzung der Leanpraktiken im Management von einer zweiten industriellen Revolution. Die Kollegen von SAP sprachen davon, dass durch Leanmanagement – durch entsprechende makroskopische Steuerung und Kennzahlen – erst das wirkliche Potential von agilen Praktiken in ihrer Firma zur Geltung gebracht werde.

Wenn dem so ist, wenn wir als agile Praktiker eines der Herzstücke eines neuen Produktionsparadigmas ins Werk setzen, dann müssen wir auch darüber nachdenken, wie sich dieses Gefüge Produktionskultur insgesamt verändert und was für eine Verantwortung wird dabei haben.

Was ich damit meine, will ich am Beispiel einer kleinen Geschichte, einer wahren Begebenheit, erläutern. In den 90er Jahre gab es eine linke Fraktion der KIF (Konferenz der Informatik-Fachschaften) die JOINT (Jährliche Oldenburger Informatik-Tage) zu der ich mich zählte. Wir haben uns drei oder viermal an einem Wochenende versammelt, um über die Themen zu debattieren, die aus unserer Sicht auf der KIF zu kurz kamen. Zu einem dieser Treffen hatte sich ein Betriebsrat eines großen deutschen Elektronik- und Softwareherstellers, der im Raum einer süddeutschen Großstadt ein großes Werk betreibt – nennen wir den Hersteller Sienix -, eingeladen. Für uns war es sehr spannend zu hören, was sich in so einem großen Konzern tut. Sienix hatte begonnen die inneren Prozesse zu restrukturieren und dabei an die Stelle von großen Fachabteilungen kleine Crossfunctional-Teams gesetzt, die untereinander marktförmig verbunden waren und auch nach außen selbständig am Markt agierten. Was der Betriebsrat in diesem neuen Konstrukt feststellte waren vor allem zwei Dinge. Erstens: in einem Geflecht von selbständig miteinander interagierenden kleinen Einheiten hat ein Betriebsrat keinen Platz mehr. Historisch ist der Betriebsrat als Teil der Kommando- und Kontrollpyramide eines Unternehmenes entstanden. Er ist das interessenvertretende Gegenüber der operativen Unternehmensleitung. Wenn es dieses Gegenüber nicht mehr gibt, dann verliert auch der Betriebsrat seinen Sinn, bzw. seine Art des Handelns funktioniert nicht mehr. Zweitens: die Mitarbeitenden bei Sienix – in der Regel Akademiker – entwickelten intrinsische Motivation an ihrer Arbeit. (Zur Erklärung: Intrinsische Motivation ist die Motivation, die aus der Sache selbst erwächst, den Gegensatz dazu bildet extrinsische Motivation. Wenn ich durch Gehalt und Freizeitausgleich motiviert werde etwas zu tun, was mir keinen Spass macht, handelt es sich um extrinsische Motivation.) Diese intrinsische Motivation führte dazu, dass ein ganzes Regelsystem extrinsischer Motivation, welches die innerbetrieblichen Prozesse regelte, ad absurdum geführt wurde und sich als dysfunktional unter den neuen Bedingungen erwies. Was das heisst lässt sich am Beispiel der Überstundenregelungen erklären. In deutschen Unternehmen, zumindest in größeren, müssen Überstunden durch den Betriebsrat genehmigt werden. Das ist eines der zentralen Druckmittel, mit denen der Betriebsrat seine Forderungen durchsetzen kann. Wenn nun aber Mitarbeitende mit ihrer Abteilung eigenständig am Markt agieren und ein eigenes Interesse entwickeln ihre Arbeit zu einem bestimmten Zeitpunkt fertig zu haben, dann greifen Verbote oder Erlaubnisse von Überstunden nicht mehr. Bei Sienix hatte das dazu geführt, dass Mitarbeitende am Wochenende die Zäune der Firma überstiegen um unerkannt an ihren Arbeitsplatz zu gelangen.

Was bedeutet das alles für uns, für die agile Bewegung? Wenn es so ist, dass sich agiles Arbeiten als zentraler Bestandteil eines neuen Produktionsparadigmas durchsetzt und wenn es so ist, dass dieses neue Paradigma die zentralen Mechanismen verändert, mit denen der soziale Organismus Betrieb bisher interpretiert und gesteuert wurde, dann tragen wir auch eine Verantwortung, über die Konsequenzen unseres Handelns in einem umfassenderen Sinne nachzudenken als wir das bisher tun. Die Zeit der Unschuld ist vorbei! Der Sozialraum Betrieb hat in den letzten 150 Jahren umkämpfte Interpretationen erfahren. Diese Interpretationen sind immer temporär, sie drücken sich aus in den Regelungen und Institutionen, die die verschiedenen Interessen artikulieren und schützen. So sind z.B. die Betriebsräte und ihr Handeln Versuche die Interessen derjenigen im Betrieb zum Ausdruck zu bringen, die nicht qua Position oder Eigentum das Sagen haben. So sind viele soziale Regelungen, die uns oftmals als sperrig erscheinen, gesetzlicher Ausdruck der Interessen der strukturell Schwachen: Überstundenregelungen, Pausenregelungen, Auflagen für die räumliche Bedingungen, innerbetriebliche Genehmigungsverfahren.

Wenn Agilität und Leanmanagement zumindest partiell Command- and Controlmanagement durch Selbstorganisation und extrinsische durch intrinsische Motivation ersetzen, dann hebeln sie viele gewachsene Mechanismen aus, die in den neuen Strukturen nicht mehr funktionieren. Wenn dem so ist, müssen wir darüber nachdenken, was dann an die Stelle der alten Mechanismen tritt, wie wir den Sozialraum Betrieb gestalten wollen.

Primus inter pares

Es gibt diesen einen Test. Diesen Test, der die Story – genauer: das Szenario – in die Sprache der Applikation übersetzt. Und ich suche nach einem Namen. Wenn die Story mit den Szenarien die Akzeptanzkriterien ausdrückt. Und wenn ein Akzeptanztest diese Kriterien in die Sprache der Applikation übersetzen, dann handelt es sich bei diesem einen Test, um den der den Akzeptanztest als Unittest implementiert.
Akzeptanztests können auf ganz unterschiedliche Weise implementiert sein. Es mag sich um Test mit Hilfe eines Akzeptanztest-Frameworks handeln, wie bspw. Fitness, Fit oder Cucumber. Es mag sich um einen Test handeln, der über das Userinterface auf die Anwendung zugreift, wie bspw. Seleniumtests die Webschnittstelle adressieren. Oder es kann sich um Akzeptanztests handeln, die ein Unittestframework nutzen um ausgedrückt zu werden. In jedem dieser Fälle ist es wichtig, dass der Test die gesamte Anwendung testet, dass der Test anzeigt, ob die Funktionalität in der angezielten Weise implementiert ist oder nicht.
Unittest übernehmen eine andere Aufgabe. Sie zeigen auf, dass diese Klasse oder diese Gruppe von eng kollaborierenden Klassen eine bestimmte Funktion erfüllt. Um den gleichen Umfang wie der Akzeptanztest abzudecken, ist eine ganze Kette von Unittests notwendig. Und unter diesen ist der oberste, derjenige der die Story in die Sprache der Applikation (eben auch in die Programmiersprache) übersetzt, der erste unter gleichen – primus inter pares.
Wenn die Akzeptanztests in der Sprache der Anwendung geschrieben sind, ist der Unittest in gewissem Sinne mit dem Akzeptanztest identisch. Sein Setup ist ein anderes, er legt Wert darauf die Funktionalität an einer Klasse in Isolation zu testen, aber die Schnittstelle, die er benutzt, sollte die gleiche sein. [Wenn das nicht so ist, weil die Story bspw. gar keinen spezifischen Ort in der Applikation hat, ließe sich von einem Code Smell sprechen. Aber das - der Ort einer Story in der Applikation (UseCaseController, Manager, anämisches Objektmodell) - ist Thema für eine andere Gelegenheit.]
Die Rolle des Ersten unter den Unittests ist in unserem Coding-Dojo aufgetaucht. Immer wenn wir diesen Test nicht hatten, verloren sich Entwicklungen in tieferen Schichten der Applikation im Spekulativen, wenn er da war, gab er den anderen eine Richtung vor. Wir haben das zunächst als Primat des Top-Down-Ansatzes verhandelt. Erst mit dem Gedanken des Top-Down-Ansatzes wurde im Dojo explizit, dass es sich besser anfühlt, wenn man die Frage beantwortet hat, welches ist die zentrale Einstiegsfunktion für die Story und wie sehen die Tests für diesen Einstiegspunkt aus. Aber – und deshalb wiederstrebt es mir hier von einem Top-Down-Ansatz zu sprechen – wenn der oberste Unittest erst einmal gefunden ist, ist es auch möglich in unteren Schichten der Applikation zu beginnen, ohne sich zu verlieren. Der oberste Unittest gibt der Implementierung eine Richtung, auch wenn diese syntaktische und programmatisch noch nicht in allen Ebenen und Schichten explizit ist. In einer anderen Sprache und einem anderen Land könnte man vielleicht von Führung und einem führenden Test sprechen, aber bei uns?