Vergleicht man die Softwareentwicklung mit klassischen, eher industriell ausgerichteten Berufen, fällt ein Aspekt besonders aus: Während in industriellen Berufen die Arbeitszeit in der Regel deckungsgleich mit der Anwesenheitszeit ist, gilt dies in den Berufen der Softwareentwicklung nicht.
Fast jeder Softwareentwickler kennt den Effekt, dass es gewisse Zeiten am Arbeitsplatz gibt, in denen man sich mit allem beschäftigt, nur nicht mit der eigentlichen Arbeit: Man ruft E-Mails ab, stöbert in Foren, liest Nachrichten, ruft nochmals E-Mails ab, …
An solchen Tagen befindet man sich nicht im Fluss. Selbst wenn man an solchen Tagen versucht, produktiv zu arbeiten – es gelingt einfach nicht. Joel Spolsky hat dies in einem äußert lesenswerten Blogeintrag namens Fire and Motion beschrieben. Sein zwischen den Zeilen eingeschobenes Fazit lautet:
Maybe as a software developer I really can't control when I'm productive, and I just have to take the slow times with the fast times and hope that they average out to enough lines of code to make me employable.
Das Interessante daran ist nicht, dass dieses Verhalten verbreiteter ist als allgemein angenommen – schließlich wird kaum ein Arbeitnehmer diese Einstellung öffentlich zugeben.
Das Interessante daran ist, dass ein solches Verhalten all zu menschlich und durchaus auch in Ordnung ist – sofern das Ergebnis stimmt.
Anders formuliert: Wenn ein bestimmtes Ergebnis in einer bestimmten Zeit mit einer bestimmten Qualität vorliegen muss, ist es für das Ergebnis zunächst unerheblich, ob der dafür verantwortliche Entwickler eine Stunde oder zwei Wochen benötigt hat.
Dass in diesem Fall nicht nach Zeit abgerechnet werden kann, sondern ein fixer Betrag für das Ergebnis vereinbart werden muss, liegt auf der Hand. Nichtsdestotrotz: Für das reine Ergebnis spielt die dafür benötigte Zeit keine Rolle – sofern das Ergebnis stimmt und alle Bedingungen wie beispielsweise Qualität oder Zeit eingehalten wurden.
Ein solches Arbeiten lässt dem Arbeitnehmer viele Freiheiten, insbesondere im Hinblick auf seine Arbeitszeit und damit prinzipiell auch auf den Arbeitsort. Nun könnte man vermuten, dass ein solches Arbeiten illusorisch ist – Fakt ist aber, dass es von einigen Firmen bereits gelebt wird. Die Bezeichnung hierfür lautet ROWE – Results-Only Work Environment.
Ralf Westphal hat darüber schon einige Male berichtet, doch auch die Häufigkeit der Erwähnung in Zeitschriften nimmt zu: Spiegel Online und das Wall Street Journal sind dafür nur zwei Beispiele von vielen.
Wird ROWE als funktionierend akzeptiert, steigt zugleich auch die Bereitschaft, Arbeit in verstreuten Teams gutzuheißen: Dass räumliche Nähe überbewertet wird, zeigt sich bei ROWE mehr denn je: Denn sofern das Ergebnis stimmt, spielt nicht nur die dafür benötigte Zeit keine Rolle – auch die Lokation wird irrelevant.
Dass ROWE zu Beginn ungewohnt und nicht funktionsfähig erscheint, liegt auf der Hand: Zu sehr sind Arbeitnehmer die klassische Arbeit in einem gemeinsamen Büro von 9 bis 17 Uhr gewöhnt, als dass sie überhaupt jemals über mehr Freiheit nachgedacht hätten. Ralf hat diese Haltung in einem Kommentar bereits schön beschrieben:
Die meisten suchen nach einem Nein zur Verteilung. Immer wieder wird der Kopf in Skepsis gewogen. "Ei, ei, ei, das ist aber schwierig... Hm... Ne, besser Colocation..."
Das versteh ich nicht. Was ist denn das für eine Argumentation? Die ist nämlich immer aus dem Blickwinkel von Kunde und Chef. Denen will man mit möglichen Friktionen durch Distanz keinen Schaden zufügen.
Das ist natürlich eine löbliche Haltung. "Brav, liebe Angestellte, dass ihr so für uns Unternehmer denkt."
Ich habe zunehmend das Gefühl, dass die Kritiker von verstreuter Entwicklung noch kein Projekt miterlebt haben, in dem verstreute Entwicklung funktioniert hat.
Aus dieser Empirie wird der naheliegende, jedoch falsche Schluss gezogen, dass diese Empirie eine entsprechende Regel rechtfertigen würde – da eine verstreute Entwicklung anscheinend nicht funktioniert, wird auf das vertraute und vermeintlich bewährte Konzept von Colocation zurückgegriffen wird.
Dabei wird übersehen, dass es durchaus erfolgreiche verstreute Teams gibt – doch niemand fragt sich, wieso es bei diesen Teams funktioniert und was diese Teams von dem eigenen unterscheidet. Niemand hinterfragt die eigene Arbeitsweise kritisch und versucht, den Ursachen gemäß Root Cause Analysis auf den Grund zu gehen.
Insofern kann ich mich Ralf nur anschließen, wenn er fragt:
Niemand, nicht ein einziger hat so reagiert. Warum? Warum sucht keiner ein Ja zur Verteilung für sich selbst – um dann natürlich zu überlegen, wie das Projektziel immer noch erreicht werden kann?
Ist Autonomie/Freiheit so furchtbar? Ist es soviel angenehmer, die lieben Kollegen jeden Tag 9-17 sehen zu müssen? Steht das Wohl des Projektes (das anscheinend an der Colocation hängt) höher als mein Wohl?
Ein Faktor dabei sind wie bereits gesagt die Arbeitnehmer, die sich verstreutes Arbeiten auf Grund fehlenden positiven Erlebens wenn, nur sehr schwer vorstellen können – und es für etwas exotisches, fremdartiges halten, das nur bei hochspezialisierten Teams funktionieren könne, aber nicht in ihrem eigenen.
Dass man Dingen, die man nicht kennt und die zudem noch fremdartig erscheinen, zunächst skeptisch gegenübersteht, ist all zu menschlich. Insofern besteht die einzige Möglichkeit, hieran etwas zu ändern, darin, die Skepsis zu nehmen – indem positives Erleben vermittelt wird.
Ein anderer Faktor sind jedoch auch die Arbeitgeber, beziehungsweise deren Vertreter – im weitesten Sinne also das Management. Und warum fällt es dem Management schwer, sich auf ROWE einzulassen? Weil ROWE bedeutet, Kontrolle abzugeben und Vertrauen zu müssen.
Dass diese Kontrolle bei Softwareentwicklung ohnehin mehr Augenschein als Fakt ist, wird dabei gerne übersehen.
Doch vom Management wird noch mehr gefordert, als lediglich Kontrolle durch Vertrauen zu ersetzen: Implizit wird nämlich die Existenzberechtigung des Managements in Frage gestellt: Wenn sich – allen agilen Methoden zu Folge – die Teams selbst organisieren und dann noch nicht einmal kontrolliert werden – wer braucht dann noch Management?
Aus Selbsterhaltung wird also lieber am bewährten Status Quo festgehalten, zumal die meisten Arbeitnehmer dies ohnehin nicht in Frage stellen. Dass aber unter diesem künstlich aufrecht erhaltenen Status Quo vor allem die Motivation der Arbeitnehmer leidet, wird missachtet.
Auf diese Art erweist sich ein Unternehmen einen Bärendienst: Nicht nur, dass ein aufwändiges Management zur Kontrolle der Arbeitnehmer beschäftigt wird – die wie gesagt nicht wirklich gegeben ist – nein, zusätzlich erbringen die Arbeitnehmer auch nicht die Leistung, die sie erbringen könnten und sogar gerne würden, wenn sie sich nur rundherum wohlfühlen würden.
Die Folge dessen ist, dass entweder Überstunden angeordnet werden, die allerdings die Motivation noch weiter senken, oder weitere Mitarbeiter eingestellt werden – wobei eine Aufgabe nicht unbedingt dadurch schneller erledigt wird, dass mehr Leute zeitgleich daran arbeiten.
Doch – ist die Existenzberechtigung des Managements wirklich in Frage gestellt, wenn nach ROWE gearbeitet wird?
Ich meine nicht. Das Management muss sich nur als etwas anderes begreifen als dies in der Regel der Fall ist: Das Verb to manage bedeutet außer leiten und verwalten nämlich auch bedienen und besorgen: Nimmt man diese Bedeutung einmal wörtlich – welche Konsequenzen ergeben sich daraus für das Management?
Entwickler sind bekanntermaßen im Vergleich zu anderen Arbeitnehmern relativ teuer. Provokant gefragt: Warum räumt das Management dann nicht ungefragt alle Hindernisse aus dem Weg, die der effizienten Arbeit der Softwareentwickler im Weg stehen?
Warum müssen sich teure Entwickler in der Realität mit anderen, nebensächlichen Aufgaben aufhalten, statt sich auf ihre Arbeit konzentrieren zu können? Zu diesen nebensächlichen Aufgaben gehören klassischerweise Aufgaben wie:
- Sicherstellen, dass im Drucker und Kopierer stets genügend Papier vorhanden ist und gegebenenfalls nachgefüllt wird.
- Umständliche Formulare ausfüllen, wenn ein Buch für die persönliche Weiterbildung und die des Teams angeschafft wird.
- Aufwändige Reisekostenanträge ausfüllen, nachdem sie von einem geschäftlichen Termin zurück sind.
Diese Liste ließe sich problemlos noch um zahlreiche weitere Punkte ergänzen: Warum übernimmt nicht das Management diese Aufgaben und lässt die Entwickler einfach nur das machen, wofür sie ursprünglich und eigentlich eingestellt wurden und was sie auch am Besten können – entwickeln?
Genau das war der Antrieb für Joel Spolsky, FogCreek Software zu gründen, die sich an dem selbst gewählten Motto
We help the world’s best developers make better software.
orientiert. Auf der offiziellen Über uns-Seite der Firmenwebseite von FogCreek Software wird die Firma folgendermaßen beschrieben:
We had a different idea. What if the programmers were treated like rock stars? What if management’s number one responsibility was recruiting extremely talented software people, treating them well, and then getting the heck out of the way while they did great work?
At Fog Creek Software, management, not coding, is the support function. Management’s first responsibility is to create an abstraction layer for developers: to create the infrastructure so that programmers really just have to program:
Genau das beschreibt, was ich als Managament as a Service (MaaS) bezeichne – und genau das beschreibt, was für ROWE und verstreute Entwicklung zwingend erforderlich ist.