Tutorienprogramm

Tutorial 1 – Zukunftssichere Software Systeme mit Architekturbewertung: Wann, Wie und Wieviel?

(Dienstag 25.02.2014, 13:30 – 17:00. Hörsaal D)

Thorsten Keuler
Jens Knodel
Matthias Naab
Abstract: Moderne Software Systeme sind sehr komplex und müssen üblicherweise durch große Entwicklungsteams erstellt, getestet, erweitert und gewartet werden. Der Schlüssel, um Software Systeme zukunftssicher zu machen, liegt in deren Softwarearchitektur. Die Softwarearchitektur beschreibt essentielle Zusammenhänge zwischen Softwareeinheiten, den dabei verwendeten Technologien, der Aufteilung der Software auf Teams, oder auch die physische Verteilung von Software in der realen Welt – also genau die getroffenen Entscheidungen, die sich bei eintretenden Änderungen positiv oder negativ auswirken. Um die Auswirkungen hinsichtlich der Erfüllbarkeit von Qualitäts-, Kosten-, und Terminzielen abschätzen zu können, haben sich Architekturbewertungen als effektives Mittel bewährt. Architekturbewertungen sollten dabei jedoch nicht nur zu Beginn einer Systementwicklung eine Rolle spielen, sondern über den gesamten Software-Lebenszyklus hinweg systematisch zu verschiedenen Zeitpunkten sinnvoll zum Einsatz kommen.
In der Praxis bietet sich jedoch meist ein eindeutiges Bild: Im Rahmen von mehr als 50 Architekturbewertungen bei Kunden unterschiedlichster Branchen hat das Fraunhofer IESE immer wieder folgende, typische Problembilder identifizieren können:

  1. Architekturen, die den Anforderungen nicht (mehr) angemessen sind.
  2. “Mis-match“ zwischen Architekturen zu integrierender Systeme.
  3. Keine oder rein zufällige Verbindung von Architekturkonzepten und der Implementierung.
  4. “Mis-match“ zwischen Architektur und umsetzender Organisation, geplanten Entwicklungsprozessen oder Projektplänen.

Im Vortrag wird eine Auswahl konkreter Fragestellungen aus den Projekten, mit dabei angewandten Methoden, Techniken und Ergebnissen, vorgestellt – wie zum Beispiel die
Bewertung von Migrationsentscheidungen (Neuentwicklung vs. Restrukturierung), Technologieauswahl (Anbieter A vs. Open Source), Auftraggeber-Auftragnehmer-Situationen (neutrale Begutachtung der Qualität, interne Konfidenzbildung) und Begleitung bei langfristigem Qualitäts- und Risikomanagement. In diesem Tutorial stellen wir eine anpassbare Bewertungsmethode vor, mit der solche Problembilder frühzeitig erkannt, die Konsequenzen abgeschätzt, und Gegenmaßnahmen ergriffen werden können.
Es wendet sich an alle Praktiker (Architekten, Projektleiter, Senior-Developer, …) und Entscheider, die erfahren wollen, wie man systematische Architekturbewertung einsetzen kann, um die Zukunftsfähigkeit ihrer Software und Systemlandschaften zu bewerten und nachhaltig zu sichern.

Tutorial 2 – Früherkennung fachlicher und technischer Projektrisiken mit dem Interaction Room

(Mittwoch 26.02.2014, 09:00 – 12:30. Hörsaal K)

Simon Grapenthin
Erik Hebisch
Matthias Book
Volker Gruhn
Abstract: Zur Unterstützung der industriellen Software-Technik existiert eine Vielzahl an Methoden, Notationen und Werkzeugen. Trotzdem überschreiten viele Software-Projekte ihren finanziellen und zeitlichen Rahmen oder werden im Extremfall abgebrochen. Meist liegt der Grund in unzureichender Zusammenarbeit der Stakeholder und zu später Erkennung bzw. Auseinandersetzung mit fachlichen und technischen Risiken. Mit dem Interaction Room vermitteln wir eine Methode, um die Kommunikation im Team pragmatisch auf diese Herausforderungen zu fokussieren. Stakeholdern mit unterschiedlichen Hintergründen wird so eine Kommunikationsbasis gegeben, die ohne hohe Werkzeuginvestitionen und ohne hohen Lernaufwand genutzt werden kann.

Tutorial 3 – Der Werkzeug-und-Material-Ansatz für die Entwicklung interaktiver Software-Systeme

(Mittwoch 26.02.2014, 09:00 – 15:00. Hörsaal F)

Guido Gryczan
Joachim Nitschke
Henning Schwentner
Abstract: Der Werkzeug- und Materialansatz (WAM-Ansatz) ist eine iterativ inkrementelle Methode zur anwendungsorientierten Entwicklung interaktiver Software. Der WAM-Ansatz wurde Ende der 80er-Jahre des letzten Jahrhunderts bei der Gesellschaft für Mathematik und Datenverarbeitung ausgearbeitet. Seitdem wurde er in zahlreichen universitären und Praxisprojekten erfolgreich angewendet und weiterentwickelt.
Ursprünglich für die Konstruktion von Programmierumgebungen konzipiert, wird der Ansatz heute an verschiedenen deutschsprachigen Universitäten als Methode zur Software-Entwicklung interaktiver Systeme gelehrt und in der industriellen Praxis verwendet.
Die transdisziplinäre Wurzel des Ansatzes besteht darin, die in der Softwaretechnik gebräuchlichen Konzepte „Werkzeug“, „Automat“ und „Material“ auf eine philosophisch und arbeitspsychologisch tragfähige Basis zu stellen. Namentlich die Hermeneutik Heideggers und die Tätigkeitstheorie nach Leontjev spielen eine wesentliche Rolle.
Auf dieser Basis werden Richtlinien für das fachliche Design und die (objektorientierte) Architektur und Konstruktion interaktiver Softwaresysteme entwickelt. Ergänzt um eine evolutionäre Vorgehensweise entsteht damit eine Methode, die erfolgreich fachliche und organisatorische Erfordernisse der Anwendungsentwicklung technisch umsetzbar macht. Im Tutorium werden wir fundamentale Konzepte des Ansatzes an industriellen Beispielen behandeln:

  • Die Rolle von Leitbildern und Entwurfsmetaphern für die Anwendungsentwicklung
  • Software-Werkzeuge, -Automaten und -Materialien in der Arbeitsumgebung
  • WAM und Geschäftsprozeßsteuerung (Business Process Modelling (BPM))
  • Der Zusammenhang von fachlichem Modell und technischer Architektur
  • Iterativ inkrementelle Vorgehensweise und agile Methoden – Die WAM-Interpretation
  • Der WAM-Architekturstil und der Zusammenhang zu Service-Orientierten Architekturen

Sämtliche vorgestellten Konzepte des WAM-Ansatzes werden an Beispielen aus der industriellen Praxis (u.a. aus der medizinischen Versorgungsforschung) erläutert. Übergeordnetes Ziel des Tutoriums ist es zu verdeutlichen, dass eine solide fachliche Orientierung jenseits technischer und betriebswirtschaftlicher Moden eine tragfähige Basis für langfristig erfolgreich einsetzbare Software bildet.