Events

Keynote: Vom Wiegen allein wird die Sau nicht fett

Written by Dr. Elmar Jürgens | Feb 26, 2020 2:55:00 pm
Zusammenfassung

Ich habe vor 12 Jahren als Doktorand zum ersten Mal eigene statische Qualitätsanalysen in der Praxis durchgeführt. Mich hat damals fasziniert, welche Einblicke mir die Ergebnisse in die Entwicklungsprozesse und Probleme in erfolgreichen Organisationen erlaubten.

Oft haben sie mir jeodch gezeigt, dass die Vorstellung, die ich als Forscher von der Praxis hatte, bestenfalls unvollständig war. Als wir beispielsweise Clone Detection bei einem unserer ersten Industriepartner eingesetzt haben, haben wir hunderttausende Zeilen Code gefunden, die zwischen mehreren Abteilungen in dreifacher Kopie gepflegt wurden. Und bei denen nachweislich kritische Fehler nur teilweise behoben waren. Unser Vorschlag, hierfür gemeinsame Komponenten einzuführen, rief jedoch zu unserer Überraschung wenig Begeisterung hervor: Die drei Kopien waren entstanden, weil die Organisation vorher mit der Pflege dieser Funktionalität in einer gemeinsamen Komponenten gescheitert war. Was dieser Partner wirklich brauchte, waren funktionierende Ansätze für Management von Duplikaten, nicht für die Erkennung. Hierzu gab es aber wenig nützliche Forschungsarbeiten.

Heute bekomme ich diese Einblicke öfter. Unsere Firma beschäftigt inzwischen 37 Mitarbeiter, von denen die Hälfte in Software Engineering promoviert hat. Wir alle arbeiten ausschließlich an der Entwicklung oder dem Einsatz von Qualitätsanalysen. Aus unseren Forschungsprototypen ist inzwischen ein kommerzielles Analysewerkzeug geworden, das eine Vielzahl der Analyseansätze aus unserer Community implementiert. Es wird von Entwicklern und Testern weltweit täglich eingesetzt, von KMUs bis hin zu DAX-Konzernen, von Behörden bis zu Unternehmen im Silicon Valley. Auch 12 Jahre später fasziniert mich, welche Ergebnisse und Überraschungen unsere Analysen in der Praxis zu Tage fördern.

Und immer noch zwingen mich die dabei gewonnenen Einblicke regelmäßig, mein Bild von “der Praxis” weiterzuentwickeln. Beispielsweise setzen wir bei vielen Kunden inzwischen flächendeckend dynamische Analysen auch in Produktionsumgebungen ein, um die Ausführung von Code durch Tester und Anwender aufzuzeichnen. Häufig fällt dabei auf, das auch in strukturierten Testprozessen große Code-Mengen ungetestet in Produktion gelangen würden. Oder das große Teile der Funktionalität seit Jahren von keinem einzigen Anwender genutzt wurden, und vermutlich gelöscht werden könnten. Diese Analysen sind konzeptionell relativ einfach, bringen aber oft die für die Anwender deutlich spannenderen Analysen, als viele technisch bedeutend aufwändigere, statische Analysen.

In dieser Keynote möchte ich diese und weitere zentralen Erfahrungen und Überraschungen teilen.

Folien