Die größten Kostenfallen in der Softwareentwicklung  … und was man dagegen tun kann

Die New Economy der frühen 2000er kündigte sich noch mit einem Donnerschlag an – man denke nur an die Fintechs, die mit ihrer technologiegetriebenen Entwicklung angetreten sind, den Finanzsektor auf den Kopf zustellen. Weitgehend unbemerkt erreicht diese Revolution mittlerweile auch die traditionellen Branchen. So hat selbst Volkswagen angekündigt, seine Marke in Zukunft über die Software zu definieren, und bündelt dazu in der neuen Einheit »Car.Software« die Kompetenz von mehr als 5.000 Digitalexperten. Doch ganz gleich, wo man hinschaut: Von den hoch optimierten Produktionsprozessen der Industrie ist die Softwareentwicklung noch weit entfernt – und das, obwohl die größten Kostenfallen längst bekannt sind.

 

Die größten Kostenfallen in der Softwareentwicklung

 

»Als Idealfall will der interne oder externe Auftraggeber einer Entwicklung jeden Euro des investierten Budgets in volle 100 Cent Softwareinnovation umgesetzt sehen«, sagt Marc Hildebrandt, CEO und Gründer des Technologie-Inkubators German Deep Tech, der akademische Exzellenz in industriell nutzbare Softwarelösungen transformiert. »Wenn die Teams jedoch größer und die Projekte komplexer werden, entfernt man sich von diesem Ziel zwangsläufig immer weiter, weil mehr Budget auf Nebenschauplätzen auf der Strecke bleibt.«

 

Kostenfalle: Fehlerbehebung verschleppen

Auch wenn es trivial klingt: Die Fehlerbehebung macht den größten unproduktiven – und obendrein unvorhersehbaren – Anteil an der Arbeitszeit von Entwicklern aus. Damit ist nicht nur das routinemäßige Testen der Software als Teil des Release-Zyklus gemeint. Richtig problematisch sind die Fehler, die es bis zu den Endanwendern geschafft haben. Das Managementsystem zur Prozessverbesserung Six Sigma kennt dafür die Zehnerregel: Die Kosten für einen nicht entdeckten Bug erhöhen sich von Stufe zu Stufe der Wertschöpfung um den Faktor 10. Je früher ein Fehler entdeckt und beseitigt wird, desto kostengünstiger ist dies also für die Organisation.

Vor allem sind spät gefundene »Defects« im ausgelieferten Code für die Entwickler frustrierend, weil sie häufig mit viel Aufwand und unter Zeitdruck behoben werden müssen, während die eigentlichen Aufgaben hintangestellt werden. Erfolg und Motivation im Team langfristig aufrechtzuerhalten und zugleich die Fehlerbehebung zu optimieren kann eine große Herausforderung an die Arbeitsorganisation bedeuten – ob nun einzelne Entwickler dafür verantwortlich zeichnen oder die Last gleichmäßig verteilt wird. »Letzten Endes muss sich das Team nun entscheiden, was sich besser anfühlt: Abwechselnd Freiwillige, die intensiv Bugfixing betreiben und für Anfragen zur Verfügung stehen, oder paralleles Arbeiten, das auf jeden Fall ablenkt und den Fokus verlieren lässt«, fasst Dr. Markus Friedrich, Spez. Entwicklung – Architektur Fahrzeugvernetzung bei der BMW Group im XING-Forum »SCRUM« zusammen.

 

Kostenfalle: Technische Schulden aufnehmen

Wenn Softwareentwickler unter Zeitdruck arbeiten müssen, neigen sie dazu, von den eigentlich getroffenen Vereinbarungen abzuweichen und unsauber zu programmieren. Das kann im Einzelfall sinnvoll sein, um Release-Termine einzuhalten oder eine schnelle Fehlerbehebung vorzunehmen. Derartige Stellen im Quellcode werden auch als technische Schulden bezeichnet. Die Zinsen dafür zahlen diejenigen Entwickler, die später mit dem Code weiterarbeiten müssen, etwa um ihn zu erweitern. Sie benötigen mehr Zeit, sich einzuarbeiten, kommen langsamer voran und machen dabei mit größerer Wahrscheinlichkeit Fehler.

