OBJEKTspektrum 05/19

Data Science im Projekt

Autor:

Tools und Praktiken für datengetriebenes Software-Engineering
Neben neuen Rollen wie dem Data-Engineer oder -Scientist bringt die stetig wachsende Datenflut auch neue Ansätze und Praktiken in der Softwareentwicklung mit sich, denn Machine- und Deep-Learning-Ansätze sind längst nicht mehr der Forschung vorbehalten, sondern haben sich mittlerweile in Industrie und Wirtschaft etabliert. Dank moderner und freier Technologien wie TensorFlow, PyTorch oder XGBoost setzen sich entsprechende Modelle immer häufiger als Lösungsansätze in datengetriebenen Applikationen durch und ersetzen statische Regelwerke oder Algorithmen.

Entwicklung und anschließende Integration der neuen Modelle stellen die klassische Softwareentwicklung jedoch noch vor Herausforderungen. Neben den Anwendungen selbst müssen jetzt auch die Machine-Learning (ML)-Modelle und deren Code für Training und Evaluation den Ansprüchen an einen produktiven Betrieb genügen. Mithilfe des Open-Source-Tools DVC (Data Version Control, [DVC]) und
einigen Faustregeln kann die Softwareentwicklung diesen Ansprüchen aber schon mit wenig Aufwand gerecht werden.

Von der Forschung zum Handwerk
Von außen betrachtet unterscheidet sich Data-Science weniger stark von der Softwareentwicklung, als man vermuten mag. In beiden Disziplinen gibt es klar festgelegte Vorgehensmodelle und Prozesse, aus denen definierte Ergebnisse und Resultate hervorgehen. Der Unterschied wird im Detail deutlich.

Vollständiger Artikel