Informationsflussoptimierung für Softwareprojekte
Final Report Abstract
Die drei wichtigsten Ergebnisse des Projekts InfoFLOW sind: • Eine Informationsflusstheorie der Softwareentwicklung, die zur Beschreibung, Analyse, Vorhersage und Verbesserung von Phänomenen in der Softwareentwicklung genutzt werden kann - und bereits zur Rekonstruktion von zehn sehr bekannten Ansätzen anderer Forscher genutzt worden ist. Sie bietet eine neue Interpretation dieser Ansätze. • Eine dokumentierte, im Einsatz erprobte Methode zur Informationsflussanalyse, -modellierung und -verbesserung. Ihre Grundannahmen werden durch die Theorie gestützt. Sie eignet sich zur praktischen Informationsflussverbesserung in Softwareprojekten; als Framework zur Identifikation, Spezifikation und Entwicklung neuer Verbesserungstechniken, basierend auf Informations- und Erfahrungsflüssen. • Drei exemplarische, spezifische Techniken zur Informationsflussverbesserung. Mit FLOW-Mapping können dynamische Landkarten von Informationsflüssen visualisiert werden. Skype-Solidification zeigt, wie mit speziellen technischen Aufnahmeverfahren flüssige in feste Informationen gewandelt werden können. Die SCRUM-Integration in einen traditionellen Prozess illustriert den Einsatz in betrieblich relevanten Feldern. Diese Ergebnisse schlagen die Brücke zwischen theoretischen Konzepten und der Praxis. Die Methodenbeschreibung entspricht in Stil und Ausführlichkeit den anfänglichen Erwartungen. Doch haben sich die Schwerpunkte der Arbeit teilweise anders entwickelt als erwartet: • Die Notation hat sich im Rahmen der Konsolidierung und Weiterentwicklung nur minimal verändert. Absichtlich wurden nur sehr zurückhaltende, fast unmerkliche syntaktische Erweiterungen vorgenommen (z.B. Strichdicke für Intensität). Einfachheit behielt erste Priorität. • Die Verwendung von Patterns hat sich zwar sehr bewährt, aber anders entwickelt als ursprünglich vermutet: Obwohl ein Pattern-Katalog schon früh erstellt und mit qualitativ und quantitativ beschriebenen Patterns gefüllt wurde, ist dieser Katalog nur wenig genutzt worden. Stattdessen haben sich Patterns als metaphorisches Kommunikationsmittel zwischen Unternehmenspartnern, Forschern und Kollegen bewährt. Dazu war, entgegen der anfänglichen Erwartung, eine formale Pattern-Spezifikation nicht erforderlich; vielmehr halfen die Patterns als assoziative Kurzzusammenfassung komplexer, (nicht identisch) wiederkehrender Phänomene. Wie oben beschrieben, vermuten wir hier noch erhebliches Potenzial. • Die Informationsflusstheorie ist sogar sehr viel weiter vorangetrieben worden als anfangs erhofft. Kai Stapel hat nicht nur die Grundannahmen von FLOW auf dieser Basis neu gefasst. Er hat dieselben Erklärungsmustervon Kommunikation, Informationsflüssen und Kontexteinfluss auch auf existierende Theorieansätze des Software Engineering angewandt. So belegt er, dass seine Theorie zu diesen etablierten Beobachtungen im Einklang stehen und man sie damit neuartig deuten kann (z.B. Boehms Theory-W oder die Media Synchronicity Theory). Die Informationsflusstheorie stützt auch den FLOW-Ansatz. Natürlich kann die Theorie nur bestimmte Phänomene im Software Engineering erklären; sie bedarf auch noch weiterer Überprüfung und Validierung. Dadurch stimuliert sie aber weiterführende Arbeiten, um noch mehr ihrer Elemente in die operative FLOW-Methode zu integrieren. Insbesondere das Global Software Engineering hat sich als Anwendungsbereich erwiesen, in dem nicht nur die erreichten Ergebnisse sinnvoll eingesetzt werden können. Hier ergeben sich außerdem umfangreiche neue Forschungsfragen, oft auch mit erheblicher praktischer Relevanz.
Publications
- Beyond Documents: Visualizing Informal Communication, Proceedings of Third International Workshop on Requirements Engineering Visualization (REV 08), 2008
Kurt Schneider, Kai Stapel, Eric Knauss
- Software Architecture Knowledge Management. Theory and Practice. Modeling and Improving Information Flows in the Development of Large Business Applications. Springer, 2009, 175-198
Kurt Schneider and Daniel Lübke
- Are Developers Complying with the Process: An XP Study, Proceedings of the 4th International Symposium on Empirical Software Engineering and Measurement (ESEM '10), 2010
Nico Zazworka, Kai Stapel, Eric Knauss, Forrest Shull, Victor R. Basili, Kurt Schneider:
- FLOW Mapping: Planning and Managing Communication in Distributed Teams, Proceedings of 6th IEEE International Conference on Global Software Engineering (ICGSE), 2011
Kai Stapel, Eric Knauss, Kurt Schneider, Nico Zazworka
- Enhancing Security Requirements Engineering by Organizational Learning, Volume 17, Number 1, 35-56, 2012
Kurt Schneider, Eric Knauss, Siv Houmb, Shareeful Islam, Jan Juerjens
(See online at https://doi.org/10.1007/s00766-011-0141-0)