Mit zunehmender Komplexität eines Software-Entwicklungsprojekts steigt die Notwendigkeit einer lückenlosen Dokumentation. Das Software Mining übersetzt die Software-Engineering-Daten eines Projekts in aussagekräftige Bilder.
Entgegen aller Vernunft gehört die Softwaredokumentation zu den am stärksten vernachlässigten Aspekten in Entwicklungsprojekten. Das ist kein allzu großes Problem, solange eine Software in ihrer Komplexität überschaubar ist und von einem Programmierer oder einem sehr kleinen Team betreut wird. Nimmt der Umfang zu oder wechseln die Zuständigkeiten, steigt das Risiko, den Überblick zu verlieren. Nicht umsonst setzen Entwickler einen nicht unwesentlichen Teil ihrer Zeit für die Analyse und das Verständnis von zu bearbeitenden Quellcodes ein. Ein hilfreiches Instrument für die Beurteilung stellt Dr. Johannes Bohnet, Geschäftsführer der Software Diagnostics GmbH, in seinem Fachbeitrag Software Mining: Komplexe Software analysieren und verstehen vor. Dabei handelt es sich um eine bildhafte Darstellung nach den Prinzipien des Data-Minings.
Analysetool gibt Entscheidern einen Einblick in die Softwarequalität
Software Mining stellt entscheidende Querverbindungen zwischen dem Quellcode eines Projekts, der dynamischen Laufzeitanalyse und der Evolutionsanalyse der vorhandenen Repositorien her. Ähnlich wie im business-orientierten Data-Mining, bei dem die Ergebnisse von Auswertungen dem Management als leicht verständliche Kurven, Tortendiagramme oder Ampelsymbole präsentiert werden, steht auch am Ende des Software Minings eine visuelle Darstellung in Form virtueller Software-Lagekarten. Die Vorteile liegen vor allem in einem nachhaltigen Zuwachs an Transparenz – nicht zuletzt für fachfremde Entscheider: Die Software-Lagekarten fungieren als Frühwarnsystem, mit dessen Hilfe sich etwa die Risiken einer Release-Verzögerung oder hoher Wartungskosten im späteren Einsatz minimieren lassen.