Developer Toil: Bremsklotz in der Softwareentwicklung

Schwerfällige Arbeitsprozesse und repetitive Aufgaben stehen der schnellen und agilen App-Entwicklung im Weg.

Apps bieten die Möglichkeit, den sich ändernden Kundenbedürfnissen oder Marktgegebenheiten gerecht zu werden. Doch um das Potenzial von Apps voll ausschöpfen zu können, müssen Unternehmen schnell sein. Und um das Vertrauen der Kunden zu erhalten, müssen Schwachstellen der eigenen Apps nicht im jährlichen Wartungsfenster, sondern binnen Stunden behoben werden. Leider scheitert die Umsetzung in der Realität jedoch oft an diesem Anspruch. Eine Studie von Forrester Consulting belegt, dass 48 Prozent der Unternehmen ihre Anwendungen seit mindestens einem Jahr nicht mehr weiterentwickelt haben.  

Bremsklotz im Entwicklungsprozess

Woran liegt es also, dass Unternehmen ihre Apps nicht schnell genug an die sich ändernden Ansprüche anpassen können? Die Entwicklertechnologien liefern eigentlich die nötigen Voraussetzungen, doch allzu häufig liegt das Problem in der Geschwindigkeit interner Abläufe, genauer gesagt im Entwicklungsprozess der Anwendungen. Denn neben der eigentlich Software-Entwicklung besteht dieser Prozess immer auch aus repetitiven Aufgaben und manuellen Eingriffen.

Diese „Developer Toil“ sind Aufgaben, die den Entwicklungsprozess unterstützen aber keinen direkten geschäftlichen Mehrwert generieren. Dieser „Toil“ bindet zudem Ressourcen und zieht den Entwicklungszyklus unnötigerweise in die Länge. Hinzu kommt, dass sich diese Aufgaben mit der Zeit und mit jedem neuen Entwicklungszyklus aufaddieren, sodass die Prozesse immer schwerfälliger werden. Bis ein simples Feature beim Enduser landet, vergehen so Wochen oder sogar Monate.

Effiziente Abläufe schaffen Mehrwert

Unternehmen stehen daher vor der Herausforderung, diese sich wiederholenden Aufgaben so weit wie möglich aus dem Prozess zu automatisieren oder ganz zu eliminieren. So kann der Entwicklungsprozess schlank gehalten, die Produktivität der Entwickler und die Agilität der eigenen Apps erhöht werden. Denn ein schneller Implementierungszyklus verbessert die Qualität, Resilienz und den geschäftlichen Mehrwert der eigenen Anwendungen. Ein effektiver Weg, um diese „Altlasten“ loszuwerden ist die Durchführung eines Developer Toil Audits.  

Für den Erfolg einer solchen Prüfung sind drei Faktoren entscheidend:

Die richtigen Fragen stellen
In jedem Unternehmen verzögern unterschiedliche Hindernisse den Entwicklungsprozess. Um mögliche Verzögerungsfaktoren zu identifizieren, hilft es, die Development-Teams hinsichtlich Schwierigkeiten und frustrierenden Faktoren zu befragen. Zudem sollte eine gute Mischung zwischen allgemeinen und unternehmensspezifischen Fragen gewählt werden. Ein sehr stark reguliertes Unternehmen sollte beispielsweise darüber Auskünfte einholen, inwieweit die Vorschriften den Entwicklungsablauf beeinflussen. Aber auch Fragen zum Entwicklerarbeitsplatz, Kollaboration mit anderen Teams, dem Ablauf von Fehleranalysen bei Störungen der Produktion sowie offene Fragen nach Ideen sollten gestellt werden. Eine Analyse dieser Antworten kann dabei helfen, die Developer Toil zu identifizieren und eine Prioritätenliste aufzustellen.

Die richtigen Metriken finden
Aus der Befragung lassen sich Metriken ableiten, die als Indikatoren für die einzelnen Verzugsfaktoren dienen. Es hat sich als hilfreich erwiesen eine Skala von 1 (keine Übereinstimmung) bis 5 (starke Übereinstimmung) zu verwenden. Nun gilt es, diese verschiedenen Metriken zu einer gesamten Metrik zusammenzufassen, um den generellen Zustand des Entwicklungsprozesses zu überprüfen. Hierbei geht es nicht darum, exakte Werte zu ermitteln, sondern den richtigen Weg einzuschlagen und die besonders drängenden Hindernisse zuerst aus dem Entwicklungsprozess zu entfernen.

Die Metriken auf den geschäftlichen Mehrwert ausrichten
Das finale Ziel dieses Prozesses ist es, den unternehmerischen Mehrwert der eigenen Apps zu erhöhen, indem sie agiler gestaltet werden. Daher ist es am Schluss wichtig zu verstehen, welchen geschäftlichen Mehrwert das Lösen welcher Barriere bringt. Auch hier muss priorisiert werden. Die gewichtigsten Hürden müssen zuerst aus dem Weg geräumt werden.

Positive Nebenwirkungen

Je weniger Zeit die Entwickler mit repetitiven Aufgaben verbringen, desto mehr Zeit bleibt ihnen, die eigenen Apps innovativer zu gestalten und so Business-Mehrwert zu generieren. Das hat nicht nur positive Auswirkungen auf die nackten Zahlen, sondern erhöht auch die allgemeine Moral der Entwickler. Denn wer sich stets neuen und spannenden Projekten widmen kann ist deutlich zufriedener als derjenige, dessen Arbeitsalltag von repetitiven und langweiligen Aufgaben bestimmt wird. In Zeiten von Fachkräftemangel ist erhöht dies die Attraktivität des eigenen Unternehmens als Arbeitgeber. Zudem erhöht sich natürlich auch die Qualität der eigenen Software. Denn durch die abwechslungsreichen Aufgaben werden kreative Prozesse gefördert und innovative Ansätze hervorgebracht.

Die Taube auf dem Dach

Kein Unternehmen muss sich heutzutage mit der Developer Toil abfinden. Im Gegenteil: zahlreiche Lösungen helfen dabei, diese Prozesse zu automatisieren oder sie ganz und gar obsolet werden zu lassen. Die eigenen Entwickler wissen meist am besten, an welchen Stellen es hakt und wodurch der gesamte Prozess ins Stocken gerät. Daher bietet es sich an, ihre Erfahrungen als Ausgangspunkt für die effiziente Gestaltung der Implementierungszyklen zu nutzen.

Doch auch von Produktseite müssen wichtige Entscheidungen getroffen werden. Da nicht alle zeitintensiven Aufgaben auf einmal entfernt oder automatisiert werden können, gilt es zu priorisieren und den Effekt der Änderungen zu messen. Dazu müssen geschäftliche Prozesse abgewartet werden, bevor nach einer Änderung auf voller Geschwindigkeit gefahren wird. Denn Analyse und Evaluierung sind unerlässlich für die effiziente Gestaltung der eigenen Prozesse. Die Durchführung eines Developer Toil Audits bringt eine Verschlankung des Entwicklungsprozesses mit sich und spart in Zukunft wertvolle Zeit und legt die Grundlage für zukunftssichere Anwendungen.

 

Björn Brundert

Principal Technologist  bei VMware