Die Produktivität von Entwicklungsteams umfasst weit mehr als nur Effizienz und Menge. Es braucht zusätzliche Blickwinkel, um dieses Thema zu verstehen.
Das SPACE-Framework bietet eine Denkhilfe an, um Entwicklerproduktivität ganzheitlich zu analysieren. Diese umfassende Betrachtungsweise ermöglicht Teams und Unternehmen, sich zielgerichtet zu verbessern und die Auswirkungen von Interventionen klar zu erfassen.
Um nun die Produktivität von Entwicklerinnen und Entwicklern besser zu betrachten, gilt es zunächst, mit einigen falschen Vorstellungen aufzuräumen.
Das große Problem des Begriffs „Produktivität“ ist, dass es keine allgemeingültige Definition gibt. Somit ist ein wichtiger erster Schritt in jeder Diskussion rund um das Thema zunächst festzulegen, was alle beteiligten Parteien darunter verstehen.
Das einführende Paper zum SPACE-Framework listet die folgenden Fehlvorstellungen auf:
Und genau diese Punkte adressiert das SPACE-Framework durch die Einbeziehung von fünf verschiedenen Dimensionen. Was genau sind nun diese Kategorien und was versteckt sich dahinter?
Wie bei den oben beschriebenen Mythen schon aufgezählt, dreht sich Produktivität nicht nur um immer mehr Leistung. Warum nicht auch die Dimension „Zufriedenheit und Wohlbefinden“ betrachten?
Zufriedenheit bedeutet, wie zufrieden Entwicklerinnen mit ihrer Arbeit, ihrem Team, ihren Tools oder ihrer Kultur sind. Wohlbefinden bedeutet, wie gesund und glücklich sie sind und wie sich ihre Arbeit darauf auswirkt.
Die Betrachtung dieser beiden Dimensionen gibt ein Puzzleteil mehr im ganzheitlichen Bild, wie es einem Team geht und wo Hebel für Verbesserungen versteckt liegen. Ein Rückgang der Zufriedenheit und des Wohlbefindens könnte z. B. auf ein bevorstehendes Burnout und eine geringere Produktivität hindeuten.
In einer Umfrage bietet sich für die Bestimmung des aktuellen Zustandes eine Auswahl der folgenden Fragen an:
Diese Dimension ist ein anschauliches Beispiel für die Wechselwirkungen von Produktivitätskennzahlen. Natürlich kann das Entwicklungsteam zu immer mehr Leistung angetrieben werden. Doch welcher Preis muss dafür bezahlt werden? Welchen Wert hat es, Menschen dafür in den Burnout oder anderweitig aus dem Unternehmen zu treiben?
Kann ein Entwicklungsteam als produktiv bezeichnet werden, wenn ihr Ergebnis nicht die erwartete Qualität und Wirkung erbringt?
Qualität bezieht sich dabei u. a. auf die Zuverlässigkeit des entwickelten Systems, Menge und Auswirkung von Fehlern und den generellen Zustand des Dienstes.
Auswirkung bzw. Impact umschließt u. a. Kundenzufriedenheit, Kundenakzeptanz und -bindung, Nutzung von Funktionen und eine antizipierte Senkung von Kosten.
Die einfachste Betrachtung dieser Art von Leistung der Softwareentwicklerinnen könnte lauten: Hat der von Entwicklern geschriebene Code zuverlässig das getan, was er tun sollte? Und bei diesem Blick auf Leistung geht es um Outcome statt Output.
In einer Erfassung dieser Dimensionen bieten sich beispielhaft diese Fragen an:
Andere Datenpunkte wie Uptime, Anzahl Bugs, Kundenbindung und Feature-Nutzung lassen sich auch ohne Umfrage messen. Und mit Kunden kann auch direkt gesprochen werden (ja, wirklich!).
Auch hier zeigt sich eine interessante, mögliche Wechselwirkung: Was nutzt es dem Unternehmen, immer mehr „Output“ zu generieren, wenn dieser keinen Wert erzeugt? Das ist ein Musterbeispiel für Verschwendung und zeigt, dass ein Entwicklungsteam erst mit dem richtigen „Outcome“ wertvoll wird.
Ja, in Sachen Entwicklungsproduktivität kommt es auch auf den berühmt-berüchtigten Output der Teamaktivitäten an.
Unter Aktivitäten fallen dabei Handlungen oder Ergebnisse, die durch Entwicklerinnen im Zuge ihrer Arbeit abgeschlossen werden.
Doch aufgrund der komplexen und vielfältigen Tätigkeiten, die Entwickler ausüben, sind diese Aktivitäten nicht leicht zu messen oder vernünftig zu quantifizieren.
Dadurch entsteht die Gefahr, vermeintlich einfache Ergebnisse zu zählen, wie die Anzahl von Dokumenten, bearbeiteter Aufgaben, Pull Requests, Commits, Code Reviews oder Lines of Code 🤦
Nur sind diese Zahlen leicht zu manipulieren und können somit jeglichen Erkenntniswert verlieren.
Um zu verstehen, wie die Tätigkeiten von Entwicklern die Gesamtproduktivität, die Entwicklungssysteme sowie die Teameffizienz beeinflussen, liefern die folgenden Fragen erste Einsichten:
Wie eingangs erwähnt, können und sollen auch quantitativ messbare Kennzahlen rund um Design, Coding, Continuous Integration, Continuous Deployment und Betrieb in Betracht gezogen werden. Wichtig ist, zu verstehen, welche Korrelationen mit den anderen SPACE-Dimensionen entstehen können.
Welches Verständnis hast Du davon, wie Deine Entwicklungsteams und die Menschen in diesen Teams miteinander kommunizieren und tagtäglich zusammenarbeiten?
Teams, die erfolgreich zur gegenseitigen Arbeit beitragen und diese effizient integrieren, sind auf eine hohe Transparenz und ein Bewusstsein für die Aktivitäten und Prioritäten aller Entwicklerinnen angewiesen.
Eine wirkungsvolle Zusammenarbeit kann den Bedarf an individuellen Aktivitäten (wie unnötige Code-Reviews und Nacharbeiten) verringern, die Systemqualität verbessern, die Gesamtproduktivität aufrechterhalten und Burnout vermeiden.
Um zu erfassen, wie gut Menschen und Teams kommunizieren und kooperieren und wie Informationen innerhalb und zwischen Teams fließen, liefert eine Auswahl der folgenden Fragen erste Erkenntnisse:
Wie bei jeder anderen Dimension ist auch hier von Interesse, wie sich Kollaboration auswirken kann. Mehr Besprechungen oder anderen Formen von Zusammenarbeit (Pair Programming als ein mögliches Stichwort) können beispielsweise einerseits Kennzahlen rund um Effizienz drücken, dafür die Notwendigkeit für Nacharbeiten reduzieren, die Qualität steigern und die Wissensverteilung fördern.
Welches Verständnis hast Du davon, wie lange Deine Entwicklerinnen ungestört an einer Aufgabe arbeiten können?
Dabei geht es um die Möglichkeit, Arbeit möglichst „am Stück“ abzuschließen. Oder zumindest mit minimalen Unterbrechungen voranzukommen, sei es individuell oder innerhalb eines Systems.
Für diesen Flow ist es wichtig, Grenzen zu setzen, um produktiv zu werden und produktiv zu bleiben – zum Beispiel, indem eine bestimmte Zeitspanne für die konzentrierte Arbeit reserviert wird.
Um zu verstehen, wie Du Entwickler in die Lage versetzen kannst, ihre Arbeit fertig zu bekommen oder mit minimalen Verzögerungen voranzukommen, liefern die folgenden Fragen erste Einsichten:
Natürlich passen hier zusätzlich die quantitativen Kanban-Metriken und -auswertungen zur Erfassung des Flusses der Arbeit. Wie sieht es z. B. mit der Flusseffizienz oder dem Durchsatz aus?
Und auch hier sind wieder die möglichen Nebeneffekte zu beachten. Mehr Effizienz beeinflusst wahrscheinlich die Aktivitäten positiv. Mehr Kollaboration reißt Entwicklerinnen aus dem Fluss. Eine höhere Effizienz kann zu mehr wahrgenommener Zufriedenheit führen und korreliert dafür nicht zwangsweise mit einer höheren Qualität.
Die Möglichkeiten des SPACE-Frameworks sind mit der Vorstellung der fünf Dimensionen zum einen noch nicht ausgeschöpft und können zum anderen überwältigen. Hier deshalb zur Abrundung einige Anmerkungen, Hinweise und Empfehlungen für den Einstieg in die konkrete Anwendung.
Und der wichtigste grundsätzliche Punkt: Eine Metrik dient der Diagnose und Verbesserung. Sie dient der Bestimmung eines Ist-Zustandes und der Überprüfung der Auswirkung von Interventionen. Wird sie dagegen genutzt, um Menschen zur Rechenschaft zu ziehen oder dient die Kennzahl selbst als Ziel, verliert sie ihren Wert. Goodharts Gesetz sagt das bereits seit 1975: „When a measure becomes a target, it ceases to be a good measure.“
Das SPACE-Framework bietet einen Rahmen, um Entwicklerproduktivität multidimensional zu betrachten und gezielt zu erfassen. Dabei gibt es keine festen Metriken vor, sondern unterstützt die Anwenderin dabei als eine Denk- und Analysehilfe.
Die Mischung der verschiedenen Dimensionen macht den großen Nutzen des Frameworks aus. Wechselseitige Abhängigkeiten zu verstehen und zu beobachten, reduziert die Gefahr von Fehlentwicklungen. Diese Spannungen zwischen Kennzahlen sind gewollt und machen eine Steuerung von Maßnahmen erst wirklich wirkungsvoll.
Und durch die Nutzung von mehr als nur einer einzelnen Dimension können Unternehmen besser verstehen, wie Menschen und Teams arbeiten – um auf dieser Basis bessere Entscheidungen zu treffen.
Schnapp Dir die 7 Fragen für hochproduktive Entwicklungsteams und buche Deine kostenlose Teamanalyse und wir finden gemeinsam heraus, wie ich Dich am wirkungsvollsten unterstützen kann.