kunden (cu) - MediaArchiv

Transcription

kunden (cu) - MediaArchiv
DIE KELLER’SCHE ROCHADE
Journal der fünften Iteration (R4) des Softwareprojekts im Studiengang
Medien- und Kommunikationsinformatik an der Hochschule Reutlingen
Fakultät Informatik
Medien- und Kommunikationsinformatik
Alteburgstraße 150
72762 Reutlingen
Deutschland
© Juni 2008
VORWORT
VORWORT
Dieses Journal zum Softwareprojekt erscheint zum
Abschluss der Iteration R4. Es ist das Zweite seiner Art und
es ist ein Journal mit neuen Vorzeichen. In diesem fünften
Durchgang des Projektplanspiels wurde ein Film über das
Planspiel selbst gedreht. Er hat das Rollenverständnis der
Teilnehmer des Projektes verändert. Er wird das Rollenverständnis zukünftiger Iterationen verändern. Und er wird
das Journal beeinflussen.
Ein Filmteam - ins Projekt integriert - bestehend aus
Mitarbeitern der Kundenfirma trésor secure systems drehte
den Film. Es war ein Projekt im Projekt und das hatte Einfluss
auf den eigentlichen Projektverlauf, weil alle Teilnehmer
ihre Rolle im Projekt zweimal lernen mussten: nach den
Regeln der Softwaretechnik - als Mitarbeiter der Entwicklerfirma ITera Group oder von trésor secure systems - und
nach den Regeln des Regisseurs - als Darsteller der Rolle im
Film -, wussten alle, wo sie im Projekt stehen. Da waren die
Bauern der Softwareentwicklung, die ihrer Königin huldigten, die wiederum ihrem König Kunden treu ergeben war.
Die anderen Figuren des filmischen Schachspiels standen
sich in ähnlich tragend tragischen Rollen gegenüber.
Das Journal ist vor diesem Hintergrund neu konzipiert
worden. Es wird keine geschlossenen Beschreibungen des
Planspiels, keine Vorstellungen des Projektes und keine
Rollenbeschreibungen liefern. Es wird auch keinen roten
Faden geben. Das SOP-Journal ist ein Forum geworden,
in dem sich die Figuren des Spiels kritisch akzentuiert zu
einzelnen, herausgehobenen Bereichen des SOP äußern.
Sie werden aus dem Projektgeschehen, dem Projektalltag
oder zu den Projektinhalten berichten. Sie werden kritisieren und in Frage stellen. Sie werden vergleichen und
Die Geschäftsleitung bietet Schach. [Film]
bewerten. Was sagt die Fachliteratur, was sagt die Praxis
zum Thema? Sie werden sich dem Fachkontext öffnen,
Aussagen aus der Fachliteratur an ihrer Projekterfahrung
reflektieren oder umgekehrt.
Wer genau sind diese Figuren? Es bleibt der Fantasie
des Lesers überlassen, ob er den Qualitätssicherer der
ITera Group, den Turm des Schachspiels oder Studierende
des sechsten Semesters der Medien- und Kommunikationsinformatik der Hochschule Reutlingen als Autor ansieht. Der Qualitätssicherer ist nun mal der Turm in der
Schlacht ums Dokument. Der Spielplan des Planspiels
beschert ihm seine Rolle, das Drehbuch des Films seine
Metarolle und ausbaden muss es der Student persönlich.
Er muss die Arbeit schaffen und er wird seinen Lohn nach
Hause tragen.
Viel Spaß beim Lesen!
Wolfgang Keller, Geschäftsleitung
SOP JOURNAL R4
3
EDITORIAL
ZUG UM ZUG
Das Planspiel der Medien- und Kommunikationsinformatik
Zweimal im Jahr, stets zu Beginn eines jeden Semesters, wird sie an der Hochschule Reutlingen vollzogen: die
Keller’sche Rochade. Die Figuren werden getauscht, einige
verschwinden komplett vom Brett, andere wechseln die
Stellung und die Dritten betreten die Spielfläche neu als
unwissende aber hochmotivierte Studenten der Medienund Kommunikationsinformatik.
Den Überblick über das Geschehen im Spiel, welches
den Titel „Softwareprojekt“ trägt, behält kein Schachcomputer, sondern die Geschäftsführer Prof. Dr. Wolfgang
Keller und Prof. Dr. Uwe Kloos. Sie achten darauf, dass
die Spieler bzw. Studenten ihre eingenommenen Rollen
ausführen und bewerten zusammen mit ihren Kollegen die
Resultate.
Ziel des Spiels ist es, den Studenten möglichst realistisch zu vermitteln, wie die spätere Arbeit in einem Projektteam aussehen kann. Als studienspezifischer Rahmen
dient die Entwicklung einer Langzeitarchivierungssoftware.
Hierzu erfolgt die Aufteilung in zwei virtuelle Firmen, die
Entwicklerfirma und die Kundenfirma. Die Studenten müssen sich selbst organisieren, Entscheidungen treffen und
Verträge aushandeln.
Das Spiel besteht aus sich wiederholenden Phasen, die
Spieldauer ist also praktisch endlos. Es wird über sogenannte Iterationen gesprochen, von denen sich jede über
die Dauer des fünften und sechsten Semesters erstreckt. Es
laufen also immer zwei Iterationen parallel.
Wie aber genau funktioniert dieses Spiel „Softwareprojekt“? Welche Positionen gibt es, welche Strategien und
wo lauern die Probleme und Herausforderungen?
Antworten auf diese Fragen finden Sie in diesem Projektjournal. Die Artikel wurden von Studenten der fünften
Iteration des Spiels verfasst und geben einen Rückblick
über den Zeitraum von Oktober 2007 bis Juni 2008.
Wie wir auf die Assoziation zum Schachspiel gekommen sind? Im Grunde unterscheidet sich das Softwareprojekt nur durch lebende Figuren und ein räumliches Spielbrett: die Figuren sind Studenten, das Spielbrett ist die
Hochschule. Der Rest ist bei beiden gleich:
Zwei Spieler – zwei Professoren, zwei Farben – zwei
Iterationen, sechs Figuren – sechs Teams:
Kunde
Königin Projektleiter
Läufer Konfigurationsmanager
Springer Tester
Turm Qualitätssicherer
Bauer Softwareentwickler
König
Logisch oder?
Die Spieler stellen die verwirrten Figuren auf das Brett,
machen Züge und bewerten diese. Es treten bedrohliche
Situationen und Momente der Entspannung auf. Ein ständiges auf und ab.
Nach Ende der Partie nehmen die Spieler die Figuren
vom Brett und entlassen sie gut vorbereitet auf das größte
Spielbrett, welches in dieser Welt bekannt ist:
Das Berufsleben.
In diesem Sinne: Eine schöne Partie, viel Spass beim Lesen!
Tobias Ripperger, Chefredakteur
SOP JOURNAL R4
5
I N H A LT
INHALTSVERZEICHNIS
03
VO RW OR T
05
E D I T O R IA L
08
PE O PL E
Die Teilnehmer in Wort und Bild
10
D E R PE R S ON A LF Ü HR E R
Diktatur ist keine Lösung
12
K E I NE S T R U K T U R - K E IN P LA N !
Einführung einer systematischen Projektstrukturplanung
KUNDEN (CU)
15
D I E GR AT WAN DE R UN G
Das Softwareprojekt zwischen Anspruch und Realität
18
K O M MU N IK AT ION W ILL G E L E R N T SEIN
K O N FIG U RATIO N S - U N D ÄNDERUNGSMANAGEMENT ( CM)
21
GE K L O N T E G R Ü N E S E RV E R
Der Einsatz von Virtualisierungstechnologie im Softwareprojekt
24
A L L E D E N K E N R AT ION A L
Werkzeuge von IBM - Eine Hilfe für das Softwareprojekt?
27
T RO U B LE S HOOT IN G
Der Weg zur Lösung eines Problems
6
PROJEKTMANGEMENT (PM)
S O F T WA R E E N T W I C K L U N G ( S E )
30
NI CH T S A LS D IE WAH R HE IT ?
Die Kommunikation im Softwareprojekt
33
T. E . A . M.
Toll, Ein Anderer Macht’s?
SOP JOURNAL R4
I N H A LT
INHALTSVERZEICHNIS
IMPRESSUM
Sitz der Redaktion
Hochschule Reutlingen
Alteburgstraße 150
D-72762 Reutlingen
Telefon: +49 (0)7121 271-0
www.hochschule-reutlingen.de
36
PL A N UN G OD E R C H AOS ?
Die Rolle der Planung bei der Einführung der “Model Driven Architecture”
40
SO P WAR S : K R IE G D E R A B T E ILU NG EN
Die Zusammenarbeit der Softwareentwicklung mit anderen Abteilungen
43
PRO B LE ME B E I DE R K OLL A B OR ATION IN D ER SOF TWA REEN TWICKL U N G
. . . und das Chaos bei der Verwaltung gemeinsamer Arbeitsmittel.
46
RAT I O N AL R OS E
Sinn und Unsinn eines UML-Werkzeugs
49
L E BT D E R K U N D E IN E IN E R T R AU MWELT?
Kundenanforderungen an die Hardware des Langzeitarchivierungssystems
52
H I L F E IC H B IN E IN S OF T WA R E E N TWICKL ER - H OLT MICH H IER RA U S!
55
58
TESTING (TE)
U NT E R S C HÄ T Z ME IN N IC HT
Irrtum und Ignoranz beim Testen
E I N P R OJ E K T Z WIS C H E N MODE LL U N D BERU F SA L LTA G
Kann ein Planspiel eine gute Vorbereitung für das Berufsleben sein?
QUALITÄTSSICHERUNG (QS)
61
D A S S Y S T E MAU DIT IM S OFT WA R E PROJ EKT
64
Z W I SC H E N C HE F U N D LA UF B U R S CH E
Die Qualitätssicherung im Softwareprojekt
67
FILMTEAM (KUNDEN)
D A S H E E R D E R D IN G E
Drei Studenten auf dem Weg des Filmemachens
70
D E R WAH N S IN N S D R E H
oder: Was das Filmen so schwierig macht.
73
H E RR D E R A N IMAT ION
Einmal “Gott spielen”
74
H erausgeber
Hochschule Reutlingen
Fakultät Informatik
Medien- und Kommunikationsinformatik
Softwareprojekt Iteration R4
Chefredakteu r
Tobias Ripperger
Redaktion
Philipp Becker
Chrstine Heberle
Markus Leyrer
Wencke Schulz
Kha Tran
Satz und Layout
Tobias Ripperger
Fotografie
Kha Tran
Redaktionsbera t erin
Franziska Strobusch
D ruck
Frick Digitaldruck
Brühlstraße 6
86381 Krumbach
www.online-druck.biz
A utoren
Marc Amon, Philipp Becker, Laura Böhm,
Fabian Flohr, Michael Garcorz, Daniel
Grbavac, Diana Hauser, Christine Heberle,
Jacqueline Jonigkeit, Robert Krüger,
Achim Lang, Markus Leyrer, Alexander
Paharukov, Tobias Ripperger, Sebastian
Schulz, Wencke Schulz, Thomas Sellner,
Patrick Theurer, Tobias Thieme, Kha Tran,
Armin Wälder, Emre Yay
Kein Teil dieser Publikation darf ohne
ausdrückliche schriftliche Genehmigung
der Redaktion in irgendeiner Form reproduziert oder unter Verwendung elektronischer Systeme verarbeitet, vervielfältigt
oder verbreitet werden.
Die Rechte an den einzelnen Artikeln verbleiben bei den jeweiligen Autoren.
A D RE S S E N LIS T E
SOP JOURNAL R4
7
PEOPLE
PEO
PLE
8
Die Teilnehmer der Iteration R4 in Wort
und Bild. In Klammern das Team, welchem
sie angehörten und ihr Statement zum
Softwareprojekt.
Prof. Uwe Kloos (Geschäftsleitung):
„be hard in facts and soft in act”
Prof. Wolfgang Keller (Geschäftsleitung):
„Diese Iteration hat die Schranken zwischen
Gedöns und Kommunikation erfolgreicher
geöffnet, wie ich das erhofft hatte.”
Philipp Becker (PM): „Das Kindermädchen,
das an alles denken und sich um alles kümmern muss.“
Kha Tran (PM): „Wenn die Software nicht
funktioniert, nennen wir sie einfach Beta!”
Armin Wälder (CM): „Diese Bugs in der
Software schafft kein Kammerjäger.”
Jacqueline Jonigkeit (CM): „CM ist cool nicht nur wegen der Klimaanlage im Serverraum.”
Marc Ammon (CM): „IBM Rational: Das
Gammelfleisch unter den Entwicklungstools.“
Laura Böhm (TE): „Ist der Abnahmetest gut
gelaufen, wird es der Kunde gerne kaufen.“
Christine Heberle (TE): „ Zeig mir dein
Programm und ich zeig die seine Fehler.“
Daniel Grbavac (QS): „Das Projekt ist wie
eine Wundertüte, man weiß nicht, was einen
erwartet“
Patrick Theurer (QS): „Entscheidend ist nicht
was man tut, sondern wie man es tut!“
SOP JOURNAL R4
PEOPLE
Diana Hauser (SE): „Läuft!“
Sebastian Schulz (SE): „Im SOP geht es
primär darum sich gut zu präsentieren, das
ist schade.”
Thomas Sellner (SE): „Wer zuletzt lacht, hat
im Vitero den höchsten Ping.“
Alexander Paharukov (SE): „Die Kundenanforderungen im SOP entsprechen vollkommen
denen in der Wirtschaft- unpräzise und auf
den ersten Blick vollständig.“
Michael Garcorz (SE): „Das macht dann die
nächste Iteration und schuld ist die Letzte.”
Tobias Thieme (SE): „Als Entwickler gehör ich
zur Gruppe derer, ohne die das Projekt keines
wäre, da der Kern fehlen würde.”
Emre Yay (SE): „Der Job eines Softwareentwicklers ist warten, warten, warten.“
Robert Krüger (SE): „SOP: Sicheres Auftreten
bei völliger Ahnungslosigkeit.”
Wencke Schulz (CU):
„Es wird viel erzählt und noch viel mehr
verschwiegen!“
Achim Lang (Film): „Ohne Dokumentation ist
ein Projekt verloren ... und den Dokumentationsfilm machen wir!“
Markus Leyrer (CU):
„Gut Ding will Weile haben - Entwicklung
braucht seine Zeit“
Tobias Ripperger (Film): „Entertainment XXL“
Fabian Flohr (Film): „Die Kamera war nicht an
- bitte das Ganze noch einmal!“
SOP JOURNAL R4
9
PROJEKTMANAGEMENT
DER PERSONALFÜHRER
Diktatur ist keine Lösung
Bei der Personalführung wird
zwischen zwei Führungsstilen unterschieden: dem autoritären und dem
kooperativen Führungsstil. Der kooperative Führungsstil bezieht Mitarbeiter in den Entscheidungsprozess mit
ein, im Gegensatz zum autoritären
Stil. Wie bei einer Diktatur gilt beim
autoritären Stil die uneingeschränkte
Herrschaft eines Einzelnen. Vorgesetzte treffen ihre Entscheidungen
alleine, ohne Begründung und häufig
willkürlich. Doch ist dies der Weg zum
Erfolg? Und welche Faktoren sind zu
beachten um den „richtigen Ton“ zu
wählen?
Ein autoritärer Führungsstil kann Misstrauen erzeugen, da Entscheidungen
nicht begründet werden und zu Unselbstständigkeit führen, wenn keine
Eigeninitiative gefordert wird. Die Arbeitszufriedenheit und Leistungsbereitschaft
sind gering. Der Vorgesetzte verfügt über
besseres Fachwissen und die höhere
Einsicht, durch welche er alle Aufgaben
überblickt und verteilt. Der Mitarbeiter
erhält nur die Informationen welche er für
die Durchführung seiner Arbeit benötigt
(vgl. [1]).
Innerhalb des autoritären Führungsstils
unterscheidet man aufgrund der Rechtfer-
10
SOP JOURNAL R4
tigung der Führungsrolle folgende Stilarten
(vgl. [2]):
• Patriarchalischer Führungsstil: Der
Vorgesetzte ist in jeder Hinsicht überlegen
(z.B. Fachwissen, Erfahrungen,…)
• Autokratischer Führungsstil: Statt
einem Vorgesetzten gibt es einen ganzen
Führungsapparat, welcher eine Trennung
von Entscheidung und Durchsetzung erlaubt.
• Bürokratischer Führungsstil: Der
Vorgesetzte ist kein Alleinherrscher,
sondern ist ein Teil einer hierarchischen
Struktur. Führungsaufgaben und Befugnisse
sind aufgeteilt.
Die
Vorteile
des
autoritären
Führungsstils liegen in der hohen Entscheidungsgeschwindigkeit, in der Übersichtlichkeit der Kompetenzen und in der
guten Kontrolle bei der Bewältigung von
standardisierten Arbeiten und Prozessen.
Die Probleme: Anfälligkeit für Fehlentscheidungen, es kann zu Rivalitäten kommen
und ein Ausfall des Vorgesetzten führt
zum Stillstand.
Was bedeutet dies in Bezug auf das
Softwareprojekt? Gegen den patriarchalischen Führungsstil spricht, dass es
theoretisch keine Überlegenheit in Bezug
auf Kompetenzen geben dürfte, da alle Studenten des Softwareprojekts den gleichen
Studienstand haben sollten. Eine klare
Trennung von Entscheidung und Durchsetzung ist personell nicht möglich da
die Anzahl der Projektteilnehmer zu gering ist. Somit scheidet auch der autokratische Führungsstil aus. Ein bürokratischer
Führungsstil beruht auf einer existierenden
Hierarchie und Vorschriften welche in der
Iteration R4 aber nicht gegeben sind.
Aufgrund
fehlender
Druckmittel
scheidet ein rein autoritärer Führungsstil
aus. Abmahnungen, wovon zwei in der
Regel zu einer Entlassung führen, haben
im Projekt keine direkten Konsequenzen,
da der Ausschluss eines Einzelnen vom
Softwareprojekt nicht möglich ist.
Das Informieren der Geschäftsleitung
lässt die Interpretation zu selbst in seiner
Führungsrolle versagt zu haben.
Der kooperative Führungsstil erzeugt
Vertrauen und Selbstständigkeit. Die
Arbeitszufriedenheit
und Leistungsbereitschaft sind hoch (vgl. [1]). Der
Vorgesetzte bezieht seine Mitarbeiter in
den Entscheidungsprozess mit ein und
erwartet sachliche Unterstützung. Der
Vorgesetzte wird entlastet. Offene Kommunikationsstrukturen führen in der Regel
zu einem angenehmen Arbeitsklima. Auch
die Mitarbeiter profitieren von den Einblicken in die Aufgabengebiete der anderen Abteilungen, sie erlernen dadurch
eventuell neue Fähigkeiten und entwickeln
PROJEKTMANAGEMENT
Abbildung 1 (vgl. [1])
Verständnis für die Probleme der anderen
Abteilungen.
Die Probleme: nicht jeder Mitarbeiter
kann selbstständig arbeiten. Ebenso werden Distanzen zwischen Vorgesetzten
und Untergeben abgebaut und für den
Prozessablauf wichtige Hierarchien können verwischen. Auch die Geschwindigkeit des Arbeitsprozesses ist viel langsamer und auch teurer, da die Meetings
zum Informationsaustausch Geld kosten.
Hinsichtlich des gemeinsamen Ziels,
mit dem Erfolg des Softwareprojekts eine
gute Note zu erzielen, scheint ein kooperativer Führungsstil der richtige Weg zu sein.
Der erfolgreiche Abschluss der Iteration
bietet meist schon genügend Motivation
zur Mitarbeit. Für das Projektmanagement
entwickelt sich dadurch eine angenehme
Eigendynamik. Die Gruppe selbst übt aus
Angst vor einer schlechten Benotung,
Druck auf diejenigen aus, welche den Erfolg des Projekts gefährden könnten.
Das Softwareprojekt ist in seinen
Grundstrukturen bereits auf einen kooperativen Führungsstil ausgelegt. Zwei
Meetings pro Woche sorgen für einen
ständigen Kontakt zwischen den Vorgesetzten und den Mitarbeitern. Bereits in
der von der Geschäftsleitung veröffentlich-
ten Beschreibung des Statusgespräches
steht, dass die Abwicklung des Projekts
be-sprochen werden soll. Diese Dinge
wären bei einem autoritären Führungsstil
unnötig, da die Projektabwicklung für die
Mitarbeiter nicht zur Debatte stände und
die Aufgabenverteilung und deren Statusabfrage auch per E-Mail erfolgen könnte.
Ein
autoritärer
Führungsstil
ist
aufgrund der sich ständig ändernden Aufgabe und einer limitierten Fachkompetenz
des Vorgesetzten schwer zu realisieren.
Zwar kann durch den autoritären Stil viel
Zeit und Geld durch weniger Meetings
und einem geringeren Kommunikationsaufwand gespart werden, wiederum ist
die Projektleitung auf das Fachwissen
seine Mitarbeiter angewiesen, um die sich
ständig ändernden Anforderungen bewerten und bearbeiten zu können.
Die Wahl des richtigen Führungsstils
hängt auch von den Teammitgliedern der
jeweiligen Iteration ab. Mitarbeiter, die
sich schwer motivieren lassen und nicht
in der Lage sind eigenverantwortlich zu
arbeiten, erfordern einen eher autoritären
Führungsstil. Durch weniger Meetings und
Diskussionen kann zudem Geld gespart
werden. Damit hängt jedoch der Erfolg
der jeweiligen Iteration allein von der
Kompetenz der Projektleitung ab, da diese
die Entscheidungsgewalt hat. Die Projektleitung hat einen Mehraufwand durch die
Aufgabenkontrolle seiner Mitarbeiter.
Motivierte und verantwortungsbewusste Mitarbeiter entlasten die Projektleitung durch weniger Kontrollmaßnahmen
und eine geringere Wahrscheinlichkeit
von Fehlentscheidungen. Der kooperative
Führungsstil bezieht die Mitarbeiter in den
Entscheidungsprozess ein, jedoch entstehen durch viele Meetings erheblich höhere
Kosten und auch die Geschwindigkeit von
Entscheidungs- und Arbeitsprozessen
wird gedrosselt.
Der Projektleiter muss abhängig von
seinem Team ein gesundes Mittelmaß
zwischen kooperativem und autoritärem
Führungsstil finden. Er muss durch die offenen Strukturen eines kooperativen Stils
motivieren und von dem Wissen seiner
Mitarbeiter profitieren, aber auch erkennen
können, wann er schnelle Entscheidungen
alleine treffen und durchsetzen muss.
Philipp Becker, Projektmanagement
Quellen
[1] May/Fuß/Beer „Allgemeine Wirtschaftslehre für Büroberufe“ 10. Auflage 2007, S.61 ff.
[2] Hartmann/Härter, „Spezielle BWL der Industrie“ Merkur Verlag Rinteln, 12. Auflage 1995, S.244 ff
SOP JOURNAL R4
11
PROJEKTMANAGEMENT
KEINE STRUKTUR - KEIN PLAN!
Einführung einer systematischen Projektstrukturplanung
Aller Anfang ist bekanntlich schwer,
dies gilt insbesondere für Softwareprojekte. Erfahrungswerte müssen nicht zwingend von Nutzen sein, da sich Softwareprojekte stark voneinander unterscheiden.
Gerade erfahrene Mitarbeiter scheinen mit
dem Gedanken konfrontiert zu werden,
ein Projekt durch Erfahrung in kürzerer Zeit
schaffen zu können. Nach Thaller ([1],
S.39) tritt bei Mitarbeitern und Projektleitung häufig der Wunschgedanke auf, ein
Softwareprojekt in kürzerer Zeit realisieren
zu können, aufgrund von Erfahrungswerten
und Projekte unter ähnlichen Bedingungen
in der Vergangenheit. Sofern die Firma
die Anzahl der Entwickler nicht erheblich
gesteigert hat und den Entwicklungsprozess zu vergangenen Projekten verbessert
hat, spricht nichts für eine schnellere Realisierung eines Projektes.
Um eine solide Ausgangslage für die
Planung und Durchführung eines Softwareprojektes bewerkstelligen zu können,
benötigt das Projektmanagement eine
fundierte systematische Herangehensweise bei der Planung.
Gesucht ist nach einem Leitfaden,
welcher die Struktur eines Projektes abbilden soll.
Dabei ist der Umfang eines Softwareprodukts für den Komplexitätsgrad der
Strukturierung im Projekt verantwortlich.
12
SOP JOURNAL R4
Für die Projektleitung heißt das:
Sorgfältige Planung der einzelnen Projektphasen, dazu die Definition von Aufgaben
erstellen und diese für die Koordination
strukturieren.
Schwierig wird es jedoch dann, wenn
ein Projekt nicht neu beginnt, sondern
weitergeführt werden soll.
Dieser Fall trifft auf das Softwareprojekt an der Hochschule Reutlingen zu,
welches die Zusammenarbeit in größeren
Softwareprojekten simulieren soll. Dabei
ist das Vorgehen iterativ, also Schritt für
Schritt. Dies spannt sich über mehrere
Semester, sodass nach jeder Iteration das
Softwareprojekt mit all seinen Artefakten,
Entwicklungen, Dokumenten und Problemen an das nächste Semester übergeben
wird.
Um das Softwareprojekt weiterzuführen ist die Einarbeitung in das Projekt,
also die Ermittlung des aktuellen Stands
unumgänglich. Dazu gehören Aufgaben,
wie Dokumente sichten, Gespräche mit
Vorgängeriterationen führen und sich in
die Artefakte vergangener Phasen einzuarbeiten.
Im Unterschied zum Neuanfang eines
Softwareprojekts, wird man regelrecht
von Dokumenten überflutet. Durch die
hohe Anzahl verschiedenster Dokumente
und die unstrukturierte Dokumenten-
haltung in unserem Softwareprojekt sehen
Projekteinsteiger „vor lauter Bäumen den
Wald nicht mehr“. Dokumente können in
den seltensten Fällen korrekt priorisiert
werden.
Das Chaos gilt nicht nur für den Projektstart, sondern kann auch auf den gesamten
Entwicklungsprozess projiziert werden.
Insbesondere für die Projektleitung
ist der Gesamtüberblick über das Softwareprojekt ein MUSS. Dies stellte sich
in unserem Softwareprojekt als äußerst
schwierig dar, denn kein Artefakt oder
Dokument enthielt Informationen über die
Struktur im Projekt.
Nur mühsam ist die Ermittlung des
aktuellen Stands über Projektpläne und
andere Dokumente. Thaller1 [SoPM03,
S.34] erwähnt im Zusammenhang mit
„klassischen Fehlern“ auch das Problem
einer „zu ausführlichen und detaillierten
Spezifikation“. Dies bezieht sich zwar auf
die Entwicklung der Software, aber ein
ähnliches Problem tritt bei der Übergabe
des Softwareprojektes an die Nachfolgeiteration auf: Es gibt viele Dokumente,
aber kein Dokument das die Struktur des
Softwareprojektes visualisiert, welches
bei der Einarbeitung einen großen Wert
hätte.
PROJEKTMANAGEMENT
Weiß und ahnungslos - Ein neues Semester wird auf das Spielfeld gestellt. [Film]
Struktur im Softwareprojekt!
Die Einführung eines neuen Artefakts
ist daher empfehlenswert. Die Rede ist
von einem sogenannten Projektstrukturplan (PSP), welcher von Projektmagazin.
de [2] folgendermaßen definiert wird:
„Die Praxis der Projektstrukturplanung
präzisiert den PSP allerdings gemeinhin als
die vollständige hierarchische Anordnung
aller Elemente eines Projektes.“
Die Definition präzisiert den Projektstrukturplan im Gegensatz zur Definition
nach DIN 69901, als eine hierarchische
Anordnung der Elemente in einem Projekt.
Netzplan und Balkenplan, welche in der
DIN-Definition zu PSPs zählen, sind somit
in der Praxis nicht zwingend als Projektstrukturpläne anzusehen.
Es gibt verschiedene Ansätze bei
der Erstellung eines Projektstrukturplans.
Meines Erachtens schöpft eine visualisierte
Form des Projektstrukturplans das Potential
eines solchen am Besten aus. Durch die
Visualisierung sind Struktur und kritische
Pfade schnell zu erkennen.
Das Projekt wird als Gesamtaufgabe
gesehen, das aus verschiedenen Arbeitspaketen besteht. Diese Arbeitspakete
lassen sich wiederum in Teilarbeitspakete
unterteilen.
Dadurch lassen sich Teilaufgaben
konkret definieren. Der Hauptzweck des
Strukturplans ist die Prozess-Übersicht:
welche Abteilung muss zuarbeiten?
Welche Teilarbeitspakete bauen auf anderen auf? Durch diese Beziehungen und
Abhängigkeiten zwischen den Arbeits-/
Teilarbeitspaketen wird die Struktur im
Projekt ersichtlich.
Durch den Projektstrukturplan kann
eine effizientere Einarbeitung gewährleistet, Probleme/Konflikte (nicht persönlicher Natur) schnell ausfindig gemacht
und Zuständigkeiten klar ermittelt werden.
Dies führt zu einer effizienteren Einarbeitung für alle Abteilungen, nicht nur für die
Projektleitung.
Wie beim Projektplan kann der Projekt-
strukturplan auch teaminterne Strukturen
visualisieren. Dadurch können Abteilungen, die phasenabhängig zusammenarbeiten, sich einen schnellen Überblick über
die Struktur der jeweiligen Abteilungen
machen. Für Projektleiter ist der Projektstrukturplan ein sehr nützliches Werkzeug,
wenn dieser so funktioniert wie er soll.
Wie entsteht ein Projektstrukturplan?
Der Projektstrukturplan ist das Resultat
einer Projektstrukturplanung. Hierzu kann
der Projektstrukturplan in 10-Schritten
nach Strobusch [3] erstellt werden.
Die 10-Schritte-Planung wurde in das
Konzept einer systematischen Projektstrukturplanung übernommen [4]. Dabei
galt es für unser Softwareprojekt, ein
Konzept zu erstellen, die die Planung durch eine systematische Herangehensweise
unterstützen soll. Ein Leitfaden für die Projektleitung, um ein Projekt systematisch zu
planen ist uns gelungen. Weiter sollten die
Teilprozessen (Schritte 1-10) verfeinert
SOP JOURNAL R4
13
PROJEKTMANAGEMENT
Projektmanagement ist wie Poker spielen. [Film]
werden. Hinzu kommt, dass die Planung
in 10-Schritten nur dann erfolgreich sein
kann, wenn ein solides Anforderungsmanagement vorausgegangen ist. Denn
darauf basieren alle Planungen und Ziele,
die es in unserem Softwareprojekt zu erfüllen gilt.
Schwerpunkt des Konzeptes ist die
Projektstrukturplanung. Diese beschreibt
die Vorgehensweise für einen konkreten
Projektstrukturplan.
Fazit
Zusammengefasst sehe Ich ein Defizit in der Strukturgestaltung in unserem
14
SOP JOURNAL R4
Softwareprojekt. Angedacht von der
Geschäftsleitung war die Idee einen Projektstrukturplan für dieses Softwareprojekt
einzuführen. Als Projektleiter möchten wir
dieses Konzept aufnehmen und weiter
ausarbeiten. Vorteile und Mehraufwand
sollen ermittelt und gegenübergestellt
werden. Wir sehen vor allem in der Übergabe des Projektes einen erheblichen Informationsverlust, der nicht mittels hoher
Anzahl von Dokumenten wett zu machen
ist. Ganz im Gegenteil, sollten nur finale
Dokumente, die qualitativ hochwertig
sind, strukturiert weitergegeben werden.
Zudem ist es wichtig Prozesse, wie
etwa die Gesamtplanung des Projektes
nach einer fundierten Methode festzuhalten und für die weiteren Iterationen
verfügbar zu machen. Neben dem Projektstrukturplan gehört der Prozess Projektstrukturplanung, welcher wichtige Punkte
für die Planung des Projektes systematisch
darstellt.
Hierzu gehören auch Informationen,
die vor allem das Projekt an sich betreffen,
sprich Kommunikationsstruktur, Projektstruktur und Dokumentenstruktur.
Durch Übersichtlichkeit und bessere
Einschätzbarkeit des Softwareprojektes
kann vor allem in der Anfangszeit einer
Phase durch einen Projektstrukturplan die
Einarbeitungszeit verkürzt werden. So
können sich Iterationen schneller auf das
wesentliche, nämlich der Entwicklung des
Produktes konzentrieren.
Die Einführung des Projektstrukturplans ist meiner Meinung nach richtig.
Die Abwägung welches Produkt, hierzu
verwendet werden soll bleibt allerdings
noch offen. Das Konzept für eine systematische Projektstrukturplanung soll diese
Frage beantworten und hoffentlich schon
in der nächsten Iteration noch als festes
Artefakt einführen.
Kha Tran, Projektmanagement
Quellen
[1] „Software-Projektmanagement“: Georg Erwin Thaller, (S&S/2003)
[2] Aus dem Glossar von Projektmagazin.de: http://www.projektmagazin.de/glossar/gl-0093.html
[3] „Projektmanagement @ Siemens Vortrag“: Friedrich Strobusch, (Siemens/2008)
[4] Siehe hierzu Dokument „Projektstrukturplanung_080527_PM.docx“
K U N D E / S TA K E H O L D E R
DIE GRATWANDERUNG
Das Softwareprojekt zwischen Anspruch und Realität
Kann eine Hochschule ein reales
Projekt der freien Wirtschaft nachbilden? Der Bachelor-Studiengang Medien- und Kommunikationsinformatik
(MKI) an der Hochschule Reutlingen
wagt diesen Versuch mit einem Softwareprojekt, das Studienschwerpunkt
im fünften und sechsten Semester ist.
Die Diskrepanz zwischen Anspruch
und Realität ist jedoch hoch. So wird
die Flexibilität und Dynamik eines
realen Projektes in der Wirtschaft nie
erreicht. Warum dies so ist und welche
Verbesserungsmöglichkeiten es gibt,
soll aus der Sicht des Kundenteams
(interne Abkürzung [CU]) des Projektes untersucht werden.
Projektbeginn: Die Einteilung des neuen fünften Semesters in die verschiedenen
Teams bedeutet den Start für das einjährige Projekt. Obwohl die Wahl der Positionen in den Teams auf freiwilliger Basis
beruht, müssen bestimmte Positionen im
Projekt mit einer vorgegebenen Anzahl an
Personen besetzt werden. Deshalb können nicht alle Personen die ihren Vorstellungen und vor allem Ihren Fähigkeiten
entsprechenden Positionen besetzen,
was zu erstem Unmut führt. Hat sich dann
trotz Startschwierigkeiten ein Kundenteam
gebildet, stellt sich normalerweise
zunächst die Frage: Wie schreibe ich das
Projekt aus, welche Firmen bitte ich um
eine Angebotsabgabe? Zumindest in der
Theorie. Im Softwareprojekt hingegen sind
die Vertragspartner der Softwareentwicklung bereits mit der Teambildung festgelegt, ob gewollt oder nicht. Das wirft die
Frage auf: Warum soll eine Ausschreibung
erfolgen, wenn bereits feststeht, wer den
Auftrag erhält? Die Antwort kann hier nur
lauten: „Nicht zur Strafe, nur zur Übung!“.
Durch diese Herangehensweise werden
die Grundlagen vermittelt um diese später
in der Arbeitswelt einsetzen zu können.
Anhand dieses Beispiels wird deutlich, dass das Projekt sehr gute Ansätze
verfolgt, da es an die Gegebenheiten
eines realen Wirtschaftsprojektes heranführt. Einige dieser Ansätze sind jedoch
von Beginn an zum Scheitern verurteilt.
Es wird sich innerhalb des Projektes keine
vergleichbare Dynamik wie in der freien
Wirtschaft entwickeln. Dafür gibt es mehrere Gründe: Selbst wenn die Geschäftsleitung, gestellt von Professoren, versucht,
Konfliktpotential in das Projekt mit einzubringen, wird der Umgang zwischen
Kunde und Projektleitung nie den Stand
erreichen, der in der Wirtschaft üblich
ist. Der Kunde würde in der Entwicklungsphase mehr Druck auf die Projektleitung
ausüben, bereits in der Angebotsphase
würde härter verhandelt werden. Dies ist
im Projekt kaum möglich, da andere Faktoren entgegenwirken: Die Studierenden
kennen sich seit langem, sie sind teilweise
gut befreundet. Man kennt die Arbeitslast
der Anderen und wird nicht versuchen
den Druck durch Forderungen und Konflikte im Projekt zu erhöhen. Die Gefahr ist
groß, den Aufwand für das Projekt auf ein
gemeinsam abgestimmtes Mindestmaß
zu reduzieren. Dies hängt vom jeweiligen
Semester ab. Dass man auch gemeinsam
versuchen kann, etwas motiviert zu erreichen, zeigt zum Beispiel die Iteration fünf.
Diese Iteration hat bewiesen, dass durch
eine gute Zusammenarbeit ohne unnötige
Konflikte der Abteilungen untereinander
ein produktives Arbeitsklima im Projekt
entstehen kann. Durch Kommunikation und
ständige Gesprächsführung miteinander
konnte das Projekt einen entscheidenden
Schritt voran getrieben werden. Dies könnte jedoch mit zusätzlichen Freiheiten für
das Kundenteam noch weiter gesteigert
werden.
Der Kunde braucht ein Ziel: Was
soll entwickelt werden? Ein Langzeitarchivierungssystem. Nur im Softwareprojekt gilt nach eigener Erfahrung der Grundsatz „der Weg ist das Ziel“. Jede Iteration
erledigt nahezu dieselben Aufgaben, die
Fortschritte sind im Vergleich zur freien
SOP JOURNAL R4
15
K U N D E / S TA K E H O L D E R
Die Kunden lassen es sich gut gehen. [Film]
Wirtschaft gering. Unter anderem liegt es
daran, dass die Wege zum Ziel durch die
Geschäftsleitung vorgegeben sind.
Die Zielsetzung dieser Vorgehensweise ist klar, jedes Semester soll die gesamte Bandbreite der Aufgaben kennenlernen. Dahinter verbirgt sich ein Nachteil:
Eigene Ideen können nur schlecht eingebracht werden, die Flexibilität ist stark
eingeschränkt. Radikale Änderungen am
Projekt (zum Beispiel Beschränkung auf
die Java-Implementierung) sind ausgeschlossen.
In realen Projekten können solche
Änderungen durchaus mitten im Projekt
16
SOP JOURNAL R4
auftreten, wie ich aus eigener Erfahrung
bei der Firma BMW bestätigen kann. In
einem Projekt über den Zeitraum von
einem Jahr wurde die Zielsetzung mehrfach geändert, Anforderungen ständig
erweitert und ausgetauscht. Die Art der
Professoren, an das Projekt heranzugehen,
hat aber auch seine Vorteile:
Die Studierenden werden nicht überfordert, der pädagogische Aspekt wird
berücksichtigt. Die Studenten werden
langsam an die Abläufe in der freien
Wirtschaft herangeführt. Wie werden
Verträge geschlossen, welche Dinge
müssen beachtet werden, wie soll der
Dialog zwischen Kunde und Projektleitung
geführt werden? Es werden Einblicke in
die Abläufe eines sogenannten „ServiceLevel-Agreement“ gegeben, welche in
der Wirtschaft üblich sind. Hervorzuheben ist auch die Förderung der sogenannten „Soft-Skills“ (Kommunikationstechnik,
Präsentationstechnik, sicheres Auftreten)
jedes einzelnen innerhalb des Projektes,
welche in der heutigen Wirtschaft notwendig sind.
Das Projekt über zwei Semester bewegt sich also auf einem schmalen Grat
zwischen Realitätsnähe und pädagogischem Anspruch.
K U N D E / S TA K E H O L D E R
Da das Projekt jedoch auf Abläufe
in der freien Wirtschaft vorbereiten soll,
gibt es noch Verbesserungspotential.
Studenten hinterfragen oft die vorgegeben Wege der virtuellen Geschäftsleitung.
Viele bringen aus den Praxisphasen in der
Wirtschaft andere Erfahrungen mit, welche
sich nicht mit denen des Projekts decken.
Als Lösung für dieses Problem wäre es
wünschenswert, ausgewählten Vertretern
aus der Wirtschaft das Projekt vorzustellen
und deren Meinung darüber einzuholen.
Dadurch ist es möglich, Schwachstellen
im bisherigen System zu erkennen und
diese zu beseitigen. Was erwartet die
Wirtschaft wirklich von ihren zukünftigen
Angestellten, was sollte in einem solchen
Projekt umgesetzt werden? Wenn das Projekt durch Vertreter der Wirtschaft Zustimmung erfährt, bekommen die Studierenden eine andere Motivation an diesem
Projekt engagiert mitzuarbeiten. Es ist
auch wünschenswert, einzelne Vertreter
der Wirtschaft für Vorträge zu gewinnen.
Softwareentwickler der freien Wirtschaft
können dem Softwareteam Informationen
über den tatsächlichen Ablauf dieser Arbeit liefern. So können die Studenten ihre
Arbeitsweise am Projekt derer der Wirtschaftspraxis angleichen. Somit ist auch
die Möglichkeit gegeben, die Praxisnähe
des Projektes zu prüfen. Hier schlägt das
Projekt einen richtigen Weg ein. Friedrich
Strobusch, ein Projektleiter der Siemens
AG, wurde für einen Vortrag gewonnen,
welcher tiefe Einblicke in die Realität
des Projektmanagements eines großen
Unternehmens gewährt. Herr Strobusch
gab eine wertvolle Rückmeldung zu dem
Projekt selbst und regte zum Nachdenken
über Kommunikationswege an. Solche
Vorträge müssen zukünftig begleitend
zum Projekt realisiert werden.
Durch die positiv hervorzuhebende
Selbständigkeit im Projekt entwickelt jeder
einzelne auch seine eigene Herangehensweise an verschiedene Aufgaben. Durch
den Abgleich mit den Gegebenheiten in
der Wirtschaft kann ein einzelner seine
eigene Arbeitsweise prüfen und wenn
notwendig anpassen. Vorträge, wie der
von Friedrich Strobusch, sind der richtige
Weg zu einer Verbesserung des Projekts.
Dies sind nur ausgewählte Vorschläge, die
das Softwareprojekt interessanter und effizienter gestalten würden.
Dass das Projekt bereits einen richtigen
Weg geht, zeigt auch die Neuschaffung
der Marketing-Abteilung in unserer Iteration. So kann das Angebot innerhalb des
Projektes sinnvoll erweitert werden und
die Vermarktung eines Softwareproduktes
wird betrachtet und integriert. Es müssen in jeder Iteration Neuerungen in das
Projekt integriert werden, wenn dieses
kontinuierlich verbessert werden soll. Es
liegt im Interesse der Studenten dieses
voranzutreiben und weiterzuentwickeln.
Auch die Geschäftsleitung sollte sich an
den Innovationen beteiligen und Studenten Anregungen geben oder sie ermutigen
neue Ideen in das Projekt einfließen zu lassen. Dass die Professoren nicht abgeneigt
sind, neue Ideen umzusetzen, zeigte die
erstmalige Einführung von zwei virtuellen
Firmen in dieser Iteration. Durch diesen
Schritt ist eine weitere Annäherung an die
Gegebenheiten der Wirtschaft und eine
klare Trennung zwischen Auftraggeber
und Auftragnehmer erreicht worden.
Zusammenfassend ist das Softwareprojekt an der Hochschule Reutlingen eine
interessante Abwechslung zum normalen
Studienalltag. Rückblickend auf die letzten fünf Iterationen haben die Professoren
einen Ansatz für eine gelungene Lehrveranstaltung geschaffen, welche aber einen
fortwährenden
Verbesserungsprozess
durchlaufen muss. Die nachfolgenden
Iterationen können sich weiterhin um
den vorgeschlagenen Abgleich mit der
Wirtschaft bemühen. Dadurch wird das
gesamte Projekt auf ein höheres Niveau
gehoben, was wiederum den Studierenden selbst zugute kommt. Da die Professoren selbst ein Interesse daran haben,
die Lehrveranstaltung bzw. das Projekt zu
verbessern, wären sie dem einen oder anderen begründeten Vorschlag wohl nicht
abgeneigt. Was letztendlich im Projekt
selbst in dieser Hinsicht umgesetzt wird,
liegt zum Großteil an der Motivation der
nachfolgenden Studenten.
Es ist aber möglich aus dem schmalen
Grat, auf dem sich das Projekt bewegt
einen breiten Weg zu machen.
Markus Leyrer, Kunde/Stakeholder
(Leitung)
Quellen
[1] David Cannon, David Wheeldon: Service Operation u. a. aus der ITIL Version 3, 2007
(Service-Level beschreiben die Dienstleistungsgüte; Vereinbarung die wiederkehrende Dienstleistungen für den
Auftraggeber in den Kontrollmöglichkeiten transparenter gestaltet)
SOP JOURNAL R4
17
K U N D E / S TA K E H O L D E R
KOMMUNIKATION WILL GELERNT SEIN
Hier mal ein Treffen, da mal ein paar
Worte wechseln. Doch was verbirgt
sich hinter all den Gesprächen. Was
wird geklärt und was wird vorgestellt?
Was erhoffen sich Auftraggeber und
Auftragnehmer von den vielen Meetings und was bleibt besser unausgesprochen?
“Die Musik ist die gemeinsame Sprache
aller Nationen dieser Erde.” [1]
Gesungen wird im Softwareprojekt der
Hochschule Reutlingen zwar nicht, aber
es gibt trotzdem viele Wege miteinander
zu kommunizieren. Für eine einwandfreie
Verständigung ist es wichtig eine gemeinsame Sprache zwischen Auftraggeber
und Auftragnehmer zu finden. Die gemeinsame Sprache versucht man in den
gemeinsamen Meetings aufzubauen. In
den wöchentlich stattfindenden Treffen, wird berichtet, auf welchem Stand
jeder einzelne aus dem Projekt ist. Das ist
wichtig für die Kommunikation. Es wird erläutert, welche Aufgaben getätigt worden
sind und weitere Vorhaben werden vorgetragen. Doch was man wirklich getan
hat, bleibt meist im Verborgenen für den
Auftraggeber. Wie man das Problem lösen
könnte wird im Folgenden beschrieben.
Die Teams haben von vielen Dingen
18
SOP JOURNAL R4
eine verschiedene Auffassung und Arbeitsmoral. Um Problemen und Missverständnissen vorzubeugen ist es wichtig,
sich häufig untereinander auszutauschen.
Hinzu kommen die unterschiedlichen
Arbeitsauffassungen. Detailierte Arbeitsanweisungen sind für einige von besonderer Bedeutung und anderen reicht eine
Grobanweisung. Im Projekt können solche
Unterschiede zu Komplikationen führen,
da man eventuell Grobanweisungen für
alle verteilt, die nicht für alle verständlich
sind. Um das zu vermeiden, werden
nicht nur die allgemeinen Statusmeetings einberufen, sondern hinzu kommen
Arbeitsgespräche untereinander und die
Audio-Konferenzen via Vitero. Vitero ist
eine Software die eingesetzt wird, um
virtuelle Audio-Konferenzen abzuhalten.
Das ermöglicht den Teams, von zu Hause
daran teilzunehmen und ihre Arbeiten
den anderen Mitgliedern mitzuteilen.
Statusmeetings finden statt, um Informationen auszutauschen, dies allerdings
nur sehr oberflächlich. Man kommt in
einer „geselligen“ Runde mit allen Beteiligten zusammen und Antworten auf
Fragen wie: „Liegen wir im Zeitplan?“ oder
„Läuft alles so wie es geplant war?“ lauten
grundsätzlich „Ja“. Die Projektleiter holen
sich Rückmeldungen von ihren Kollegen
ein und zeigen dem Auftraggeber, wie
souverän gearbeitet wird. Die Geschäftsleitung hält sich vornehmlich zurück und
lauscht den Gesprächen. Selten kommt es
vor, dass Kritik geübt wird. Somit müssten
alle rundum zufrieden sein. Eine Annahme
ist, dass die Auftraggeber nur das erfahren
sollen, was positiv zu werten ist. Die Frage
„WIE“ gearbeitet wird, kann man pauschal
nicht beantworten. Man muss dem Team
die Freiheit geben so zu arbeiten, wie sie
es wünschen. Auftretende Probleme werden schnell gelöst, ohne Auswirkungen
(Zeitverlust) herbeizurufen.
Schwerwiegende Probleme sollten in
Arbeitsgesprächen geklärt werden. In den
Gesprächen, die entweder untereinander
geführt werden oder Team-übergreifend
sind, versucht man entsprechende Lösungen zu finden. Zum Teil sind es zeitliche
oder finanzielle Angelegenheiten, die
überarbeitet werden müssen. Ziel des
ganzen Gesprächs ist es, eine effiziente
Lösung zu finden, um das Projekt nicht unnötig aufzuhalten.
Arbeitsgespräche, wie diese kommen selten vor, da jeder annimmt, im
Allgemeinen Statusmeeting schon alles
berichtet zu haben. Ein paar Tage später
kommt doch noch die eine oder andere
Frage auf. Für ein ausführliches Gespräch
ist es nun zu spät. Um das Problem oder
Fragen doch noch aus dem Weg zu räu-
K U N D E / S TA K E H O L D E R
men, muss man Team-Intern, schnellst
möglich Antworten finden. Dadurch
wird die Team-übergreifende Arbeit eher
wenig gefördert und führt zu persönlichen
Diskrepanzen, da andere Projektteilnehmer annehmen, dass der- oder diejenige,
mögliche Aufgaben nicht ernst genug
nimmt.
Vitero Meetings sind ebenso Besprechungen, die wöchentlich von zu Hause,
via Internet stattfinden. Diese Meetings
finden zum Abschluss der Woche statt,
um mögliche, neue Aufgaben über das
Wochenende zu verteilen. Das heißt, am
Freitag hat man noch einmal die Chance,
Fragen zu stellen oder sich einfach nur
auszutauschen. Dies ist sehr wichtig,
denn viele nutzen das Wochenende, um
noch einiges aufzuarbeiten. Somit wird
im nächsten Statusmeeting ergänzt, was
bereits wieder getan wurde. Dieser Zyklus
sollte einwandfrei funktionieren, wenn
man sich richtig aufteilt und seine Kollegen wissen lässt, an welchen Aufgaben
man arbeitet.
Viele Teammitglieder tragen nur Dinge
vor, von denen sie denken, dass diese
auch andere interessieren könnten. Interne
Dinge werden auch nur untereinander
diskutiert. Wenn ein Teammitglied Hilfe
benötigt und sich nicht offenbart, kann es
zu Komplikationen kommen. Sobald sich
diese Probleme auf andere Arbeitsschritte
im Projekt auswirken, werden erste Fragen
gestellt, wie es dazu kommen konnte.
Unterstützung kann nur dann erfolgen,
wenn die Projektleitung weiß, wo sie gebraucht wird. Ein Zeitverlust oder andere
Konsequenzen werden vermieden, wenn
Alle Extra-Wünsche müssen erfüllt werden. [Film]
Probleme offenbart werden.
Transparentes Arbeiten heißt auch
Vertrauen in die Mitglieder des Projekts.
Insgesamt kann ein Projekt nur erfolgreich
sein, wenn jeder einzelne seine Aufgaben ernst nimmt. Einzelne Teammitglieder
erzählen viel über eventuelle Aufgaben,
aber die Praxis steht im Hintergrund. Das
heißt in der Theorie würde viel erreicht
werden, aber das Handeln fällt eher wenig
aus. Somit wird wenig Arbeit als viel mehr
verkauft, als eigentlich getan wurde und
müsste. Unter diesen Umständen, müsste
insgeheim viel aufgeholt werden, um das
Projekt nicht aufzuhalten, wird dies geschafft, ohne Komplikationen bekommt
der Auftraggeber nichts davon mit.
Die Auftragnehmer versuchen so
gut es geht, sich selbst zu verkaufen, so
werden keine Details gegenüber dem
Auftraggeber genannt, es sei denn der
Auftragnehmer wünscht es. Das heißt,
die Arbeitsweise sollte und müsste dem
Auftraggeber egal sein, das Resultat am
Ende ist entscheidend.
Es gibt genug Kommunikationsmöglichkeiten im Projekt und es gibt genug
Gelegenheiten, kundzutun, woran man arbeitet oder was eventuell fehlt, um voranzukommen. Viele jedoch nutzen nicht das
Angebot und arbeiten selbstständig, ohne
an die eventuellen Folgen zu denken.
Im Softwareprojekt hat man sich auf
eine Sprache einigen können. Das heißt
technische Inhalte werden so verständlich wie möglich formuliert und auch in
Schriftform dem Kunden zur Verfügung
gestellt. Die Dokumentation einzelner Arbeiten zeigen dem Auftraggeber Details
der Entwicklung und der Projektplan bestimmt den Rahmen für die gesamte Projektdauer. Auftragnehmer und Auftraggeber kommunizieren auf einer sachlichen
Ebene miteinander. Die Gelegenheit,
SOP JOURNAL R4
19
K U N D E / S TA K E H O L D E R
ihre Arbeiten offen darzulegen sollten
die einzelnen Mitglieder öfter nutzen.
Damit erhalten Geschäftsleitung und alle
weiteren Mitglieder mehr Einblick in das
Projektgeschehen.
Dokumentation ist ein Bestandteil des
Projekts, was viele für überflüssig halten,
aber von enormer Bedeutung ist. So kann
man nach einem längeren Zeitraum in
Dokumenten oder Protokollen nachlesen,
was, wann, wie festgelegt worden ist. Das
bedeutet, man kann sich selbst ein Bild
machen, wie gearbeitet wurde und kann
dadurch schneller auf Details reagieren.
Der Schriftverkehr, der durch Versenden
von täglichen Emails entsteht, gehört auch
dazu. Man schickt diverse Artefakte an
einzelne Teammitglieder weiter und unterstützt somit, das transparente Arbeiten.
So werden Dokumente, wie Verträge oder
Änderungsanträge, zwischen Auftraggeber und Auftragnehmer ausgetauscht. Anmerkungen von den beiden Partnern können sofort ausgesprochen werden. Jeder
hat die Chance schnelle Informationen zu
beziehen und es müssen keine Extratreffen einberufen werden.
Gemeinsame Unterlagen werden für
anstehende Reviews [2] versendet, um
sicher zu gehen, dass man nichts doppelt
nennt oder sogar abweicht von den anderen Teams. Es wird sichergestellt, dass
alle Dokumente fehlerfrei sind und dass
alle Aufgaben nach Plan erledigt worden
sind. Dabei sollte erwähnt werden, dass
nicht alle Projektteilnehmer jede Email
erhalten. Es gibt keine Regelungen, wann,
wer, welche Email bekommt, aber aufgabenspezifische Sachverhalte werden
20
SOP JOURNAL R4
auch nur an das entsprechende Team
versendet.
Dass es auch zu Fehlern kommen kann,
ist nichts Unnatürliches. Wenn Termine
oder Meilensteine aus diversen Gründen
nicht eingehalten werden können, ist das
noch keine Gefährdung für das Projekt.
Diese Probleme und Risiken die hervorgerufen werden, sind nicht vorher abzusehen. Dennoch gilt, dass die Arbeitsweise
eine Menge damit zu tun hat. Zusammen
wird dann, nach der Ursache geforscht
und überlegt wie man es in Zukunft besser
arrangieren könnte. Ziel ist es, ein Projekt
an die nächste Iteration so abzugeben,
in dass sich die Nachfolger/in schnell
einarbeiten kann und ein Programm zu
übergeben, welches fehlerfrei läuft.
Der Kunde bestimmt die Anforderungen. Welche Aufgaben bis wann zu erledigen sind, legt der Projektleiter fest. Was
dazwischen passiert lässt sich teilweise
nur erahnen, da man als Kunde nur das
sieht was der Auftragnehmer zulässt. In der
freien Wirtschaft erfährt der Auftraggeber
auch nicht alle Details, aber er wird immer
darüber informiert, wie es voran geht.
Da dieses Projekt noch nicht in der
freien Wirtschaft stattfindet und alle Studenten ihre ersten Erfahrungen sammeln,
wie man zusammen arbeiten könnte,
gelten hier noch andere Regeln. Hier
empfehlen sich ein ständiger Austausch
mit der Geschäftsleitung und eine lückenlose Dokumentation zur Nachverfolgung.
Auch in der freien Wirtschaft, insbesondere in großen Firmen kommt es öfter zu
Kommunikationsproblemen. „Innerhalb
größerer Firmen sind heute eine Vielzahl
unterschiedlicher, nicht kompatibler
Systeme, Programme und Dokumentenformate in Gebrauch. Deshalb ist es
nahezu unmöglich, Dokumente zwischen
unterschiedlichen Dokumentationssystemen auszutauschen bzw. Informationen
aus externen Quellen einzulesen und
aufzubereiten.“ [3] Dabei geht es primär
um die Daten- und Dokumentenaufbereitung, aber es entstehen Probleme, weil
man nicht ein und dasselbe Programm
verwendet. In unserem Projekt sind es die
Terminologie und die Sprachbarrieren die
überwunden werden müssen.
Es kann nie garantiert werden, dass
durch die Einhaltung diverser Regeln, es zu
einem reibungslosen Ablauf des gesamten Projekts kommt. Aber es wird vereinfacht. Fragen werden leichter beantwortet
und der Kunde wird zufriedengestellt. Ein
Projekt kann nur so gut werden, wie das
schwächste Glied in der Kette. Dieses Mitglied sollte nicht nur überwacht sondern
unterstützt werden, so dass das Projekt
nicht aufgehalten wird.
Wencke Schulz, Kunde/Stakeholder
Quellen
[1] http://www.zitate-aphorismen.de/zitate/thema/Kommunikation/232 (Stand: 28.05.08)
[2] Review ist ein Kurzvortrag, der jedes Teammitglied hält und indem berichtet wird was man in einen bestimmten Zeitraum erarbeitet hat.
[3] http://www.tekom.de/index_neu.jsp?url=/servlet/ControllerGUI?action=voll&id=444 (Stand: 28.05.08)
K O N F I G U R AT I O N S - U N D Ä N D E R U N G S M A N A G E M E N T
Im Serverraum des Studeingangs. [Film]
GEKLONTE GRÜNE SERVER
Der Einsatz von Virtualisierungstechnologie im Softwareprojekt
Die Virtualisierung von Servern
erfreut sich wachsender Beliebtheit.
Unternehmen wie Kunden setzen
zunehmend auf die V-Technologien.
Deren Einsatz im Softwareprojekt wird
ebenso stetig ausgebaut. Der Erfolg
basiert jedoch nicht nur auf geschicktem Marketing der Hersteller. Für eine
virtuelle Infrastruktur im Projekt gibt
es handfeste Gründe.
Dass die Virtualisierungstechnologie
einen großen Wachstumsmarkt innerhalb
der IT-Branche stellt, bestätigen die Geschäftszahlen des Spezialisten Vmware.
Mit einer Umsatzsteigerung um 88 Prozent
auf 1,33 Milliarden Dollar im abgeschlossenen Geschäftsjahr 2007, erfreut der
Marktführer seine Aktionäre (vgl. [1]). Aber
welche Leistungen bieten Vmware oder
Konkurrenten wie Virtual PC und Parallels
ihren Kunden eigentlich genau?
Die Virtuelle Maschine
Vereinfacht ausgedrückt, lassen sich
mit Hilfe von Virtualisierungstechnologien mehrere Betriebssysteme gleichzeitig
auf einem PC betreiben. Bei der Systemvirtualisierung wird dabei auf einem
physischen, realen Rechner eine virtuelle
Umgebung eingerichtet. Dies kann auf
einem gastgebenden Betriebssystem oder
direkt in der Hardware erfolgen. Die Umgebung wird als „Virtuelle Maschine“ (VM)
SOP JOURNAL R4
21
K O N F I G U R AT I O N S - U N D Ä N D E R U N G S M A N A G E M E N T
bezeichnet. Die VM emuliert einen kompletten PC mit Prozessor, Arbeitsspeicher,
Netzwerkkarte etc. Auf dieser virtuellen
vorgetäuschten Hardware kann nun ein
weiteres Betriebssystem als sogenannter
Gast betrieben werden. Die Verwaltung
der VMs übernimmt ein „Virtual Machine
Monitor“ (VMM) genanntes Programm. Es
teilt die realen Ressourcen zwischen den
Virtuellen Maschinen auf.
Die Vorteile bei konsequentem Einsatz der Technologie sind vielfältig und
unterstützen die Arbeit aller Mitarbeiter
und Abteilungen des Softwareprojekts.
Neue Iteration - neuer Server?
Die Projektregularien sehen für jede
Iteration einen neuen Server als aktive
Entwicklungsumgebung vor, obgleich
bereits ein einsatzbereites System der
vorrangegangenen Iteration besteht. Dies
führte zu kontroversen Diskussionen. Von
„Zeitverschwendung“ und „unnötiger Arbeit“ war die Rede. Warum also nicht den
alten und funktionierenden Server weiterbenutzen? Dafür gibt es gute Gründe:
Eine bessere Schulung des Konfigurations- und Änderungsmanagements (CM)
sowie eine sukzessive Weiterentwicklung
vorhandener Anleitungen. Darüber hinaus
geht das Wissen um die Installationen und
Konfigurationen nicht verloren. Freilich viel
Arbeit - in der Gesamtbetrachtung aber
eine durchaus richtige Entscheidung.
Die bisher bereitgestellte Hardware
konnte allerdings nur die anspruchslosesten Administratoren befriedigen.
Desktop-PCs der Mittelklasse, welche bei
mehreren aktiven Serveranwendungen be-
22
SOP JOURNAL R4
reits in Schwitzen kamen, begründen die
hohe Anzahl dedizierter Hosts im Projekt.
Wo ein bisheriger großflächiger Einsatz
von Virtuellen Maschinen an mangelnder
Leistung scheiterte, ist für die Zukunft dank
spezieller Server-Hardware eine komplette
virtuelle Infrastruktur geplant.
Die Vorteile für CM sind vielfältig. Alle
benötigten Server können auf den Virtuellen Maschinen eines einzigen physischen
Hosts aufgesetzt werden. Neben einfacheren Installationen unterschiedlicher
Betriebssysteme werden auch Backups
zur automatischen Sicherung der Server
und Datenbestände verbessert. Eine VM
wird auf dem Host als eine einzige große
Datei gespeichert, welche per Skript automatisch kopiert werden kann. Im Notfall
reicht das Zurückkopieren der gesicherten
Datei aus, um weiterarbeiten zu können.
Eine komfortable und sichere Lösung.
In der aktuellen Iteration mussten Server
hierfür noch außer Betrieb genommen
und manuell gesichert werden. Virtuelle
Maschinen steigern somit die Effizienz
des Konfigurations- und Änderungsmanagements.
Die Frage nach der Domäne
Für die Softwareentwicklung mit
dem Dateiverwaltungs-Programm Rational
ClearCase bestand eine besondere Installationshürde. Durch eine zwingende
Domänenanmeldung beim Windowsstart
standen viele Mitarbeiter vor der Neuinstallation ihres privaten Betriebssystems,
da diese nur mit dem wenig verbreiteten
Windows XP Professional möglich ist.
Ein erheblicher Aufwand. Die einfachste
Lösung hierfür bietet wieder eine VM.
Auf das vorhandene System wird das
benötigte Betriebssystem mit allen Rational-Anwendungen installiert. Welches
gastgebende System dabei auf dem Rechner läuft, spielt keine Rolle. Beide Systeme sind voneinander unabhängig, wie
auch die VMs untereinander. Auf einem
Windows-System kann Linux installiert
werden und umgekehrt, Unterstützung
durch die VMM vorausgesetzt.
Testen ohne Risiko
Um bei bisherigen Tests Serverkapazitäten einzusparen, wurden von CM
hier bereits Virtuelle Maschinen mit der
Software Vmware Server (vgl. [2]) eingesetzt. Bei täglichen Tests während der
Entwicklung wäre es ein hoher Aufwand
für CM stets frische Testumgebungen bereitzustellen. Mit Unterstützung von VMs
wird dieser Aufwand auf ein Minimum
reduziert. Ein einmal aufgesetztes und gesichertes System kann unbegrenzt oft geklont werden. Nur die Hardware schränkt
die Anzahl ein. Die Vorteile bestehen in
der risikolosen Testumgebung und den
exakt selben Bedingungen bezüglich System und Hardware. Das noch fehlerhafte
Softwareprodukt kann auf einem frischen
Betriebssystem installiert und auf Fehler
getestet werden. Parallele Tests auf mehreren VMs sind ebenso möglich. Sollte das
System beschädigt werden, wird es durch
einen neuen Klon ersetzt.
Es grünt so grün
Nicht nur Spaniens Blüten blühen in
strahlendem grün, auch die IT-Branche
K O N F I G U R AT I O N S - U N D Ä N D E R U N G S M A N A G E M E N T
hat die Farbe für sich entdeckt. Unter
dem Begriff „Green IT“ ist die ökologische
Neuausrichtung der Branche, spätestens
seit der CeBIT 2008 bekannt. Nur 10 bis
30 Prozent der verfügbaren Rechenleistung werden im Schnitt von den Servern
genutzt, wobei sich der Stromverbrauch
meist nahe der Volllast bewegt (vgl. [3]).
In den USA stellten die Rechenzentren im
Jahr 2006 knapp 1,6 Prozent des gesamten
Energieverbrauchs. Dies entspricht Energiekosten von 4,5 Milliarden Dollar. „Was
gut für die Umwelt ist, ist ein Muss für das
IT-Geschäft der Zukunft. Die Kosten um
Server zu betreiben, werden die Anschaffungskosten in den nächsten fünf Jahren
übertreffen. […]“, erklärt Dave Douglas,
von Sun Microsystems. (vgl. [4])
Das Potential von Einsparungen durch
den Einsatz von Virtualisierungstechnologien ist hoch. Das Teilen von Ressourcen
und ein geringerer Kühlungsaufwand
ermöglichen bessere Auslastungen und
einen effizienteren Betrieb. Die Unternehmen haben vielerorts die Zeichen der Zeit
erkannt und bemühen sich nachhaltig um
ein ökologisches Image. Sicherlich nicht
ganz uneigennützig wird die derzeitige
Stimmung für den Umweltschutz genutzt,
um Kosten zu sparen und besonders „saubere“ bzw. energiesparende Produkte zu
vermarkten. Über diese kommerziellen
Motive lässt sich streiten. Letztendlich
ist die Entwicklung aber richtig und auf
einem guten Weg. Auch die Hochschule
sollte hier als eine staatliche Einrichtung
die Virtualisierung von Servern weiter forcieren. Das Softwareprojekt geht hier mit
gutem Beispiel voran.
Virtueller Desktop der Zukunft
Mit dem Kauf einer Desktop-Virtualisierungstechnologie plant der Studiengang
MKI derzeit den Ausbau seiner virtuellen
Infrastruktur. Damit wird es möglich sein,
eine einmalig eingerichtete VM mit allen
Rational-Anwendungen jedem Mitarbeiter
zur Verfügung zu stellen. Deren Desktops
und Daten liegen vollständig virtualisiert
auf dem Server. Der Zugriff erfolgt ähnlich
eines Remote-Desktops von jedem PC aus
– auch von zuhause. Bisherige Probleme
der Softwareentwickler beim Serverzugriff entfallen, da ausschließlich auf dem
Server gearbeitet wird. Die Installation
und Konfiguration wird somit zentralisiert.
Für CM ein Segen: Aufwendige Hilfestellungen für missglückte Installationen entfallen. Aktualisierungen können zentral für
alle aufgespielt werden. Außerdem sind
die VMs vor Systemausfall, Angriff oder
Diebstahl geschützt (vgl. [5]).
Der Erfolg der Virtualisierungstechnologien liegt nicht zuletzt an der meist kostenlosen Bereitstellung der Software. Die
Zukunft liegt ohnehin in der Verwaltung
der VMs. Laut Diane Greene, der Präsidentin von Vmware, sorgt dieser Bereich bereits für 80 Prozent der Einnahmen. Blickt
man auf die zukünftigen Entwicklungen
wird das Potential der Technologie deut-
lich: Ein Server, der in dem Moment einspringt in dem ein anderer Server ausfällt
oder Datenbanken, die den PC wechseln
während auf sie zugegriffen wird. Komplette Virtuelle Maschinen im laufenden
Betrieb umzuziehen ist währenddessen
keine Zukunftsmusik mehr. Dies gibt es
schon heute. (vgl. [6])
Für die künftige Projektarbeit ist also
ein noch stärkerer Einsatz von Virtuellen
Maschinen in Planung. Die Vorteile für
ein effizientes interdisziplinäres Arbeiten
sprechen für sich. Mit diesem Weg gehen
das Softwareprojekt und die Ausbildung
der Studenten einen zukunftssicheren und
richtigen Weg.
Bei den Herstellern ist der Kampf
um die Kunden indes neu eröffnet. Die
lukrative und gewinnträchtige Branche
veranlasst derzeit die IT-Riesen Microsoft
und Oracle deren Anstrengungen auf der
Jagd nach Marktanteilen in dieser Sparte
kräftig auszubauen. Bei einem geschätzten Jahresvolumen von 5,5 Milliarden
Dollar wollen derzeit viele ein Stück vom
virtuellen Kuchen abbekommen. Der
Markt dürfte davon profitieren. Nur die
Aktionäre von Vmware werden enttäuscht
sein. Die Aktie verlor daraufhin trotz guter
Quartalszahlen um 34 Prozent (vgl. [1]). Es
bleibt spannend.
Armin Wälder, Konfigurations - und
Änderungsmanagement (Leitung)
Quellen
[1] http://www.zdnet.de/itmanager/kommentare/0,39023450,39161636,00.htm (Stand: 02.05.2008)
[2] http://www.vmware.com/de/products/server/ (Stand: 02.05.2008)
[3] http://www.cebit.de/bin/greenit/index.html (Stand: 02.05.2008)
[4] http://www.zdnet.de/itmanager/tech/0,39023442,39159819-1,00.htm (Stand: 02.05.2008)
[5] http://www.vmware.com/de/company/news/releases/02_28_08_demo.html (Stand: 02.05.2008)
[6] Beier, Andreas: Schöne virtuelle Welt, in c’t 21/2007, S.45.
SOP JOURNAL R4
23
K O N F I G U R AT I O N S - U N D Ä N D E R U N G S M A N A G E M E N T
ALLE DENKEN RATIONAL
Werkzeuge von IBM - Eine Hilfe für das Softwareprojekt?
Befragt nach dem Einsatzzweck der
Werkzeuge von Rational erklärt der Hersteller IBM, dass „[…] Sie mit den Rational-Entwicklungstools Ihre Softwareentwicklung
optimieren können. (vgl. [1])“ Die Verifikation dieser Werbeaussage übernimmt der
harte Projektalltag.
Entwicklung IT-Produkte der DSV-Gruppe,
bildet RequisitePro die ideale Basis zur
Softwareentwicklung (vgl. [2]).
RequisitePro wird im Projekt von
Kunden und Projektmanagement genutzt.
Vertraglich definierte Anforderungen können einfach und übersichtlich verwaltet
und mit Attributen wie Priorität oder Status
versehen werden. Weiterhin ist es möglich
Abhängigkeiten durch Verknüpfungen zu
beschreiben. Ein auf dem Server zentral
verwaltetes Projektverzeichnis bietet
jedem Mitarbeiter Zugriff. Paralleles Arbeiten wird somit ermöglicht. Nützlich
an RequisitePro ist ebenfalls die Definition
beliebiger neuer Attribute, mit welchen
eine Anforderung versehen werden kann.
Die Historie eines Dokuments ist ein weiterer Vorteil.
Der Kunde stellt die Anforderungen
Anforderungen stehen zu Beginn
der Softwareentwicklung. Für einen effizienten Entwicklungsprozess muss die
Effizienz aller Teilprozesse gewährleistet
werden. Ein schlechtes Anforderungsmanagement beeinträchtigt nachhaltig
die komplette Kette der Entwicklung.
Nicht optimal verwaltete Anforderungen
führen zu fehlerhaften Umsetzungen und
geringer Qualität des Produktes. Nach André Koschinowski, dem Abteilungsleiter
Ein Projekt steckt voller Änderungen
Im Laufe jedes Entwicklungsprozesses treten Änderungen an der zu
erstellenden Software auf. Sie können
sowohl das Produkt, als auch die eingesetzten Entwicklungswerkzeuge betreffen. Änderungsanträge werden auch
Change Requests genannt. Diese können
in zwei Kategorien eingeteilt werden:
Wichtige und dringende Änderungen,
welche eine sofortige Umsetzung benötigen oder Änderungen, die bei Zeitmangel
Um eine effiziente Arbeit im Softwareprojekt zu ermöglichen, ist die
Nutzung von projektunterstützender
Software notwendig. Der Einsatz der
professionellen Rational-Werkzeuge
der Firma IBM sorgt für Kontroversen.
Sind sie wirklich vorteilhaft für das
Softwareprojekt? Oder bedeuten sie
nur einen unnötigen Mehraufwand
und stehen in keinem Verhältnis zum
Nutzen?
24
SOP JOURNAL R4
der nächsten Iteration übergeben werden
können. Um diese Change Requests zu
verwalten bedarf es einer Software für das
Änderungsmanagement. ClearQuest ist
hierfür optimiert und wird auch vielfach
im realen Business eingesetzt. Nach Wim
Geerdink, Gruppenleiter für Softwareentwicklungswerkzeuge bei Philips ASA Laboratory, bietet es eine einfache Anpassung
an den existierenden Prozess. Dies macht
es den Entwicklern einfach auf ClearQuest
umzusteigen. (vgl. [3])
Im Projekt wird ClearQuest von allen
Abteilungen genutzt, um Änderungsanträge zu stellen. Es kann der komplette
Lebenszyklus einer Änderung verfolgt und
geändert werden. Für die verschiedenen
Änderungskategorien gibt es einzelne
Prozessmodelle. In diesen sind die
Zustände und Aktionen des Lebenszyklus
eine Änderung definiert. Mit ClearQuest
kann der aktuelle Stand einer Änderung
von jedem Mitarbeiter abgerufen werden.
Ebenfalls können Berichte und Diagramme
generiert werden. Damit kann dem Projektmanagement beispielsweise aufgezeigt
werden, wie lange eine Änderung noch
bis zur Fertigstellung benötigt.
Artefakte müssen verwaltet werden
Im Verlauf des Projektes entstehen
zahlreiche zu verwaltende Dokumente
K O N F I G U R AT I O N S - U N D Ä N D E R U N G S M A N A G E M E N T
Immer konzentriert bleiben und die Nerven behalten, wenn alle zu einem laufen. [Film]
und Artefakte. Es ist außerdem erforderlich, verteilt programmierten Quellcode
zusammenzufügen. Für diese Aufgaben
ist ein Werkzeug zur Dateiverwaltung
nötig. Hierfür gibt es Open-Source
sowie kommerzielle Produkte. Laut der
Fachzeitschrift „manage it“ sind die
Open-Source-Produkte im Vergleich zu
kommerziellen Lösungen als qualitativ
hochwertige Alternativen anzusehen. Dies
ist auf die große Entwicklergemeinde
zurückzuführen, welche neue Funktionen
zeitnah realisiert. Bei kommerziellen Herstellern wird die Umsetzung meist in den
nächsten Release verschoben. Weiterhin
sind die Open-Source-Varianten kostenlos verfügbar und beanspruchen keine
Wartungskosten. (vgl. [4])
Ein
Open-Source-Werkzeug
zur
Dateiverwaltung, welches bereits in früheren Iterationen im Projekt eingesetzt wurde ist Subversion. Die Ablösung erfolgte
durch das kommerzielle Rational ClearCase. Wieso wird an dieser Stelle nicht
weiterhin die Open-Source-Lösung eingesetzt? Trotz der vielen Vorteile ist der Vorzug von ClearCase gegenüber Subversion
gerechtfertigt. In allen Bereichen des Projektes wurden die Werkzeuge von Rational
eingeführt. ClearCase bietet mit diesen
eine hervorragende Integration. Dies bedeutet, die Programme sind aufeinander
abgestimmt und Prozesse lassen sich
miteinander verknüpfen. Ebenso lässt es
sich direkt in die Entwicklungswerkzeuge
Eclipse und Visual Studio integrieren.
ClearCase wird zur zentralen Verwaltung von Artefakten eingesetzt. Derzeit
bestehen dafür noch mehrere Plattformen, wie BSCW oder Sharepoint. Diese
sollen in Zukunft komplett von ClearCase
als Dateiverwaltung abgelöst werden.
Somit erhält das Projekt eine einheitliche
Ablage für alle Artefakte. Inkonsistenzen
oder Duplikate im Datenbestand können
so vermieden werden.
Probleme gibt es überall
Durch die Nutzung der Rational-Software entstehen jedoch nicht nur Vorteile
für das Projekt. Der erste Kritikpunkt ist
die Einrichtung und Administration. Diese
Aufgabe wird von der Abteilung Konfigurations- und Änderungsmanagement (CM)
übernommen. Hierbei ist es sehr kompliziert jedes Werkzeug betriebsbereit zu
konfigurieren. Dies liegt an der zeitaufwen-
SOP JOURNAL R4
25
K O N F I G U R AT I O N S - U N D Ä N D E R U N G S M A N A G E M E N T
digen Installation und der unübersichtlichen Anleitungen und Hilfestellungen
von IBM. Auch Prof. Dr. Stefan Schöf von
der Fachhochschule Oldenburg kritisiert
dies bei seiner „Evaluation der Rational
Suite Enterprise“. RequisitePro ist mit einer
„aufwändigen Installation, die auch etwas
tiefer in das System eingreift“ verbunden,
erklärt er. Weiterhin ist „die Installation
von ClearCase im Vergleich zu anderen
Konfigurationsmanagement-Werkzeugen
extrem aufwändig“. (vgl. [5]) Der Import
aller Daten aus den Vorgängeriterationen
und das Einrichten der Zugänge sind weitere umfangreiche Vorgänge.
Es ist zu überlegen, ob jede Iteration
alle Werkzeuge wieder komplett neu installieren sollte. Der daraus resultierende
Vorteil ist, dass es in jeder Iteration geschulte Mitarbeiter gibt. Diese können bei
Ausfällen die Aufgabe der Neuinstallation
übernehmen, sowie das notwendige Wissen an die Folgeiteration kompetenter vermitteln. Andererseits entsteht durch die
komplette Neuinstallation der Werkzeuge
ein erheblicher Zeitaufwand. Dadurch ist
die Abteilung CM in der Anfangsphase
des Projektes ausgelastet und kann erst
danach neue Aufgaben übernehmen.
Ein weiterer Kritikpunkt ist die aufwändige Installation der Werkzeuge auf dem
Client-Computer. Hierfür muss gegebenenfalls das Betriebssystem Windows
XP Professional neu installiert werden.
Auch kommt es oft zu Komplikationen,
welche nicht vorhergesehen werden können. Beispielsweise gab es Fehler bei der
Verbindung zur RequisitePro-Datenbank.
Die für die Einwahl ins Hochschulnetz
26
SOP JOURNAL R4
benötigte VPN-Verbindung (Virtual Private
Network) führte, wie auch die Domänenanmeldung, ebenfalls mehrfach zu Problemen. Durch diese Installationshürden
nahmen nur wenige Mitarbeiter die Dienste der Rational-Werkzeuge in Anspruch.
Aufgrund der langen Einarbeitungs- und
Einrichtungszeit können diese ohnehin
erst in der zweiten Hälfte des Projektes
effektiv genutzt werden. Prof. Schöf bestätigt in seiner Evaluation: „Es stellte sich
bei der ersten Nutzung bereits heraus,
dass die verschiedenen Werkzeuge zwar
sehr mächtig sind, dafür aber teilweise
einer sehr gründlichen Einarbeitung und
entsprechenden Vorwissens bedürfen“
(vgl. [5]).
Um das Problem der aufwändigen
Installation auf dem Client-Computer und
des damit verbundenen Zeitaufwandes
zu lösen, ist es sinnvoll zukünftig die Webschnittstellen der Werkzeuge zu benutzen. Sie sind für alle drei im Projekt eingesetzten Rational-Werkzeuge vorhanden
und ermöglichen den Mitarbeitern einen
einfachen Zugriff per Browser. Dies macht
die Client-Installationen überflüssig und
dürfte zu einer erhöhten Akzeptanz der
Werkzeuge führen. Ebenso wird eine Plattformunabhängigkeit erreicht.
Fazit
Für die Zukunft des Softwareprojektes
ist ein wichtiger Punkt sicherlich der verstärkte Einsatz der Rational-Werkzeuge. Sie
wurden erstmals von CM in dieser und der
letzten Iteration eingerichtet. Zum jetzigen
Zeitpunkt nutzen lediglich 12 der 22 Iterationsmitglieder das Werkzeug ClearCase,
was auf die komplizierte Einrichtung
und Installation zurückzuführen ist. Eine
verstärkte Nutzung der bisher nur wenig
eingesetzten Werkzeuge ist anzustreben.
Dadurch können die Vorteile, welche die
Werkzeuge mit sich bringen, in Zukunft
besser ausgeschöpft werden. Ein Lösungsansatz hierfür ist beispielsweise die Nutzung der Webschnittstellen.
Der Einsatz der Werkzeuge von
Rational bietet eine zentrale Plattform
für den Softwareentwicklungsprozess
und die Mitarbeiter. Hier werden alle
Artefakte und Prozesse verwaltet. Die
einzelnen Applikationen sind aufeinander
abgestimmt und wechselseitig integriert. Generell bedeutet der Einsatz der
Rational-Werkzeuge eine Optimierung der
Softwareentwicklung. Der Mehraufwand
durch lange Installationen und Konfigurationen steht durchaus im Verhältnis zum
späteren Nutzen. Eine konsequente und
effiziente Einarbeitung und ein qualifizierter Einsatz der Mitarbeiter ist allerdings
Voraussetzung.
Jacqueline Jonigkeit, Konfigurations und Änderungsmanagement
Quellen
[1] http://www-306.ibm.com/software/de/rational/ (Stand: 03.05.2008)
[2] ftp://ftp.software.ibm.com/software/emea/de/rational/P6280_HiR_oB_GK12-4521-00.pdf (Stand: 29.05.2008)
[3] ftp://ftp.software.ibm.com/software/emea/de/rational/philips.pdf (Stand: 29.05.2008)
[4] http://www.ap-verlag.de/Download-Dateien/mit%207-8%202005/mit%207-8-2005-220a_LV.pdf (Stand: 29.05.2008)
[5] www.fh-oow.de/forschungsdatenbank/docs/Forschungsbericht_30032006012310.pdf (Stand: 29.05.2008)
K O N F I G U R AT I O N S - U N D Ä N D E R U N G S M A N A G E M E N T
TROUBLESHOOTING
Der Weg zur Lösung eines Problems
Wer sich ohne praktische Vorkenntnisse im Bereich Server-Administration
für die Rolle Konfigurationsmanagement entscheidet, wird mit zahlreichen Problemen zu kämpfen haben.
Denn das Hauptproblem der fehlenden praktischen Erfahrung bringt zahlreiche weitere Teilprobleme mit sich.
Hierbei ist insbesondere überdachtes
strategisches Vorgehen wichtig, denn
die „Trial and Error“ [1] – “mit-demKopf-durch-die-Wand“-Methode führt
häufig zu weiteren Problemen.
Konfigurationsmanagement:
Aufgaben & Probleme
Das weite Aufgabenspektrum des
Konfigurationsmanagement beginnt bei
der Serverinstallation. Neben einem Betriebssystem werden hierbei Datenbanken, Webserver und Anwendungen wie
z.B. Rational ClearCase, ClearQuest oder
RequisitePro installiert und konfiguriert.
Methoden wie VPN [2], DNS [3], Domänencontroller[4] und Active Directory [5]
machen den simplen Host zur Serverplattform, die allen Mitarbeitern über das
Internet zugänglich ist. Dadurch können
sämtliche Ressourcen zentral gespeichert
und verwaltet werden.
Hier wird man mit zahlreichen verschiedenen Technologien und Systemen
konfrontiert. Es gibt viele Installations-,
Konfigurations- und Administrationsmöglichkeiten und dadurch ein hohes
Fehler- und Problempotential.
Problemlösen geschieht zwischen
zwei möglichen Extremen: „Trial and Error“ und strategisches Vorgehen. Ersteres
setzt keinerlei Intelligenz voraus, da verschiedene Lösungswege „ausprobiert“
werden und die Lösung durch Zufall gefunden wird. Das schafft allerdings häufig
weitere Probleme, da oft Fehler gemacht
werden. Deshalb muss insbesondere hier
das System vor jeder Änderung gesichert
und jeder Schritt dokumentiert werden.
Das andere Extrem ist das strategische
Vorgehen, wobei durch Einsicht gelernt
wird. Das setzt allerdings umfangreiche
Kenntnisse voraus. Insbesondere zu Beginn des Projektes machte sich eine starke
Tendenz zu „Trial and Error” bemerkbar.
Jedoch sollten Probleme bei einem intakten Server immer strategisch bearbeitet
werden, damit nicht andere funktionsfähige Dienste gefährdet werden.
Die Phasen des Troubleshooting lassen
sich grob in drei Teile gliedern: Erfassen
des Problems, Analyse der Lösungsverfahren und Erreichen des gewünschten
Soll-Zustandes. Basierend auf der
methodischen Problemlösungsstrategie
„S.P.A.L.T.E.N“ [6], die an der Universität
Karlsruhe entwickelt wurde, werden diese
Phasen verfeinert und auf das „SOP“-Konfigurationsmanagement angewendet [7].
Phase 1: Erfassen des Problems
Die Problemsituation muss zuerst
exakt analysiert werden. Daraufhin kann das
Problem eingegrenzt werden. Das kann
unter Umständen aber sehr aufwändig
sein: Bekommt der Benutzer beispielsweise keine Verbindung zum Server, können viele Ursachen dahinterstehen, sodass
eine Eingrenzung schwer fällt. Denn der
Fehler kann am Server, am Client oder am
darunterliegenden Netzwerk liegen.
Ein Fehler auf Server-Seite, dessen Behebung viel Zeit in Anspruch nahm, war
beispielsweise eine falsch eingestellte
DNS-Adresse. Dabei wurde trotz bestehender Verbindung zum Server die
Domäne „sopr4.hochschule-reutlingen.
de” nicht gefunden. In der Dokumentation
befand sich eine falsche DNS-Adresse,
was die Fehlererkennung erschwerte.
Zudem gab es keinen direkten Ansprechpartner, der sich mit dem System auskannte und sofortige Unterstützung leisten
konnte. Auch Hilfsanleitungen und Foren
halfen nicht weiter, da man das Problem
nicht konkret erfassen konnte. Letztendlich
SOP JOURNAL R4
27
K O N F I G U R AT I O N S - U N D Ä N D E R U N G S M A N A G E M E N T
wurde der Fehler dank Unterstützung eines
hilfsbereiten Mitarbeiters der Hochschule
entdeckt. Eine „2” wurde durch eine „4“
ersetzt und das Problem war behoben.
Der Support der Mitarbeiter erfolgt
häufig über Internettelefonie, Email oder
Nachrichtendienste wie ICQ. Da man
hier nicht selbst nach der Problemquelle
suchen kann, ist es wichtig, dass diese ihr
Problem konkret schildern und Anweisungen befolgen. Die Problemquellen sind
dabei häufig unterschiedliche Betriebssysteme oder Programmversionen sowie
Netzwerkeinstellungen. Erfahrungsgemäß
können Probleme auf Client-Seite einfacher eingegrenzt werden, da man einen
direkten Vergleich mit anderen funktionierenden Clientkonfigurationen hat.
Phase 2: Lösungsverfahren
Wichtige Voraussetzung: Das Problem
wurde erfasst, eingegrenzt und exakt
beschrieben. Nun werden verschiedene
Wege und Schritte zur Lösung des Problems untersucht und geplant.
Laut Professor Keller müssen bei jeder
Aufgabe erst Probleme analysiert werden.
Dann muss der Aufwand darauf geprüft
werden, ob dieser im gesteckten Rahmen erfüllbar ist. Anschließend sollen
Aufgabe in Teile zerlegt und das Ganze
rekursiv wiederholt werden. Wenn bei der
Ausführung dann unvorhergesehene Probleme auftreten, so Keller, muss sofort die
Tragweite abgeschätzt und bei geringstem
Verdacht auf Verzögerungen die Leitung
gewarnt werden. Erst dann darf versucht
werden, das Problem zu beheben.
Dr. Otto Buchegger ist im Artikel
28
SOP JOURNAL R4
Vor dem Review muss die Technik laufen. [Film]
„Problem - Lösungstechniken“ ähnlicher
Meinung, allerdings erkennt er einen
Nachteil in der Zerteilung von Problemen:
„Zum Beispiel kann es beim Unterteilen zu
Schnittstellenproblemen kommen, etwa
durch unzureichende Kommunikation.
So wird das Teilen selbst eine Ursache
von Problemen.“ Nichtsdestotrotz ist die
Zerteilung der Probleme sehr erfolgreich
und weit verbreitet [8].
Alternativen aufzeigen
Viele Wege führen nach Rom - deswegen muss man verschiedene Vorgehensweisen analysieren, um zu wissen, welche
letztendlich die Beste ist.
Beispielsweise wurde festgestellt,
dass die Client-Konfiguration und die
Arbeit an der Server-Domäne vielen
ClearCase-Benutzern zu umständlich ist.
Zudem kann man sich mit dem Standard-
K O N F I G U R AT I O N S - U N D Ä N D E R U N G S M A N A G E M E N T
betriebssystem Windows XP Home nicht
an einer Domäne anmelden, weshalb ein
anderes Betriebssystem verwendet werden muss.
Eine Alternative wäre der Betrieb
einer virtuellen Maschine. Damit kann ein
weiteres „Gast“-Betriebssystem auf dem
eigenen Host installiert, konfiguriert und
im Fenstermodus ausgeführt werden.
Auf diesem könnte man alle benötigten
Werkzeuge so installieren und konfigurieren, dass der Benutzer lediglich diese
virtuelle Maschine installieren muss. Dieser
muss sich dann nicht mehr um das lästige
Installieren aller Werkzeuge kümmern und
kann direkt mit seiner Arbeit beginnen.
Eine andere Alternative wäre der
Verzicht auf die Verwendung von
ClearCase und den damit verbundenen
Workarounds. Zur Verwaltung könnte man
Werkzeuge wie Subversion oder Sharepoint verwenden. Allerdings würde dann
ein mächtiges und bereits erworbenes
Werkzeug überflüssig. Zudem haben die
anderen genannten Werkzeuge ein kleineres Funktionsspektrum.
Lösungsauswahl
Vor- und Nachteile verschiedener
Lösungsansätze müssen gegeneinander
abgewägt werden. Dabei sollte auf
folgende Fragen eingegangen werden:
Welcher Weg ist der einfachste, effizienteste und kostengünstigste? Welche
Chancen und Risiken existieren? Wird
das Problem vollständig behoben oder
entstehen dadurch weitere?
Ein weiterer wichtiger Faktor ist die
Zeit. Nach Professor Keller gilt hierbei:
„Wenn sie eine Aufgabe in der Zeit x
erledigen sollen, dann gilt: Wer nach dem
Zeitpunkt x/2 noch Probleme feststellt
oder Verzögerungen erzeugt, ist zu entlassen.“
Dieser Leitsatz hört sich in der Theorie
sinnvoll an, konnte in der Praxis teilweise
jedoch nur schwer angewendet werden.
Zu Beginn des Projektes war diese Zeitplanung kaum möglich, da man wegen fehlender rollenspezifischer Vorkenntnisse
nicht wusste, mit welchen Problemen die
anstehenden Aufgaben verknüpft sind.
Traten Probleme auf, konnten sie nur mit
großen Umständen erfasst und gelöst
werden.
Phase 3: Erreichen des Soll-Zustandes
Einführung und Umsetzung
Sicheres Vorgehen ist bei Veränderungen am Server sehr wichtig. Führen die
Änderungen nicht zum Erfolg, sollen dies
rückgängig gemacht werden. Es hat sich
bewährt, jede Veränderung am System
schriftlich oder mit Screenshots zu dokumentieren. Somit können auch andere Per-
sonen das Problem und die eingeleiteten
Lösungsschritte nachvollziehen. Für den
Notfall ist zudem eine durchdachte
Backupstrategie erforderlich. Diese sollte
ohnehin funktionieren, nichtsdestotrotz ist
es empfehlenswert vor den Veränderungen das komplette System zu sichern.
„Never change a running system“.
Veränderungen am laufenden ServerSystem sind risikobehaftet und müssen
mit Vorsicht durchgeführt werden. Denn
hier befindet sich der logische Knotenpunkt, an dem alle Ressourcen zusammengefügt und verwaltet werden. Verfügt
man über die nötigen Ressourcen, kann
das komplette System auf die Festplatte
eines anderen Host gespiegelt werden,
sodass man ohne Risiko die geplanten
Veränderungen testen kann.
Nachbearbeitung und Lernen
„Aus Fehlern lernt man“. Da aber auch
die Nachfolgeiterationen aus diesen
lernen sollten, ist es sinnvoll, diese zu dokumentieren, sodass die Arbeit nur einmal
erbracht werden muss.
Marc Ammon, Konfigurations - und
Änderungsmanagement
Quellen
[1] Versuch und Irrtum
[2] Virtuelles Netzwerk dem sich Clients anschließen
[3] Namensauflösungsdienst im Internet
[4] Ermöglicht zentrale Authentifizierung und Authorisierung von Clients
[5] Verzeichnisdienst von Microsoft Windows Server 2003
[6] Situationsanalyse, Problemeingrenzung, Alternativen aufzeigen, Lösungsauswahl, Tragweite analysieren,
Einführung und Umsetzung, Nachbearbeitung und Lernen
[7] Albers, A.; Saak, M.; Burkardt, N.; Schweinberger, D.: Gezielte Problemlösung bei der Produktentwicklung
mit Hilfe der SPALTEN-Methode, 47. Internationales Wissenschaftliches Kolloquium, Technische Universität
Illmenau, 23.09.2002
Nähere Informationen zur SPALTEN-Methode unter:
a) http://www.ipek.uni-karlsruhe.de/medien/veroeffentlichungen/ICED05_albers_SPALTEN_Full_pa
per.pdf,
offizielles Dokument, 2005
b) http://de.wikipedia.org/wiki/Problemlösen Kapitel: „Methodische Problemlösung“, 2008
[8] Buchegger, Otto: Problem – Lösungstechniken, http://www.praxilogie.de/problemloesung.html, Tübingen, 2007
SOP JOURNAL R4
29
S O F T WA R E E N T W I C K L U N G
NICHTS ALS DIE WAHRHEIT?
Die Kommunikation im Softwareprojekt
Zu Beginn des fünften Semesters
erhalten die Studenten in der Vorlesung
eine grobe Übersicht über den Ablauf
des Softwareprojekts. Detaillierte Informationen zur Aufgabenstellung und den
gewünschten Arbeitsergebnissen liefert
jedoch die direkte Vorgängeriteration, die
sich im sechsten Semester befindet.
Die neuen Kunden werden mit den
Anforderungen an die Software und
mit den bestehenden Verträgen vertraut
gemacht, die Projektleiter erfahren, wie sie
einen Projektplan erstellen, die Tester erhalten die Testfälle, der Qualitätssicherung
werden die Richtlinien vorgelegt und
die Vorgänger des Konfigurations- und
Änderungsmanagements erklären ihren
Nachfolgern, wie die Server zu verwalten
sind.
Uns Entwickler interessiert vor allem
die Software. Wie funktioniert die Quellcodeverwaltung, welche Anforderungen
der Kunden wurden bereits umgesetzt,
welche Dokumente existieren diesbezüglich und wo sind sie zu finden? Die
Fragen sind oft zu detailliert, um von der
Geschäftsleitung beantwortet werden zu
können. Man ist hier ausschließlich auf das
Vermögen der Vorgänger angewiesen, die
Sachverhalte richtig weitergeben zu können und deren Gnade, dies neben ThesisStress auch noch zu tun.
Natürlich besteht auch die Möglichkeit, Antworten selbst zu finden. Ein Blick
30
SOP JOURNAL R4
in den Quellcode könnte z.B. verraten, in
wie weit Anforderungen bereits umgesetzt wurden. Doch das Sichten mehrerer
tausend Codezeilen kostet Zeit - und die
ist knapp im Softwareprojekt. Deshalb ist
es oft weniger aufwändig, die Vorgänger
zu fragen. Allerdings war es bei diesen
nicht anders und so beziehen sie ihre Antworten meist auch auf die Aussagen ihrer
Vorgänger. So entsteht über die Iterationen hinweg ein Informationsgerüst,
dass ähnlich einer Volkssage durch mündliche Weitergabe wächst und letztendlich
auf den Angaben derjenigen basiert, die
das Projekt einmal begannen: der ersten
und zweiten Iteration. Dadurch ist jedoch
der ursprüngliche Kontext oft nicht mehr
ersichtlich und Informationen werden
nicht sinngemäß überliefert, was auf lange
Sicht den Ruin für jedes Unternehmen
bedeutet.
Wege der Kommunikation
Der Informationsaustausch zwischen
den jeweiligen Abteilungen unterschiedlicher Iterationen erfolgt auf verschiedene
Arten:
Als den höchst offiziellen Kommunikationsweg lassen sich die Reviews bezeichnen. In ihnen werden die Ergebnisse der
vorangegangenen Arbeitsphase und die
kommenden Aufgaben präsentiert. Hier
haben die Nachfolger die Möglichkeit sich
Notizen zum Vortrag zu machen. Außer-
dem kann nachträglich ein Blick in die
Powerpoint-Folien oder das Handout, das
die Folien in ausformulierter Form enthält,
geworfen werden.
Eine weitere Grundlage für den Wissensaufbau bilden außerdem die erstellten Artefakte der Vorgängeriterationen.
Unter diesen Begriff fallen Dokumente
jeglicher Art: Installationsanleitungen, Beschreibungen von Problemen und deren
Lösungsansätzen, Richtlinien, aber auch
Klassen- und Anwendungsfalldiagramme.
Zu finden sind die Artefakte auf dem
Sharepoint Server, dem BSCW [1] Server
oder iterationsinternen Plattformen. Doch
hier herrscht nur sehr wenig Übersicht.
Allein auf dem Sharepoint befinden sich
193 Entwickler-Artefakte der letzten vier
Iterationen. Eine Strukturierung, z.B. durch
Ordner, ist meist nicht vorhanden. Auch
sind die Titel der Dateien in den meisten
Fällen nicht aussagekräftig, so dass auch
hier sehr lang nach entsprechenden Informationen gesucht werden muss. Durch
die fehlende Übersicht entstanden über
die Iterationen auch oft redundante Dokumente. Erstellt wurden diese Artefakte, da
nicht bekannt war, dass sie bereits existieren. Beispiel hierfür wären die Klasseniagramme, welche Aspekte des aktuellen
C#-Codes der Microsoft-Architektur darstellen. Erstmals wurde das Diagramm von
der Iteration R2 erstellt. Zum zweiten Mal
dann von unserer Vorgängeriteration.
S O F T WA R E E N T W I C K L U N G
Während die Suche nach den passenden Artefakten viel Zeit in Anspruch
nimmt, werden vor allem dringende Fragen meist direkt den Vorgängern gestellt.
Sei es nach Statusmeetings, bei zufälligen
Treffen auf dem Hochschulcampus oder
von zu Hause aus über Instant Messanger
wie z.B. ICQ. Grund für die Dringlichkeit
sind meist nahende Reviews, wenn sich in
letzter Minute noch Fragen zum Präsentationsthema ergeben. Da man größtenteils
zufriedenstellende Antworten erhält, bevorzugen viele diesen Kommunikationsweg auch für weniger brennende Fragen.
Abhängigkeit von der Richtigkeit der
Informationen
Der Zeitfaktor spielt während des
Softwareprojekts eine entscheidende
Rolle. Bei den Statusmeetings sollen
Zwischenergebnisse präsentiert werden,
die Reviews kommen schneller als man
denkt und auch in andere Vorlesungen
muss Zeit investiert werden. Dadurch ist
es unmöglich jede vorliegende Information zu prüfen. Stattdessen muss man sich
auf deren Richtigkeit verlassen.
die Vorgänger missverstanden? Hat man
Dokumente falsch interpretiert? Können
diese Fragen mit einem Nein beantwortet
werden, ist klar, dass es sich um Fehlinformationen handelt. Dabei muss zwischen
zwei Arten von Fehlinformationen unterschieden werden:
Im ersten Fall handelt es sich um
unbewusst weitergegebene Fehlinformationen. Dies geschieht, wenn Aussagen
oder Dokumente von anderen für wahr gehalten werden, sich aber später als fehlerhaft herausstellen. Dadurch sind natürlich
auch wahre Aussagen betroffen, die sich
auf diese falschen Informationen beziehen.
Zum Beispiel gaben wir in Statusmeetings
die Information unserer Vorgänger weiter,
die beiden Architekturen der Software
seien sehr unterschiedlich und machten
auf dieser Basis weitere Aussagen über
den Projektverlauf. Tatsache war jedoch,
dass sich die Architekturen, bis auf sprachspezifische Unterschiede, sehr ähneln.
Im zweiten Fall ist sich die Person bewusst darüber, dass in Gesprächen oder in
Schriftform weitergegebene Informationen
falsch sind. Zum Beispiel befindet sich in
den „MDA [2] Richtlinien“ der Iteration R3
der Hinweis, dass eben dieses Dokument
unserer Qualitätssicherung vorliegt. Dies ist
nicht der Fall. Auch im Dokument „Systemstruktur“ stießen wir auf Unstimmigkeiten:
„das Exception Handling ist im Object
Layer“. Das trifft jedoch nur auf die Microsoft-Architektur zu. Auf unsere Nachfrage,
ob die Metasuche bereits implementiert
und funktionsfähig sei, erhielten wir ein
klares „Ja“ als Antwort. Später mussten wir
jedoch feststellen, dass dies nicht so ist.
Auch das Verschweigen wichtiger
Details kann bei den Nachfolgern zu falschen Annahmen führen. So gingen wir
während des fünften Semesters davon
aus, die Vorgänger würden am MDAAnsatz für Server und Clients arbeiten. In
den Präsentationen erhielten wir keinen
Hatte Ihr Team von sieben Männern im Griff. [Film]
Auftreten von Fehlinformationen
Doch vor allem im sechsten Semester,
wenn man sich in das Projekt eingearbeitet
hat, stößt man immer häufiger auf Widersprüche zwischen den Informationen der
Vorgänger und der Realität. Um die Verantwortlichen damit zu konfrontieren ist
es oft zu spät, denn der Abschluss ist in
der Tasche, die Festplatte formatiert und
das Projekt aus dem Gedächtnis verdrängt.
Deshalb fragt man sich selbst: Wurden
SOP JOURNAL R4
31
S O F T WA R E E N T W I C K L U N G
Hinweis darauf, dass nur am Server gearbeitet wird. Wir bekamen lediglich die Information, dass der MDA Ansatz bei den
Clients schwieriger umzusetzen sei, da
sich Web- und Desktop-Clients im Aufbau
sehr unterscheiden.
Die Gründe
Gründe für das absichtliche Verbreiten von Fehlinformationen sind meist
Zeitmangel und der Druck, Ergebnisse zu
präsentieren. Fehlt die Zeit, werden Aussagen gemacht oder Dokumente verfasst,
ohne die Grundlagen noch einmal nachzulesen oder zu überprüfen. Von bloßer
Faulheit soll hier nicht ausgegangen werden. Begrenzt wird die vorhandene Zeit
durch Statusmeetings und Reviews, an
denen Arbeitsergebnisse und Leistungen
präsentiert werden sollen. Denn ohne
vorgestellte Leistung keine gute Note – so
die Annahme. Und die ist das primäre Ziel
der Studenten. Zählt doch die Note für
das Softwareprojekt mehr als die Thesis.
Lösungsansätze
Eine Möglichkeit das Problem der
Fehlinformationen zu lösen, wäre eine
inhaltliche Kontrolle der Artefakte und Informationen. Bisher werden Schriftstücke
von der Qualitätssicherung nur nach der
Form bewertet und der Tatsache, ob sich
der Schreiber an die Richtlinien hielt. Es
wäre jedoch notwendig, dass auch der
Inhalt kontrolliert wird. Deshalb müsste
die Qualitätssicherung durch zusätzliche
Mitarbeiter aufgestockt werden. Diese
sollten sich in den technischen Bereichen
des Softwareprojekts auskennen, um In-
32
SOP JOURNAL R4
formationen auch überprüfen zu können.
Richtige, vollständige Artefakte sollten
dann ebenfalls in die Benotung einfließen.
Durch diese zusätzliche Note würde auch
etwas Leistungsdruck von den Statusmeetings und Reviews genommen werden.
Außerdem sollte vermieden werden,
dass Dokumente allein aus dem Grund
verfasst werden, um sie als Arbeitsergebnis präsentieren zu können. So befinden
sich z.B. auf den unterschiedlichen Plattformen zum Thema „Systemarchitektur“
acht Dokumente. Alle mit fast identischem
Inhalt. Beim Interview am Ende des sechsten Semesters, welches ein Drittel der
Gesamtnote ausmacht, lässt sich solch ein
Dokument dennoch als Arbeitsergebnis
vorzeigen. Die Überflüssigkeit des Dokuments wird wahrscheinlich nicht bemerkt.
Allerdings bewirkt es, dass die Plattformen
immer unübersichtlicher werden.
Abhilfe könnte diesbezüglich auch
dadurch geschaffen werden, dass alle
Iterationen ihre Artefakte auf nur einer und
natürlich derselben Plattform speichern.
Allerdings wären zwei Bereiche empfehlenswert: ein Offizieller und ein Interner.
Im offiziellen Bereich werden alle Dokumente gespeichert, die qualitätsgeprüft
und für die nächsten Iterationen von
Bedeutung sind. Im internen Bereich,
sollen Dokumente abgelegt werden, die
ausschließlich für die aktuelle Iteration von
Interesse sind, wie Protokolle von Bespre-
chungen, Entwürfe für Problemlösungen
oder unterschiedliche Versionen eines
Dokuments. Nach dem sechsten Semester
könnten diese iterationsinternen Daten
dann gelöscht werden.
Durch übersichtlichere Plattformen
mit richtigen und vollständigen Artefakten
kann die Projekteinarbeitungszeit deutlich verringert werden. Auch müssen die
Vorgänger nicht mehr so oft kontaktiert
werden, weshalb sich diese ihren Aufgaben sowie der Thesis widmen können
und nur angesprochen werden, wenn
Fragen aufgrund fehlender Informationen
auftreten. Natürlich müssen die Vorgänger
zu Beginn des Projekts grundlegende
Abläufe erklären. Damit dieser Informationsaustausch strukturiert verläuft, sollten
die Richtlinien zur Kommunikation [3]
eingehalten werden. Voraussetzung ist
natürlich, dass diese auch den Mitarbeitern außerhalb der Qualitätssicherung
bekannt sind, was bei unserer Iteration bis
Mitte des sechsten Semesters nicht der
Fall war.
Diese Lösungsansätze bilden ein
grundlegendes Konzept für ein erfolgreiches Informationsmanagement. Durch den
Ausschluss von falschen oder veralteten
Informationen und die Zeitersparnis beim
Informationsaustausch sowie bei der Recherche nach existierenden Dokumenten
lässt sich die Effizienz eines Unternehmens um 50% bis 250% steigern[4].
Diana Hauser, Softwareentwicklung
(Leitung)
Quellen
[1] Basic Support for Cooperative Work, Serversoftware zur Dokumenten- und Projektverwaltung
[2] Model Driven Architecture, Ansatz zur Verbesserung von Softwareentwicklung
[3] Siehe Kapitel „Verwendung der Kommunikationsmittel“ der Organisationsrichtlinien (BSCW)
[4] Quelle: Büscher, Jens (2004). Informationsmanagement in Unternehmen. In: Contentmanager.
S O F T WA R E E N T W I C K L U N G
T.E.A.M.
Toll, Ein Anderer Macht’s?
Wenn ich das Wort „Teamarbeit“
höre, denke ich an meine Grund- und
Realschulzeit: Eine Gruppe von vier bis
fünf Schülern sitzt um zwei zusammengeschobene Tische, soll ein Problem
diskutieren und anschließend Ergebnisse
präsentieren. Eigentlich haben diese
Gruppen jedes Mal dieselbe Konstellation. Es gibt Personen die nichts sagen,
jene, die destruktiv „Müll“ beisteuern
und vom Thema ablenkten und andere,
die versuchen das, was ein einzelner in
5 Minuten erörtert hätte, noch irgendwie
bis zur Präsentation vernünftig hinzubekommen. Vortragen will dann jedes Mal
keiner.
Da standen wir nun. Das Team „Software-Entwicklung“: 8 Studenten. Eingeteilt
für ein Projekt, von dem wir bislang keine
Ahnung hatten. Sollte diese „Mannschaft“
meine frühere Erfahrung zur Teamarbeit
erneut bestätigen? Wir stellten mit unseren
8 Leuten das größte Team des Projekts.
Alle anderen Bereiche von der Projektleitung bis zur Qualitätssicherung waren
zwischen 2 und 3 Personen groß. So
eine große Gruppe erschien mir anfangs
allerdings trotz meiner bisherigen, eher
negativen Erfahrungen sehr angenehm: Es
gab mir irgendwie Sicherheit. Falls man
scheitert, steht man nicht alleine da. Dann
geht der ganze Kahn unter. Das Problem
bei dieser Geschichte ist jedoch die Gefahr, dass keiner etwas gegen das Sinken
des Schiffes tut. Jeder denkt: „Ein anderer
wird’s schon richten“. Das erscheint vor allem dann praktisch, wenn man sich nicht
auskennt.
Wissenschaftlich nennt man so etwas dann „soziales Faulenzen“ oder
auch den „Ringelmann-Effekt“ (vgl. [3]).
Maximilian Ringelmann, ein französischer
Agraringenieur fand bereits vor über 100
Jahren beim Tauziehen heraus, dass die
körperliche Leistung eines einzelnen in
der Gruppe geringer ist, als die Leistung,
die jeder für sich alleine bringen würde.
Die individuelle Leistung nimmt dabei
mit zunehmender Gruppengröße, laut
Ringelmann, weiter ab. 8 Sportler würden
demnach in einem Team beim Tauziehen
nur jeweils eine Eigenleistung von 49%
aufbringen (vgl. [4]). Wie wirkt sich diese
Erkenntnis auf 8 Studenten im Team „Softwareentwicklung“ aus?
In unserem Team gab es so etwas in
den wöchentlichen Statusmeetings zu
beobachten. Wenn eine Frage von Seiten
der Geschäftsführung, der Kunden oder
der Projektleitung an unsere Gruppe ging,
fühlte sich keiner angesprochen. Da in
einer großen Gruppe nicht ein einzelner
exemplarisch an den Pranger gestellt
wird, kann man sich hinter den anderen
verstecken. Dieses Verhalten konnte man
auch in unserem Team beobachten.
Als Herausforderung stellte sich auch
die Teamorganisation heraus. Durch die
täglichen Hochschulveranstaltungen sah
man sich zwar, meist wurde aber nur
geplänkelt und keine klaren Ziele bis zu
bestimmten Stichtagen vereinbart. So
verschob man einfach die Aufgaben
und einigte sich darauf, sich erst einmal
einzuarbeiten. Dies geschah ohne eine
klare Aussage zu machen, bis wann man
denn mit diesen Tätigkeiten fertig sei und
wann man dann definitiv mit der eigentlichen Arbeit beginnen könne. Warum auch
mehr tun, als die anderen 7 Kollegen? So
antworteten wir stets: „Wir sind noch bei
der Einarbeitung“. „Einarbeitung“ wurde
aber zu grob definiert. Kleine Schritte
wie „Entwicklungsumgebung installieren“
und „Verstehen der Software-Architektur“
hätten, mit einem Datum versehen, Fortschritte kenntlich gemacht und für klares
Feedback gesorgt.
[1] (S. 65 ff) beschreibt diese erste
Phase als Testphase, in der jedes Mitglied
sich auf seinen sozialen Status zurückzieht
und Maske zeigt. Gruppenmitglieder
testen in dieser Phase die gegenseitigen
Verhaltensweisen. In dieser Phase laufen
auch die Themensuche, die Themenfindung und die Aufgabendefinitionen
SOP JOURNAL R4
33
S O F T WA R E E N T W I C K L U N G
„Wer macht die Arbeit?” [5]
ab. Jedes Team bekommt deshalb eine
mehrwöchige Einfindungszeit, um sich
mit dem Projekt vertraut zu machen. Nach
dieser Zeit werden dann aber gewisse
Ergebnisse und Fortschritte erwartet.
Wir erkannten, dass, um diesen Erwartungen zu entsprechen, eine bessere
Organisation notwendig war. Nachdem
der Vorschlag eines wöchentlichen Treffens gefallen war entschied sich das Team
mehrheitlich für dieses Meeting. So bot
der Montagnachmittag fortan Zeit für gemeinsames Arbeiten und Diskussionen.
Die ersten Treffen verliefen allerdings nicht sehr effektiv: Alle redeten
34
SOP JOURNAL R4
wild durcheinander, einige schauten in
den Laptop, anstatt der anderen Person
zuzuhören oder man befand sich statt
im Besprechungsraum draußen beim
rauchen. Oft dauerte solch eine Sitzung
vier bis fünf Stunden. Anschließend war
aber kaum etwas besprochen.
Bei einer großen Gruppe ist deshalb
eine leitende Person zwingend nötig.
Dem Teamleiter fallen nach [1] (S. 102 ff)
die Aufgaben: moderieren, koordinieren,
organisieren, integrieren, repräsentieren,
balancieren, kommunizieren und motivieren zu. Mit zunehmend erhöhtem Entwicklungsstand und Reifegrad des Teams
können aber Bereiche auf die Teammitglieder verteilt werden. Die Rolle des Leiters nahm fortan unsere Entwicklerin Diana
Hauser ein, die diese Aufgaben über den
Verlauf des Projekts immer besser meisterte
und durch ihre strukturierte Organisation
der Meetings zunehmend an Autorität
innerhalb des Teams gewann. Die Treffen
verliefen nun weitaus ertragreicher, da vor
allem durch die Moderation die Themen
nicht durcheinander, sondern nacheinander abgearbeitet wurden. Zudem beschlossen wir ein Laptopverbot für die ersten 30 Minuten während der Gesprächsrunde. Wir definierten auch feste Stichtage,
S O F T WA R E E N T W I C K L U N G
an denen Ziele erreicht sein mussten
(Milestones). So eine Aufwandsschätzung
ist nicht einfach, wenn derartige Aufgaben
noch nie zuvor gemeistert wurden. Sie ist
trotzdem nötig, um den Projektleitern und
sich selbst einen klaren Überblick über die
Situation zu verschaffen.
Für architektur- und programmiertechnische Aufgaben stellte sich jedoch
heraus, dass bei einer Anzahl von acht
Personen keine effektive Arbeitsweise erreicht werden konnte, da zu viel Zeit für
die interne Kommunikation anstatt für die
Problemlösung benötigt wurde. Für die
meisten Aufgaben teilten wir uns deshalb
in Zweiergruppen ein. So eine innere
Gruppenstrukturierung ist dann sinnvoll,
wenn man kleine Arbeitspakete aus der
großen Aufgabe „herausbrechen“ kann,
welche dann unabhängig voneinander
parallel bearbeitet werden können – in
unserem Fall einzelne Komponenten der
Software. Unter der Woche konnten wir
Teilergebnisse in den Zweiergruppen erzielen, welche dann im Meeting diskutiert
und konsolidiert wurden.
Den „Ringelmann Effekt“ konnte ich
fortan, nicht mehr feststellen. Ganz im Gegenteil empfinde ich in unserem Team nun
eine anspornende Atmosphäre. Es existiert der verbundene Gedanke gemeinsam
unser Ziel zu erreichen. Auch verbesserte
sich der soziale Umgang untereinander.
Hat ein Entwickler Probleme bei einer Aufgabe, bekommt er nun Hilfe angeboten.
Hält ein Entwickler nicht den vereinbarten
Stichtag für eine bestimmte Aufgabe ein,
wird er vom Rest des Teams getadelt, um
das gemeinsame Ziel weiterhin erreichen
zu können. Fühlt er sich jedoch beleidigt,
verletzt oder zu Unrecht kritisiert kann
die Situation schnell zu einem Streitfall
eskalieren. Wichtig ist deshalb, dass diese
Kritik Mängel aufzeigt und trotzdem einen
motivierenden Effekt auf den Mitarbeiter
hat, da mit ihr eine Besserung seiner Arbeitsweise erreicht werden soll. Man sitzt
eben im selben Boot, daher gibt es nicht
nur den Gedanken der eigenen Leistung,
sondern auch den der Teamleistung, denn
wenn der Kahn zu sinken droht, kann ein
Team mit richtiger Planung und Koordination mehr erreichen als ein einzelner.
Umso größer die Teilnehmerzahl des
Teams ist, umso extremer kann die Situation in beide Richtungen (gegenseitiger
Ansporn, aber auch Ringelmann Effekt)
ausschlagen.
Exkurs: Als Beispiel für die Begeisterung und Zielstrebigkeit für eine gemeinsame Sache, die innerhalb einer Gruppe
erreicht werden kann, möchte ich an das
deutsche Verbundenheitsgefühl der WM
2006 erinnern. Wie wir allerdings wissen,
kann dieses Gruppenphänomen auch,
wie in den 40ger Jahren, zu einem sehr
unschönen Ergebnis führen. Dies stellte
auch jüngst der deutsche Kinohit „die
Welle“ von Dennis Gansel wieder unter
Beweis.
Ich habe durch dieses Projekt für mich
das Arbeiten im Team in ein positiveres
Licht rücken können. Außerhalb des Bildungswesens gibt es kaum Aufgaben,
die ein Einzelner vollständig alleine lösen
kann. Ob im Sport, in der Familie oder in
der Firma, Teamfähigkeit ist stets gefragt.
Daher ist es sinnvoll Teamarbeit an der
Hochschule zu fördern. Anfangsschwierigkeiten im Team sind normal. Jede Person
trägt verschiedene Instanzen, Tendenzen
und Persönlichkeitselemente in sich (vgl.
[2]). Gerade das macht aber ein gutes
Team aus. Dinge sollten von unterschiedlichen Blickwinkeln betrachtet werden.
Natürlich dauert es immer eine gewisse
Zeit, bis ein Team richtig aufeinander
abgestimmt ist und effektiv arbeitet. Da
die meisten Aufgaben für uns erst in den
späteren Phasen des Projekts angefallen
sind, hatten wir die nötige Einarbeitungszeit zur Verfügung. Durchdachte Planung,
Konsequenz, Hierarchien und Untergruppierungen innerhalb der Gruppe sind für
einen effektiven Arbeitsverlauf allerdings
unabdingbar. Mitgebrachte Erfahrungen
der Mitglieder durch Gruppenarbeit aus
jeglichen anderen Gebieten sind wünschenswert.
Robert Krüger, Softwareentwicklung
Quellen
[1] Haug, Christoph V.: Erfolgreich im Team – Praxisnahe Anregungen für effiziente Team- und Projektarbeit, deutscher Taschenbuch Verlag GmbH & Co. KG, 3. Auflage, München 2003
[2] Pohl, Michael/Witt, Jürgen/Pohl, Gudrun: Innovative Teamarbeit zwischen Konflikt und Kooperation, Sauer I.H.
Verlag GmbH 2000, S.47 ff
[3] http://www.business-wissen.de/personal/teamarbeit/anwenden-umsetzen/teamarbeit-mitarbeiter-organisierensich-selbst-im-team.html, (Stand: 24.5.2008)
[4] http://de.wikipedia.org/wiki/Ringelmann-Effekt, Ringelmanneffekt (Stand: 28.05.08)
[5] www.4managers.de, (Stand: 28.05.2008)
SOP JOURNAL R4
35
S O F T WA R E E N T W I C K L U N G
PLANUNG ODER CHAOS?
Die Rolle der Planung bei der Einführung der “Model Driven Architecture”
„Model Driven Architecture“ ist
ein standardisiertes Konzept für die
Softwareentwicklung. Es wurde von der
„Object Management Group“ ausgearbeitet, einem Konsortium aus Firmen
der IT-Branche. Dieses Verfahren soll im
Softwareprojekt bei der Softwareentwicklung angewendet werden. Dafür ist eine
Eingliederung der „Model Driven Architecture“ in den Entwicklungsprozess notwendig. Die Vorgängeriteration hat diesen
Prozess begonnen und die Aufgabe der
Entwicklungsabteilung war es ihn fortzusetzen. Hierfür mussten Einzelaufgaben
festgelegt und umgesetzt werden. Verlief
die Umsetzung wie beabsichtigt und war
die Vorgehensweise dabei richtig?
Einführung
Im Rahmen des Softwareprojekts wird
ein Langzeitarchivierungssystem entwickelt um Daten automatisiert zu archivieren.
Um größere Lerneffekte zu erzielen wird
die Entwicklung in einer Java - und in einer
NET - Plattform vorgenommen. Dadurch
entstehen zwei Produkte, jeweils bestehend aus einem Server und zwei Clients.
Die beiden Produkte besitzen die
gleichen Funktionsweisen, die aber unterschiedlich umgesetzt werden. Eine
Angleichung soll erreicht werden, in dem
die beiden Produkte auf eine gemeinsame
Basis gestellt werden. Von dieser ausge-
36
SOP JOURNAL R4
hend, lassen sich dann beide Produkte
entwickeln. Die „Model Driven Architecture“ bietet hierfür Modelle an. In einem
gemeinsamen
plattformunabhängigen
Modell wird das Zusammenspiel der
Elemente der Produkte vereinigt ohne
auf technische Bestandteile einzugehen.
Wird das plattformunabhängige Modell
um technische Bestandteile der beiden
Plattformen erweitert, so ergibt sich je ein
plattformspezifisches Modell für die NETund die Java-Plattform. Mit Hilfe dieser
Modelle lässt sich die Logik der Softwaresysteme erarbeiten. Hinterlegt wird
die Logik dann in Softwarequelltexte, die
in die benutzbaren Produkte überführt
werden. In der Entwicklungsabteilung
wurde dieser Prozess ausgehend von
einem unvollständigen plattformunabhängigen Modell durchgeführt. Dazu bezieht
sich der Prozess nur auf die Server der
Produkte. Die Clients wurden hierbei nicht
berücksichtigt.
Planung der Vorgehensweise
und Umsetzung
Zuerst musste eine Gesamtplanung
des Vorgehens durchgeführt werden.
Dabei wurden die einzelnen Arbeitsschritte erarbeitet und geplant. Die Entwicklungsabteilung war demokratisch
organisiert. Das bedeutet, alle Mitarbeiter
nahmen an der Planung teil. Laut [2] hat
die Abteilungsleiterin dabei die Aufgabe
regulierend in die Planung einzugreifen.
Dies ist notwendig, wenn gemeinsam
kein Konsens oder keine Entscheidung
gefunden werden kann. [2] sieht bei
der demokratischen Organisationsform
das Problem, dass der Kommunikationsaufwand hoch ist, da sich die Mitarbeiter
häufig absprechen müssen. In der Entwicklungsabteilung zeigte sich das gleiche
Problem. Dazu erwies es sich als schwierig
gemeinsam eine Lösung zu finden. Die
Vorschläge der Mitarbeiter waren teilweise
zu unterschiedlich. Erschwerend kam
hinzu, dass die Abteilungsleiterin oft nicht
regulierend eingriff. Während der Gesamtplanung wurden erarbeitete Vorgehensweisen auch oft überworfen. Da manche
Entwickler später bewiesen, dass nicht
wie geplant vorgegangen werden kann.
Deswegen wurde kurzfristig eine neue
Strategie erarbeitet. Dadurch entstanden
Unsicherheiten bei den anderen Entwicklern. Sie waren sich nicht mehr sicher,
wie nun vorgegangen werden soll. Das
führte dazu, dass Entwickler während der
Umsetzung der Einzelaufgaben Teilergebnisse lieferten, die nicht dem entsprachen,
was benötigt wurde. Beispielsweise sollte
die Vervollständigung des plattformunabhängigen Modells nach definierten Regeln
erfolgen. Jedoch hielten sich manche
Entwickler nicht an diese Regeln. Somit
S O F T WA R E E N T W I C K L U N G
war der offizielle Fertigstellungstermin
des plattformunabhängigen Modells gefährdet. Es mussten teilweise kurzfristig
und sehr chaotisch die Mängel in den
fehlerbehafteten Teilergebnissen bereinigt
werden. Dabei wurden neue Fehler verursacht und es gab viel Streit zwischen den
einzelnen Entwicklern.
[2] zeigt auf, dass neben der demokratischen Organisationsform auch eine hierarchische gewählt werden kann. Dabei
plant der Leiter der Abteilung die durchzuführenden Aufgaben selbstständig.
Somit lässt sich der Kommunikationsaufwand während der Gesamtplanung
vermeiden. Allerdings sieht [2] dabei das
Problem, dass der Leiter der Abteilung
dieser Aufgabe nicht gewachsen sein
könnte. Dies kann zu einem Scheitern
des Projekts führen. Um die entstandenen Probleme zu vermeiden, sollte
eine Organisationsform gewählt werden,
die an die hierarchische Organisation
anlehnt. Die Gesamtplanung wird hierbei
jedoch von einer kleinen Expertengruppe
übernommen. Beispielsweise aus der
Abteilungsleiterin und einem oder zwei
Spezialisten. Ein Spezialist ist ein Entwickler, der einen hohen Erfahrungsschatz im
Bereich Softwaremodellierung aufweist.
Die Expertengruppe findet schneller
ein Konsens bei der Gesamtplanung,
da weniger Mitarbeiter beteiligt sind. Es
entstehen keine Unklarheiten, da die Expertengruppe einmalig das Gesamtvorgehen definiert und dies den Mitarbeitern
mitteilt. Und die Abteilungsleiterin wird
von der alleinigen Entscheidungsverantwortung entlastet.
Nach der Gesamtplanung wurden
die Einzelaufgaben umgesetzt. Bei der
Ergänzung des plattformunabhängigen
und der Erstellung der plattformabhängigen Modelle wurde eine Einzelaufgabe an ein Zweier-Team vergeben.
Diese bestand darin, die fehlenden Elemente einer Schicht des Servers in die
entsprechenden Modelle zu übertragen.
Diese Vorgehensweise wurde gewählt,
da die beiden Server aus den gleichen
5 Schichten bestehen. In einer Schicht
sind zusammengehörige Elemente eines
Servers gebündelt. Die Einzelaufgaben
wurden entsprechend der Vorkenntnisse
der Teams verteilt. Deswegen wurde jede
Schicht der Server auf die Schwierigkeit
der Modellübertragung untersucht. Als
Maß wurde hierbei die Komplexität und
Funktionalität gewählt. Nach der Umsetzung der Einzelaufgaben zeigte sich, dass
die Kriterien falsch bemessen waren. Es
kommt eigentlich darauf an, wie unterschiedlich die gleichen Schichten der
Server programmier sind. Somit waren die
Einzelaufgaben ungleich verteilt. Manche
Teams waren schnell mit der Umsetzung
fertig, andere Teams hingegen erst kurz
vor der Abgabefrist. Für diese Teams
musste unter Zeitdruck noch eine Lösung
gefunden werden, wohingegen die anderen Teams schon fertig waren. Durch
das Arbeiten unter Zeitdruck entstanden
Fehler, die erst nach der Abgabefrist der
Einzelaufgaben entdeckt wurden. Somit
mussten die betreffenden Teams im Nachhinein diese Fehler bereinigen.
Dies hätte vermieden werden können.
Laut [1] kann vor der Einführung der Model
Driven Architecture in den Entwicklungsprozess ein Pilotprojekt durchgeführt
werden. Das Pilotprojekt dient dazu, anhand eines Testprojekts Erkenntnisse über
die Werkzeuge und Prozesse zu gewinnen. Durch ein Pilotprojekt hätte sich
gezeigt, wie man die Einzelaufgaben bei
der Vervollständigung und der Ergänzung
richtig verteilen kann.
Fazit
Damit keine chaotischen Zustände
während der Integration der Model
Driven Architecture in einen Entwicklungsprozess entstehen, muss richtig geplant
werden. Während der Planung kommt
es darauf an, dass die Arbeitslast gleich
verteilt wird. Dazu ist es hilfreich, bereits
in einem Pilotprojekt die Methoden und
Verfahren der Model Driven Architecture
kennen zu lernen. Somit lassen sich Fehler
bei der Planung vermeiden, da bereits aus
Projekterfahrungen geschöpft werde kann.
Der Planungsprozess sollte so gestaltet
werden, dass er nicht zu viel Zeit braucht.
Dazu muss das Vorgehen, das aus dem
Planungsprozess resultiert, klar erkenntlich
sein. Fehlplanungen können vermieden
werden. Das sollten sie auch, denn die
Planung beeinflusst den Erfolg der Integration der Model Driven Architecture.
Sebastian Schulz, Softwareentwicklung
Quellen
[1] Gruhn, Pieper, Röttgers „MDA – Effektives Software- Engineering mit UML 2 und Eclipse“ Springer Verlag 2006
[2] Ludewig, Lichter „Software Engineering – Grundlagen, Menschen, Prozesse, Techniken“ dpunkt Verlag 2007
SOP JOURNAL R4
37
Softwareprojekt Iteration R4 (Juni 2008)
S O F T WA R E E N T W I C K L U N G
SOP WARS: KRIEG DER ABTEILUNGEN
Die Zusammenarbeit der Softwareentwicklung mit anderen Abteilungen
„Wann tut denn endlich der
Server?“ – diese Frage wurde von den
Entwicklern in den letzten Monaten
an die Abteilung Konfigurations- und
Änderungsmanagement oft gestellt.
Denn ohne Server können sie nicht
arbeiten. Diese Abhängigkeit bringt
die
Softwareentwicklung
immer
wieder in Schwierigkeiten. Doch auch
die Zusammenarbeit mit anderen
Abteilungen fällt den Entwicklern
nicht immer leicht.
Die Arbeit der Softwareentwicklung
verzögert sich immer wieder, weshalb die
Entwickler gegen Ende des Projektes unter
Zeitdruck geraten. Es gibt verschiedene
Gründe für die Verzögerungen: ein wesentlicher Bestandteil ist die Abhängigkeit der Entwickler von verschiedenen
Abteilungen, da nur diese die Mittel
haben spezielle Probleme zu lösen.
Häufig müssen ausgefallene Server oder
Software wieder zum laufen gebracht
werden. Doch es gibt nicht nur technische
Störungen, die behoben werden müssen,
auch das Problem der Arbeitsüberlastung
muss gelöst werden.
Die Softwareentwicklung benötigt
Unterstützung, denn sie wird immer
wieder mit kleinen Aufgaben von anderen
40
SOP JOURNAL R4
Abteilungen aufgehalten. Diese brauchen
Informationen, die sie nur von den Entwicklern bekommen können, und gehen
dabei den Entwicklern mit ihren ständigen
Anfragen hin und wieder auf die Nerven.
Qualitäts… wer?
Der
Kontakt
zwischen
Qualitätssicherung und Softwareentwicklung
ist sehr selten. Die Entwickler ordnen
der Qualitätssicherung Aufgaben zu,
wie beispielsweise Dokumente auf ihre
Qualität zu überprüfen. Diese schicken
die Dokumente, die nicht dem Qualitätsanspruch gerecht werden, an die
Entwickler zur Nachbesserung zurück. Da
die Qualitätssicherung viele Dokumente
überprüfen muss, können Wochen vergehen, bis ein Feedback den Entwickler erreicht. Wenn das Dokument von der Qualitätssicherung freigegeben wurde, kann es
auf der entsprechenden Dokumentenablage veröffentlicht werden. Des Weiteren
muss sich die Softwareentwicklung an
die von der Qualitätssicherung erstellten
Programmierrichtlinen halten.
Ansonsten hat die Softwareentwicklung mit der Qualitätssicherung nichts zu
tun.
Testing, teste!
Die Abteilung Testing wird oft in die
Softwareentwicklung integriert, denn sie
prüft die Software auf Fehler. Damit das
Testen ohne Probleme abläuft, wird die
Abteilung Testing von den Entwicklern
über die Zusammenhänge der Software
aufgeklärt. Je nach Kenntnisstand des
Testingteams, ist hier der Zeitaufwand
sehr unterschiedlich.
Nach dieser Einlernphase werden die
Tester von den Entwicklern „gezwungen“
die Clients und Server zu testen, sofern
diese von den Entwicklern bearbeitet
wurden. Beim Testen entdeckte Fehler
werden den Entwicklern mitgeteilt, sodass diese den Fehler schnellst möglich
ausbessern können. Durch das Delegieren
der Fehlersuche an eine andere Abteilung
werden die Entwickler erheblich entlastet
und haben so mehr Zeit für die Implementierung.
Die Arbeitsvermittlung
Projektmanagement
Jede Aufgabe bezüglich der Softwareentwicklung im Projekt, wird vom
Projektmanagement entsprechend weitergereicht. Ebenfalls teilt das Projektmanagement Ressourcen für die Aufgaben
ein, dies bedeutet, sie legen fest wie viele
S O F T WA R E E N T W I C K L U N G
Manchmal heißt es: Schwitzen, Zähne zusammenbeißen und durchhalten! [Film]
Entwickler eine Aufgabe erledigen sollen
und fordern von diesen eine Zeitplanung
ein. Die Projektleiter sind zufrieden, wenn
der abgegebene Zeitplan eingehalten
oder unterschritten wird. Nach Erledigung
einer Aufgabe werden die Ressourcen
neu verteilt, je nach Aufgabe die das
Projektmanagement für die Softwareentwicklung hat.
Wenn die Entwickler unter Zeitdruck
stehen und es den Anschein erweckt, dass
die Arbeit nicht zum genannten Termin
fertig wird, werden vom Projektmanagement Personen aus anderen Abteilungen
der Softwareentwicklung zur Verfügung
gestellt. Diese Aushilfen unterstützen
die Entwickler meist in der Entwicklung-
sphase, in der die geplanten Änderungen implementiert werden, da dies den
größten Aufwand im gesamten Projekt
darstellt.
Quälgeist Kunde
Auch der Kunde kontaktiert die
Softwareentwicklung und verursacht dadurch Mehrarbeit. Es sind meist kleinere
Aufträge: Prüfung der Change Requests
und Anforderungen, Auflistung der benutzten Werkzeuge. Diese Aufträge können zeitintensiv werden, wenn der Kunde
noch mehr Informationen wünscht.
Sehr mühsam ist das Prüfen der
Anforderungen und Change Requests
im Quellcode, um die nicht erledigten
zu identifizieren. Aufgrund von zwei
Architekturen - C# und Java - ist diese
Aufgabe für die Entwickler noch beschwerlicher. Jede Architektur ist verschieden,
weshalb man auf jedes Detail im Quellcode, der jeweiligen Architektur, achten
muss. Jedoch ist es den Entwicklern nicht
möglich, jede Anforderung oder Change
Request im Quellcode zu überprüfen, da
diese teilweise sehr unpräzise ausgedrückt
sind. Eine Anforderung lautet: „Jeder Benutzer klickt alle 5 Sekunden auf einen Link
und erzwingt somit eine Antwort des Systems“. Bei dieser Anforderung weiß man
nicht, was gemeint ist. Aus diesem Grund
ist die Anforderung nicht überprüfbar. Der
Kunde muss sich schließlich damit abfin-
SOP JOURNAL R4
41
S O F T WA R E E N T W I C K L U N G
den, dass nicht nach allen Anforderungen
und Change Requests geforscht werden
kann.
Konfigurations- und Änderungsmanagement und die Softwareentwicklung:
eine Hassliebe
Die engste Zusammenarbeit mit der
Softwareentwicklung besteht zwischen
der Abteilung Konfigurations- und
Änderungsmanagement. Diese ist für die
Installationsanleitungen der Software, die
Wartung und die Einrichtung der Server
zuständig.
Sie wird kontaktiert, sobald ein Server
nicht funktioniert oder man Schwierigkeiten bei der Konfiguration des eigenen
Computers hat, so dass man auf den
Servern arbeiten kann.
Bei der Installation von Programmen
und dabei auftretenden Problemen, wird
gemeinsam nach der Ursache gesucht.
Dies verzögert die Arbeit der Entwickler,
da für beide Parteien ein passender Termin
gefunden werden muss, um das Problem
aus der Welt zu schaffen. In dieser Zeit
sind die anderen Aufgaben des Entwicklers eingeschränkt, da er die für die Arbeit
vorgesehenen Programme nicht nutzen
kann. Eine weitere Verzögerung tritt ein,
wenn der Fehler nicht behoben werden
kann. In diesem Fall muss der Entwickler
versuchen mit anderen, umständlicheren
Methoden, zu arbeiten. Ein Beispiel hierfür
ist, wenn ein Problem mit ClearCase [1]
auftritt und der Entwickler nicht auf das
Repository [2] zugreifen kann. Hier wird
meist der Quellcode per Email an einen
Entwickler gesendet, der den veränderten
42
SOP JOURNAL R4
Quellcode wieder in ClearCase einpflegt.
In der Abteilung in der ich gearbeitet
hatte und meine Erfahrungen sammeln
konnte, verzögerte sich die Arbeit der
Entwickler durch Serverumstellungen und
die daraus resultierenden Neuinstallationen der Software. Hierbei traten Fehler
auf, die von den Entwicklern nicht gelöst
werden konnten und so mussten sie sich
wieder an die Abteilung Konfigurationsund Änderungsmanagement wenden.
Diese probierten das Problem zu lösen,
das jedoch manchmal nicht lokalisiert
werden konnte und man auf gut Glück versuchte die Software auf den Computern
der Entwickler noch einmal zu installieren
- in manchen Fällen half das. Doch eine
Software neu zu installieren benötigt Zeit
und Nerven und von beidem hatten die
Entwickler zu wenig. Vor ihnen stand ein
Berg voller Arbeit, konnten jedoch nicht
arbeiten, denn nichts funktionierte wie
es sollte. Nach Tagen ohne lauffähige
Software, kam endlich die Erlösung in
Form einer Installationsanleitung, das die
Abteilung Konfigurations- und Änderungsmanagement geschrieben hatte. Nach
dem die Entwickler die Installationsanleitung befolgt hatten, konnten sie mit ihrer
Arbeit beginnen.
Zusammenarbeit ist wichtig
Das Zusammenarbeiten mit anderen
Abteilungen ist für die Softwareentwick-
lung nicht immer leicht, weil es immer
wieder zu Kommunikationsschwierigkeiten
kommt. Sehr oft werden Emails nicht gelesen, an falsche Personen geschickt, oder
ein Problem mündlich mit einer Person
zwischen Tür und Angel besprochen.
Diese Probleme können gelöst werden,
wenn jeder das eigene Emailpostfach
täglich prüft und die geschriebenen
Emails über definierte Verteiler an die
Abteilungen versendet. Meetings sollten
protokolliert werden und das Protokoll
anschließend als Email an die teilnehmenden Personen versendet werden. So
kann verhindert werden, dass getroffene
Absprachen vergessen und deshalb nicht
eingehalten werden. Diese Unannehmlichkeit wird von den Entwicklern gerne in
Kauf genommen, wenn dadurch Probleme
gelöst werden können.
Trotz der vielen Anfragen, stehen
sie anderen Abteilungen immer zur Verfügung, wenn diese Hilfe benötigen.
Zwangsläufig führt das jedoch zu einer
Überbelastung, weswegen man in Zukunft mehr Entwickler einsetzten sollte, die
diese Flut an Arbeit unter sich aufteilen
können.
Trotz Überbelastung und Kommunikationsschwierigkeiten, ist eine gute
Zusammenarbeit für das Vorrankommen
des Projektes unerlässlich, weswegen die
Softwareentwicklung Anfragen anderer
Abteilungen gerne bearbeitet.
Emre Yay, Softwareentwicklung
Quellen
[1] Versionisierungssoftware
[2] zu Deutsch: Lager oder Depot; Es werden hier Dateien (in diesem Fall Quellcode) abgelegt
S O F T WA R E E N T W I C K L U N G
PROBLEME BEI DER KOLLABORATION IN
DER SOFTWAREENTWICKLUNG
. . . und das Chaos bei der Verwaltung gemeinsamer Arbeitsmittel.
Bei der Entwicklung von Software
im Rahmen eines Projektes in dem viele
Projektmitglieder gemeinsam einen Arbeitsauftrag wahrnehmen, ist eine gute
und effektive Verwaltung der gemeinsamen Arbeitsmittel [1] unverzichtbar. Im
Folgenden werde ich auf die Probleme
eingehen, welche diese Herausforderung
im Software-Projekt an der Hochschule
Reutlingen mit sich bringt.
Das Software-Projekt ist auf Basis des
RUP [2] in verschiedene Teams unterteilt.
Da ich zum Team der Softwareentwickler
gehöre, beziehen sich die folgenden Ausführungen auf die Sicht der Softwareentwickler.
Zunächst eine kurze Beschreibung der
Situation. Das SE-Team [3] greift gemeinsam hauptsächlich auf folgende Arbeitsmittel zu:
- Diverse Dokumente
(Anleitung, Dokumentationen)
- Programmcode-Dateien
- Diagramm-Dateien
- Entwicklungswerkzeuge und Plugins
Zum Zeitpunkt der Erstellung dieses
Dokuments sind diese Arbeitsmittel auf
verschiedenen Systemen aus dem Bereich Computer gestützte Zusammenarbeit (CSCW [4]) und Versionsverwaltung
verteilt.
BSCW Shared Workspace System
Das BSCW ist eine webbasierte Anwendung zur Unterstützung der Zusammenarbeit über das Intranet oder Internet.
Es bietet eine umfangreiche Rechte- und
Zugriffsverwaltung. Es lassen sich Dokumente in gemeinsamen Arbeitsbereichen
ablegen und austauschen. Das BSCW
ermöglicht unter anderem auch Unterstützung zur gemeinsamen Terminplanung,
Kommunikation und Aufgabenplanung.
Dabei benötigt man auf der Seite des Client nicht mehr als einen Webbrowser. Das
BSCW gehört zur Kategorie der Groupware-Systeme. Groupware sind Anwendungssysteme, die die Zusammenarbeit
von Gruppen unterstützen [5, S.138]. Dazu
zählt man unter anderem auch Videokonferenz- sowie E-Mail-Systeme.
Microsoft Windows Sharepoint-Services
Auch dieses System bietet ähnlich
wie das BSCW eine Infrastruktur, welche
Zusammenarbeit unterstützt, und lässt
sich ebenfalls der Kategorie Groupware
zuordnen.
IBM Rational ClearCase und Subversion
Rational ClearCase und Subversion sind Versionskontrollsysteme. Ein
solches System unterstützt das Zusammenarbeiten an gemeinsamen Dateien
und Verzeichnissen. Typischerweise
sind es Quellcode-Dateien. Grundsätzlich können es aber auch andere auf
dem ASCII-Code basierende Dokumente
sein. Versionskontrollsysteme bieten die
Nachvollziehbarkeit von Veränderungen
an Dateien. Diese Veränderungen können einem Zeitpunkt und einer Person
zugeordnet werden. Sie bieten auch die
Möglichkeit, Veränderungen die nicht vorhersehbare Konsequenzen hatten, wieder
rückgängig zu machen. In der Softwareentwicklung gehört ein solches System heute
zum Standard.
Die Verwendung mehrerer Gruppenarbeit unterstützender Systeme führt
jedoch zu folgenden Problemen: Es gibt
keinen Konsens über eine einheitliche
Struktur oder Methodik zur Ablage von
Arbeitsmitteln. Zudem hat jedes Semester
sein eigenes System favorisiert, was das
Auffinden der Arbeitsmittel zu einem
zeitaufwendigen Prozess macht. Die
Idee hinter dem Einsatz von Systemen
zur Unterstützung von Kollaboration und
Kooperation ist gut. Allerdings scheint die
Auswahl und Kombination der Werkzeuge
eher historisch gewachsen zu sein.
Denn es ist sinnlos mehrere, sich nicht
ergänzende, sondern in ihren Funktionen
überschneidende Systeme einzusetzen.
So haben wir z.B. zwei Groupware-Sys-
SOP JOURNAL R4
43
S O F T WA R E E N T W I C K L U N G
aktuellste Version eines Dokuments ist,
denn es könnte an einem anderen Ort eine
aktuellere Version liegen.
Durch die chaotischen Zustände ist
die Einarbeitung des alterierenden „Projekt-Personals“ sehr zeitaufwändig. Dieser
unnötige Zeitaufwand wirkt sich negativ
auf die Motivation aus.
Und zieh! [Film]
teme im Einsatz. Das erhöht den Koordinationsaufwand erheblich und wirkt sich
negativ auf die Effizienz der Projektarbeit
aus. Hinzu kommt noch, dass mit jedem
Semester eine neue Iteration beginnt. Es
müssen also mit jedem Semesterbeginn
neue Zugänge eingerichtet werden. Dies
erhöht den Verwaltungsaufwand auf Seiten
der Administratoren dieser Werkzeuge
enorm. Auch die Benutzer haben keinen
Überblick wo sie welches Arbeitsmittel
finden und verlieren sehr viel Zeit durch
Suche und Anmeldung in verschiedenen
Systemen. Die Gefahr von inkonsistenten
und redundanten Daten steigt. Zudem ist
schwer nachzuvollziehen, welches die
44
SOP JOURNAL R4
Der Weg in die richtige Richtung
Momentan gehen die Absichten in
die folgende Richtung: Alle Arbeitsmittel
sollen einheitlich im Versionskontrollsystem (ClearCase) verwaltet werden. Richtet
man dort eine logische und nachvollziehbare Ordnerstruktur ein, so führt dieses
System sicher zu einer Verbesserung der
Situation und erhöht die Effizienz der
Projektarbeit. Die Navigation in ClearCase
entspricht jedoch der eines gewöhnlichen Dateisystems, und bietet bis auf die
Zugriffskontrolle und Versionsverwaltung
keine weitere Unterstützung der Zusammenarbeit.
Groupware als Ergänzung
Ergänzend sollte man sich deshalb
für EIN Groupware-System entscheiden.
Nur so lassen sich Kommunikation, Koordination und Kooperation angemessen
unterstützen. Das BSCW beispielsweise,
als eines der Groupware-Systeme, hat
viele weitere Möglichkeiten wie Kontaktlisten, Diskussionsforen und gemeinsame
Kalender. Auch die Navigation durch
eine einfache Dateistruktur, wie sie von
einem Versionskontrollsystem in der Regel
geboten wird, wird mit zunehmendem
Umfang des Repositorys [6] schwierig.
So könnte ein Werkzeug wie das BSCW,
zusätzlich als Navigations- und Kommunikationsunterstützung genutzt werden.
So machen es die Profis
Eine andere Möglichkeit ist, eine Wissensdatenbank einzurichten, wie es z.B.
die Firma IBM getan hat [7]. IBM hat ein
weltweites Intranet, in dem sehr viele Informationen stecken. Allerdings erschwert
die Größe des Intranets das Auffinden der
Informationen. Zur Lösung des Problems
hat IBM ein Wiki-System eingeführt welches den Einstieg mit einem Lexikoneintrag
und dazugehörigen Intranet-Links vereinfachen soll. Die Einträge erfolgen ohne
große Zugangseinschränkungen durch
die Mitarbeiter selbst, ganz im Stil des
Wikipedia-Projekts. Informationen lassen
sich dadurch ähnlich wie in einem Lexikon
mit vielen Querverweisen suchen. Da ein
Wiki-System ein leichtes und schnelles
editieren ermöglicht, können die IBMMitarbeiter selbst für die Aktualität der
Inhalte sorgen. Wenn die Information
nicht schon direkt im Wiki steckt, verweist
dieses weiter auf das Intranet.
Installieren ist nicht alles
Ein solches System muss angemessen
eingeführt werden.
„Unter Einführung wird die Summe
aller Aktivitäten verstanden, mit denen
erreicht wird, dass Informationssysteme
in einer Anwenderorganistation genutzt
werden“ [8, S.395-412]
Das Ziel eines Einführungsprozesses
ist die Nutzung des Systems. Engel et
al. nennt drei Aufgaben die bei der Ein-
S O F T WA R E E N T W I C K L U N G
führung erfüllt werden müssen, damit
dieses Ziel erreicht wird:
1. Installation und Anpassung des
technischen Systems
2. Qualifizierung zur Nutzung im
Arbeitsprozess einschließlich
Akzeptanzsicherung
3. Organisatorische Einbettung
Dabei blieb es im Softwareprojekt
bei der Erfüllung der ersten Aufgabe. Die
wichtigste dieser drei Aufgaben unter dem
Punkt 2 blieb bisher auf der Strecke. Den
Benutzern müssen durch Schulungs- und
Betreuungsmaßnahmen qualifikatorische
Voraussetzungen angeeignet werden.
Wird diese Aufgabe bei der Einführung
nicht erfüllt, ist die Folge eine fehlende
Akzeptanz. Jeder Aufwand für die Einarbeitung und Benutzung des neuen Systems wird gescheut. So bringt in unserem
Projekt die Ergänzung um das BSCW oder
alternativ eines Wiki-Systems, nicht den
gewünschten Erfolg. Als Besonderheit
im Softwareprojekt kommt hinzu, dass
das „Projekt-Personal“ jedes Semester
ausgewechselt wird. Für jedes Semester
sollte das System deshalb, besonders
auch unter Beachtung des oben genannten 2. Aufgabenpunktes, erneut eingeführt
werden.
Eine Tatsache, welche die Nutzung der
oben erwähnten Systeme behindert, ist
die Struktur des Hochschul-Netzwerkes,
welche aus Sicherheitsgründen nicht
ohne weiteres außerhalb der Hochschule
genutzt werden kann.
Die meisten Projektmitglieder arbeiten
überwiegend von zuhause aus, dadurch
entstehen zusätzliche Hürden die überwunden werden müssen. Die Systeme
werden auf Servern innerhalb des Hochschulnetzes installiert und können nicht
ohne zusätzlichen Aufwand von extern
erreicht werden. Die Lösung ist eine VPN
-Verbindung [9] mit dem Hochschulnetzwerk. Erst diese VPN-Verbindung
ermöglicht den Zugriff auf Serverdienste
innerhalb des Hochschulnetzwerkes. So
z.B. bei der Anmeldung an einem Versionskontrollserver. Die Einrichtung läuft
leider, bedingt unter anderem durch
Betriebssystem- und Netzwerkkonfigurationen, oft nicht reibungslos. Speziell in
der Iteration der ich angehöre habe ich
folgende Erfahrungen gemacht.
Anfangs galt es den Zugriff auf ein
SVN-Repository [10] einzurichten. Dort
befanden sich der Programmcode und
die Entwicklungsumgebung. Schon kurze
Zeit später ist die SVN-Versionsverwaltung im Projekt aber obsolet. Die open
source Software SVN wird durch Rational
ClearCase ersetzt. Die Einrichtung eines
ClearCase-Clients wird nötig. Aber auch
damit ist es nicht getan. Bald wird ein
neuer ClearCase-Server aufgesetzt. Und
das erfordert ein erneutes Einrichten des
ClearCase-Clients. Dazu lief die Einrichtung
des ClearCase-Clients in beiden Fällen
leider nicht reibungslos und war äußerst
zeitraubend.
Zusammenfassend muss man sagen,
dass der Zeitaufwand für organisatorische
Belange im Softwareprojekt sehr groß
ist. Einer der Gründe ist, dass sich jede
Iteration von neuem mit den Werkzeugen
vertraut machen muss. Die Menge der Dokumente in welchen nützliche Informationen stehen, die auf der Erfahrung vorangegangener Iterationen basieren, ist relativ
klein und schwer auffindbar. Mit jedem
Iterationswechsel geht Wissen verloren.
Meiner Meinung nach ist es deshalb sehr
wichtig ein gutes und flexibles Konzept für
die Wissenserhaltung, die Unterstützung
der Kommunikation, der Kooperation und
der Koordination innerhalb des Projekts zu
entwickeln. Es gibt viel zu tun!
Michael Garcorz, Softwareentwicklung
Quellen
[1] Arbeitsmittel sind Dokumente und Werkzeuge, welche gemeinsam genutzt oder bearbeitet werden können.
[2] RUP ist ein Vorgehensmodell in der Softwareentwicklung
[3] Team der Softwareentwickler
[4] Computer Supported Cooperative Work ist ein Forschungsgebiet, dass sich mit Informations- und Kommunikationstechnologien befasst, welche Gruppenarbeit unterstützen.
[5] Unland R., Datenbankunterstützung für CSCW-Anwendungen in: Schwabe et al.: CSCW-Kompendium Berlin,
Heidelberg 2001
[6] Die Menge aller Dateien der Projekte die durch ein Versionskontrollsystem verwaltet werden und deren
Informationen zur Versionierung.
[7] http://www.computerzeitung.de/loader?path=/articles/2008007/31395755_ha_CZ.html&art=/articles/2008007/31395755_ha_CZ.html&thes=8012,9867,9868,9869&pid=ee54f3c7-0de1-40f5-bb23-2cfdf022aee5 (Stand: 28.05.08)
[8] Engel A. et al. Einführung und Betrieb in: Schwabe et al.: CSCW-Kompendium Berlin, Heidelberg 2001
[9] Virtual Private Network ist eine Verbindungstechnologie , welche die Verbindung zwischen zwei unterschiedlichen Netzwerken ermöglicht
[10] Subversion wird häufig auch als SVN abgekürzt
SOP JOURNAL R4
45
S O F T WA R E E N T W I C K L U N G
RATIONAL ROSE
Sinn und Unsinn eines UML-Werkzeugs
Rational Rose dient im Projekt
als Werkzeug zur Erzeugung von UMLDiagrammen. Diese beschreiben das
Softwaresystem und dienen als Basis zur
Codegenerierung. Welche Erfahrungen hat
das Softwareentwicklungsteam mit Rational Rose gemacht? Welche Hindernisse und
Probleme beschert dieses Werkzeug?
Insgesamt zeigte sich Rational Rose
wenig benutzerfreundlich. Eine intuitive Bedienung ist nur teilweise möglich,
so dass eine nicht unwesentliche Einarbeitungszeit vonnöten war. Es gibt viele
kleine Fallen, die die Benutzung erheblich
erschweren. Auf einige besonders hervorstechende Beispiele wird nun detaillierter eingegangen werden.
Rational Rose bietet diverse Sichten
auf das Softwaremodell. Die „Browser“
getaufte Ordneransicht ähnelt dem
Windows Explorer. Im Gegensatz zum
üblichen Verhalten bei Exploreransichten
öffnet ein Doppelklick auf einen Ordner
dessen Eigenschaftsfenster, nicht den Ordner selbst. Dies ist an sich nur ein kleiner
Umstand, der sich jedoch insbesondere
in der Einarbeitungsphase als ärgerlich
herauskristallisierte, da man intuitiv ein anderes Verhalten erwartet. Jedes Mitglied
des Softwareentwicklungsteams hat somit
anfangs mehr als einmal ungewollt das
Eigenschaftsfenster zu sehen bekommen.
46
SOP JOURNAL R4
Ist dies noch ein Umstand, der sich
nach einer Eingewöhnungsphase schnell
legte, ist der nächste Punkt schon deutlich
ärgerlicher: Die vielfältigen Funktionen von
Rational Rose werden dem User durch
eine Reihe von Fenstern zugänglich
gemacht, die über Kontextmenüs zu
erreichen und teils ineinander verschachtelt sind. Zum Beispiel sind folgende
Schritte notwendig, um einer Klasse eine
neue Funktion samt Argumenten und
Ausgabeparameter hinzuzufügen: Rechtsklick auf die Klasse im UML-Diagramm
zum Aufruf des Kontextmenüs > „Open
Standard Specification“ > (Fenster mit 9
Reitern erscheint) > Auswahl des Reiters
„Operations“ > Rechtsklick in Tabellenansicht der Funktionen > Kontextmenü >
„Insert“ > Name für die Funktion eingeben
> Rechtsklick auf neu angelegte Funktion >
Kontextmenü > „Specification“ > (Fenster
mit 8 Reitern erscheint) > Eingabe des
Ausgabeparameters im Reiter „General“,
Eingabe der Argumente im Reiter „Detail“.
Das Eingeben einer Klasse mit vielen
Funktionen wird so zu einer längeren Angelegenheit.
Glücklicherweise zwingt Rational Rose
den Benutzer nicht, diesen umständlichen
Weg zu gehen; er ist aber der einzige
Weg, über den eine Methode auch garantiert richtig angelegt wird. Der zweite,
deutlich einfachere Weg ist die direkte
Eingabe der Methode ins UML-Diagramm.
Hierbei muss aber sehr konzentriert gearbeitet werden, da Rational Rose bei der
Eingabe keinerlei Fehlererkennung bietet
– auch syntaktischer Blödsinn wird anstandslos akzeptiert, führt bei der später
erfolgenden Codegenerierung aber zu
wenig hilfreichen Fehlermeldungen, die
eine langwierige Fehlersuche notwendig
machen.
Die Funktion, die uns bei der Arbeit
die meisten Nerven gekostet hat, war aber
die „Zurück“-Funktion. Diese ist bei Rational Rose die meiste Zeit ohne ersichtlichen
Grund deaktiviert. Wie häufig man diese
Funktion nutzt, fällt erst auf, wenn sie nicht
mehr zur Verfügung steht. Bei der Arbeit
mit Rational Rose muss daher konzentriert
gearbeitet werden. Fehler von Hand rückgängig zu machen ist äußerst heikel, da
man nicht immer weiß, welche versteckten Auswirkungen eine Aktion hat, also ungewollte Artefakte irrtümlich ausgeführter
Aktionen zurückbleiben können.
Auch beim Verwenden von „Copy &
Paste“ ist Vorsicht geboten. Kopiert man
beispielsweise mehrere Klassen, gehen
schnell die Beziehungen zwischen diesen
Klassen verloren, bzw. werden nicht mit
kopiert. Es muss genau darauf geachtet
werden, alle Beziehungen mit zu ko-
S O F T WA R E E N T W I C K L U N G
Abbildung 1: Kein Weg zurück: Rational Rose
pieren. Hier fällt das inkonsequente Design der Anwendung auf: Das Kopieren
von Klassen ist nur aus einem Diagramm
heraus möglich, nicht aber aus der Exploreransicht. Existiert also von einem
Element, das kopiert werden soll, keine
Instanz in einem Diagramm, muss es erst
in ein Diagramm gelegt werden, um das
Kopieren zu ermöglichen.
All diese Punkte werfen kein allzu
positives Licht auf Rational Rose. Den negativen Eindruck verstärkt die antiquierte
Oberfläche - die Benutzeroberfläche des
Programms erinnert an eine Windows 95
Anwendung, die Dialogfelder sind teils
ungewohnt aufgebaut. Dies hat zwar keine
direkte Aussagekraft über die Qualität
des Programms, aber es erweckt schon
beim ersten Start das Gefühl, mit einem
veralteten Programm zu arbeiten. Die
umständliche und wenig benutzerfreundliche Bedienung verstärkt den negativen
Eindruck aber rasch.
Und wir stehen mit unseren Erfahrungen nicht alleine da: In einer von Rose
Shumba durchgeführten Umfrage wurde
Rational Rose im Hinblick auf Bedienbarkeit
und Benutzerfreundlichkeit klar schlechter
bewertet als das Vergleichsprodukt Microsoft Visio. Unter anderem heißt es zur
Diagrammerstellung: „In Rose wird eine
Menge Auskundschaften, Raten und Glück
benötigt, um einige der Diagramme zu
erstellen“. Auch wurde das Programm als
„mühsam und schwierig zu bedienen“ beschrieben . Ähnliche Probleme schildern
Aydaen Lynch et al.: „Die Mehrheit der
Studenten fanden einige der Funktionen
schwer zu benutzen, andere waren nicht
leicht verfügbar“ .
Was sind die Vorteile bei der Arbeit
mit Rational Rose?
Rational Rose ermöglicht die Erzeugung der kompletten Coderümpfe. Diese
enthalten schon alle im Modell angelegten
Beziehungen, so dass die Entwickler nur
noch die Funktionen selbst implementieren müssen. Dies spart viel Zeit und stellt
obendrein sicher, dass der Code dem
im MDA -Ansatz festgelegten Konzept
entspricht. Rational Rose beherrscht die
Codegenerierung in einer Reihe von
Sprachen, darunter Ada 83, Visual Basic,
C++ und Java. Die Java-Entwicklung pro-
SOP JOURNAL R4
47
S O F T WA R E E N T W I C K L U N G
Gewichte und Probleme stemmen. [Film]
fitiert somit deutlich von der Arbeit mit
Rational Rose.
Andererseits:
Die zweite im Projekt verwendete
Sprache, C#, wird nicht unterstützt. Somit
muss, um auch in C# MDA-konformen
Code zu erhalten, die im Rosemodell
festgelegte Spezifikation von Hand in C#
umgesetzt werden. Zwar vereinfacht die
syntaktische Ähnlichkeit von C# und Java
hier einiges, aber dieses Vorgehen ist
unnötig umständlich. Ein Werkzeug, das
beide Sprachen unterstützt, wäre deutlich hilfreicher. Auch bietet Rose keinerlei
Hilfestellungen, die sich direkt auf MDA
beziehen. Es wäre z.B. eine Funktion denkbar, die aus einem PIM automatisch ein
PSM in verschiedenen Sprachen erstellt,
das dann von den Entwicklern weiter
bearbeitet werden kann. Bei Rational Rose
muss dieser Schritt manuell vorgenommen
48
SOP JOURNAL R4
werden.
Es kann somit die Frage gestellt werden: Inwieweit ist es sinnvoll, Rational
Rose im Projekt zu verwenden? Die genannten Nachteile sollen hier nicht den
Blick auf das Wesentliche versperren - ein
Werkzeug zur Verwaltung und Bearbeitung
der MDA-konformen UML Diagramme ist
vital. Die Möglichkeit, aus den Diagrammen Code zu erzeugen, ist sehr hilfreich
– auch wenn es nur bei Java funktioniert.
An dieser Stelle kann und muss jedoch
die Frage gestellt werden, wieso nicht vor
Erwerb der Lizenzen für die Rational Tools
überprüft wurde, ob beide im Projekt verwendeten Sprachen unterstützt werden.
IBM bietet mit dem Rational Systems Developer ein Werkzeug an, dass dieselben
Funktionen wie Rational Rose bietet, und
Java und C# unterstützt.
Rose bringt für die Entwicklung in
Java aufgrund der vollen Unterstützung
einigen Nutzen. Auf C# Seite ist wie erwähnt einiges an Handarbeit nötig. Hier
ist die mangelnde Fehlerkontrolle des
Programms sogar von einem gewissen
Nutzen. Da Rose keine Unterstützung für
C# bietet, wurde das C#-PSM in Rose als
Java Modell aufgebaut. Da die Eingaben
nicht auf Übereinstimmung mit den Java
Konventionen überprüft werden (z.B.
werden in C# Package-Namen groß geschrieben, in Java jedoch klein), konnte
es entsprechend den C# Konventionen
aufgesetzt werden.
Die wenig komfortable Bedienung
ist ärgerlich, aber mit entsprechender
Einarbeitung zu meistern. Das antiquierte
Äußere hat ohnehin keinen Einfluss auf
Wert und Nutzen des Programms.
Es sollte allerdings in Betracht gezogen werden, nach Ablauf der Lizenzen
auf ein anderes Tool umzusatteln, das
beide Sprachen unterstützt (z.B. den
erwähnten Rational Systems Developer).
Solange aber die Lizenzen vorhanden
sind, stellt die Weiterarbeit mit Rational
Rose wohl das kleinere Übel dar. Trotz
aller Widrigkeiten kann man mit Rose arbeiten, die Probleme bei der Bedienung
sind Gewöhnungssache. Und die Handarbeit auf C#-Seite kann man auch als gute
Übung auffassen.
Tobias Thieme, Softwareentwicklung
Quellen
[1] Versionisierungssoftware
[2] zu Deutsch: Lager oder Depot; Es werden hier Dateien (in diesem Fall Quellcode) abgelegt
S O F T WA R E E N T W I C K L U N G
LEBT DER KUNDE IN EINER TRAUMWELT?
Kundenanforderungen an die Hardware des Langzeitarchivierungssystems
In der gegenwärtigen Konsumgesellschaft werben viele Firmen mit
der Aussage: „Kunde ist König“.
Auch das Softwareprojekt lebt unter
diesem Motto. Aber in wie weit kann
man diese Zusicherung vertreten.
Kann man dem Kunden wirklich die
freie Hand bei der Gestaltung der
Anforderungen lassen? Und wie hoch
ist dabei das Risiko lediglich eine unscharfe Traumbeschreibung, der zu erbringenden Leistungen, zu erhalten?
Ist es realistisch, an dem Auftreten
des Geschäftspartners abzuwägen,
ob dieser in einer Traumwelt lebt oder
wirklich konkrete Vorstellungen über
das Produkt mitbringt?
Auch in der fünften Iteration des Softwareprojektes stellen zwanzig Studenten
unter Beweis, dass sie teamfähig und engagiert einen Softwareentwicklungsprozess planen und umsetzen können. Ebenso
wie in den letzten Iterationen, wurden
auch diesmal Grundaufgaben festgelegt.
Dazu zählen zum Beispiel die Umsetzung
des MDA [1] - Konzeptes und das Bearbeiten der Change-Requests zählen.
Eine besondere Herausforderung lag
in der Recherche nach einer geeigneten
Hardware zum Betrieb des Langzeit-
archivierungssystems. Da die Beschaffung
der Komponente von der Kundenseite
übernommen werden sollte, musste auch
die Recherche in enger Kooparation mit
diesem durchgeführt werden. Bereits
beim Studium der, von der Vorgängeriteration erstellten, Anforderungen konnten
einige Widersprüche ausfindig gemacht
werden. Hierzu zählte unter anderem die
technische Ausstattung der Zielklientel.
Laut den Anforderungen sollten beispielsweise die zukünftigen Kunden der trésor
GmbH keine eigene Serverinfrastruktur besitzen. Trotz der Abwesenheit der Datenserver sollte jedoch eine Archivierung von
Videorohdaten ermöglicht werden. Stellt
man diese zwei Anforderungen gegeneinander wird man bereits bei der oberflächlichen Analyse feststellen, dass diese
sich widersprechen. Der Hauptwiderspruch resultiert daraus das Videorohdaten auch bei kurzen Filmesequenzen
sehr groß werden können. Diese Tatsache
würde früher oder später den Einsatz eines
lokalen Datenservers erfordern. Der Grund
hierfür liegt darin das der Speicherplatz
auf einem Arbeitsplatzrechner, in Hinsicht
auf solche Datenmengen, sehr beschränkt
ist. Aber nicht nur die Datenmengen
schließen die Abwesenheit einer Serverstruktur aus. Des Weiteren besteht das
Risiko, dass das Langzeitarchivierungssystem als ein Serverersatz missbraucht wird.
Diese Gefahr wächst mit der Anzahl des
Personals, einer Kundenfirma, die eine
Zugriffsberechtigung erhalten.
Die genannten Beispiele zeigen bereits jetzt die Problematik, mit der die
Auftragnehmer immer wieder konfrontiert
werden. Zum einen soll der Kunde das Gefühl haben das seine Wünsche anstandslos umgesetzt werden und zum anderen
sollte er ja das optimale Ergebnis erhalten.
Würde man nun im Falle des Softwareprojektes die Kundenwünsche so erfüllen, wie
sie auch gestellt worden sind, dann wäre
der Kunde zunächst befriedigt. Die Folge
wäre jedoch das er unter Umständen ein
Hardware Paket erworben hätte, das sich
entweder wirtschaftlich nicht rentiert oder
jedoch so unflexibel wäre, dass ein Wachstum der Firma gefährdet werden könnte.
Würde man hingegen eine optimale Hardware liefern wollen so müsste der Kunde
sein Geschäftsmodell von Grund auf überdenken und anpassen. Dies widerspricht
aber dem Grundsatz „Kunde ist König“
vollkommen. Aber woher kommen die
genannten Probleme? Ist der Kunde nicht
in der Lage seine Wünsche präzise auszudrücken? Oder ist es eher so, dass der
Auftragnehmer derart unflexibel ist, dass
SOP JOURNAL R4
49
S O F T WA R E E N T W I C K L U N G
er sich nicht auf unterschiedliche Kundenwünsche einstellen kann? Die Frage kann,
wie so oft, nicht pauschal beantwortet
werden. In der aktuellen Iteration wurden
erhebliche Mängel in den Anforderungen
aufgedeckt. Diese konnten jedoch in
Kooperation mit dem Kunden beseitigt
werden. Im Anschluss wurde eine Hardwarerecherche durchgeführt und eine
Empfehlung zum Kauf eines Hardwarepakets erstellt.
Um zukünftig die Anforderungen
schneller und effizienter bearbeiten zu
können empfiehlt es sich einige grundlegende Regeln zu beachten:
- Seitens des Kunden wäre es z.B. sinnvoll, bereits bei der Konzeption des Geschäftsmodells [2] einen Experten hinzu
zu ziehen. Diese Maßnahme würde zur
Abschalten ist nicht . . .
. . . das SOP ist überall DAS Thema. [Film]
Folge haben, dass das Geschäftsmodell
bereits im Vorfeld keine Widersprüche
aufweist und somit eine gute Grundlage
für die weitere Bearbeitung bietet.
- Die Anforderungen sollten hinsichtlich
der entstehenden Kosten realistisch überprüft werden.
- Allgemein sollten sämtliche Zahlenangaben auf ihre Plausibilität überprüft werden.
Hierzu ein Beispiel:
Ein neugegründetes Unternehmen
spezialisiert sich auf die Archivierung von
Rohdaten. Hierzu wird festgelegt, dass die
Anzahl der Zugriffsberechtigten Personen
maximal drei Angestellte pro Kundenunternehmen betragen darf. Gibt man dann
jedoch die Anzahl der gleichzeitigen
50
SOP JOURNAL R4
S O F T WA R E E N T W I C K L U N G
Zugriffe auf das Archivierungssystem
mit 3000 an kann man sofort erkennen,
dass solche Dimensionen für ein neues
Unternehmen unrealistisch sind. Unrealistisch deshalb weil 3000 Gleichzeitige
Nutzer bedeuten würde, dass bereits
mindestens 1000 Kunden existieren oder
in einer relativ kurzen Zeit angeworben
werden müssen.
Es sollte jedoch beachtet werden,
dass diese Regeln lediglich auf meinen
persönlichen Erfahrungen basieren.
Trotz präzise formulierten Anforderungen kann es dennoch zu Schwierigkeiten
bei der Erfassung kommen. Nämlich dann
wenn die beteiligten Parteien zwar dieselben Begriffe verwenden jedoch nicht
dasselbe meinen. Um solchen Problemen
aus dem Weg zu gehen empfehlen Experten schon sehr früh ein gemeinsames
Glossar zu erstellen (vgl. [5]). Dass dies
nicht immer beachtet wird zeigte sich
auch während den Vorgesprächen zur
Hardwarerecherche. Dort Diskutierten
zwei Parteien darüber wie das Geschäftsmodell des Kunden zu interpretieren ist.
Die Kundenfraktion, bestehend aus zwei
Kundenvertretern und dem Geschäftsführer, beharrte darauf, das Geschäftsmodell
so aufzubauen, dass die zukünftigen Nutzer des Langzeitarchivierungssystems nicht
über eigene Datenserver verfügen sollten.
Dementsprechend sollte der Zugriff auf
Einzeldateien jeder Zeit möglich sein.
Die Gegenseite, bestehend aus zwei Softwareentwicklern, einem Geschäftsführer
und einem Hardwareexperten, versuchte
diesen Ansatz zu Aufzugreifen und ihn
mit dem Langzeitarchivierungssystems
zu vereinbaren. Dieser Versuch gelang
nur schwer da immer wieder Probleme
auftraten. Die meisten beruhten, wie es
sich später herausstellte, darauf das ein
gemeinsames Glossar fehlte. Uneinigkeit
herrschte beispielsweise in der Definition
des Begriffs Langzeitarchivierungssystem:
Die Auftragnehmer favorisierten die klassische Archivansicht – abgeschlossene
Daten verwalten und im besten Fall nie
wieder antasten; die Kunden bevorzugten das Prinzip eines Datenhoster‘s,
wo die Daten modifiziert und in kleineren
Mengen heruntergeladen werden können. Bekräftigt wurde diese Vorstellung
durch den Wunsch auch Rohdaten zur
Archivierung zuzulassen. Das Problem
in diesem Fall besteht darin, dass Rohdaten einen sehr viel größeren Platzbedarf
haben als fertig formatierte Daten. Nimmt
man beispielsweise einen fertigen Videofilm mit einer Spielzeit von 90 min und
einer DVD-Qualität so ergibt sich ein Platzbedarf von ca. 4.7 Gigabyte. Würde man
jedoch die gesamten Rohdaten des Filmes
archiveren dann würde man es mit schätzungsweise 10 - 15 Stunden Filmmaterial
in Rohqualität zu tun haben. Diese Daten
schlagen mit einem Platzbedarf von bis zu
1000 Gigabyte, je nach Format, zu Buche
und verlangen andere Techniken um diese
zu archivieren. Um trotzdem auch diesen
Marktbereich abzudecken, wurde dem
Kunden vorgeschlagen zwei separate Geschäftsmodelle zu entwickeln. Ein solches
Marketingmodell würde die Bedürfnisse
beider Zielgruppen abdecken und man
könnte sich sehr gut auf dem Markt positionieren. Dieser Vorschlag wurde jedoch
abgelehnt.
Die genannten Fehlinterpretationen
führten dazu dass Zeit und somit unnötig
Geld verschwendet wurde. Glücklicherweise konnte diese Missstände schnell erkannt und beseitigt und somit eine erfolgreiche Hardwarerecherche gewährleistet
werden.
Alexander Paharukov
Softwareentwicklung
Quellen
[1] MDA: Die Model Driven Architecture (deutsch: Modelgetriebene Architektur) ist ein Verfahren um die
Softwarearchitektur präskriptiv auf mehreren Ebenen in Modellen zu beschreiben. Dabei findet schrittweise eine
zunehmende Verfeinerung und Detaillierung der höheren abstrakten Ebenen bis hin zum Programmcode statt. [3]
auch [4]
[2] Geschäftsmodell: “Ein Geschäftsmodell ist eine modellhafte Beschreibung eines Geschäftes. Ein Geschäftsmodell besteht aus drei Hauptkomponenten: Value Proposition, Architektur der Wertschöpfung und dem
Ertragsmodell.“ (Stähler, 2001)
[3] Alan Brown IBM. (2004, Februar 14). An introduction to Model Driven Architecture. Retrieved Mai 28, 2008,
from Developer Works: http://www.ibm.com/developerworks/rational/library/3100.html
[4] Fraunhofer IESE. (2001-2008). Einführung in MDA. Retrieved Mai 28, 2008, from Virtuelles Software Engineering
Kompetenzzentrum: http://www.software-kompetenz.de/?5348
[5] IBM. (1987-2006). Aufgabendeskriptor: Gemeinsames Vokabular erfassen. Retrieved April 24, 2008, from RUP
for small Projects: SmallProjects/rup/capabilitypatterns/capture_common_vocabulary,_8_pYkEogEdqrjq4i3fchvA.
html?proc=_vCtak0JHEdq4z9xc-r201w&path=_vCtak0JHEdq4z9xc-r201w,_vChNR0JHEdq4z9xc-r201w,_vCtaiEJHEdq4z9xc-r201w,_rnmKIJ4_Edq7s5zuJVEAAw,_8_pYkEogEdqrjq4i3fchvA
[6] Stähler, P. (2001). Geschäftsmodelle in der digitalen Ökonomie: Merkmale, Strategien und Auswirkungen. KölnLohmar: Josef Eul Verlag.
SOP JOURNAL R4
51
S O F T WA R E E N T W I C K L U N G
HILFE ICH BIN EIN SOFTWAREENTWICKLER HOLT MICH HIER RAUS!
Im Studiengang Medien- und Kommunikationsinformatik an der Hochschule Reutlingen sind 160 Studenten
immatrikuliert. Da der Schwerpunkt
dieses Studiengangs auf der Informatik liegt, sollte man annehmen, dass
jeder dieser Studenten prädestiniert
für die Rolle des Software-Entwicklers
im Software-Projekt ist. Diese Annahme ist auch naheliegend, weil die
meisten Anforderungen an die Software-Entwickler den Vorlesungsinhalten entsprechen. Wie beliebt ist
jedoch tatsächlich die Rolle des Software-Entwicklers bei den Studenten?
Und was denken die Professoren bzw.
die Geschäftsführung über die Software-Entwickler im Software-Projekt?
Diese und weitere Fragen werden im
folgenden Artikel durch Umfragen
und Interviews mit betroffenen Personen beantwortet.
Als zu Beginn des Wintersemesters
2007 die Studenten der Iteration 5 sich
ihre Rollen untereinander aufteilen sollten,
zeichnete sich ein unerwarteter Trend
ab: Gegen die Annahme, dass die Rolle
des Software-Entwicklers gefragt ist, gab
es Schwierigkeiten alle Positionen zu
besetzen. Dies löste eine Diskussion aus,
worauf sich betroffene Studenten wie
52
SOP JOURNAL R4
Diagramm 1: Ergebnis der Umfrage
folgt äußerten: „Ich habe mit Programmierung nichts am Hut!“, „Das ist mir viel
zu technisch.“ oder „…zu viel programmieren, ich kann das einfach nicht.“ (Kommentare von MKI-Studenten).
Projektleitung und Geschäftsführung
stellen sich bei solchen Äußerungen die
Frage: Ist die Rolle des Software-Entwicklers nicht so populär wie angenommen?
Um eine Antwort zu finden, wurde eine
Umfrage durchgeführt. Jeder Student des
Studiengangs MKI hatte die Möglichkeit,
sich über die Rolle des Software-Entwicklers zu äußern. Das Ergebnis der Umfrage
bestätigt den Negativtrend. An dieser Umfrage [1] beteiligten sich 73 Studenten.
Abbildung 1 zeigt, dass 52% der
befragten Studenten sich nicht in der
Rolle des Software-Entwicklers sehen
könnten. Auf die Frage: „Warum würden
sie sich nicht für die Rolle des SoftwareEntwicklers entscheiden?“, wurden unter
anderem folgende Aussagen getroffen:
„Weil ich mich mit etwas befassen will,
was mir Spaß macht und von dem ich
mir vorstellen kann, es auch weiterhin zu
machen. Da ich mein Praktikum im Managementbereich gemacht habe, würde ich
lieber was mit Marketing machen.“, „weil
meine Fähigkeiten in anderen Bereichen
deutlich besser sind und dort auch meine
Interessen liegen.“ und „Ich kann nicht
programmieren und traue mir diese Aufgabe nicht zu.“ (Antworten von Studenten
aus der Umfrage). Dieses Ergebnis zeigt,
dass bei vielen Studenten die Interessen
S O F T WA R E E N T W I C K L U N G
Interview mit Prof. Dr. rer. nat. Uwe Kloos, Geschäftsführung
Denken Sie, dass die Rolle des Software-Entwicklers eine beliebte Rolle im
Software Projekt ist?
„Ich denke zu Beginn auf jeden Fall. Die Studenten die neu in das Projekt kommen,
können sich unter dieser Rolle am meisten vorstellen. Vor allem Studenten die eine Affinität zum Programmieren entwickelt haben, sehen sich gerne in der Rolle des Entwicklers.
Anschließend, im Laufe der zwei Semester, kann es sich bei dem einen oder anderen
ändern, weil er vielleicht merkt, dass Software-Entwicklung nicht nur reines programmieren ist. Diese Erkenntnis kann einige Studenten frustrieren, obwohl andere wichtige
Aufgaben umgesetzt wurden. Denn auf den ersten Blick scheinen diese Aufgaben nicht
Teil der Rolle des Software-Entwicklers zu sein.“
Welche Erwartungen stellen zukünftige Software-Entwickler an das
Softwarprojekt?
„Ich könnte mir vorstellen, dass die Erwartung darin besteht Software zu entwickeln
und zu programmieren. Vor allem aber das Produkt vom Kern aus anzutreiben indem
man neue Methoden und Module für das Projekt entwickelt.“
Geschäftsleiter Prof. Kloos
überdenkt die Strategie. [Film]
Glauben Sie, dass diese Erwartungen erfüllt werden?
„Zum Teil ja, zum Teil nein. Es tauchen immer wieder unerwartete Elemente auf, wie
z.B. der MDA-Ansatz an welchem seit über 2 Semestern modelliert wird. Dieser Ansatz
wurde mit Sicherheit von keinem in dieser Form erwartet. Er führt bei den Studenten
zu Überraschung bis hinzu Frustration, weil man eben nicht zum Entwickeln gekommen ist, sondern man sich mit anderen Dingen beschäftigen muss bevor man wieder
weiterkommt. Die Erwartungen werden sicherlich nach Beendigung des MDA-Ansatzes
erfüllt, wenn wieder implementiert wird.“
Welche Erfahrungen haben Sie mit dem Softwareentwicklungsteam im SoftwareProjekt gemacht?
„Viele Studenten sind zu Beginn sehr motiviert und wollen gleich anfangen zu entwickeln, werden aber enttäuscht weil am Anfang andere Aufgaben im Vordergrund stehen. Der andere Punkt ist, dass jede Iteration unterschiedliche Vorlieben hat, in welcher
Programmiersprache entwickelt werden soll. Es ist schwierig eine Kontinuität in das
Projekt zu bringen, da das eine Semester lieber die „Microsoft-Schiene“, das nächste
Semester lieber die „Open-Source-Schiene“ fahren will. Das erfordert auch einiges an
Diskussion, damit beide Projekte gleich vorangetrieben werden.“
SOP JOURNAL R4
53
S O F T WA R E E N T W I C K L U N G
in anderen Bereichen liegen und dass sich
der eine oder andere mit der Rolle als
Software-Entwickler überfordert fühlt.
Die Qualitätssicherung führte in der Iteration 5 eine Mitarbeiterbefragung durch.
Bei dieser Befragung hatten die Mitarbeiter
des Software-Entwicklungsteam die Gelegenheit sich über ihre Rolle zu äußern.
Das Ergebnis war, dass zwei von acht
Software-Entwicklern sich für eine andere
Rolle entscheiden würden, wenn sie
könnten. Ein Rollenwechsel ist möglich,
jedoch müssen Gründe der Geschäftsund Projektleitung genannt werden, um
diesen zu ermöglichen. Bei der Bewertung der Rolle gaben nur zwei Entwickler
die Note „gut“. Der Rest bewertete seinen
Arbeitsbereich mit „befriedigend“ bis
„ausreichend“. Dies zeigt, dass selbst das
existierende Entwicklungs-Team nicht geschlossen hinter der Rolle steht.
Aus der Sicht der Studenten wurden
bereits mehrere Gründe genannt, warum
die Rolle wenig Akzeptanz findet. Desweiteren soll gezeigt werden, wie die Geschäftsleitung (Professoren) über die Rolle
des Software-Entwicklers denkt. Auf eine
der Folien von Herrn Professor Keller, ist
der Satz „Der Manager ist nicht informiert.“
[3] zu lesen. Dieser besagt, dass das Management, nicht über den Arbeitsfortschritt
und die interne Arbeitsweise Bescheid
weiß. Dies gibt Anlass bei der Geschäftsleitung nachzufragen, in wie weit sie
ihr Software-Entwicklungsteam kennen.
Zusätzlich soll in Erfahrung gebracht werden, ob sie annehmen, dass die Erwartungen der Studenten an die Rolle erfüllt
werden. Dazu wurde ein Interview mit
54
SOP JOURNAL R4
Herrn Professor Kloos durchgeführt.
Aus diesem Interview geht hervor,
dass Herr Professor Kloos dieselbe Meinung wie die meisten Studenten vertritt.
Die Motivation viel zu programmieren
überwiegt am Anfang des Projekts, weil
die Studierenden noch nicht wissen, dass
andere Aufgaben berücksichtigt werden
müssen. Ebenso zeigen zukünftige Entwickler viel Engagement das Projekt voran
zu treiben. Dass das Programmieren erst
zu einem späteren Zeitpunkt erfolgen
kann oder sogar entfällt, ist vielen nicht
bekannt. In den ersten Phasen des Projekts
sind die Hauptaufgaben Planung und
Modellierung der Software. Dies führt unter Umständen zu Frustration bei einigen
Entwicklern, weil viele Studenten Planung
und Modellierung nicht mit SoftwareEntwicklung in Verbindung setzen. Dieser
Aspekt könnte für andere wiederum der
Grund sein, sich für diese Rolle zu entscheiden. Schließlich gaben Studenten bei
der Online-Befragung an: „Erfahrung sammeln in der Software-Modellierung.“ und
„Tiefer in die Modellierung der Software
zu tauchen.“
Doch was ist Software-Entwicklung
eigentlich? Software-Entwicklung umfasst alle Ressourcen und Tätigkeiten,
die zur Herstellung und Entwicklung von
Software notwendig sind. Prof. Dr. Martin
Glinz, Professor an der Universität Zürich,
beschreibt die Software-Entwicklung wie
folgt: „Die Umsetzung der Bedürfnisse
von Benutzern in Software umfasst: Spezifikation der Anforderungen, Konzept
der Lösung, Entwurf und Programmierung
der Komponenten, Zusammensetzung
der Komponenten und ihre Einbindung
in vorhandene Software, Inbetriebnahme
der Software sowie Überprüfung des Entwickelten nach jedem Schritt.“ [2]
Software-Entwicklung ist also mehr als
nur „reines Programmieren“. Würde diese
Erkenntnis in den unteren Semestern mitgeteilt werden, dass oft in der Rolle des
Software-Entwicklers nicht das Programmieren im Vordergrund steht, könnten
sich eventuell mehr Studenten diese Rolle
vorstellen. Diese Behauptung wird dadurch bestärkt, dass einige der Befragten
sich nicht mit der Rolle identifizieren können, weil sie annehmen es drehe sich alles
um das Programmieren. Die meisten Studenten haben ein falsches Bild haben von
der Rolle des Software-Entwicklers. Um
dieses aus dem Weg zu räumen wäre es
sinnvoll, die Rollen im Einzelnen und das
gesamte Software-Projekt in den unteren
Semestern ausführlich darzustellen. Ziel ist
es, die Studierenden nicht von der Rolle
abzuschrecken, sondern sie zu ermutigen
diese Rolle anzunehmen. Der Leitsatz:
„Hilfe ich bin ein Software-Entwickler
– Holt mich hier raus!“ sollte nicht zum
Motto werden.
Thomas Sellner, Softwareentwicklung
Quellen
[1] Online-Umfrage: Rolle Software-Entwickler im Software-Projekt
[2] Glinz M.: Software Engineering. [Online Dokument] URL:
http://www.ifi.unizh.ch/req/courses/se/, WS 2005/2006, letzter Zugriff: 18.05.2008.
[3] Was will Softwaremanagement, Folie 4, Vorlesung Softwaretechnik 2, W. Keller
TESTING
UNTERSCHÄTZ MEIN NICHT
Irrtum und Ignoranz beim Testen
Ende 2004 wurde die Überweisung
des neuen Arbeitslosengeld II gefährdet. Schuld daran war ein Fehler in der
Überweisungssoftware. So wurden die
eingetragenen Kontonummern der
Empfänger, die aus weniger als zehn
Zeichen bestanden, von hinten mit
Nullen aufgefüllt und nicht, wie erforderlich von vorne.[1]
Wäre es möglich gewesen, diesen
Fehler schon vorher zu bemerken?
Wurde hier die Überweisungssoftware
nicht ausreichend überprüft? Wurde es
unterschätzt, wie wichtig gerade hier das
ordnungsgemäße Prüfen dieser Sache ist?
Um das Thema „Test“ ranken sich zum
Teil falsche Vorstellungen. Die Auffassung,
es sei ausreichend, das Programm zufällig
auf seine Funktionen „durchzuklicken“, ist
gerne vertreten. Auch wird oft die Wichtigkeit dieser Tätigkeit unterschätzt. Doch
nicht ausreichend getestete Systeme können viel Geld kosten, wenn sich später bei
deren Einsatz ein Fehler zeigt, den man
hätte finden müssen. Gut wird dies durch
das obige Beispiel aus dem Jahr 2004
veranschaulicht.
Im Folgenden wird untersucht, welche
Bedeutung Testing für das Softwareprojekt
der Hochschule Reutlingen (kurz: SOP)
haben könnte und warum der Irrtum auch
vor dem Tester selbst nicht halt macht.
Testing im SOP
Im SOP sind die schlimmsten Folgen
nicht die Gefährdung von Menschenleben.
Doch überträgt man dieses Projektplanspiel auf die Praxis, so erkennt man, dass
es hier zumindest zu hohen finanziellen
Schäden kommen kann. Man stelle sich
folgendes Szenario vor:
Der Anbieter will das Produkt als Ganzes verkaufen: Software + Hardware. Die
erbrachte Leistung wird pro übertragenes
Gigabyte berechnet.
Der Server fällt aus, weil er nicht genügend auf seine Belastbarkeit untersucht
wurde und die Kunden können für einige
Stunden diesen Dienst nicht in Anspruch
nehmen. Rechnet man mit einem Ausfall
von einem Tag, mit 15 Euro Kosten pro Gigabyte und einem Übertragungsvolumen
von 30 Gigabyte in dieser Zeit, so folgen
daraus entgangene Einnahmen in Höhe
von 700 Euro für den Anbieter. Und das
an einem Tag.
Hier erkennt man die Bedeutung, die
einer ausreichenden Überprüfung des
Systems, zukommt.
Was denken andere über Test?
Um zu erfahren, was andere Semester
über Testing denken, wurde eine Umfrage
an alle Medien- und Kommunikationsinformatik (Abk.: MKI) Bachelor-Semester
geschickt. Insgesamt antworteten 23 Stu-
denten darauf. Alle Semester (1. – 6. Semester) waren vertreten. Die Auswertung
erfolgte anonym, so dass durch die Ergebnisse kein Rückschluss auf die beteiligten Personen gezogen werden kann.
Die Teilnehmer wurden dazu aufgefordert, spontan zu nennen, was ihnen
einfällt, wenn sie das Wort „Tester/Testing“
hören. Hier ist bemerkenswert, dass die
Semester, die bisher noch keine Erfahrung
mit dem Softwareprojekt gesammelt
haben (Semester 1 – 4), häufig das Thema
„Benutzerfreundlichkeit“ nannten. Desweiteren war ihnen bewusst, dass die Tester
sich mit der Fehlersuche beschäftigen.
Die Semester 5 und 6 hingegen
nannten konkretere Begriffe wie zum
Beispiel „Validierung“, „Testpläne“ oder
„Anforderungen“. Auch wurden hier
Äußerungen zur Relevanz der Abteilung
Test gemacht; unter anderem „[…] Arbeit,
die unerlässlich ist“ oder „sehr wichtig.“
Eine weitere Aufgabe war es, die Relevanz von Tests in einem Softwareprojekt
zu benennen. Das Ergebnis zeigt, dass
dem Testing eine hohe Bedeutung zugesprochen wird. Zwölf der Teilnehmer
bewerteten es als „sehr wichtig“, elf als
„wichtig“.
Weiterhin wurden die Studenten dazu
befragt, welche der folgenden aufgelisteten Testarten sie kennen: Whitebox-,
Blackbox-, Modul-, Regressions-, System-,
SOP JOURNAL R4
55
TESTING
Abnahme-, Last-, Verfügbarkeit-, Installations-, WEB- und Benutzbarkeitstest. Am
bekanntesten waren System- und Benutzbarkeitstest mit jeweils 20 Stimmen. Der
WEB-Test ist mit 10 Stimmen die unbekannteste dieser Testarten.
Die letzte Frage verlangte von den Teilnehmern, dass sie angeben, in welchen
der Bereiche Projektmanagement, Konfigurations-und Änderungsmanagement,
Softwareentwicklung, Qualitätssicherung
und Test sie bereits Erfahrungen gesammelt hatten. 12 Teilnehmer gaben die
Softwareentwicklung an. Am wenigsten
Erfahrung wurde beim Testing gesammelt
(4 Studenten). Projektmanagement, Konfigurations- und Änderungsmanagement
und Qualitätssicherung lagen mit jeweils 6
Stimmen gleich auf.
Die niedrige Resonanz auf die Umfrage lässt darauf schließen, dass dem
Testen, testen, testen . . . [Film]
56
SOP JOURNAL R4
Überprüfen von Software eine geringe
Bedeutung zugestanden wird, wenn man
sich damit noch nicht befasst hat. So gingen von den Semestern 1 – 4 insgesamt
sechs Antworten ein, während es aus den
Semestern 5 und 6 total 17 waren.
Auch der Tester ist vor Irrtum nicht
gewappnet
Nicht nur Personen, die sich mit
der Materie „Test“ noch nicht vertraut
gemacht haben, unterliegen im Bezug
darauf Irrtümern. Auch die Mitglieder der
Abteilung Test haben zum Teil falsche
Vorstellungen von ihrer Disziplin. Woran
liegt das?
Im Folgenden werden die falschen
Annahmen, die ich selbst von dieser
Abteilung und ihrer Arbeit hatte, die
Wahrheiten dazu und die Gründe, warum
diese Irrtümer entstehen, genannt.
Irrtum 1: Testing bedeutet Testen und
sonst nichts. Die Tests werden von Anfang
an und über die gesamte Iteration hinweg
durchgeführt.
Fakt: Bevor überhaupt mit der Durchführung der Tests begonnen werden kann,
werden diese bis ins Detail geplant. Diese
Vorbereitungsphase zieht sich über die
ersten ¾ des Softwareprojekts. Es wird
ein Testplan erstellt, der die Testarten und
das Vorgehen ausführlich beschreibt. Auf
Basis der Kundenanforderungen erstellen
die Tester die sogenannten Testfälle, die
einzelne Szenarien der Anwendung mit
Eingabe, der Reaktion und dem gewünschtem Endzustand des Testobjekts
beschreiben.
Irrtum 2: Test ist gleich Test und jeder
Test wird gleich durchgeführt.
Fakt: Es gibt eine Menge verschiedener Tests. Beispiele hierfür sind: Modultest,
TESTING
Abnahmetest und Benutzbarkeitstest.
Jede Testart erfordert ein eigenes
Vorgehen. So werden für Modultests Testmethoden geschrieben. Der Abnahmetest
wird anhand einer Checkliste durchgeführt. Beim Benutzbarkeitstest liegt das
Augenmerk auf den Beobachtungen, die
die Testperson macht.
Irrtum 3: Es soll die Abwesenheit von
Fehlern festgestellt werden. Werden keine
Fehler gefunden, ist das Produkt qualitativ
hochwertig.
Fakt: Aufgabe des Testers ist es,
Fehler zu finden. Ein Test, der keine Fehler
findet, ist ein erfolgloser Test. Eine fehlerfreie Überprüfung des Testobjekts garantiert keine Fehlerfreiheit dieses Objekts.
Möglicherweise wurde der Test nicht
ausreichend durchdacht und kann keine
Fehlerquellen aufdecken.
Ziel ist es, Fehler aufzudecken. Nur
gefundene Probleme können behoben
werden
Irrtum 4: Qualitätsmessung ist Sache
der Qualitätssicherung. Die Abteilung Test
hat damit nichts zu tun.
Fakt: Die Qualität der Software wird
anhand der Ergebnisse, die die durchgeführten Tests liefern, gemessen. Wurden
die Tests ausreichend geplant und ergaben
sie wenig Fehler, so kann man daran erkennen, dass das Produkt den Ansprüchen
gerecht entwickelt wurde.
Irrtum 5: Beim Testen von Software ist
es nicht nötig, sich mit deren Architektur
oder mit Programmieren auszukennen.
Fakt: Gerade bei der Erstellung von
Modultests braucht derjenige, der diese
erstellt, Kenntnis vom Code, da hier Test-
skripte geschrieben werden müssen.
Dass der Irrtum 5 ein generelles Problem darstellt, haben auch T. Beaubouef,
P. McDowell vom Department of Computer
Science and Industrial Technology, Southeastern Louisiana University, festgestellt.
So beobachteten sie, dass einige der
Studenten, welche sich zwar allgemein
für das Thema Informatik interessieren,
aber behaupten, Programmieren zu hassen, angaben, dass sie eventuell Software
testen könnten. Diesen Studenten fehlt
die Erkenntnis, dass „Programmieren ein
bedeutender Aspekt“ des Testens ist. (vgl.
[2], S. 47)
Gründe der Irrtümer und
Lösungsvorschläge
Erst in der Vorlesung „Softwaretechnik
II“ erhält der Student einen umfangreichen Überblick über die verschiedenen
Testaktivitäten/-phasen. Kritisch hierbei
ist auch, dass nur in dieser Vorlesung das
Thema behandelt wird und auch nur als
ein Aspekt der gesamten Veranstaltung.
Desweiteren wird hier nur theoretisch
auf die Thematik eingegangen, aber die
Praxis nicht geübt. Vor dieser Vorlesung
wurden von den Studenten oft keine
ausreichenden Überlegungen zur Sache
vorgenommen, weil das Thema Test in
den unteren Semestern von MKI nicht
oder nur oberflächlich behandelt wird.
Zwar kennt man das „was“ eines Tests (das
Überprüfen einer Sache), aber nicht das
„wie“ (wie überprüft man die Sache?).
Meiner Meinung nach ist es wichtig,
bereits in den unteren Semestern auf die
Thematik von Softwaretests einzugehen
und ihre Durchführung und Relevanz
für die Studenten darzulegen. So könnte möglicherweise verhindert werden,
dass die Studenten ein „Trial-and Error“Vorgehen beim Testen entwickeln. Auch
sollte die praktische Anwendung von
Tests geübt werden.
Stephen H. Edwards vom Virginia
Tech, Dept. of Computer Science kritisiert
ebenfalls, dass trotz der Relevanz des
Themas Test die meisten Informatiklehrpläne nur eine minimale Abdeckung des
Themas bieten. (vgl. [3]). Er schlägt vor,
Softwaretesting in einer Art zu unterrichten, die die Studenten selbst dazu ermutigt, ihre Fähigkeit zu testen zu trainieren.
Auch sollten die Studenten eine konkrete
Rückmeldung dazu bekommen.
Desweiteren sollte den Studenten veranschaulicht werden, welche negativen
Auswirkungen unzureichend getestete
Systeme in der Praxis haben können.
Es können nämlich nicht nur finanzielle
Schäden entstehen. Im schlimmsten Fall
kann es Menschenleben kosten.
Christine Heberle, Testing (Leitung)
Quellen
[1] http://www.spiegel.de/wirtschaft/0,1518,335124,00.html
[2] T. Beaubouef, P. McDowell; Computer Science: Student myths and misconceptions; Journal of Computing
Sciences in Colleges (Juni 2008); ACM
[3] Stephen H. Edwards; Improving Student Performance by Evaluating - How Well Students Test Their Own
Programs; ACM Journal of Educational Resources in Computing, Vol. 3, No. 3, September 2003, Article 01
SOP JOURNAL R4
57
TESTING
EIN PROJEKT ZWISCHEN MODELL UND BERUFSALLTAG
Kann ein Planspiel eine gute Vorbereitung für das Berufsleben sein?
Im Rahmen des Softwareprojekts
(SOP) wird die Zusammenarbeit von
Personen mit unterschiedlichen Rollen zur
Entwicklung einer komplexen Software
geübt. Ziel ist es, Erfahrungen zu sammeln, um diese im späteren Berufsleben
verwenden zu können.
Was sind dabei gute Vorgehensweisen und was kann man anders oder besser
angehen?
Das SOP läuft über mehrere Iterationen.
In jeder Iteration arbeiten Studenten über
zwei Semester an dem Projekt. Es wird
von dem früheren Semester übernommen
und später an das nachfolgende Semester
übergeben.
Jeder Student soll in seiner Funktion
zum Gelingen beitragen. Dabei kann sich
jeder zwischen folgenden Rollen entscheiden:
• Softwareentwickler
• Projektmanager
• Qualitätssicherer
• Tester
• Konfigurationsmanager oder
• Kunde
Die Geschäftsleitung wird von zwei
Professoren mit Projekterfahrung eingenommen. Dies ist eine gute Einrichtung,
da nur durch eine erfahrene Geschäftslei-
58
SOP JOURNAL R4
tung ein realistisches Vorgehen gesichert
ist.
Eine
Softwareentwicklungsfirma
wird detailgenau nachgebildet und von
Semester zu Semester im Hinblick auf
die zu entwickelnde Software optimiert.
Die Kunden setzen den Vertrag auf und
stehen in engem Kontakt mit der Firma. Es
werden Verträge gemacht, Teilzahlungen
beglichen, Recherchen durchgeführt, Statusmeetings abgehalten und Zwischenergebnisse in Reviews vorgestellt.
Es stellt sich die Frage, wie gut ein solches Projekt die Probleme und Situationen
des späteren Berufslebens nachbilden
kann.
Während der zwei Semester ist es
möglich einen Einblick in Geschäftsprozesse und Arbeitsabläufe zu bekommen. Jeder beschäftigt sich intensiv mit
seiner Rolle. Die Studenten holen sich
Informationen und Ratschläge von der
Vorgängeriteration. Alles wird durch die
Projektleiter koordiniert und durch die
Geschäftsführung kontrolliert. Die Arbeitsprozesse sind für alle Beteiligten durch
regelmäßige Meetings transparent.
Das Ziel unserer Iteration ist die Restrukturierung und Modularisierung einer
angefangenen
Archivierungssoftware.
Dem Kunden soll ein Architekturvorschlag
einer Implementierung mit Zeitplan und
Kosten geliefert werden.
Meine Spezialisierung
in diesem
Projekt ist die Rolle des Testers. Ich werde
im Folgenden meine Erfahrungen aus dem
Projekt schildern.
Der Arbeitsablauf ist durch das
vorgegebene Ziel, einen festen Terminplan und die Rollenverteilung festgelegt.
Der Ablauf ist strukturiert, was sich positiv
auf die Koordination der Einzelaktivitäten
auswirkt. Schon am Anfang des Semesters
stehen alle Termine fest und jeder kann
gezielt auf die Meilensteine hinarbeiten.
Jedes Teammitglied ist über die Gesamtaufgabe wie auch über seine Rolle im
Detail informiert. Missverständnisse und
unterschiedliche Zielvorstellungen sind
hierdurch auf ein Minimum beschränkt.
Jedes Mitglied muss sich an die Vorgaben
halten, was durch die Qualitätssicherung
überprüft wird.
Ein gemeinsames Verständnis und
eine vollständige Information helfen bei
der Bewältigung gemeinsamer Aufgaben!
Da es beim Abnahmetest durch neue
Vorgaben der Geschäftsführung eine
Änderung gab, musste der Projektplan
überarbeitet werden. Diese Umstrukturierung hat für uns Tester zu einer vorgezogenen Einarbeitung in den Abnahmetest
geführt. Die Vorbereitungen mussten
in wenigen Stunden erledigt werden.
TESTING
Den Projektplan durch neue Vorgaben
gestört zu bekommen, verringert die
Motivation des Projektteams, konnte hierbei festgestellt werden. Statt erfolgreich
absolvierter Meilensteine erzielt man nur
kleine oder manchmal nicht nach außen
sichtbare Projektergebnisse. Erst wenn die
Konzepte so überarbeitet sind, dass die
neuen Vorgaben enthalten sind, können
wieder Fortschritte erzielt werden.
Wir haben jedoch auch positive
Erfahrungen mit der Überarbeitung der
Pläne machen können. Es ist wichtig konkrete Absprachen mit den Vorgängern zu
treffen. Dies wurde von den Projektmanagern gut koordiniert und wir konnten in
einen geordneten Projektmodus zurückzufinden.
In dieser Situation haben wir erfahren,
dass eine gute Zusammenarbeit zwischen
den Teams von großer Bedeutung ist.
Ein weiteres Problem war, dass nicht
die vollständige Infrastruktur zur Verfügung gestellt wird. Jeder Student ist für
seine Arbeitsumgebung verantwortlich.
Bei der Beschaffung der Installationsdateien gab es Zugangsprobleme und
deshalb mussten wir die Dateien von den
Softwareentwicklern anfordern.
An diesem Beispiel kann man erkennen, dass oft kurzfristig außerplanmäßige
Wege beschritten werden müssen. Ein
guter Plan reicht nicht aus, um an das Ziel
zu gelangen. Eine gewisse Flexibilität ist
ebenso wichtig.
“IT-Fachleute müssen sich heutzutage
nicht nur mit der Technik auskennen,
sondern auch den Umgang mit Kunden
oder Mitarbeitern und Führungskräften in
Erfüllt die Software alle Anforderungen? [Film]
der eigenen Firma beherrschen. Sie wirken
an Projekten mit und müssen die richtigen
Entscheidungen für die Zukunft treffen”[1],
so sieht es Michael Kuhrts als erfahrener
Projektleiter.
Projekte, die nach Plan verlaufen sind
selten, wie ich auch bei meinem Praxiseinsatz bei einem großen Softwarehaus
erfahren habe. Dort habe ich das Arbeiten
in internationalen Testteams kennengelernt.
Bei einem Projekt ist es wichtig ein
gutes Projektmanagement und eine gute
Kontrolle zu haben, da das Projekt sonst
unkoordiniert, viel langsamer oder in eine
falsche Richtung läuft. Das Projektmanagement in unserem Projekt hat gut funktioniert
und sichergestellt, dass wir die Projektziele erreichen. Wir hatten aber auch die
Situation, dass es beim Abnahmetest eine
Umstrukturierung der Aufgabenverteilung
gab. Dies hätte durch eine rechtzeitig
abgestimmte Planung vermieden werden
können.
Die parallelen Aktivitäten bei der
Übergabe von einem Studententeam an
das andere beim Iterationswechsel waren
für uns etwas gewöhnungsbedürftig. Der
SOP JOURNAL R4
59
TESTING
Abstimmungsaufwand durch die parallel
tätigen Teams ist sehr hoch. Wir haben
erfahren, dass Einarbeitung, Zusammenarbeit und die Übergabe des Projekts
wichtig ist. Der parallele Ablauf ist eine
Besonderheit und Herausforderung zugleich. Dies ist –denke ich- eine wichtige
Erfahrung für das spätere Berufsleben.
Am Beispiel der Testrolle kann die
Wichtigkeit von geordneten Übergängen
und dem Abschluss von Projektmeilensteinen dargestellt werden. Der Tester ist
für die Durchführung des Abnahmetests
verantwortlich. Dieser dient dazu den
Stand und die Funktionstüchtigkeit des
Produktes bei der Übergabe an die nächste Iteration zu überprüfen und zu dokumentieren. Er ist die Voraussetzung, dass
das Projekt von der Nachfolgeriteration
übernommen und weitergeführt werden
kann.
Es ist wichtig, die Vorgehensweise,
die Tests und die Ergebnisse genau zu
dokumentieren. Den Nachfolgern wird
der Einstieg erleichtert, wenn die bisherige Durchführung transparent und nachvollziehbar ist. Die ständige Weitergabe
von Iteration zu Iteration ist nach meiner
Meinung ein gutes Modell. Dadurch ist
man gezwungen Nachfolger einzuarbeiten, alles zu dokumentieren und von den
Vorgängern zeitnah alle Informationen zu
erfragen, da diese nach Beendigung des
Projekts meist nicht mehr zu erreichen
sind. Nach jeder Iteration muss eine Übergabedokumentation erstellt werden.
Auch später im Beruf kann es sein,
dass Personen ihre Arbeitsstelle oder
Abteilung wechseln, wodurch es für den
60
SOP JOURNAL R4
Nachfolger schwierig ist, die Arbeit ohne
Bruch fortzuführen, wenn diese nicht
ordnungsgemäß dokumentiert ist.
In dem Bereich „Test“ ist es wichtig vergangene Testergebnisse festzuhalten, um
sie mit späteren Ergebnissen vergleichen
zu können. Nur so kann der Fortschritt
erkannt und jeder Test reproduzierbar
gemacht werden. Frühere Testergebnisse
sind die Grundlage für die zukünftigen
Tests.
Um Meinungen aus dem Berufsleben
zu erhalten, wurden frühere Absolventen
der Medieninformatik, die berufstätig sind,
zu ihren Erfahrungen befragt. Hierbei wird
klar, dass man auch im Berufsleben immer
wieder an Stellen kommt, bei denen es
zu stocken scheint. Man soll also nicht
denken, dass „das Arbeiten später ein
Vergnügen sei. Man wird immer wieder an
Stellen ankommen, an denen es wichtig
ist, sich selber motivieren zu können“, so
ein früherer Student.
Ein Anderer meinte, „dass nicht immer die Besten die Führungspositionen
besetzen, sondern die, die am lautesten
schreien.“ Auch bei dem Projekt konnte
man feststellen, dass, wenn man aktiv
mitgestalten und seine Meinung kund tun
will, man nicht zurückschrecken darf diese
deutlich zu vertreten.
Die Äußerungen der früheren Stu-
denten stimmen mit unseren Erfahrungen
aus dem Projekt überein.
Auch andere Hochschulen sehen
einen großen Wert in der Durchführung
eines Planspiels. „Die Entwicklung des
Planspiels der Hochschule Luzern ist aus
der Überlegung entstanden, dass das
gegenseitige Verständnis für die Herausforderungen anderer Leistungsträger
sowie eine optimale Kommunikation
innerhalb einer Destination wesentliche
Voraussetzungen sind für eine einheitliche
Strategie und den wirtschaftlichen Erfolg.
Im Planspiel nehmen die Elemente Kommunikation zwischen den Leistungsträgern
und die Entwicklung gemeinsamer Strategien und Ziele einen wesentlichen Platz
ein, neben der Optimierung der eigenen
Unternehmensziele.“[2]
Die Frage ob sich ein Modell auf die
Wirklichkeit übertragen lässt, kann dahingehend beantwortet werden: Ein Planspiel
kann das Berufsleben nicht vollständig
nachbilden. Dennoch stimmen die Projekterkenntnisse mit Erfahrungen aus der
Arbeitswelt überein. Sicherlich kann die
Komplexität und Vielfältigkeit der Realität
nicht nachgestellt werden, aber es ist eine
sehr gute Möglichkeit für Studenten realitätsnahe Erfahrungen zu sammeln. Es ist
eine gute Methode, um den Einstieg in
den Beruf zu erleichtern.
Laura Böhm, Testing
Quellen
[1] IT Security Manager; ITK Journal
itk.mittelstandswiki.de/2007/07/weiterbildungsangebot-zum-itsecurity-manager
[2] Erfolgreicheres Destinations-Management dank neuem Planspiel; HS Luzern
www.hslu.ch/wirtschaft/w-weiterbildung/w-weiterbildung-aktuelles/w-weiterbildung-aktuell-destinationsmanagement-link.htm
QUALITÄTSSICHERUNG
DAS SYSTEMAUDIT IM SOFTWAREPROJEKT
Qualität beschreibt die Beschaffenheit oder die Güte eines materiellen oder
immateriellen Produktes. Sie hängt dabei
nicht unwesentlich von der Konjunktur
ab. Ist die Nachfrage nach einem Produkt
groß und das Angebot klein, kann es sein,
dass die Qualität keine so wichtige Rolle
spielt, wenn eine dementsprechende
Kaufkraft vorhanden ist. Produktionskosten
werden auf Kosten der Qualität gesenkt,
um die Gewinne zu erhöhen. Anders sieht
es aus, wenn der Markt hart umkämpft ist.
Denn hier zählt jeder Kunde. In diesem Fall
entscheiden Faktoren wie Preis, Leistung
aber auch Qualität, ob sich das Produkt
durchsetzt. Als Softwareentwicklungsfirma muss man mit den großen „Softwareschmieden“ der Welt mithalten können
und in der Lage sein bessere Software zu
entwickeln, als die Open Source Entwickler, die den Markt mit ihren kostenlosen
Programmen ständig auf Trab halten.
Das Qualitätsmanagement
und das QMS
Um in diesem Softwareprojekt (SOP)
ein gewisses Niveau an Qualität zu erreichen, ist es wichtig, ein Qualitätsmanagementsystem (kurz: QMS) aufzubauen.
Dieses System soll gewährleisten, dass
das Qualitätsniveau, welches durch die
Anforderungen der Kunden und der eigenen Anforderungen (des SOPs) an die
Firma und an das Produkt definiert ist, erreicht und auch ständig weiter entwickelt
wird. Dies ist die Aufgabe der Abteilung
Qualitätssicherung (QS) des SOPs. An
dieser Stelle sollte man jedoch festhalten,
dass die Bezeichnung Qualitätssicherung
nur ein Teil der Aufgaben beschreibt, die
im Projekt zu bewältigen sind. Einige dieser Aufgaben fallen in Bereiche der Qualitätsplanung, Qualitätslenkung oder Qualitätsverbesserung. Somit wäre die korrekte
Bezeichnung für diese Abteilung eigentlich
Qualitätsmanagement. Der Einfachheit halber wird hier also nur von Qualitätsmanagement gesprochen, welches alle vorhin
genannten Bestandteile umfasst.
Audits
Unter Audits versteht man ein Konzept
zur systematischen Überprüfung von Prozessen und Systemen. Diese sollen zur
Verbesserung der (Management-)Systeme
führen, was sich nicht zuletzt auch auf die
Qualität der erstellten Produkte auswirken
kann. Anhand von Checklisten, Richtlinien
und Dokumentationen werden Fehler,
Missstände und Abweichungen aufgedeckt und dokumentiert, um die nötigen
Lenkungsentscheidungen treffen zu können und Fehlentwicklungen entgegenzusteuern. Audits können sowohl intern
(Selbstüberprüfung) als auch extern durchgeführt werden. Externe Systemaudits
(oder auch Zertifizierungsaudits) werden
von anerkannten Zertifizierungstellen wie
z.B. TÜV, Dekra, VdS oder der Bundesnetzagentur durchgeführt. Man unterscheidet
zwischen Prozessaudit und Systemaudit.
Das Prozessaudit legt sein Augenmerk auf
einen einzelnen Prozess, während das
Systemaudit das gesamte QM-System
überprüft. Einem Systemaudit liegt die
DIN EN ISO 9001:2000 zugrunde, welche
die Vorgaben und Anforderungen an ein
Qualitätsmanagementsystem definiert.
Systemaudit im Projekt
Kommen wir nun im Speziellen zum
Systemaudit im Softwareprojekt. Dabei
stellt sich als erstes die Frage, ob das
Durchführen eines solchen Audits im SOP
notwendig ist. Diese Frage kann man aus
den folgenden Gründen klar mit einem JA
beantworten:
1. Es wird von der Geschäftsleitung ein
QM-System auf Basis von DIN EN ISO
9001 verlangt
2. Konkurrenzfähigkeit und Wettbe-werbsvorteil durch ein zertifiziertes QMS
3. Bessere Struktur und Planungsmö-glichkeiten im Projekt durch Richtlinien und
einheitliche Prozesse
4. Erkennung des Ist-Zustandes und Überführung in den Soll-Zustand
Obwohl es sich im SOP um ein sehr
kleines Projekt handelt, rechtfertigen diese
Gründe den Aufwand für die Erarbeitung
und Durchführung eines Systemaudits im
Softwareprojekt.
Seit Beginn des Projekts gibt es schon
vorsichtige Versuche, ein vernünftiges
QMS aufzubauen. Aber erst ab Iteration 3
SOP JOURNAL R4
61
QUALITÄTSSICHERUNG
wurden hierzu die DIN-Normen des Qualitätsmanagements als Grundlage eingeführt. Ebenfalls wurde das erste Teil-Systemaudit durchgeführt, welches sich auch
auf diese Normen bezieht. Wir befinden
uns momentan in Iteration 4. Somit wird
deutlich, dass sich der Aufbau des QMSystems noch in der Anfangsphase befindet. Umfangreiche Dokumenta-tionen und
Richtlinien zu verschiedensten Bereichen
des Projekts wie z.B. Kommunikation, Organisation, Programmierung sind durchaus
vorhanden, aber welche Anforderungen
an das QMS bisher erfüllt sind, ist noch
relativ unklar. Dies liegt daran, dass es
bis jetzt noch kein vollständig durchgeführtes Systemaudit gab und viele Bereiche des Systems nicht annähernd der
Norm entsprechen. Als Beispiel kann man
hier die Forderung 4.1 aus der ISO 9001
nennen. Diese verlangt, dass alle Prozesse
im Projekt identifiziert und deren Wechselwirkungen bekannt sind. Im Projekt
herrschen hier zum Beispiel noch große
Defizite. Solche Missstände kann man
jedoch durch ein vernünftig durchgeführtes Systemaudit herausarbeiten, um
diese dann zu bereinigen.
Die Checkliste des Systemaudits
Anhand der DIN ISO 9001:2000 haben
unsere Vorgänger eine Checkliste erstellt,
welche alle Aspekte der 9001er Norm abdeckt. Diese Liste ist in ihrer Struktur soweit
komplett und inhaltlich sehr ausgereift.
Der Aufbau sieht wie folgt aus:
1. Definition
2. Teilnehmer des Systemaudits
3. Prozessbeschreibung
4. Übersicht über die auditierten
Elemente
5. Fragenkatalog
6. Ergebnis des Systemaudits
7. Zusammenfassende Bewertung
Der Fragenkatalog bildet das Herzstück
der Checkliste und ist dementsprechend
sehr umfangreich. Er beinhaltet alle wichtigen Ergebnisse und Erkenntnisse aus
den Audits. Diese werden im letzten
Teil ausgewertet, bewertet und zusammengefasst. Die Fragen selber könnten an
manchen Stellen noch optimiert werden.
Einige sollten mehr präzisiert werden und
umfangreiche Fragen in einzelne Teilfragen
aufgeteilt werden, um die Arbeit mit dem
Katalog zukünftig einfacher zu gestalten
und die Ergebnisse deutlicher sichtbar
zu machen. Tabelle 1 soll dies an einem
Beispiel verdeutlichen.
Durchführung des Systemaudits
Mit der obengenannten Checkliste,
dem Qualitätsmanagementhandbuch und
den Richtlinien des Qualitätsmanagement
ist der zuständige Auditor, im Normalfall
der Qualitätsmanager oder ein QMBeauftragter, nun in der Lage, das Audit
durchzuführen. Zuerst wird festgelegt,
welche Bereiche des QMS überprüft
Tabelle 1
Alter Fragenkatalog
Überarbeiteter Fragenkatalog
4.2.3 Lenkung von Dokumenten:
4.2.3 Lenkung von Dokumenten:
- Lenkung von Dokumenten die vom QMS
In welcher Form werden die für das QM-System erforderlichen internen und externen
gefordert werden
Dokumente gelenkt?
- Einführung eines dokumentierten Verfahrens:
In wie weit ist ein dokumentiertes Verfahren festgelegt und wie werden nachfolgende
- Genehmigung der Dokumente
Maßnahmen geregelt:
- Bewertung der Dokumente
o Genehmigung der Dokumente vor ihrer Herausgabe bezüglich ihrer Angemessenheit;
- Kennzeichnen von Änderungen
o Überprüfung, Aktualisierung (bei Bedarf) und Neu-Genehmigung der Dokumente;
- Verfügbarkeit
o Kennzeichnung von Änderungen und des aktuellen Überarbeitungsstatus der Dokumente;
o Sicherstellen, dass gültige Fassungen zutreffender Dokumente an den jeweiligen
Einsatzorten verfügbar sind;
o ...
62
SOP JOURNAL R4
QUALITÄTSSICHERUNG
werden sollen. In unserem Projekt wird
momentan noch bewusst darauf verzichtet, ein komplettes Systemaudit durchzuführen. Dieses wäre zwar durchaus
möglich, macht jedoch wenig Sinn, da
sich das QM-System noch in einem frühen
Entwicklungsstadium befindet. Daher ist
es effektiver, sich bei der Überprüfung
auf zwei bis drei Kernpunkte der Norm
zu beschränken. So können während der
kurzen Projektdauer die Ergebnisse der
Überprüfung noch in derselben Iteration
umgesetzt werden. Man verhindert damit,
dass durch den Iterationswechsel Wissen
verloren geht, welches sich trotz guter Dokumentation und reibungsloser Übergabe
nicht 100prozentig vermeiden lässt. Um
dem ganzen einen roten Faden zugeben,
beginnen wir in unserer Iteration mit auditieren der ersten zwei Anforderungen
aus der ISO (Allgemeine Anforderungen,
Verantwortung der Leitung). Alle weiteren
Iterationen sollten darauf aufbauen und
sich an die gleiche Reihenfolge halten,
wie sie auch in der Norm zu finden ist.
Das Audit hilft dabei das QM-System
Schritt für Schritt aufzubauen und weiter
zu entwickeln, bis sämtliche Aspekte der
Norm erfüllt sind.
Die DIN EN ISO 9001:2000 ist bewusst
sehr allgemein gehalten worden, damit sie
nicht nur auf Softwareentwicklungsfirmen
anwendbar ist, sondern auch auf andere
Bereiche und Gewerbe. Dadurch sind
manche Anforderungen der DIN EN ISO
9001:2000 momentan noch nicht relevant
für das Projekt. Zum Beispiel werden im
Projekt weder Produkte beschafft, noch
steht man im Kontakt mit Lieferanten, daher
Qualitätssicherung - nichts wird dem Zufall überlassen. [Film]
ist das Kapital 7.4 „Beschaffung“ in dieser
Form auf das Projekt nicht anwendbar und
muss somit nicht auditiert werden.
Die eigentliche Prüfung sieht so aus,
dass der Auditor den Fragekatalog nach
und nach durcharbeitet und zu jeder
Frage notiert, in wie weit die Anforderungen erfüllt sind. Des Weiteren wird noch
festgehalten, wo dies dokumentiert ist
bzw. wo das relevante Dokument zu
finden ist. Die Ergebnisse werden zum
Schluss zusammengefasst, bewertet und
an die verantwortlichen Stellen weitergeleitet. Die Verantwortlichen können dann
die nötigen Maßnahmen einleiten.
Resümee
Das Systemaudit ist deshalb so wichtig für das Erarbeiten und das Anwenden
eines Qualitätsmanagementsystems, weil
es eine Art Motor darstellt, welches den
Kreislauf des prozessorientierten Modells
(siehe dazu Schaubild „Modell eines Prozessorientierten Qualitätsmanagementsystems“) antreibt und am Leben hält. Die
einzelnen Stationen des Kreislaufs werden
somit in regelmäßigen Abständen durchlaufen, was dazuführt, dass das QMS
ständig überprüft und weiterentwickelt
wird. Das Systemaudit sollte, wenn
möglich, ein- bis zweimal pro Iteration
durchgeführt werden. Bei regelmäßigen
Audits ist aber darauf zu achten, dass
sich keine Routine einschleicht, was zu
einer Verminderung der Akzeptanz und
Verunsicherung gegenüber den Audits
führen kann. Ein komplettes Systemaudit
ist zurzeit nicht zu empfehlen, sollte aber
mit Fortschreiten des Systems in Zukunft
stattfinden.
Patrick Theurer, Qualitätssicherung (Leitung)
Quellen
[1] Herausgegeben Dezember 2000 vom Normausschuss Qualitätsmanagement, Statistik und Zertifizierungsgrundlangen (NQSZ) im DIN Deutschen Institut für Normung e.V.
[2] Siehe dazu den Fachartikel: „Mit Fallbeispielen ein höheres Qualitätsniveau der Audits erreichen“ auf http://
qm-web.de/fachwissen/fachartikel/mit-fallbeispielen-ein-hoheres-qualitatsniveau-der-audits-erreichen/ von
Torsten Moch, Senior Quality ManagerPrograms;
SOP JOURNAL R4
63
QUALITÄTSSICHERUNG
ZWISCHEN CHEF UND LAUFBURSCHE
Die Qualitätssicherung im Softwareprojekt
Durch die Erstellung von Richtlinien
ist es möglich, anderen Abteilungen
Anweisungen zu geben, an welche sie
sich halten müssen. Es ist sozusagen
möglich, den „Chef“ zu spielen.
Allerdings kommt es vor, dass diese
Richtlinien nicht eingehalten werden
und man muss die Betroffenen immer
wieder darauf aufmerksam machen.
Dadurch und durch die Erledigung
zusätzlicher Aufgaben, bekommt man
das Gefühl eines „Laufburschen“.
Das Bachelor-Projekt ist völlig anders
konzipiert als die sonstigen Vorlesungen.
Wurde der Unterricht in den vorherigen
Semestern größtenteils von den Professoren gehalten, wird der „Spieß“ im Bachelor-Projekt umgedreht. Dadurch kommen neue Aufgaben und Herausforderungen auf die Studenten zu, welche sie
meistern müssen. Die Studenten sind zum
Beispiel für die Organisation und Gestaltung des Unterrichts verantwortlich.
Es gibt sechs unterschiedliche
Abteilungen im Bachelor-Projekt (Kunden,
Projektmanagement, Konfigurations- und
Änderungsmanagement,
Softwareentwicklung, Test, Qualitätssicherung),
die das gemeinsame Ziel verfolgen, ein
Langzeitarchivierungssystem zu entwickeln.
64
SOP JOURNAL R4
Da in der Abteilung Qualitätssicherung
Erfahrungen gesammelt werden konnten,
werden in diesem Artikel die Aufgaben
und Probleme dieser Abteilung erläutert.
Qualitätssicherung oder doch
Qualitätsmanagement?
Der Begriff der Qualitätssicherung
wird im Bachelor-Projekt etwas anders
verwendet, als es in manchen Unternehmen der Fall ist. Diese Beobachtung konnte durch Gespräche mit Verwandten und
Bekannten gemacht werden, die in einer
Firma als Qualitätssicherer tätig waren. Als
Aufgabe hatten sie beispielsweise nur, die
erstellten Produkte zu überprüfen und dabei zu beachten, dass die vom Qualitätsmanagement festgelegten Richtwerte für
Größe, Form, Gewicht etc. des Produktes,
nicht überschritten werden.
Allgemein gilt, dass im Falle einer
Überschreitung von Richtwerten, die
Qualitätssicherung alle bisher beteiligten
Prozesse stoppen muss, um weitere Fehler
zu verhindern. Durch eine anschließende
Analyse der beteiligten Prozesse, gilt es
die Fehlerhaften ausfindig zu machen und
zu verbessern. Der Idealfall ist, dass Fehler erkannt werden, bevor sie überhaupt
entstehen.
Neben dieser Aufgabe die Qualität
zu sichern, muss man sich im Projekt auch
um das Qualitätsmanagement kümmern.
Dazu müssen Verfahren und Richtlinien
festgelegt werden, welche notwendig
sind, um eine bestimmte Prozess- und
Produktqualität zu erreichen.
Diese sogenannten Verfahrensanweisungen legen fest, wie bestimmte
Tätigkeiten auszuführen sind. In den Verfahrensanweisungen werden die einzelnen Schritte und Vorgaben für Prozesse
dokumentiert, um einen definierten Qualitätsstandard zu erreichen bzw. zu halten.
Außerdem gibt es sechs spezielle Verfahrensanweisungen, welche von der DIN EN
ISO 9001:2000 gefordert werden.
Die Begriffe Qualitätsmanagement
und Qualitätssicherung sorgen auch in
der Wirtschaft für etwas Verwirrung: „In
Deutschland war seit 1968 bis Mitte 1994,
(…) „Qualitätssicherung“ die offizielle
deutsche Benennung für das Qualitätsmanagement“ ([1], S.23). Erst durch die
Einführung internationaler Normen wurde
dies geändert.
Trotzdem gibt es heute noch Institutionen und Vorträge, in denen von Qualitätssicherung gesprochen wird, obwohl
das Qualitätsmanagement gemeint ist (vgl.
[1], S.23).
Die Abteilung auf einer anderen Ebene
Während die Kunden und Projektman-
QUALITÄTSSICHERUNG
ager auf der selben Ebene stehen und die
jeweiligen Abteilungen wie Softwareentwicklung, Test, Konfigurations- und
Änderungsmanagement der Projektleitung
unterstehen, hat die Qualitätssicherung
eine eigene Stellung. Dadurch, dass auch
die Aufgaben des Qualitätsmanagements
übernommen werden, ist die Qualitätssicherung den Projektmanagern nicht
unterstellt. Diese spezielle Rolle wurde
durch Herrn Strobusch, der ein Projektleiter bei der Firma Siemens ist, bestätigt.
In der Iteration 5 war diese Stellung
dadurch erkennbar, dass die zu erledigenden Aufgaben größtenteils selbst
ausgesucht wurden. Weiterhin wurden
Richtlinien erstellt, an die sich selbst die
Projektmanager halten müssen, obwohl
sie das Projekt lenken und die höchste
Stellung in der ITERA Group haben. Durch
die Erstellung von Richtlinien hatte man
die Möglichkeit seinem eigenem „Chef“
Anweisungen zu geben, an welche er sich
auch halten musste!
muss und welche Inhalte in den einzelnen Reviews zu präsentieren sind. Durch
diese Richtlinien werden die jeweiligen
Prozesse klar definiert, um so für einen
optimalen Arbeitsablauf zu sorgen. Dabei
ist zu beachten, dass die Regeln klar und
verständlich geschrieben sind, so dass sie
von jedem Mitglied einfach verwendet
werden können – denn laut einer Mitarbeiterumfrage vom 03. April 2008 wünscht
man sich Richtlinien, welche sehr strukturiert und leicht zu handhaben sind. Des
Weiteren müssen die Qualitätsrichtlinien
an Änderungen im Projekt angepasst werden. Treten Änderungen auf, müssen alle
Mitarbeiter darüber informiert werden,
um Fehler zu vermeiden. Die Aufdeckung
bzw. Verhinderung von Fehlern, ist eine der
Hauptaufgaben der Qualitätssicherung.
Traten zum Beispiel bisher Probleme bei
der Benennung von Dokumenten auf, so
gibt es klare Richtlinien, wie fertiggestellte
Dokumente benannt werden müssen.
Ob sich die Mitarbeiter an die Richtlinien
Präsentation der Richtlinien. [Film]
Die Richtlinien
In jeder Iteration tauchen bei Projektmitgliedern Fragen und Probleme auf, die
eventuell Grundlage neuer Richtlinien sind.
Zum Beispiel könnte es Probleme bei der
Erstellung und Veröffentlichung von Dokumenten, oder beim Einsatz von Kommunikationsmitteln geben. So liegt es im
Aufgabengebiet der Qualitätssicherung,
dafür klar definierte Richtlinien zu erstellen, die Regeln für die bestimmten Prozesse beschreiben. In den Richtlinien wird
u.a. festgehalten, wie zum Beispiel ein
Arbeits- bzw. Statusgespräch aussehen
SOP JOURNAL R4
65
QUALITÄTSSICHERUNG
halten, muss ständig geprüft werden. Aus
diesem Grund werden Verstöße dokumentiert und bei Wiederholungen kommt
es zu Punktabzügen bei der Artefakt- und
Prozessqualität bzw. bei schwerwiegenden Verstößen zu einer Mahnung.
So viel zur Theorie über die Richtlinien.
Schön wäre es, wenn sich alle Mitarbeiter an die Richtlinien halten würden.
In der Iteration 5 gab es, wie in wahrscheinlich jeder Iteration, Verstöße gegen
Richtlinien. In diesen Fällen mussten die
Qualitätssicherer die Mitarbeiter auf ihre
Fehler aufmerksam machen. Bei groben
Verstößen, wie zum Beispiel beim unentschuldigten Fehlen an einem Meeting,
haben die Projektmanger diese Aufgabe
übernommen, da die Meetings von ihnen
protokolliert wurden.
Ein Problem bei der Einhaltung der
Richtlinien war, dass sie nicht von jedem
gelesen wurden. So wussten die Mitarbeiter nicht, auf was sie alles zu achten
hatten. Obwohl in Meetings auf manche
Richtlinien aufmerksam gemacht wurde,
wurden sie trotzdem nicht eingehalten.
Mehrfaches Nachhaken bei den Betroffenen war die Folge. Auch zur Kommunikation im „Virtual Team Room“ (Vitero),
wurden neue Richtlinien erstellt und an
alle Abteilungen verschickt. Auch hier war
bei den ersten Meetings erkennbar, dass
nur manche Mitarbeiter die neu erstellten
Richtlinien gelesen haben.
Ein möglicher Lösungsansatz, dass
Richtlinien zukünftig gelesen werden, wäre
die Einführung von mündlichen Abfragen
seitens der Qualitätssicherung. Werden
66
SOP JOURNAL R4
die Richtlinien wieder ignoriert, könnte es
vorerst zu einer mündlichen und später zu
einer schriftlichen Ermahnung kommen.
Außerdem wurden der Qualitätssicherung
zu Beginn des Projektes einige Grenzen
aufgezeigt, wieweit man bei der Erstellung
von Richtlinien gehen darf. Denn durch die
Richtlinien dürfen die Mitarbeiter nicht zu
sehr bei ihrer Arbeit eingeschränkt sein.
Auch als „Chef“ muss man auf manche
Meinungen und Bedürfnisse der Mitarbeiter eingehen und sie respektieren.
Mitarbeiterzufriedenheit
Wie in jeder Firma ist das Arbeitsklima
ein wichtiges Kriterium für eine erfolgreiche Arbeit. Aus diesem Grund werden
Mitarbeiterbefragungen durchgeführt, um
so brenzlige Situationen zu erkennen. Da
sich die Mitarbeiter direkt an Fehlerquellen
befinden, tragen sie wesentlich zu Fehlererkennung bei. Deshalb ist es wichtig,
dass die Bedürfnisse der Mitarbeiter vom
ganzen Unternehmen ernst genommen
werden.
Umfragen sollten daher regelmäßig
durchgeführt werden, denn sie dienen
zur Vorsorge für ein optimales Betriebsklima und zur Sicherung der Qualität im
Kommunikations- und Arbeitsablauf.
Andere Aufgaben
In der fünften Iteration des BachelorProjektes übernahm die Qualitätssicherung
Quellen
[1] Walter Geiger; Willi Kotte: Handbuch Qualität, 2008
[2] Trauboth: Softwarequalitätssicherung, 1993
einige Aufgaben der Abteilung Konfigurations- und Änderungsmanagement. So
wurden zum Beispiel neue Dokumentund Präsentationsvorlagen erstellt. Diese
Formatvorlagen definieren den Stil, die
Farben und die Formatierung eines Dokumentes. Dadurch wird ein einheitliches
Aussehen jedes Schriftstücks definiert und
die Arbeit aller Abteilungen erleichtert.
Die Mitarbeiter konnten sich somit bei der
Erstellung von Dokumenten ganz auf den
Inhalt konzentrieren.
Die beschriebenen Aufgaben liegen
normalerweise nicht im Bereich der Qualitätssicherung. Allerdings hatten die Kollegen des Konfigurations- und Änderungsmanagements anfangs viel zu tun, sodass
man diese Aufgaben übernahm.
Fazit
Allgemeine Aufgaben der Qualitätssicherung bzw. des Qualitätsmanagements wurden im Bachelor-Projekt
berücksichtigt. Sie sind laut der DIN 55
350, Teil 11 folgendermaßen definiert:
„Qualitätssicherung ist die Gesamtheit der
Tätigkeiten der Qualitätsplanung, -lenkung
und -prüfung“ ([2], S.275). Allerdings wurden auch andere, abteilungsübergreifende
Aufgaben erledigt. Dadurch erinnert dies
immer wieder an einen Laufburschen,
welcher mal hier und dort zur Verfügung
stehen und anderen nachrennen muss.
Daniel Grbavac, Qualitätssicherung
FILMTEAM (KUNDE)
DAS HEER DER DINGE
Drei Studenten auf dem Weg des Filmemachens
Die Welt ist im Wandel. Im Zeitalter
des deutschen Sommermärchens und des
YOUTUBE-Kultes drängen Filmemacher
in bis dato unberührte Gefilde vor. Zum
ersten Mal in der Geschichte der Menschheit sollte in der fünften Iteration das
Softwareprojekt filmisch dokumentiert
werden. An diese Aufgaben wagten sich
drei Studenten und hielten ein Jahr lang
die Erlebnisse Ihrer Kommilitonen mit der
Kamera fest. Ein Heer an Aufgaben und
Dingen mussten sie bewältigen. Dies ist
ihre Geschichte:
Erster Teil - Die Gefährdeten
Anfangs kamen wir uns wie drei
Aussätzige vor. Während die anderen von
Ihren Rollen im Softwareprojekt zumindest die Bezeichnungen wussten, wurden
wir belächelt als „das Filmteam“. Uns
war nur bekannt, dass wir der Kundenfirma untergeordnet sind und das Ziel
hatten, einen Dokumentarfilm über das
Softwareprojekt zu drehen. Dafür gab es
allerdings kein Vorgehensmodell wie den
RUP (Rational Unified Process), der einem
erklärt, welche Positionen und Aufgaben
zu besetzen sind. Stattdessen war Eigeninitiative gefragt.
Weil wir zu dritt waren, teilten wir
zunächst die unserer Meinung nach wichtigsten Rollen in einer Filmproduktion auf:
Kamera (Fabian Flohr), Ton (Achim Lang)
und Regie (Tobias Ripperger). Nebenbei
waren wir dann noch Drehbuchautoren,
Produzenten, Beleuchter, Cutter, 3D-Artists, Requisiteure, Locationscouts, etc.
Angesichts dieser Anzahl von eigentlich zu vergebenen Jobs sahen wir unser
Vorhaben etwas gefährdet. Waren wir zu
dritt wirklich in der Lage, all diese Aufgaben zu bewerkstelligen? Wer nicht wagt
der nicht gewinnt; wir begannen mit unserer Arbeit.
Im ersten Review stellten wir der
Öffentlichkeit
die Rahmendaten für
den Film vor: „Ein 10 bis 20 minütiger
Dokumentarfilm in HDV (High Definition
Video, 16:9 Format: 1280 x 720 Pixel) zur
Vorführung vor Studieninteressierten und
auf dem Webportal des Softwareprojekts
sowie bei allgemeinen Veranstaltungen.
Zusätzlich wird ein maximal ein minütiger
Trailer geschnitten, der als kleiner Werbefilm zum Beispiel am Tag der offenen Tür
eingesetzt werden kann und auf die Vorführung des gesamten Films hinweist.“ [1]
Mit dieser Zielsetzung im Hinterkopf
machten wir uns auf die Suche nach der
zündenden Idee, wie wir das Softwareprojekt in Bild und Ton wiedergeben
konnten. Dies erwies sich schwieriger als
gedacht.
Zweiter Teil - Die zwei Stürme
Die Wolken an unserem Ideenhorizont
zogen sich zusammen. Wir sahen uns
einem Sturm der Einöde gegenüber, in
dem junge Menschen vor Ihren Rechnern
zu sehen waren und in die Tastaturen hackten; ohne viel Worte, ohne Emotionen.
Stellen Sie sich vor, Sie müssten eine
Partie Schach so in einen Actionfilm verpacken, dass der zwölf jährige Sohnemann
voller Überzeugung sagt: „Boah Papa, ich
will lieber doch kein Fußballprofi werden,
Schachspieler sind ja noch cooler! Wie
kann ich das werden?“. Unsere Situation
war ähnlich, bloß dass die Partie Schach
das Softwareprojekt, der zwölfjährige
Sohnemann die Studenten und der Actionstreifen ein Dokumentarfilm waren.
Wie bereitet man ein bildtechnisch
eher langweiliges Thema so auf, dass der
Zuschauer nicht eine Viertelstunde lang
die gleichen Bilder zugemutet bekommt?
Im Falle der oben genannten Schachpartie
wäre eine Möglichkeit, die Figuren in die
Geschichte einer anderen Welt zu übertragen. Eine mittelalterliche Kulisse mit Rittern, Burgen, Königen, Prinzessinnen und
dem hart arbeitenden Bauernvolk kommt
einem hierfür sofort in den Sinn. Das fände
mit Sicherheit auch der Sohnemann spannender als Holzfiguren, die auf dem Spielbrett hin und her geschoben werden.
SOP JOURNAL R4
67
FILMTEAM (KUNDE)
„SOPMovie, Szene Y, die Xte . . . “ [Film]
In unserem Fall suchten wir für das
Softwareprojekt eine Bildmetapher: Der
Bau eines Hauses von der Planung bis zu
Fertigstellung, ein Fußballverein mit seinen
verschiedenen Mannschaftsteilen, ein Orchester und das Zusammenspiel seiner Instrumente . . . Alles Ideen, die theoretisch
ausgebaut werden konnten, aber von
denen uns keine überzeugte; bis auf eine:
Das Schachspiel („von persisch: Schah, für
‚König‘ – daher die stehende Metapher:
‚das königliche Spiel‘ “ [2]).
Schach ist Strategie, das Softwareprojekt ist Strategie; zwei Farben stehen sich
gegenüber, zwei Iterationen laufen parallel; sechs Figurentypen spielen miteinander, sechs Teams arbeiten zusammen;
die Spieler ziehen die Figuren, die Professoren fungieren als Geschäftsführer.
Die Grundidee für unseren Film war
geboren. Die Professoren bzw. die Geschäftsführer sollten in einer übernatürlichen Umgebung quasi wie Heilige zusam-
68
SOP JOURNAL R4
men sitzen und Schach spielen. Aus
Ihrer erhabenen Position konnten Sie alle
Vorgänge im realen Softwareprojekt sehen
und die Studenten durch die Schachfiguren kontrollieren. Durch Ziehen einzelner
Figuren konnten bedrohliche Situationen
herbeigeführt oder taktische Spielereien
vorgenommen werden.
Jede Figur repräsentierte ein Team.
Der Kunde war der König, wie im richtigen
Leben. Die Projektleitung verkörperte die
Königin, welche dem König gefallen muss
und im Vergleich zu Ihren Untertanen die
größte Bewegungsfreiheit besitzt. Für das
Konfigurationsmanagement, welches für
jede Hardwareeinrichtung das Rechenzentrum aufsuchen musste, stand der
Läufer. Die Tester ritten auf allen Fehlern
herum, symbolisiert durch den Springer.
Den Handlungsspielraum grenzten die
Qualitätssicherer ein, wie die Ecktürme
einer Festung. Als letztes die Entwickler, welche für die eigentliche Arbeit
zuständig waren, wie die Bauern.
Jedes Team sollte im Film episodenweise vorgestellt werden. Dies sollte nicht
in der Umgebung Hochschule geschehen,
um eine Bildtristesse zu vermeiden. Stattdessen fanden wir Situationsmetapher.
Z.B. schwitzten die Softwareentwickler
an den Geräten im Fitnessstudio wie bei
Ihren Programmierproblemen; die Kunden
genossen ein feines Geschäftsessen und
Ihre Position als Auftraggeber; die Projektleitung setzte am Pokertisch ihr Pokerface
auf und sortierte Ihre Chips wie die Aufgaben der einzelnen Teams . . . Der Sturm
der Bildeinöde zog vorüber.
Unser Konzept, welches bis jetzt
in unseren Köpfen existierte und grob
in einem Exposé festgehalten wurde,
musste in Form eines Drehbuchs zu Papier
gebracht werden.
Den Ablauf der in sich geschlossenen Episoden konnten wir uns gut
vorstellen und festhalten. Die Übergänge
dazwischen führten uns dagegen in
Sackgassen. Wie sollte z.B. eine logische
Verknüpfung zwischen dem Pokertisch
und den Heiligen aussehen? Sollten sich
die Protagonisten begegnen? Wo sollte
dies geschehen? Über was sollten Sie
sprechen? Wir saßen teilweise drei bis vier
Stunden vor dem Drehbuch und hatten
keinen einzigen Satz auf Papier geschrieben. Der Sturm der Verzweiflung suchte
uns heim. Wir mussten lernen: „Drehbuch
schreiben ist nichts für Sprinter, sondern
etwas für Langtreckenläufer.“ ([3], S.114)
Im Kopf sieht man den fertigen Film;
versucht man, den Ablauf schriftlich zu
fixieren, läuft nichts mehr zusammen.
FILMTEAM (KUNDE)
Vielleicht kann Philip Parker mit seiner
Software, die das Schreiben automatisiert, irgendwann einmal auch Drehbücher
verfassen (vgl. [4]). Der Erstellungsprozess
würde sicherlich um einiges beschleunigt
werden. Kreativ werden diese Drehbücher,
die durch mathematische Formeln entstehen, allerdings nicht mehr sein. Und das
ist ja, was beim Schreiben Spaß macht.
Auch uns brachten kreative Geistesblitze, die auf unerklärliche Weise nie
zum gewünschten Zeitpunkt eintraten,
auf einfache Lösungen von komplexen
Problemen. Im genannten Fall z.B., dass
der Projektleiter vom Pokertisch aus die
Geschäftsleitung anrief, während diese
am Schachbrett saß.
Nach der sechsten komplett überarbeiteten Version des Drehbuchs beruhigte
sich auch der Sturm der Verzweiflung
wieder. Alle 22 Szenen waren durchgespielt, miteinander verknüpft und zu
Papier gebracht. Wir konnten mit den
Dreharbeiten beginnen.
Dritter Teil - Das Rücken der Könige
Nach einem halben Jahr Vorbereitung
stürzten wir uns also endlich in die lang
ersehnte Schlacht um spannende Bilder
und emotionale Interviews. Taktisch
aufgestellt wie oben beschrieben nahm
jeder seine Rolle ein. Wir waren schnell
eingespielt und jeder konnte sich auf
seine Aufgabe konzentrieren.
Die Arbeit des Regisseurs besteht
darin, das Drehbuch in einzelne Einstellungen aufzulösen. Die wichtigsten
Fragen, die hierbei beantwortet werden
müssen: „Wo platziere ich die Kamera?“
und „Was sage ich den Schauspielern?“
(vgl. [5], S.15/16 ) Ersteres fand immer in
Absprache mit dem Kameramann statt, für
die Schauspieler war ich verantwortlich.
Einmal im Leben durfte ich also die Professoren diktieren, sozusagen die Könige
des Studiengangs ins rechte Bild rücken.
Ausnahmsweise mussten sie meinen Anweisungen folgen und nicht umgekehrt.
Zugegeben war mir die Situation anfangs
suspekt, aber an Macht gewöhnt sich der
Mensch bekanntlich schnell.
Den Ablauf der einzelnen Szenen gab
ich stichpunkartig vor, um den Professoren
nicht jedes Wort in den Mund zu legen
und Ihnen einen Handlungsspielraum zu
geben. Diesen wussten sie allerdings nicht
zu nutzen. Die sonst so wortgewandten
Herren rangen nach der perfekten Formulierung. Exaktere Anweisungen wurden
gewünscht. Die versuchte ich zu geben.
Teilweise waren sie aber wohl zu ausgefallen. Sie glauben nicht, wie schwer es
einem Akademiker fällt, den Satz „Ja dann
müssen die (Studenten) sich halt auch mal
zu Hause auf Ihren Arsch hocken“ über
die Lippen zu bringen. Nach der siebten
Klappe war das schlechte Gewissen überwunden und die Einstellung so im Kasten,
dass der Satz glaubwürdig erschien. Die
Geschäftsführung hatte das „harte Brot
eines Drehtags kennen gelernt“ [6], dieses
aber mit Geduld über sich ergehen lassen.
Im Vergleich dazu waren die Dreharbeiten mit den Studenten anstrengender.
Die Meckerschwelle und die Disziplin
waren geringer, konnten aber auch durch
einen gesunden Spaßfaktor ausgeglichen
werden. Ausführliches über die Drehtage
mit unseren Kommilitonen verrät Fabian
Flohr in seinem Artikel.
Das Heer der Dinge, v.a. deren Zeitaufwand, hatten wir bei unserer Arbeit
unterschätzt. Eine Aufstockung auf vier
oder fünf Personen wäre sicherlich zu
empfehlen, wenn es das nächste Mal ein
Filmteam im Softwareprojekt geben wird.
Durch gegenseitige Motivation und
Investition von Überstunden wirkten wir
dem Zeitproblem entgegen, getreu dem
Keller’schen Leitsatz [7]: „Die [Studenten]
haben sieben Tage die Woche. Die können
das schaffen, die müssen das schaffen.“
Und aller Gefährdungen und Stürmen zum
Trotz konnten wir unseren Film bis zum
Premierentermin fertigstellen.
Nach 248 Tagen waren wir am Ziel
unseres Weges angekommen. Entspannt
konnten wir uns in den Kinosessel lehnen
und das Heer der Dinge, die wir bewältigt
hatten, Revue passieren lassen; zusammengefasst in 22 Minuten Film.
Tobias Ripperger, Film (Regie)
Quellen
[1] Flohr, Lang, Ripperger: Exposé zum Dokumentarfilm des Softwareprojekts, Reutlingen 2007
[2] http://de.wikipedia.org/wiki/Schach (Stand: 28.05.08)
[3] Robert McKee, STORY. Die Prinzipien des Drehbuchschreibens, Alexander Verlag Berlin 2007
[4] http://www.ftd.de/lifestyle/outofoffice/353773.html (Stand: 28.05.08)
[5] David Mamet, Die Kunst der Filmregie, 4. Auflage, Alexander Verlag Berlin 2006
[6] E-Mail von Prof. Dr. Uwe Kloos nach dem Drehtag der Heiligenszene
[7] Filmzitat Prof. Dr. Wolfgang Keller zu der Zeiteinteilung der Teams
SOP JOURNAL R4
69
FILMTEAM (KUNDE)
Rennen für die Kamera. [Film]
DER WAHNSINNSDREH
oder: Was das Filmen so schwierig macht.
Schweißgebadet und in grellstem
Scheinwerferlicht jagen acht Informatiker der Bewegung des Laufbandes
entgegen. So grotesk und paradox
dieses Bild auf Außenstehende wirken
mag: für das Filmteam war diese Szene
essenziell um das Softwareprojekt zu
erklären.
70
SOP JOURNAL R4
Im Fitnessstudio McFit (Reutlingen)
wurde eine der insgesamt 4 inszenierten
Szenen für den SOP-Film gedreht. Insgesamt 9 Stunden ermüdende Dreharbeit
für volle 2 Minuten geschnittenen Film.
Bevor sich aber die Programmiererbeine in
Bewegung setzen konnten, mussten vom
Filmteam einige Vorkehrungen getroffen
werden.
Licht an
Für die Vorbereitung eines Drehortes
müssen mehrere Stunden eingeplant
werden. Bei einem dokumentarischen
Dreh wird der Drehort, meist einige Tag
vorher, zum ersten Mal besichtigt. Unter
Beachtung des Drehbuches beraten sich
Regisseur und Kameramann über geeignete Einstellungen, Lichtpositionen und
FILMTEAM (KUNDE)
Requisiten. Technische Begebenheiten
des Drehortes (z.B. Steckdosen) werden
untersucht und organisatorische Fragen
mit den zuständigen Personen geklärt. Vor
dem eigentlichen Dreh ist es die Aufgabe
des Kameramannes, das Licht zu setzen.
Für den dokumentarischen Film ist im Freien oft die Sonne als einzige Lichtquelle
ausreichend. In Innenräumen wird dagegen sehr viel Zeit benötigt, um gezielt
Akzente in der Beleuchtung zu setzen. Es
gilt zu beachten, dass das Licht mehr als
nur ein Mittel zur Erhellung des Raumes
ist. „Es schildert das Milieu, charakterisiert
und dramatisiert“ [1] . Im Fitnessstudio
wurde eine sehr breitflächige Beleuchtung eingesetzt, um die Sterilität und
Unpersönlichkeit des Raumes zu erhalten.
Eine Standard-Ausleuchtung einer Szene
erfolgt durch die „3-Punkt-Beleuchtung“.
(Abbildung 1)
Das Führungslicht bezeichnet das logische Licht einer Szene. Es ist jenes Licht,
welches der Zuschauer auch im Bild identifizieren kann. In Innenräumen kann dies
eine sichtbare Deckenlampe sein, oder
die Sonnen-, bzw. Mondeinstrahlung
durch ein Fenster. Die Beleuchtung sollte
nach dem Führungslicht ausgerichtet sein.
Ist beispielsweise eine Schreibtischlampe
das für den Betrachter hellste Licht in einer
Szene, so müssen auch sämtliche Personen oder Objekte im Umfeld der Lampe
sichtbar von dieser angestrahlt werden.
Da eine Schreibtischlampe nur eine geringe Leistung hat (<50 Watt), muss künstliches Licht eingesetzt werden, um die
Lichtabstrahlung der Lampe zu simulieren.
Das Führungslicht erzeugt gravierende
Abbildung 1: 3-Punkt-Beleuchtung
Kontrastunterschiede, welche durch die
Aufhellung ausgeglichen werden müssen.
Die Kante sorgt dann noch für einen räumlichen Tiefeneindruck. Wird eine Person
zusätzlich von hinten angestrahlt, hebt sie
sich durch den entstehenden Lichtkranz
vom Hintergrund ab.
Wer das McFit in Reutlingen kennt,
weiß dass es sich hierbei um ein großes
Spiegelkabinett mit vielen Fenstern
handelt. Was schön aussieht, ist für die
Filmarbeit mehr als hinderlich. Da der
Dreh im Fitnessstudio nachts stattfand,
konnte das Filmteam, ohne Rücksicht auf
einfallende Sonnenstrahlen, den Lichtaufbau gestalten. Hätte der Dreh tagsüber
stattgefunden, wären später im Schnitt,
die unterschiedlichen Lichtverhältnisse
der Szenen aufgefallen. Dies hätte man
nur, durch abkleben, der der Sonne zugewandten Fenster, verhindern können.
So trivial es sich auch anhört: Spiegel
und Fenster reflektieren das Licht! Bestimmte Kamerapositionen werden aufgrund
der Spiegelungen unmöglich. Ständig
müssen Scheinwerfer und Darsteller umgestellt werden, um zu verhindern, dass
unerwünschte Reflektionen im Bild zu
sehen sind. Es gilt das einfache physikalische Gesetz: Einfallswinkel gleich Ausfallswinkel. Wer im Spiegel die Kameralinse sieht, kann sich sicher im Bild wissen.
Andererseits machten die vielen Spiegel
sehr außergewöhnliche und abstrakte
Bilder möglich. So entstanden Bilder mit
sehr großer Tiefe und schönen Schärfeverlagerungen, für welche man sich gerne
zusätzliche Mühe macht.
Kommando Rakete
Während des Drehs galt es die Kontrolle und Übersicht zu behalten. Bei
acht mitwirkenden Schauspielern keine
einfache Aufgabe für das Drei-Mann-
SOP JOURNAL R4
71
FILMTEAM (KUNDE)
Filmteam. Nach einer Pause mussten die
Schauspieler wieder genau an ihre Ausgangspositionen zurückkehren. Verändert
sich nämlich ungewollt, von einer Einstellung zur Nächsten, die Position oder das
Aussehen von Objekten oder Menschen
im Bild, spricht man von so genannten
Kontinuitätsfehlern. Ein Kontinuitätsfehler
ist also eine gezeigte Information, die
einer zuvor gezeigten Information widerspricht. Solche Fehler entstehen im Durcheinander eines Drehs sehr schnell.
Um diese Fehler zu vermeiden sollte die
Position und das Aussehen von Objekten
und Personen genauestens, in einer Kontinuitätsliste, festgehalten werden.
Große Hollywood Produktionen haben
mit solchen Fehlern genauso zu kämpfen.
Smithee sammelte diese in seinem Buch:
„Filmfehler – Hollywoods peinlichste
Leinwand-Patzer“ [2] . So machte es sich
beispielsweise ein Tonmann in „Fluch
der Karibik“, auf dem Schiff des „Captain
Jack Sparrow“, so gemütlich, dass er die
Klappe nicht hörte. Der Tonmann mit Jogginghose und Turnschuhen (voll im Bild!)
wurde erst von Kinobesuchern entdeckt.
Auch Michael Douglas Zusammenprall
mit einem Gummiberg in „Auf der Suche
nach dem grünen Diamanten“ wurde von
Kinobesuchern entdeckt. Anstatt hart
und unnachgiebig zu sein, wölbte sich
der Granitfels nach innen und bescherte
Douglas einen weichen Aufprall [2].
Bemerkenswert ist, dass HollywoodProduktionen meist mit mindestens 2 Kontinuitätsmitarbeitern am Set ausgestattet
sind, deren einzige Aufgabe es ist, solche
Patzer zu vermeiden. Und schon hier schlei-
72
SOP JOURNAL R4
chen sich diese Fehler ohne Scham ein.
Das SOP-Filmteam musste diese Aufgaben
ohne weitere Unterstützung erledigen.
Dass das nicht geklappt hat, sollte später
dann im Schnitt festgestellt werden. Allein
in der Fitnessszene entstanden, bei mehr
als 120 Klappen, viele kleine und große
Filmfehler. Der aufmerksame Betrachter
wird diese Fauxpas später entdecken und
darüber schmunzeln.
Dilemma Dokumentare
Moment! Warum werden in einem
Dokumentarfilm eigentlich überhaupt
Szenen nachgespielt? Nach J. Gierson
[3] soll diese Filmgattung „die Wirklichkeit beobachten und in eindrucksvolle,
dramatische Form gekleidet werden“ [4] .
Eine Situation wird aber keineswegs von
unterschiedlichen Personen gleich interpretiert. Vielmehr ist die„ dokumentarische
Wiedergabe der Wirklichkeit […] abhängig vom ideologischen Standpunkt des
Filmdokumentaristen“ (nach F. Zöchbauer)
[Kandorfer]. Ein Film, egal ob Spielfilm
oder Dokumentarfilm, will eine Geschichte
erzählen. Bekanntlich ist es nicht verboten
eine Geschichte auszuschmücken. Das
wurde schon vor 2000 Jahren mit der
Bibel gemacht. Ausschmückung bedeutet keinesfalls eine Verschleierung der
Wahrheit, sondern dient dem Betrachter
als ästhetische und verständliche Stütze.
In der Realität kommt es wohl eher selten
vor, dass sich das gesamte Entwicklerteam
zur Beratung im Fitnessstudio trifft. Hier
hat das Filmteam gezielt übertrieben. Die
Sportszenen sollten später die Anstrengungen der Softwareentwickler im Projekt
verdeutlichen. Mit Hilfe von Metaphern
(Gewichte u.a. Fitnessgeräte) wurde die
Situation der Entwickler unterstützt.
Eine weitere Schwierigkeit besteht
nun darin, dass bestimmte Stichworte für
die Geschichte, welche der Film erzählen
soll, unumgänglich sind. Kompliziert wird
das Ganze, wenn man beginnt, den Protagonisten bestimmte Sätze vorzukauen.
Hierbei verliert man einen wichtigen Teil
der dokumentarischen Arbeit, nämlich
die Authentizität und die Natürlichkeit der
Personen. Leider musste das Filmteam den
Verlust dieser so wichtigen „Schnappschuß-Qualität“[ Kandorfer] der Interviews
in Kauf nehmen. Die gestellten Interviews
werden den aufmerksamen Betrachter
später nicht täuschen können.
Der Dreh an diesem Tag sollte noch bis
zum Sonnenaufgang dauern. Die Menge
an Filmteam feindlichen Äußerungen
schoss Stunde für Stunde exponentiell
in die Höhe. Noch vor der drohenden
Meuterei wurden alle Darsteller um 6 Uhr
morgens in die Freiheit entlassen. Eine
Wahnsinnsleistung! Kompliment an die
Beteiligten.
Fabian Flohr, Film (Kamera)
Quellen
[1] Hilmar Mehnert, Das Bild in Film und Fernsehen S.120, VEB Fotokinoverlag Leipzig 1986
[2] Alan Smithee, Filmfehler: Hollywoods peinlichste Leinwand-Patzer S.16/32, Books on Demand GmbH 2004
[3] John Grierson (* 26. April 1898 in Deanston bei Doune, Schottland; † 19. Februar 1972 in Bath, England)
war ein britischer Dokumentarfilmregisseur und -produzent. Er gilt als „Vater des britischen und kanadischen
Dokumentarfilms“. Ihm wird die Einführung des Begriffes „documentary“ zugeschrieben.
[4] Pierre Kandorfer, DuMont’s Lehrbuch der Filmgestaltung S.32/33, DuMont Buchverlag Köln 1984
FILMTEAM (KUNDE)
HERR DER ANIMATION
Einmal “Gott spielen”
Mit der vierten Iteration des Softwareprojekts entstand eine neue Sparte
in der Kundenabteilung – das Film-Team.
Die Aufgabe der Filmgruppe lautet, eine
Iteration über gesamte zwei Semester
zu begleiten und deren Tätigkeiten in
Bild und Ton festzuhalten. Drei Personen
bilden das Film-Team, die ihre Arbeit in
drei verschiedene Kategorien aufgeteilt
haben: Regisseur/Postproduktion, Kamera/
Licht und Ton/Animation. Das Vorhaben
besteht darin, einen Dokumentarfilm zu
drehen, der einen Einblick in das Softwareprojekt gibt. Bestandteil davon wird
eine 3D-Computeranimation sein, die
anhand eines Schachspiels Verläufe im
Projekt leichter verständlich machen soll.
Was ist überhaupt Animation?
Animation leitet sich vom lateinischen
Wort „animare“ ab, das ins Deutsche übersetzt „zum Leben erwecken“ bedeutet.
Viele einzelne Bilder werden aneinandergereiht und bilden eine Filmsequenz. Eine 3D-Animation basiert auf dem
gleichen Verfahren. Allerdings handelt es
sich hierbei nicht nur um aufeinanderfolgende Fotografien, sondern um Bilder, die
im Computer erstellt wurden. Szenarien
oder ganze Landschaften werden im dreidimensionalen Raum nachgebaut. Es ist
dann möglich, sich mithilfe von Kamera-
fahrten durch diese selbsterstellten Räume
zu bewegen und diese als Animation zu
speichern.
Im Film werden die Figuren eines
Schachspiels zum Leben erweckt. Parallel dazu soll später eine Sprecherstimme
verschiedene Abläufe im Softwareprojekt
erklären. Es ist wichtig, die Animation an
ein vorgegebenes Zeitlimit anzupassen,
damit diese Stimme Platz findet. Es ist
zwar nicht immer leicht, aber es ist alles
machbar, da man die Kontrolle darüber
hat, wie jedes Bild auszusehen hat und
wieviele Bilder aufeinander folgen sollen.
Man kann deshalb auch selbst bestimmen, wie die Schachfiguren zum Leben
erweckt werden sollen, was für eine Stimmungslage sie haben, wie sie sich bewegen und wenn es im Drehbuch vorgesehen
ist, wie sie wieder sterben sollen.
Die Animation beginnt mit einer
Kamerafahrt, die einen Gesamtüberblick
über das ganze Schachbrett gibt. Anschließend erwacht die weiße Königin
zum Leben und sorgt dafür, dass sich die
anderen weißen Figuren formieren und
ihre Position auf dem Schachfeld einnehmen. Die schwarzen Figuren stehen schon
formiert an ihrem Platz. Der Kommentar
wird erst im Nachhinein hinzugefügt,
sodass auf diesen vorerst keine Rücksicht
genommen werden muss. Es muss aber
die im Drehbuch vorgesehene Handlung,
sowie mit dem Autor abgesprochene und
vorgegebene Animationsdauer eingehalten werden.
Es gibt verschiedene Programme mit
denen man „Gott spielen“ kann. Speziell für die Arbeit an diesem Film wird
Cinema 4D der Firma Maxon verwendet.
Es unterscheidet sich von den anderen
Programmen besonders dadurch, dass
die Steuerung innovativ und gleichzeitig
auch leicht zu erlernen ist. Beispielsweise
werden alle Objekte die in einer Szene
vorhanden sind in einer Ordnerstruktur
aufgelistet und können dort direkt modifiziert werden. Mit sogenannten Schlüsselbildern (engl. „keyframes“) kann festgelegt
werden, wann Objekte sich wo befinden
sollen oder wie stark zum Beispiel die
Lichtstärke nach fünf Sekunden Animation
sein soll.
Bei diesem Filmprojekt muss den Schachfiguren Leben eingehaucht werden.
Dies ist mithilfe von sogenannten Bones
möglich. In die modellierten Figuren wird
ein Knochengerüst, das sogenannten Rig
eingesetzt, das dann mit der Figur verschmolzen wird. Wird dann ein Knochen
bewegt, ändert sich die Form der Figur
ebenfalls. Doch wie sieht das Skelett einer
Schachfigur aus? In diesem Fall recht einfach – drei Knochen, die senkrecht über-
SOP JOURNAL R4
73
FILMTEAM (KUNDE)
einander stehen. Der Untere steuert die
Fußpartie, der mittlere den Rumpf und der
Obere die Kopfbewegungen. Die Knochen können nicht nur gekippt, sondern
auch in sich gedreht werden, sodass auch
eine Art „Zur-Seite-Schauen“ des Kopfes
möglich ist.
Das Animieren der Bones bzw. der
Figuren ist vom technischen Aufwand
her überschaubar und relativ leicht zu
bewerkstelligen. Tipps und Techniken
dazu können direkt von der Herstellerseite
heruntergeladen werden [1]. Hingegen ist
die Umsetzung von dem, was man sich
vorstellt zu dem wie es später aussehen
wird, sehr kompliziert. Oft sehen Bewegungen unrealistisch aus, da sie entweder
zu schnell, zu langsam oder zu abgehackt
animiert sind. Es ist dann viel Feinarbeit gefragt, die auch den meisten Zeitaufwand
erfordert.
„Rigging ist ein spannendes und
hochinteressantes Fachgebiet der 3DAnimation, das es sehr zeitaufwändig ist.
Es gibt einfache Anforderungen und einfache Lösungen, welche in vielen Fällen
genügen.“ [2]
Die Feinarbeit macht sich insofern
sichtbar, dass die einzelnen Keyframes
verschoben werden und deren Eigenschaften geändert werden müssen. Als
Eigenschaft bezeichnet man in diesem
Fall, ob eine Beschleunigung des Objektes
zwischen zwei Keyframes stattfinden soll
oder nicht.
Durch die Verwendung von Bones
ist zwar die Bewegung der Figur in sich
selbst gegeben, doch muss zusätzlich
auch angegeben werden, wohin sie
74
SOP JOURNAL R4
laufen soll. Dazu gehört auch, wie schnell
sie beschleunigen soll, in welche Richtung
sie sich orientiert, wo sie pausiert oder wo
sie Luftsprünge macht. Dies kann auf zwei
verschiedene Arten umgesetzt werden:
Entweder man setzt an bestimmten Positionen auf der Zeitachse Schlüsselbilder,
zwischen denen die anderen Keyframes
berechnet werden oder man verwendet
Pfade, sogenannte Splines, an denen sich
das Objekt orientiert.
Was sind Splines und welche Vorteile
hat man von ihnen? Splines sind mathematische Kurven, die anhand einzelner
Punkten im Raum berechnet werden. Diese
sind besonders dazu geeignet, Pfade
vorzugeben, auf denen sich Objekte bewegen sollen. Harte Kursänderungen oder
Geschwindigkeitsschwankungen werden
damit umgangen, da die Bewegung auf
den Verbindungslinien interpoliert wird.
Zusätzlich besteht die Möglichkeit einer
tangentialen Ausrichtung, sodass in unserem Fall zum Beispiel das Pferd die richtige
Laufrichtung hat und nicht rückwärts läuft.
Bei dieser Technik kann es passieren,
dass die Figur plötzlich auf dem Kopf steht
und trotzdem die richtige Laufrichtung hat.
Die Verwendung von Spline-Pfaden stößt
hiermit an ihre Grenzen, da sie keine Information über die Ausrichtung der Y-Achse
enthält. Es wird deshalb eine Erweiterung
benötigt – sogenannte Rail-Splines. Es
handelt sich hierbei zwar um die selbe
Art von Kurven, allerdings werden diese
anders interpretiert. Die Position der Rails
gibt an, in welche Richtung sich die YAchse ausrichten soll. Kombiniert man
Spline-Verfolgung mit Rail-Splines, so hat
man eine gute Kontrolle über den Verlauf
einer Pfad-Animation.
Um es zu veranschaulichen, hier ein
kleines Beispiel anhand eines Flugzeuges:
Ein Sportflieger möchte von Punkt A nach
Punkt B fliegen, einen Looping machen
und anschließend eine Schraube vollziehen. Seine Position und auch der Looping werden anhand eines tangentialen
Splinepfades definiert. Die Schraube
hingegen, bei der sich das Flugzeug um
die eigene Achse dreht, wird mithilfe des
Rail-Pfades verwirklicht.
Das Ziel während der gesamten Animation ist, das Material später im Film zu
verwenden. Es muss deshalb zu jederzeit
darauf Acht genommen werden, ob und
wie es sich im Schnitt integrieren lässt.
Die Hauptanimation, bei der sich die
Teams in Form von Schachfiguren zusammenfinden sollen, wird relativ früh im Film
eingebettet. Der Übergang findet durch
die Überblende einer realen Szene in
die Animation statt. Dabei wird nur das
Schachbrett und der König sichtbar sein,
um die Komplexität möglichst gering zu
halten. Der Winkel der Aufnahme wird
vorerst nicht berücksichtigt da dieser
später in der Animation angepasst wird.
Deshalb ist auch keine weitere Absprache
mit dem Kameramann notwendig.
Im Drehbuch steht, dass die Überblende als „nicht sichtbar“ umgesetzt
werden soll. Bei der Erstellung trat jedoch
das Problem auf, dass die Realszenen mit
einem Makro-Effekt aufgenommen wurden und zu Verzerrung der Perspektive
führten. Es konnte in der virtuellen Welt
ohne Werte über Kamerawinkel und
FILMTEAM (KUNDE)
Die modellierten Schachfiguren. [Film]
über Makroeinstellungen kein passendes
Ebenbild im vorgesehenen Zeitrahmen
geschaffen werden, sodass umgeplant
werden musste. Der Fehler macht sich
besonders auf dem Schachbrett bemerkbar, da hier Überlagerungsunterschiede
besonders auf den schwarz-weißen
Felder sichtbar werden.
Abhilfe gibt eine Änderung im Drehbuch, die den Übergang nun so regelt,
dass zuerst nur die Geometrie übereinstimmen muss. Sobald die Kamera ihre
Fahrt beginnt und das Schachbrett mit den
anderen Figuren sichtbar wird, erscheinen
auch langsam Texturen und Lichtreflexionen aller Objekte. Realisiert wird dies
wieder mithilfe von Keyframes die mit den
Materialeigenschaften belegt sind.
Dieser Fachartikel liefert zwar anhand eines einfachen Beispiels nur einen
kurzen Einblick in die Welt der Animation,
aber man sollte im Hinterkopf behalten,
dass diese genannten Techniken Grundbausteine für aktuelle Computerspiele und
auch für Hollywood-Streifen in Kinos, wie
zum Beispiel „Der Herr der Ringe“ sind.
Das Setzen und Bedienen von Splines
sowie der Umgang mit Bones ist in den
Programmen schon sehr fortgeschritten,
sodass die Veränderungen in Echtzeit
dargestellt werden können und die Arbeit dadurch sehr erleichtern. Abgesehen
davon spielt Kreativität bei der Erstellung
des Modells und bei der Animation auch
eine große Rolle. Trotz vieler Anleitungen,
die es für diese Schritte gibt, entscheidet
letztendlich der Objektmodellierer, wie
eine Figur auszusehen hat. Derjenige, der
für die Animation zuständig ist, entscheidet desweiteren, welche Emotionen ausgestrahlt werden. Zusammen geben diese
beiden Schritte der Figur eine individuelle
Persönlichkeit, die anhand einer Anleitung
nur schwer nachzubilden ist. Zum „Gott
spielen“ benötigt man also nicht nur ein
Programm und eine Anleitung, sondern
auch Kreativität!
Achim Lang, Film (Ton)
Quellen
[1] http://www.maxon.de > Tips and Techniques
[2] Funktionsweisen von Bones und Riggingtechniken, Marco Marterer, Facharbeit März 2008
SOP JOURNAL R4
75
ADRESSEN
Diana Hauser (09.01.1985)
Bannmattstr. 38
79650 Schopfheim
eMail: [email protected]
ICQ: 133924279
Sebastian Schulz (23.06.1984)
Seestraße 34
72658 Bempflingen
eMail: [email protected]
ICQ: 233728040
Christine Heberle (10.06.1984)
Vorstadtstraße 42
72108 Kiebingen
eMail: [email protected]
ICQ: 139854208
Wencke Schulz (24.09.1984)
Saarstraße 43a
16225 Eberswalde
eMail: [email protected]
ICQ: 191221686
Marc Ammon (08.08.1984)
Frühlingsweg 9
72229 Rohrdorf
eMail: [email protected]
ICQ: 149777572
Jacqueline Jonigkeit (03.07.1985)
Lerchenstr. 10
71254 Ditzingen
eMail: [email protected]
ICQ: 104666571
Thomas Sellner (11.11.1984)
Ferdinand-Porschestr. 37
72760 Reutlingen
eMail: [email protected]
ICQ: 107425804
Philipp Becker (22.06.1979)
Mozartstr. 40
72762 Reutlingen
eMail: [email protected]
ICQ: 432733459
Robert Krüger (04.11.1984)
Hardtstraße 61/3
73431 Aalen
eMail: [email protected]
ICQ: 120464874
Patrick Theurer (14.03.1985)
Rohrhaldenstr. 36
72108 Rottenburg
eMail: [email protected]
ICQ: 106719175
Laura Böhm (24.07.1985)
Paul-Lincke-Str. 35
71069 Sindelfingen
eMail: [email protected]
ICQ: 213827470
Achim Lang (11.01.1985)
Im Winkel 20
78658 Flözlingen
eMail: [email protected]
ICQ: 89262860
Tobias Thieme (24.01.1984)
Greutweg 41
73733 Esslingen
eMail: [email protected]
ICQ: 124969491
Fabian Flohr (24.05.1985)
Im Egarten 2
88433 Schemmerhofen
eMail: [email protected]
ICQ: 345175135
Markus Leyrer (07.08.1984)
Untere Hardtbergstr. 17
72813 St. Johann
eMail: [email protected]
ICQ: 305268268
Kha Tran (01.08.1984)
Reutlingerstraße 4
72810 Gomaringen
eMail: [email protected]
ICQ: 286182950
Michael Garcorz (24.06.1980)
Alte Steige 18
72124 Pliezhausen
eMail: [email protected]
ICQ: 423480159
Alexander Paharukov (19.03.1985)
Heppstr. 67
72760 Reutlingen
eMail: [email protected]
ICQ: 277603307
Armin Wälder (13.11.1983)
Karlstraße 2
72829 Engstingen
eMail: [email protected]
ICQ: 296442503
Daniel Grbavac (26.03.1984)
Sülchenstraße 12
72108 Rottenburg
eMail: [email protected]
ICQ: 442985399
Tobias Ripperger (20.06.1985)
Kolpingstr. 10
63773 Goldbach
eMail: [email protected]
ICQ: 127230089
Emre Yay (15.01.1987)
Gögginger Str.22
73575 Leinzell
eMail: [email protected]
ICQ: 11005051
ADRESSEN
LISTE
76
SOP JOURNAL R4
„Das Schachspiel ist ein See, in welchem eine Mücke baden und ein Elefant ertrinken kann“
Indisches Sprichwort