Zur Webseite der Informatik

SESAM - Projektüberblick

Motivation

Wärend der letzten fünfundzwanzig Jahren wurden Softwareentwicklungsprojekte in zunehmendem Maße durch Terminplan- und Kostenüberschreitungen geplagt, während die Produktqualität häufig schlecht war. Trotz einer eindrucksvollen Entwicklung von Methoden und Technologien in der Vergangenheit haben sich weder der Softwareentwicklungsprozess noch die gesamte Produktqualität erheblich verbessert. Unter Umständen ist die Vernachlässigung der Ausbildung und des Trainings der Manager, die für die Software-Projekte verantwortlich sind, einer der Gründe für diese Situation.

Einführung

Das Management von Softwareentwicklungsprojekte ist eine komplizierte und schwierige Aufgabe. Es wird durch die Tatsache erschwert, dass Pläne und Entscheidungen häufig auf der Grundlage von unvollständigen und unzureichenden Daten getroffen werden müssen. Dies gilt insbesondere für die wichtigen und weitreichenden Entscheidungen, die in den frühen Phasen des Entwicklungsprozesses getroffen werden.

Vor allem ist Managementerfahrung erforderlich, um eine erfolgreiche Planung und Kontrolle von Software-Projekten zu gewährleisten. Erfahrung ist der Schlüssel um die Lage zu beurteilen und Konsequenzen von möglicherweise weitreichenden Entscheidungen vorauszusehen. Jedoch "kostet" die Schulung eines erfahrenen Software-Projektmanagers normalerweise viele falsche Entscheidungen, die in realen Software-Projekten getroffen werden. Diese Situation wird dadurch erschwert, dass Manager oft aus einem technischen Umfeld kommen.

Infolgedessen ist es notwendig, Leute ausreichend zu trainieren, bevor sie die Rolle eines Projektmanagers in einem realen Projekten übernehmen. Lehrbücher sind nützlich, aber nicht ausreichend. Kursteilnehmer sollten auch das dynamische Verhalten von Softwareprojekten erfahren.

Das Forschungsprojekt SESAM (Software Engineering Simulation durch Animierte Modelle) strebt an, eine Trainingsumgebung für zukünftigen Projektmanager zur Verfügung zu stellen.

Grundidee

Die grundlegende Idee ist es, ein Modell des Softwareentwicklungsprozesses zu erstellen und das Modell mit Hilfe eines Simulationssystems durchzuführen. Das Modell wird durch ein anfängliches Projektszenario ergänzt. Auf diese Weise können Softwareprojekte mit einer vorgegebenen Aufgabe, gegebenen Ressourcen oder Einschränkungen simuliert werden. Der Fortschritt des simulierten Projektes wird quantitativ durch verschiedene Prozess- und Produkteigenschaften reflektiert. Nachdem die Simulation beendet ist, können der Prozess sowie die resultierenden Produkte analysiert werden. Dieser Ansatz bietet, unter anderem, die folgenden Möglichkeiten:

  • Die Simulation erlaubt zu zeigen und zu erklären, wie die verwendeten Ressourcen oder der eingesetzte Managementansatz die Projektergebnisse beeinflussen.
  • Die Simulation erlaubt die Überprüfung der Konsequenzen von Änderungen am Prozess oder der Ressourcen.
  • Die Simulation von Softwareprojekten lässt das Training zukünftiger Projektleiter zu, indem sie sie realitätsnahen Problemen und Situationen aussetzt.
  • Die Modelle können für spezifische Entwicklingsumgebungen zugeschnitten werden, um die Projektplanung und Projektaufsicht zu unterstützen.

Projektgeschichte

Das SESAM-Projekt begann 1990 und wird ständig weiter entwickelt (Drappa, 1995). Der Projektkern besteht aus einem Simulationssystem, das Modelle auszuführen kann. Eine auf dieses System zugeschnittene Modellsprache wurde definiert. Der zu modellierende Ansatz wurde im Detail erforscht, und ein komplettes Modell, das QA (Qualitätssicherung = Quality Assurance) Modell, ist entwickelt worden. Das QA Modell wurde erstellt, um Projektmanagementkurse durch eine Simulationskomponente zu ergänzen. Kursteilnehmer sollen die Rolle eines Projektmanagers übernehmen: Innerhalb einiger Stunden planen und steuern sie ein simuliertes Software-Projekt mit simulierten Entwicklern. Am Ende der Simulation werden die erzielten Resultate sowie mögliche Verbesserungen des eingesetzten Managementansatzes, besprochen. Anschließend führen die Teilnehmer erneut ein simuliertes Software-Projekt durch, um die gewonnen Erkenntnisse umsetzen zu können (Mandl-Striegnitz, 2001).

SESAM wird im AMEISE-Projekt eingesetzt, angepasst und weiterentwickelt. Das AMEISE-Projekt (A MediaEducation Initiative for Software Engineering) der Universtät Klagenfurt, der Universität Linz und der Fachhochschule Technikum Kärnten erweitert SESAM um Komponenten zur Schulungsverwaltung, zur Unterstützung der Projektmanager während der Simulation und zur selbständigen, interaktiven Auswertung des Projektablaufs und der Ergebnisse.

Thematisch verwandte Arbeiten

Unsere Arbeit baut auf zwei verwandte Forschungsrichtungen auf. Die Pionierarbeit von Abdel-Hamid (1991) strebte an, ein grundlegendes Verständnis der Software-Projektmanagementprozesse zu gewinnen. Seine Resultate haben eine Anzahl von ähnlichen Ansätzen beeinflusst (Madachy, 1996), deren Grundidee ist, Software-Prozesse mit Hilfe von System Dynamics zu beschreiben und zu simulieren. Wärend sie gut geeignet sind, um quantitative Aspekte zu beschreiben, stellen System Dynamics Modelle keine Interaktionsmittel zwischen Modell und Kursteilnehmer für Trainingszwecke zur Verfügung.

Die Softwareprozessmodellierung befasst sich ebenfalls mit dem Modellieren und formalen Beschreiben von Software-Prozessen (Finkelstein, 1994). Diese Ansätze neigen jedoch dazu, einen vorbestimmten Kurs des modellierten Projektes hervorzuheben und liefern nicht die für unsere Zwecke nötige Flexibilität.

Quellenangabe

Abdel-Hamid (1991) Abdel-Hamid, T.K.; Madnick, S.E.: Software Project Dynamics: An Integrated Approach. Prentice Hall (Englewood Cliffs), 1991

Finkelstein (1994) Finkelstein, A.; Kramer, J.; Nuseibeh, B. (Eds.): Software Process Modelling and Technology. John Wiley & Sons Inc. (New York), 1996

Madachy (1996) Madachy, R.: System Dynamics Modeling of an Inspection-Based Process. Proceedings of the 18th International Conference on Software Engineering, Berlin (Deutschland), 1996, pp. 376 - 386