So sinnvoll die Aufnahme technischer Schulden in begründeten Einzelfällen auch sein mag – die Entscheidung gegen eine saubere Lösung fällt von Mal zu Mal leichter. Aus der Sozialpsychologie ist dieser Effekt als Broken-Windows-Theorie bekannt: An einem Gebäude mit zahlreichen bereits zerstörten Fenstern wird leichter ein weiteres Fenster eingeschlagen als an einem intakten Haus. Wird das Auslassen oder Verkürzen von Prozessschritten zum Normalfall im Entwicklungsteam, entsteht im Lauf der Zeit ein Flickenteppich an nicht-konformem Code, der kaum noch zu pflegen ist.

 

Kostenfalle: Altlasten anhäufen

Technische Schulden sind Altlasten, die den Entwicklungsprozess so sehr behindern können, dass er nahezu zum Erliegen kommt. Spätestens wenn beim Auftraggeber der Eindruck entsteht, das Team sei nur noch mit sich selbst beschäftigt, führt kein Weg mehr an einem operativen Eingriff in den Code vorbei. Dieser kann minimalinvasiv als Refactoring erfolgen – immer, wenn betroffener Code angefasst werden muss, wird an dieser Stelle die Altlast gleich mit beseitigt – oder gemeinsam im Team als groß angelegtes Redesign des Codes auf einen Schlag erledigt werden.

»Ob im eigenen Haus oder extern, ob von Hand oder mit Werkzeugunterstützung – die Beseitigung von Altlasten lässt sich optimieren, aber immer müssen Zeit und Geld investiert werden, die dann nicht mehr für die eigentliche Entwicklungsaufgaben zur Verfügung stehen«, sagt Günter Hofmann, Geschäftsführer des Anwendungsmodernisierungs-Dienstleisters fecher. Trotzdem lohnt es sich aus seiner Sicht, diesen Aufwand eher früher als später zu betreiben: »Die größte Überraschung für die Entwicklungsteams ist es immer, nach Abschluss eines Modernisierungsprojektes zu sehen, wie viel leichter die Weiterentwicklung nun von der Hand geht.«

 

Kostenfalle: Wissensmonopole zulassen

In einem komplexen Softwareprojekt mit Hunderttausenden von Zeilen kann sich nicht jedes Teammitglied auch noch im letzten Winkel der Code-Base auskennen. Gefährlich wird es jedoch immer da, wenn Wissensmonopole entstehen und der Erfolg von einigen wenigen Experten abhängt. Im Risikomanagement lassen sich solche Monopole durch den Bus-Faktor beschreiben: Wie viele Personen würden das Projekt ernsthaft in Gefahr bringen, »wenn sie von einem Bus überfahren werden«. Diese plakative Beschreibung schließt harmlosere Ausfallgründe wie Krankheit oder Verlassen des Unternehmens natürlich mit ein.

»Stellen Sie sich einfach vor, ein Schlüsselmitarbeiter des Projekts fällt überraschend für zwei oder drei Wochen aus«, sagt Dr. Martin Kuhlmann, Senior Solution Architect bei Omada. Wenn dann das ganze Projekt stehen bleibt, andere Entwickler eine lange Einarbeitungszeit benötigen, bis sie einspringen können, und mit dem unbekannten Code nur langsam vorankommen, zeigt sich die ganze Problematik. »Die Abhängigkeit von einzelnen Mitgliedern ist immer eine große Gefahr für das Team«, betont Kuhlmann. Gegensteuern lässt sich beispielsweise mit agilen Vorgehensmodellen, die einen regelmäßigen Austausch fördern und die Verantwortlichkeit für den Code auf alle Entwickler verteilen.

 

Software Analytics zeigt Ansatzpunkte

