Selbst in der Wissensarbeit herrscht noch der Glaube vor, dass eine hohe Auslastung zu höherer Produktivität führt. Das Gegenteil ist der Fall.
In dieses Thema steige ich ja gerne ein mit diesem alten Witz: „Wie nennt man eine Autobahn mit 100 % Auslastung? Einen Parkplatz.“ Natürlich gibt es noch mehr Beispiele, bei denen eine hohe Auslastung zu Verzögerungen führt: die Kasse im Supermarkt, der Einlass ins Stadion oder die Essensausgabe in der Kantine.
Sprich: wir kennen eigentlich alle die entstehenden Probleme und laufen im Berufsleben trotzdem in die Auslastungsfalle. Und in diesem Artikel werfen wir einen Blick auf die Auswirkungen im Rahmen der Softwareentwicklung.
Im Folgenden taucht vielfach der Begriff „Warteschlange“ (in Englischen „Queue“) auf.
Mit Fokus auf die Softwareentwicklung beschreibt eine solche Warteschlange die Aufgaben innerhalb eines Entwicklungsprozesses, die in Bearbeitung und noch nicht abgeschlossen sind. Also Arbeit, die auf Fertigstellung wartet.
Eine sehr grobe Annäherung bzw. Analogie für eine Warteschlange kann die bekannte Bezeichnung „Work in Progress“ sein.
In The Principles of Product Development Flow bringt Donald G. Reinertsen das Problem so auf den Punkt:
Schauen wir uns an, wie sich unsere derzeitigen Überzeugungen gegenseitig verstärken. Wenn wir zum Beispiel die Überzeugung, dass Effizienz gut ist, mit der Blindheit gegenüber Warteschlangen kombinieren, werden wir unseren Entwicklungsprozess mit einer hohen Kapazitätsauslastung betreiben. Schließlich erscheint ungenutzte Kapazität als Verschwendung. Eine hohe Kapazitätsauslastung kann zu Warteschlangen führen, aber diese Warteschlangen haben keine offensichtlichen Kosten. Diese beiden Überzeugungen führen also zu einer verhängnisvollen Kapazitätsauslastung. Dies wiederum führt zu langen Warteschlangen.
Hand aufs Herz: Wer kennt diese Denkweise nicht? Wir wollen unsere Arbeitszeit mit möglichst viel Inhalt füllen und erzeugen somit Kosten, die nicht unmittelbar sichtbar sind.
Dabei sind Warteschlangen die Ursache für viele wirtschaftliche Probleme in der Softwareentwicklung:
Und natürlich wollen wir diese Probleme vermeiden und uns die daraus entstehenden Kosten sparen. Was ist nun ein guter Zielwert für die Auslastung eines Entwicklungsteams?
In der Kurzfassung: maximal 80 % Auslastung ist die klare Empfehlung.
Wie kommt es zu dieser Zahl? Einen Blickwinkel liefert die Warteschlangentheorie. Begreifen wir einen typischen Entwicklungsprozess als eine Warteschlange, so hat diese die folgenden Eigenschaften:
In der sog. Kendall-Notation wird solch eine Warteschlange mit M/M/1/∞ beschrieben.
Unter der Annahme einer M/M/1/∞-Warteschlange lässt sich mit der Formel ρ^2 / (1 - ρ) die Größe der Warteschlange berechnen, wobei ρ die Auslastung angibt. Das ergibt dann folgendes Bild:
Anhand dieses Diagramms ist zu erkennen, wie schnell die Anzahl der Aufgaben bei einer hohen Auslastung steigt. Bei einer Steigerung von 60 % auf 80 % wird die Größe der Warteschlange ungefähr verdreifacht! Beim Schritt von 80 % auf 90 % erfolgt wieder mehr als eine Verdopplung.
Eine hohe Auslastung in der Softwareentwicklung führt nicht zu höherer Produktivität, sondern verursacht kostspielige Warteschlangen und damit Verzögerungen.
Die Empfehlung lautet daher, die Auslastung eines Entwicklungsteams auf maximal 80 % zu begrenzen, da darüber hinaus die Probleme exponentiell zunehmen. Dies minimiert Risiken und hält den Entwicklungsprozess flexibel und effizient.
Um nachhaltig erfolgreich zu sein, sollte die Balance zwischen Effizienz und freier Kapazität im Fokus stehen. Weniger ist hier tatsächlich mehr.
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.