Die Softwareentwicklung hat sich in den letzten Jahrzehnten rasant weiterentwickelt. Cloud-Dienste wie AWS, moderne Programmiersprachen sowie umfangreiche Bibliotheken und Frameworks ermöglichen es Entwicklern heute, sich stärker auf die Geschäftslogik ihrer Anwendungen zu konzentrieren. Doch trotz all dieser Fortschritte hat sich ein entscheidender Aspekt in der Praxis nicht im gewünschten Maße weiterentwickelt: die Nutzung und Modellierung von Daten. Obwohl Daten in der heutigen digitalen Welt eine tragende Rolle spielen, arbeiten viele Softwareingenieure weiterhin unter Paradigmen, die den Zugang zu echten, produktiven Daten und die systematische Modellierung vernachlässigen. Genau das führt zu Herausforderungen, die langfristig erhebliche Auswirkungen auf Qualität und Wartbarkeit von Software haben können.
Ein zentrales Problem liegt darin, wie Softwareentwickler mit Daten umgehen beziehungsweise wie wenig sie darauf Zugriff haben. Aus Sicherheits- und Compliance-Gründen sind direkte Zugriffe auf Produktionsdaten von lokalen Entwicklungsmaschinen meist verboten. Dies führt dazu, dass Entwickler lokal ohne echten Datenzugang arbeiten, was die Möglichkeit einschränkt, ihre Programme direkt mit realen Daten zu testen und zu optimieren. Gleichzeitig ergibt sich dadurch eine Diskrepanz zwischen der Arbeitsweise von Softwareentwicklern und Data Scientists. Erstere arbeiten oft weitgehend isoliert vom Datenmaterial, während Data Scientists in interaktiven Notebooks und serverbasierten Umgebungen permanent mit den Daten experimentieren, diese analysieren und ihre Algorithmen iterativ verfeinern.
Die vorherrschende Einstellung in vielen Unternehmen ist zudem, dass ein direkter Zugang zu Produktivdaten nicht essenziell sei, um Software schnell und qualitativ zu entwickeln. Diese Denkweise verhindert jedoch notwendige Verbesserungen im Entwicklungsprozess. Als „Notlösung“ werden oft synthetische Datensätze eingesetzt. Diese können zwar gewisse Entwicklungsprozesse ermöglichen, sind jedoch schwer zu erzeugen, aufwendig zu pflegen und kaum skalierbar. Ein weiterer zentraler Faktor, der die heutige Softwarelandschaft prägt, ist der Rückgang der Bedeutung von Datenmodellierung.
Früher galt die präzise Strukturierung von Daten als fundamentaler Bestandteil der Softwarearchitektur. Heutzutage sieht man in vielen Unternehmen vor allem wegen der enormen Datenmengen und preiswertem Blob-Speicher eine Tendenz zur Aufbewahrung unstrukturierter Daten. Reine Speicherkapazität scheint vielerorts wichtiger als die sinnvolle Organisation und Modellierung der Inhalte. Darüber hinaus sorgt agile Entwicklung für einen Fokus auf schnelle, sichtbare Fortschritte – oftmals auf Kosten der investierten Zeit in langfristig wichtige Grundlagenarbeit wie Datenmodellierung. Technisch betrachtet ist dieses Vorgehen zwar kurzfristig erfolgversprechend, doch die Folgen zeigen sich schnell in Form von komplexem, schwer wartbarem Code und einer erhöhten Fehleranfälligkeit.
Organisatorisch verändern sich in diesem Zusammenhang auch Verantwortlichkeiten. Waren früher oftmals die Produzenten der Daten zugleich deren Hüter und Modellierer, so gibt es heute keine klare Zuordnung mehr. Diese Auflösung der Datenverantwortung erschwert sowohl die Pflege hochwertiger Datenbestände als auch die Integration klarer Konzepte zur Datenqualität in den Entwicklungsprozess. Ein weiterer Grund für das Nachlassen des Fokus auf Datenqualitäten ist eine Form von „magischem Denken“ – die Vorstellung, dass die riesige Menge an Daten automatisch zu besseren Erkenntnissen führt. In der Praxis ist dem keineswegs so: Unstrukturierte, fehlerhafte und schlecht verstandene Daten lassen sich kaum direkt und effizient nutzen.
Nur in wenigen Ausnahmefällen, wie etwa im Bereich der Suchmaschinen, genießt man den Vorteil großer Datenmengen ohne aufwändige Vorverarbeitung. Ansonsten bleibt es unerlässlich, den Einsatzzweck zu verstehen, Daten durch manuelle Arbeit aufzubereiten, zu kuratieren und zu modellieren. Diese Arbeit ist zwar aufwendig, eröffnet jedoch gleichzeitig Chancen für innovative Softwarelösungen. Die Konsequenzen, wenn jedoch an der Datenmodellierung gespart wird, zeigen sich vor allem in der Software selbst. Entwickler sehen sich mit zunehmender Komplexität konfrontiert, was die Wartung erschwert und die Fehlerrate steigen lässt.
Viele Fehler sind dabei keine klassischen Softwarebugs, sondern direkte Folge unzureichender Datenstrukturen und mangelnder Datenqualität. Ein Thema, das insbesondere im Bereich des maschinellen Lernens ein hohes Maß an Aufmerksamkeit bekommt, ist das sogenannte Daten-Drift. Während Machine Learning Engineers (MLEs) sehr bewusst beobachten, wie sich die Eigenschaften von Daten im Laufe der Zeit verändern und welche Auswirkungen das auf die Leistung von Modellen hat, ist vielen anderen Entwicklern dieses Konzept kaum bekannt. Dabei betrifft Daten-Drift schließlich alle Anwendungen, die auf datengetriebene Regeln setzen – unabhängig davon, ob diese Regeln manuell programmiert oder automatisch durch ML erzeugt werden. Jedes System setzt voraus, dass die zugrunde liegenden Daten sich nicht signifikant verändern.
Ohne Monitoring besteht jedoch das Risiko, dass Regeln bald nicht mehr passen, was zu Fehlern und falschen Ergebnissen führt. Deshalb sollten sämtliche Engineering-Teams Datenqualität, Datenüberwachung und Modellierung als Kernaufgabe begreifen. Erst durch den bewussten Umgang mit Daten lassen sich Softwareprodukte schneller, stabiler und einfacher weiterentwickeln. Für Unternehmen bedeutet das, dass Veränderungen in der Organisationsstruktur und in der Arbeitsweise nötig sind. Datenverantwortung muss klar definiert und stärker in den Mittelpunkt gerückt werden.
Entwickler sollten Werkzeuge und Umgebungen nutzen können, die ihnen Echtzeit-Zugriff auf aktuelle Produktionsdaten ermöglichen – natürlich unter Berücksichtigung von Datenschutz und Sicherheit. Zugleich muss das Bewusstsein für die Herausforderungen rund um Datendrift und Datenqualität gestärkt werden, damit präventive Maßnahmen implementiert werden können. Obwohl die Digitalisierung enorme Mengen an Daten generiert, lässt sich der Wert dieser Daten nur durch gezielte Modellierung, kontinuierliches Monitoring und hohe Qualität heben. Unternehmen, die diese Prinzipien vernachlässigen, setzen sich langfristig Risiken aus – in Form von komplexem Code, erhöhtem Wartungsaufwand und schlechterer Produktqualität. Die Zukunft der Softwareentwicklung liegt also nicht im Zurücklassen von Datenmodellen, sondern in deren bewusster Integration in den Entwicklungsprozess, um nachhaltige Ergebnisse zu erzielen.
Somit führt der Weg zurück in die Zukunft über ein stärker datenorientiertes Engineering, das echten Zugang zu Daten und eine umfassende Datenverständnis als Fundament begreift.