Einschlägige Schätzungen taxieren die Verluste durch Kostenfallen wie die genannten bereits in mittleren Entwicklungsprojekten auf über 50 Prozent. In großen, komplexen Projekten summieren sie sich leicht zu 80 oder 90 Prozent auf. »Wenn nur 20 Prozent der eingesetzten Produktivmittel den eigentlichen Zweck erfüllen, würde man in der Business-Welt doch schnellstens handeln«, befindet der Deep-Tech-Unternehmer Hildebrandt. »Wie können wir das ausgerechnet in unserer hoch technisierten Softwarewelt akzeptabel finden?«

Tatsächlich wird selbst in Fortune-500-Unternehmen die Entwicklung komplexer Softwaresysteme bislang eher als Kunstform denn als Ingenieurwissenschaft gehandhabt. Der Prozess zerfällt in verschiedene Aufgabenbereiche, in denen jeweils eigene Sprachen und Sichtweisen vorherrschen und isolierte Softwarewerkzeuge zum Einsatz kommen. Agile Methoden können mit ihren Organisationsformen das Siloproblem etwas lindern, ändern aber auch nichts daran, dass der Prozess quer durch die Expertisenfelder verläuft. Somit muss eine ständige Übersetzung zwischen den Artefakten und Sprachwelten stattfinden und die Nachverfolgbarkeit des Prozesses bleibt gerade im Enterprise-Kontext, wenn mehrere Teams zusammen an einem großen System entwickeln, reines Wunschdenken. Wollen sich die Verantwortlichen im Management einen Überblick verschaffen, müssen sie Informationen bei den jeweiligen technischen Experten einholen und sind dabei in Ermangelung einer gemeinsamen Datengrundlage und Sprache mit den technischen Experten schlussendlich auf ihr Bauchgefühl angewiesen.

Ähnlich wie in der Business-Welt Big Data und Business Intelligence (BI) dazu geführt haben, dass das Management jederzeit verlässliche Entscheidungsgrundlagen auf Basis harter Fakten zur Verfügung stehen, will die verhältnismäßig neue Disziplin der »Software Analytics« dies mit dem Prozess der Softwareentwicklung ebenfalls erreichen. »In Repositorien und all den anderen Werkzeugen haben wir ausgezeichnete, präzise Daten über alle wesentlichen Aspekte der Softwareentwicklung vorliegen«, erläutert Prof. Jürgen Döllner vom Hasso-Plattner-Institut für Digital Engineering (HPI) in Potsdam. »Bislang fehlte schlicht und ergreifend die Erkenntnis, dass man aus diesen Daten wertvolles Wissen generieren kann.«

 

Gezielte Verbesserungen umsetzen

Dieses Wissen entsteht erst, wenn man den komplexen Prozess der Softwareentwicklung vom Anforderungsmanagement über die Codierung und das Testen bis zum Release Management betrachtet. »Nur wer weiß, wo im Gesamtprozess die Verluste entstehen, kann sinnvoll gegensteuern«, erläutert Geschäftsführer Dr. Johannes Bohnet von Seerene. Dazu bietet die HPI-Ausgründung in ihrer Seerene-Analytics-Plattform Business-Dashboards, auf denen sich die einzelnen KPI-Kennzahlen in Echtzeit verfolgen lassen. Bei Abweichungen vom Soll-Wert können alle Beteiligten, vom Manager bis zu den Experten, dann per Drill-Down zur genauen Ursache vorstoßen.

Business-Dashboard (Quelle: Seerene)

 

Verbringt das Team beispielsweise zu viel Zeit mit Fehlerbehebung, lässt sich exakt analysieren, an welchen Stellen in der Code-Base die Probleme entstehen und wo die Entwickler ihre Zeit beim Beheben von Fehlern tatsächlich verbringen. »Diese Art von Wissen ist extrem wertvoll, weil sie Konsequenzen hat: Wie ein Chirurg kann ich nun die Handvoll Stellen im Code reparieren, um die es wirklich geht«, so Bohnet. Die eingesparte Zeit steht dann zusätzlich für produktive Arbeiten zur Verfügung. »Letzten Endes erhält der Auftraggeber mehr Innovation für sein investiertes Budget«, freut sich der Software-Analytics-Experte. »In nahezu jedem Softwareprojekt lässt sich so ad hoc ein Produktivitätszuwachs von über 30 Prozent erreichen.«

