ebook img

Management von Softwareprojekten: Eine Einführung für Studenten und Praktiker PDF

264 Pages·1994·14.558 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Management von Softwareprojekten: Eine Einführung für Studenten und Praktiker

Peter 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

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.