Table Of ContentPeter F. Elzer
Managemen. yon
SolhMa~p~lekten
Aus dem Programm
Wirtschaftsinformatik / DV-Praxis
Qualitatsoptimierung der Software-Entwicklung
von Georg Erwin Thaller
Modernes Proiektmanagement
von Erik Wischnewski
Telekommunikation mit clem PC
von Albrecht Darimont
Management von Softwareproiekten
von Peter F. Elzer
Die Feinplanung von DV-Systemen
von Georg Liebetrau
CICS - Eine praxisorientierte Einfiihrung
von Thomas Kregeloh und Stefan Schonleber '
Die Netzwerkarchitektur SNA
von Hugo Schroer und Thomas Stalke
Offene Systeme
von Tom Wheeler
Obiektorientierte Anwendungsentwicklung
von Klaus Kilberth, Guido Gryczan und Heinz Zullighoven
Vieweg
Peter F. Elzer
Management yon
Softwareproieklen
Eine Einfuhrung fur Studenten und Praktiker
I I
vleweg
Die Deutsche Bibliothek - CIP-Einheitsaufnahme
Elzer, Peter:
Management von Softwareprojekten: eine EinfUhrung
fUr Studenten und Praktiker I Peter F. Elzer. -
Braunschweig; Wiesbaden: Vieweg, 1994
ISBN-I 3:978-3-322-8681 8-3 e-ISBN-13:978-3-322-86817-6
001: 10.1007/978-3-322-86817-6
Softcover reprint of the hardcover I st edition 1994
Das in diesem Buch enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie
irgendeiner Art verbunden. Der Autor und der Verlag iibernehmen infolgedessen keine Verantwor
tung und werden keine daraus folgende oder sonstige Haftung iibernehmen, die auf irgendeine Art
aus der Benutzung dieses Programm-Materials oder Teilen davon entsteht.
Aile Rechte vorbehalten
© Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig/Wiesbaden, 1994
Der Verlag Vieweg ist ein Unternehmen der Verlagsgruppe Bertelsmann International.
Das Werk einschlieBlich aller seiner Teile ist urheberrechtlich geschiitzt. Jede
Verwertung auBerhalb der engen Grenzen des Urheberrechtsgesetzes ist
ohne Zustimmung des Verlags unzuliissig und strafbar. Das gilt insbesondere
fUr Vervielfiiltigungen, Ubersetzungen, Mikroverfilmungen und die Einspei
cherung und Verarbeitung in elektronischen Systemen.
Druck und buchbinderische Verarbeitung: Lengericher Handelsdruckerei, Lengerich
Gedruckt auf siiurefreiem Papier
Vorwort
Entscheidend fUr den nachhaltigen Erfolg eines Softwareprojekts ist ein integrierter,
multidimensionaIer Ansatz des Projektmanagements. Dieses Buch solI deshaIb die Le
ser in die Lage versetzen, die vielen speziellen Gesichtspunkte in eine "Gesamtland
schaft des Projekt-Management" einordnen zu konnen. Es solI keine SpeziaIwerke -
etwa iiber Arbeitspsychologie, Softwaretechnik oder Grundlagen der Betriebswirt
schaft - ersetzen, sondern vielmehr anregen, sich einmaI naher mit denjeoigen dieser
Themen zu beschliftigen, die bisher auBerhaIb der eigenen Spezialisierung lagen.
Es will auch keine Patentrezepte geben, die zur BewaItigung irgendeiner "Krise" die
nen sol1en. Vielmehr solI deutlich werden, daB die Projektierung, Entwicklung und
Anpassung von Softwaresystemen sehr komplexe Prozesse sind. Bei ihrem Manage
ment miissen daher eine groBe Zahl der verschiedenartigsten Gesichtspunkte beriick
sichtigt werden, die sieh zum Tell widersprechen, aber aIle zusammenhiingen und sich
in Form eines Netzwerkes gegenseitig beeinflussen. Die Beherrschung solcher
Prozesse erfordert also yom Projektleiter die Fiihigkeit, das Gleiehgewicht zwischen
einer groBen Zahl von EinfluBgroBen zu finden und zu erhalten. Man konnte diese
Aufgabe mit dem Finden eines Weges in einem vieldimensionaIen Raum vergleichen,
das durch eine Reihe von Zwangsbedingungen und Hindernissen erschwert wird, die
sieh auBerdem dauernd veriindern.
Konkreter ausgedriickt geht es darum, den Anforderungen der Technik, der Wirt
schaftliehkeit und der Menschenfiihrung in ausgewogener Weise gerecht zu werden.
Defizite auf einem dieser drei Hauptgebiete diirfen die in den anderen Bereiehen er
zielten Ergebnisse nieht in Frage stellen. Erschwerend kommt hinzu, daB die
einzelnen Dimensionen in den seltensten Hillen voneinander unabhangig sind. Ein
typisches Beispiel dafUr ist die enge Verflechtung wirtschaftlieher, technischer und
psychologischer Aspekte bei der Gestaltung organisatorischer AbHiufe. Weitere
Beispiele solcher Querbeziehungen sind Wechselwirkungen zwischen den
verwendeten "Softwarewerkzeugen" und den vorgefundenen Organisationsformen
in der Firma, der Terminologie der Anwendung und den gewahlten technischen
Losungsstrukturen, dem technischen Wissensstand des Kunden wahrend der
Ausschreibungsphase und der Qualitat des fertigen Systems, der erreichbaren
Genauigkeit bei der Kostenschatzung und der Motivation des Projektteams etc.
Dies sind nur einige der Beobachtungen, die der Verfasser im Laufe seines Berufsle
bens in Industrie und Forschung machen konnte. Er hat Projekte miterlebt, in denen
praktisch aIles schiefging, was schiefgehen konnte, aber mindestens genau so haufig
konnte er beobachten, wie Entwieklungen zum Erfolg fiihrten - nur wurde dariiber
weniger gesprochen.
VI
Bei genauerer Betrachtung fiel au6erdem auf, daB die MiBerfolge fast nie technische
Grtinde hatten, wobingegen die Situation bei den erfolgreichen Projekten komplexer
war. Zurneist lag auch bier der Erfolg in der Person des Projektleiters begrtindet. Viel
seitigkeit, FleiB, kaufmfumisches Geschick, Durchsetzungsvermog~n und eine gewisse
"elastische" Zielstrebigkeit erwiesen sich dabei als weit niitzlicher als neuestes Fach
wissen oder - im anderen Extrem - iiberdurchschnittliches Verkaufstalent. Doch wa
ren auch technische Faktoren am Erfolg beteiligt. Es wurde versucht, eine ausgewo
gene Mischung aus Qualitiit des Entwurfs, angemessenem Einsatz von Methoden
und Werkzeugen, sowie straffer Organisation zu realisieren und weniger darauf ge
achtet, nur die jeweils neueste Technik einzusetzen.
Aus diesen Erlebnissen der Praxis heraus werden nun in den sechs Kapiteln dieses
Buches die wesentlichen Klassen der bei der Projektabwieklung zu beachtenden
Gesichtspunkte erliiutert:
Das erste Kapitel bietet eine Art "Generaliiberblick" iiber ein breites Spektrnm von
Gesiehtspunkten, die bei der Entwieklung zu berticksiehtigen sind, und die teilweise
spiiter vertieft betrachtet werden. Dabei soIl vor allem Verstiindnis fUr die intensiven
gegenseitigen Zusammenhiinge der "Aspekte eines Projekts" geweckt werden.
Kapitel2 befaBt sieh mit einem zentralen Begriff der Abwieklung von Softwarepro
jekten, dem "Lebensdauerzyklus". Weiter werden Fragen der Systemanalyse, Kosten
schiitzung und Projektplanung, sowie EinfluBfaktoren auf die Produktivitiit von Ent
wicklem behandelt.
Kapitel 3 vermittelt einen Eindruck davon, welche typischen Werkzeuge es zur Un
terstiitzung der verschiedenen Phasen des Lebensdauerzyklus gibt und welche Lei
stungen sie in etwa erbringen konnen. Zur Vertiefung wird auf einschliigige Lehrbii
cher verwiesen. Es wird deutlieh, daB die meisten der heute verfiigbaren Methoden
und Werkzeuge schon sehr lange bekannt sind. Es ware also ratsam, das in fast 40
Jahren der Entwicklung der Datenverarbeitung angesammelte (Erfahrungs-)Wissen
zu sammeln, zu sichten und so aufzubereiten, daB die bewiihrten Prinzipien fUr die
tiigliche Praxis nutzbar sind.
Die Ausfiihrlichkeit, mit der die hoheren Programmiersprachen in Kapitel 4 behandelt
werden, spiegelt ihre anhaltende groBe Bedeutung fUr den Programmentwieklungs
prozeB wider. Der Hauptgrund dafiir ist, daB sie die bisher einzigen Hilfsmittel sind,
von denen eine substantielle Steigerung der Programmiereffektivitiit quantitativ be
legbar ist. Dies gilt neben all ihren anderen positiven Eigenschaften.
In Kapitel 5 solI vor allem Verstiindnis geweckt werden fUr MaBnahmen, die in der
Praxis enorm wichtig sind, deren theoretische Durchdringung aber nieht ausreichend
ist und die auch oft nicht systematisch genug durchgefiihrt werden. Dabei handelt es
sich insbesondere urn Test und Verifikation von Software. Aber auch Dokumentation,
Wartung, Prototyping und Wiederverwendung von Software sind fUr ein fachgerecht
durchgefUhrtes Projekt von groBer Bedeutung.
VII
Das sechste und letzte Kapitel vermittelt einen Eindruck davon, welche technischen
Gesichtspunkte auGer der reinen Softwareentwicklung noch beriicksichtigt werden
mtissen, urn ein insgesamt gut funktionsfahiges Datenverabeitungssystem zu erhalten.
Aus Platzgriinden muGte nattirlich eine Auswahl beztiglich der darzustellenden Pro
blemkreise getroffen werden. Die drei genannten - Mensch-Maschine-Schnittstelle,
Systemauswahl, Sicherheit und Zuverlassigkeit - sind aber nach den Erfahrungen des
Verfassers insofem besonders wichtig, als die Nachteile fOr das fertige System sehr
groG sein konnen, wenn man sie nicht ihrer Bedeutung entsprechend behandelt.
Bedingt durch den Erfahrungshintergrund des Verfassers sind Terminologie und
Wahl der Beispiele stark beeinfluGt durch den Rechnereinsatz in der
Automatisierungstechnik. Das bedeutet jedoch nicht, daB es allein auf dieses
Anwendungsgebiet zugeschnitten ware. Bei der Formulierung von Prinzipien wurde
vielmehr versucht, nur diejenigen Einsichten herauszuarbeiten, die tibertragbar
erschienen. So sind, urn mit einem der augenf<illigsten Punkte zu beginnen, Fragen der
Produktivitat von Programmierem, ihrer Abhangigkeit von nichttechnischen extemen
EinfluGgroGen, der Kostenschlitzung etc. nahezu voilig unabhangig von der Art des
Anwendungsproblems. Was technische Aspekte betrifft, so werden bei groG en
Systemen aus dem kaufmannischen Sektor oder der Verwaltung vielleicht Fragen der
Datenstrukturierung und der Sicherheit eine groGere Rolle spielen, bei Aufbau und
Betrieb von Datennetzen dagegen Kommunikationsprotokolle, Probleme der
Wegezuteilung oder der Verhinderung unberechtigten Eindringens. Darnit werden
sich nattirlich auch die Auswahlkriterien ftir Entwicklungs- und Testverfahren, der
zugehorigen Werkzeuge und Programmiersprachen etc. andem.
Das Herausarbeiten geeigneter Kriterien und Gesichtspunkte kann aber eigentlich
immer nach den gleichen Denkprinzipien erfolgen. Deshalb solI ten Ansatze, die in
diesem Buch an Hand der Automatisierungstechnik exemplarisch dargestellt werden,
von den Lesem selbst auf das ihnen vertrauteste Gebiet tibertragen werden. Dies ge
schieht am einfachsten dadurch, daB man Beobachtungen aus der taglichen Berufs
praxis einmal hinterfragt und an Einsichten miGt, die auf anderen Gebieten der Tech
nik oder des Lebens gemacht wurden.
Da dieses Buch kein Lehrbuch im eigentlichen Sinne sein solI, sondem eine Quelle
von DenkanstoBen mit Hinweisen aus der Praxis, muG es auch nicht unbedingt von
vome bis hinten durchgelesen werden. Die folgende Tabelle gibt einen Uberblick
dariiber, welche Teile bei welchem Grad des Interesses zuerst gelesen werden sollten:
Kap. Urn Uberblick zu erhalten: Zur Vertiefung: Bei besonderem
techno Interesse
1 1 ~,: f~~~ .&j , '" "': !.;~i : '2'",,; if :~ :
2 2.1 2.2 bis 2.5 ~r .,.
3 3.1 3.2.1. 3.3.1. 3.4.1 Rest des Kapitels
4 4.1; 4.3.1 4.2, 4.3.2 und 4.3.3 4.4
5 5.1.1; 5.1.2; 5.2 bis 5.5 5.1.3 und 5.1.4
.~:.
6 6.1.1; 6.1.2; 6.2; 6.3.1; 6.3.2; 6.3.4 6.1.3; 6.3.3 ».~: ~:,(III"»900:_;.y;.~J
m
VIU
Am Ende dieses Vorworts machte ich nicht versaumen, denen zu danken, die zum
Zustandekommen dieses Buches beigetragen baben: 1m Prinzip begann alles 1978 in
den USA bei meiner Mitarbeit im Ada-Managementteam. Dort W\1fde mein Blick ge
schiirft fUr die Unvollstiindigkeit technischer Losungsansatze, besonders durch Dis
kussionen mit dem technischen Projektleiter, W. Whitaker, und dem Manager, W.
Carlson. Nach Deutschland zuriickgekebrt folgten viele Vortrage fiber Einzelthemen.
Ein "alter Mitstreiter" aus der PEARL-Entwicklung, Prof. V. Haase, Graz, ermutigte
mich, den Themenkreis einmal im Zusammenhang zu behandeln, zunachst in Form
von Kursen an der Qsterreichischen Akademie fUr Ffihrungskriifte. Wichtig war seine
Hilfe und die von Prof. M. Rood, Swansea bei der Ausrichtung der "IFAC-Workshops
on Experience with the Management of Software Projects", die viele Anregungen
brachten. Weitere kriiftige Ansto8e kamen von Prof. U. Rembold von der TU Karlsru
he, dessen Vorlesung ich fibemehmen kODDte, und von Prof. D. Tavangarian von der
FemUniversitat Hagen, der den Gedanken hatte, im Rahmen des Weiterbildungspro
gramms SAFE einen Kurs fiber das Thema Projektmanagement zu veranstalten, der
dann an der Deutschen Informatikakademie weitergefUhrt wurde. Das Arbeitsheft zu
diesem Kurs bildete die Grundlage dieses Buches. Bei dessen Ausarbeitung halfe n
Frau Dr. S. Jegodzinski durch ihre detaillierten Kommentare und die Herren U. Krohn,
C. Beuthel und A. Miehe durch Einzelbeitrage. Besonders zu danken habe ich
schlieBlich meiner Frau EIke fUr ihre Toleranz gegenfiber meinen vielen Reisen, der
"Papiersammelei" und ihr geduldiges Korrekturlesen, bei dem am Ende auch noch
unser Sohn Martin eifrig mithalf.
Goslar, im Miirz 1994
P. Elzer
In haltsverzeichnis
1 Uberblick ................................................................ 1
1.1 Grundsatz ....................................................................3
1.2 Aspekte eines Rechnerprojektes .......................................... .4
1.3 Technische Gesichtspunkte ................................................ 6
1.3.1 Anwendungsbezogene Gesichtspunkte ..................................6
1.3.2 Rechnerorientierte Gesichtspunkte ........................................8
1.4 Finanzielle Gesichtspunkte .............................................. 11
1.4.1 Rentabilitlit des Einsatzes ................................................ 11
1.4.2 Entwicklungskosten ...................................................... 13
1.5 Organisatorische Gesichtspunkte ....................................... 16
1.5.1 Allgemeines ................................................................ 16
1.5.2 Einbettung in die Anwenderorganisation ............................... 16
1.5.3 Organisation der Entwicldung ... , ....................................... 18
1.6 Gesichtspunkte der Menschenfiihrung ................................. 19
1.6.1 Allgemeines ................................................................ 19
1.6.2 Motivation der Mitarbeiter ............................................... 19
1.6.3 TeamzusaIllIllenstellung .................................................. 20
1.6.4 Behandlung von Konflikten ............................................. 20
1.6.5 Erhaltung des Gleichgewicht ............................................ 21
1.6.6 Spezielle Eigenschaften von Softwareteams ........................... 22
1.7 Normen und Richtlinien .................................................. 23
1.7.1 Allgemeines ................................................................ 23
1.7.2 Einige Normungsgremien und ihre Arbeitsweise ..................... 23
1.7.3 Normen zur Qualitlitssicherung ......................................... 26
1.8 Beobachtung von Trends ................................................ 31
2 Der "Lebensdauerzyklus" der
Softwareentwicklung ........................................... 33
2.1 Das Phasenmodell ........................................................ 35
2.2 System analyse ............................................................. 37
2.2.1 Definitionen ................................................................ 37
2.2.2 Allgemeines ................................................................ 37
2.2.3 Einzelaufgaben ............................................................ 38
2.3 Wirtschaftlichkeitsiiberlegungen ........................................ 44
2.3.1 Das Grundprinzip ......................................................... 44
2.3.2 Berechnungsverfahren ................................................... 45
2.3.3 WirtschaftlichkeitsUberlegungen am Beispiel eines
Warmbandwerks .......................................................... 46
X
2.4 Die Abwicldung des Projektes .......................................... 51
2.4.1 "ROckkopplungen" im Lebensdauerzyldus ............................ 51
2.4.2 Planungsschritte .......................................................... 52
2.5 Kostenschatzung .......................................................... 62
2.5.1 Ubersicht Ober Kostenmodelle .......................................... 62
2.5.2 "Makroskopische" Modelle .............................................. 63
2.5.3 "Mikroskopische" Modelle .............................................. 66
2.5.4 Der Einflu6 der Teamgro6e .............................................. 72
2.5.5 Produktivitatswerte ....................................................... 75
2.5.6 Weitere Einflu6gro6en auf den Entwicldungsaufwand .............. 77
2.5.7 Kostenverteilung Ober die einzelnen Phasen des
Lebensdauerzyldus ....................................................... 78
2.5.8 Was kann man lemen? ................................................... 81
3 Technische Entwicklungshilfsmittel.. ................. 83
3.1 Grundsatzliches ........................................................... 85
3.l.1 Die technische Qualitat der LOsung ..................................... 85
3.1.2 Entwurfsverfahren ........................................................ 86
3.2 Die "Softwareentwicklungsumgebung" ................................ 93
3.2.1 Allgemeines ............................................................... 93
3.2.2 Das Beispiel der Entwicldungsumgebung von "Ada" ................ 94
3.2.3 Die Entwicldungsumgebung "UNIX" ................................. 99
3.2.4 Die Auswahl einer Softwareentwicldungsumgebung ............... 101
3.3 Hilfsmittel fUr Speziflkation und Grobentwurf ...................... 107
3.3.l. Funktionsprinzipien ..................................................... 107
3.3.2 Kurzbeschreibungen einiger Werkzeuge .............................. 109
3.4 Hilfsmittel ffir den Feinentwurf ........................................ 114
3.4.1 Allgemeines .............................................................. 114
3.4.2 Kurzbescbreibung einiger Hilfsmittel ................................. 114
4 Programmiersprachen ........................................ 119
4.1 Entwicldung und Funktionsprinzipien ................................ 121
4.2 Die Auswahl einer Programmiersprache .............................. 125
4.2.1 Grundsatzliches Vorgehen .............................................. 125
4.2.2 Konzepte von Programmiersprachen .................................. 129
4.3 Auswahl der Programmierumgebung ................................. 144
4.3.1 Allgemeines .............................................................. 144
4.3.2 UnterstUtzung von Test und Integration .............................. 145
4.3.3 Betriebssystemaspekte .................................................. 146
4.4 Kurzdarstellungen einiger gebrauchlicher Programmiersprachen .. 147
4.4.1 "Main-line" Sprachen ................................................... 147
4.4.2 Echtzeitsprachen ......................................................... 157
4.4.3 Systemprogrammiersprachen .......................................... 161
4.4.4 Sprachen fUr spezielle Anwendungsklassen .......................... I64