Michael Ihringer

https://www.seerene.com

 

 

Visualisierung eines komplexen Code-Systems mit Software Analytics (Quelle: Seerene)

 

 

56 Artikel zu „Fehlerbehebung“

Wie schreibt man Software, die vom Start weg »legacy« ist?

Gehen IT-Abteilungen bei der Entwicklung von Software nicht konsequent und diszipliniert vor, schaffen sie Anwendungen, die vom Start weg teuer und aufwändig in der Pflege sind. Ein häufiger Schlendrian ist etwa das Vernachlässigen der Dokumentation. Da ihre technische Funktionsweise dann nur schwer oder gar nicht zu verstehen ist, werden Aktualisierungen oder Erweiterungen der Software in…

In 6 Schritten zu DevSecOps

Während DevOps schon weitverbreitet ist, erkennen nun immer mehr Unternehmen, dass es entscheidend ist, nicht nur Entwicklung und Betrieb enger zu verzahnen, sondern, dass man auch Sicherheit immer von Anfang an mitdenken sollte. Dem trägt der DevSecOps-Ansatz Rechnung. Doch ebenso wie DevOps, ist dieser Ansatz kein Produkt, das man kauft, oder eine Lösung, die man…

Die Psychologie der Malware: Menschliche Schwächen gezielt ausnutzen

Psychologie ist zweifellos untrennbar mit dem Thema Computing verbunden, ob es nun um das Design künstlicher Intelligenz geht oder darum, die Interaktion zwischen Mensch und Computer besser zu verstehen. Ein Faktor, der die Entscheidungen der Entwickler beeinflusst und der im besten Falle zusätzlich dazu beiträgt, die User Experience zu verbessern. Leider sind sich auch Malware-Entwickler…

Legacy-Software: sechs gute Gründe, warum Unternehmen ihren Altanwendungen treu bleiben sollten

Die Versuchung, sich von Altanwendungen zu trennen und sie durch Neuentwicklungen zu ersetzen, ist groß. Häufig gibt es aber gute Gründe dafür, besser davon abzusehen und sie stattdessen lieber zu modernisieren. Der IT-Dienstleister Avision, Spezialist für Software Revival, nennt die wichtigsten davon. Gewohnheit. Die Mitarbeiter sind bereits an das vorhandene Tool gewöhnt und kommen damit…

Wenn Warten zur vermeidbaren Lästigkeit wird

Man installiert eine App und erwartet, dass sie reibungslos funktioniert. Aus der Studie App Attention Index 2019 von AppDynamics wird deutlich, dass deutsche Verbraucher digitale Dienste mittlerweile so fest in ihren Alltag integriert haben, dass sie kaum mehr einen Überblick darüber haben, wie viele sie eigentlich täglich nutzen. Sie schätzen die Anzahl auf durchschnittlich sieben…

Deutsche Führungskräfte treffen geschäftskritische Entscheidungen am schnellsten

Das Bauchgefühl ist nach wie vor Entscheidungshelfer Nummer eins. 91 % glauben, dass mehr Daten die Arbeit optimieren würden, diese sind aber nicht schnell genug verfügbar. Splunk hat eine unabhängige Studie durch Censuswide in Auftrag gegeben. Ziel war es herauszufinden, wie es um die Entscheidungsfindung von europäischen Führungskräften steht. Dazu wurden im Zeitraum vom 29.08.…

Defizite bei Datenmanagementsystemen: Legacy-Technologie bremst das Business aus

  Bei aller Rede von datengetriebenen Entscheidungen wird eines oft vernachlässigt: die Sicherstellung, dass die Daten tatsächlich »fahrbereit« sind. Zu viele Unternehmen klammern sich nach Erfahrung von Rubrik weiterhin an ihre alten IT-Systeme, auch wenn diese nicht mehr zum Geschäft passen. Veraltete Datenmanagementlösungen erfordern, dass IT-Teams wertvolle Zeit für die Wartung und Fehlerbehebung aufwenden müssen…

ERP-Systeme – Open Source vs. Closed Source

