Publikationen

Kai Stapel:
»Informationsflusstheorie der Softwareentwicklung«

Software Engineering ist eine relativ junge Forschungsdisziplin. Bisher gibt es keine Theorie, die wesentliche und grundlegende Zusammenhänge in der Softwareentwicklung beschreibt. Eine grundlegende Theorie ist notwendig, um empirische Studien systematischer planen, interpretieren und Ergebnisse konsistenter kumulieren zu können. Zudem können die zentralen, präzise definierten Begriffe einer Theorie als Sprache zum Austausch über Softwareentwicklungsphänomene dienen. Insgesamt kann eine grundlegende Theorie helfen, die Disziplin Software Engineering voranzubringen, indem sie empirische Studien und Erkenntnisaustausch verbessert. In dieser Arbeit wird eine grundlegende Theorie des Software Engineering entwickelt, um eine Sprache zur präziseren Kommunikation über Softwareentwicklung zu liefern und empirische Untersuchungen auf eine solidere Basis stellen zu können. Eine Software-Engineering-Theorie muss wesentliche und charakteristische Aspekte der Softwareentwicklung im Kern vereinen, um eine einheitliche theoretische Basis darzustellen. Diese Arbeit schlägt Information und deren Fluss im Projekt als wesentliches charakteristisches Merkmal der Softwareentwicklung vor. Es wird daher eine auf Informationsflüssen basierende Theorie der Softwareentwicklung vorgestellt. Zunächst werden wichtige Begriffe der Theorie wie Information, Informationsfluss, Wissen, Daten, Kommunikation und Dokumentation definiert. Im nächsten Schritt werden Theoreme aus den Definitionen hergeleitet, die sowohl neue Erkenntnisse der Softwareentwicklung darstellen als auch bereits bekannte Phänomene aus Informationsflusssicht beschreiben. Die Qualität der Informationsflusstheorie wird geprüft, indem zunächst ihre Neuheit und externe Widerspruchsfreiheit untersucht wird. Dies geschieht durch Vergleich der Informationsflusstheorie mit verwandten Theorien. Anschließend wird die Theorie empirisch geprüft. Dazu werden die Ergebnisse empirischer Studien aus der Literatur aus Sicht der Theorie neu interpretiert und eine eigene empirische Untersuchung präsentiert. Der Vergleich mit verwandten Theorien und die Analyse empirischer Studien aus der Literatur zeigen, dass die Informationsflusstheorie viele bekannte Softwareentwicklungsphänomene mit einem zusammenhängenden einheitlichen Modell erklären kann. Für vier der sechs in der eigenen empirischen Studie geprüften Hypothesen werden statistisch signifikante Belege präsentiert. Insgesamt lässt sich feststellen, dass die Informationsflusstheorie zur kohärenten Beschreibung wesentlicher Softwareentwicklungsphänome und somit als theoretische Grundlage für die Softwareentwicklung geeignet ist. Abschließend wird auf Basis der Informationsflusstheorie eine Methode zur Analyse und Verbesserung von Softwareentwicklungsprojekten hergeleitet. Die FLOW-Methode ist ein Framework zur Durchführung und Erstellung von Techniken, die gezielt bestimmte Informationsflussprobleme lösen. Exemplarisch werden drei FLOW-Techniken vorgestellt. Für zwei Techniken werden empirische Belege ihrer Nützlichkeit geliefert. Dies zeigt, dass die Informationsflusstheorie auch genutzt werden kann, um Softwareentwicklung in der Praxis zu verbessern.