Der Entscheidungskampf zwischen Open-Source- und Closed-Source-Softwarelösungen wird weiterhin mit vollem Eifer gefochten. Auch im ERP-Bereich kann man keinen generellen Sieger ernennen. Beim Entschluss zu einem Für oder Wider sollten einige wichtige Kriterien, wie Innovationsfähigkeit, Support, Sicherheit, Leistung, Preis oder Unternehmensgröße, bei der Entscheidungsfindung berücksichtigt werden.

Datenpotenziale versauern in Silos

Die Hälfte der IT-Professionals braucht Tage oder länger, bis Daten aus den Abteilungen verwertbar aufbereitet sind. IT-Teams brauchen tiefere Einblicke in das Geschehen der Fachabteilungen, um auf Anfragen und Vorfälle schnell reagieren zu können und neue Anwendungen zur Verfügung zu stellen. Laut einer Befragung von Ivanti unter 400 IT-Experten bleiben durch das verbreitete Silodenken zwischen…

 

290 Artikel zu „Softwareentwicklung „

Softwareentwicklung und Fahrzeugtechnik: Sprints treffen auf Integrationsstufen

Wie funktioniert die Kommunikation zwischen einem Ingenieur und einem Softwareentwickler? Für das Internet der Dinge verschmelzen oft Welten. So treffen Abteilungen aufeinander, die vorher nur wenig Schnittstellen hatten. Das agile Arbeiten in 2- oder 10-wöchigen Sprints ist nicht vergleichbar mit den Konstruktionsprozessen eines maschinellen Produkts – könnte man meinen. Erfahren Sie, wie Spannungen zwischen Bereichen…

Internationale Studie zur Softwareentwicklung: Deutschland auf Spitzenplatz

Der »Built to Adapt Benchmark« bewertet Unternehmen aus fünf Branchen und sechs Ländern in ihrer Fähigkeit, Software zu entwickeln, die ihre Innovationsfähigkeit sowie ihren Unternehmenswert steigert [1]. Deutschland belegt dabei in nahezu allen Kategorien die Spitzenposition. Unternehmen aller Branchen und Märkte in der ganzen Welt verändern ihre Geschäftsmodelle durch Softwareinnovation – von Automobilherstellern in Deutschland…

Effiziente Softwareentwicklung ohne Automatisierung unmöglich – Geschwindigkeit der Cloud-Trends setzt Unternehmen unter Zeitdruck

Applikationen beziehungsweise Software und deren kontinuierliche Weiterentwicklung stehen bei einer wachsenden Zahl von Unternehmen zunehmend im Mittelpunkt – und das nicht nur bei IT-Unternehmen. Durch das Voranschreiten der Cloud-Technologien wird dieser Trend noch verstärkt. Unternehmen sind darauf angewiesen schnell und zu vertretbaren Kosten permanent ihre Software anzupassen und zu verbessern. Dies erhöht den Druck auf…

DevSecOps: Unternehmen müssen umdenken, um in der Softwareentwicklung erfolgreich zu sein

Hindernis für die Integration von Sicherheit in die gesamte Softwareentwicklung sei laut der weltweiten Studie die bestehende Unternehmenskultur.   Im Zentrum der weltweiten Studie »Integrating Security into the DNA of Your Software Lifecycle« von CA Technologies stand die Frage, wie sich die Kultur eines Unternehmens auf dessen Fähigkeit auswirkt, Sicherheit in den gesamten Software-Entwicklungsprozess einzubinden.…

60 Prozent der Unternehmen wenden bei der Softwareentwicklung keine Sicherheitstests an

Entwickler sehen Sicherheit gegen Cyberangriffe als Top-Priorität. 40 Prozent der Unternehmen setzten schon bei der Softwareentwicklung auf Sicherheitstests. Das ist ein Ergebnis einer aktuellen Umfrage von Veracode unter Entwicklern und IT-Führungskräften aus Deutschland, dem Vereinigten Königreich und den Vereinigten Staaten [1]. Die Studie unterstreicht, wie wichtig es ist, im Zeitalter von DevOps Entwickler bei Sicherheitsthemen…