www.wikidata.de-de.nina.az
The Mythical Man Month Essays on Software Engineering deutsch Vom Mythos des Mann Monats Essays uber Software Engineering ist ein Buch des US amerikanischen Informatikers Fred Brooks uber Software Engineering und Projektmanagement Seine Kernbotschaft vom Autor selbst wenn auch unerhort vereinfachend als Brooks sches Gesetz bezeichnet lautet Adding manpower to a late software project makes it later Der Einsatz zusatzlicher Arbeitskrafte bei bereits verzogerten Softwareprojekten verzogert sie nur noch mehr Frederick P Brooks The Mythical Man Month S 25 1 2 Brooks Erfahrungen beruhen auf seinen Beobachtungen bei IBM als Leiter der Entwicklung von OS 360 So hatte er damals einem Teilprojekt das in Zeitverzug geraten war mehr Programmierer zugewiesen spater kam er zu dem Schluss dass diese Entscheidung entgegen aller Intuition die Verzogerung noch verschlimmerte Auch erwies sich seine Behauptung als falsch ein gewisses Projekt das Schreiben eines ALGOL Compilers werde sechs Monate dauern unabhangig von der Anzahl der Mitarbeiter tatsachlich dauerte es langer Angesichts der Neigung von Projektmanagern zu solchen Fehlern spottelte Brooks sein Buch werde Bibel des Software Engineerings genannt weil Everybody quotes it some people read it and a few people go by it Alle zitieren es einige lesen es und ein paar Leute befolgen es Frederick P Brooks 3 Das Buch wird weithin als Klassiker zu den menschlichen Faktoren des Software Engineering angesehen 4 Die englischsprachige Originalausgabe erschien 1975 1 eine korrigierte Neuauflage 1982 die deutsche Ubersetzung 1991 2 Im Jahr 1995 erschien eine Jubilaumsausgabe mit vier zusatzlichen Kapiteln sowie dem Essay No Silver Bullet Essence and Accident in Software Engineering und einem Kommentar des Autors 5 deutsch 2003 6 Inhaltsverzeichnis 1 Ideen und Konzepte 1 1 Der Mythos Mann Monat 1 2 Keine Silberkugeln 1 3 Das Problem des zweiten Systems 1 4 Die nicht weiter reduzierbare Fehlerzahl 1 5 Terminmanagement 1 6 Konzeptionelle Integritat 1 7 Das Handbuch 1 8 Das Pilotsystem fur den Abfalleimer 1 9 Formelle Dokumente 1 10 Schatzung des Zeitbedarfs 1 11 Kommunikation 1 12 Das Arzteteam 1 13 Code Freeze und Versionsverwaltung 1 14 Spezialwerkzeuge 1 15 Reduzierung der Softwareentwicklungskosten 2 Siehe auch 3 Weblinks 4 EinzelnachweiseIdeen und Konzepte BearbeitenDer Mythos Mann Monat Bearbeiten Brooks diskutiert verschiedene Ursachen fur Planungsfehlschlage Den meisten Raum nimmt seine Diskussion des Brooks schen Gesetzes ein Der Einsatz zusatzlicher Arbeitskrafte bei bereits verzogerten Softwareprojekten verzogert sie nur noch mehr Mannmonat ist eine hypothetische Masseinheit fur die Menge an Arbeit die eine Person durchschnittlich in einem Monat schafft das Brooks sche Gesetz besagt dass es ein Mythos sei nutzliche Arbeit in Mannmonaten messen zu konnen und ist insofern die Kernaussage des Buchs 7 Komplexe Programmierprojekte konnen nicht vollkommen in getrennte Aufgaben aufgeteilt werden die ohne Kommunikation zwischen den Bearbeitern und ohne ein komplexes Beziehungswerk zwischen Aufgaben und Bearbeitern zu erledigen sind Bereits verzogerte Softwareprojekte werden daher durch Einsatz zusatzlicher Arbeitskrafte nur noch weiter verzogert Das liegt daran dass die Einarbeitungszeit und der erhohte Kommunikationsbedarf der neuen Programmierer einen immer hoheren Anteil der verfugbaren Projektlaufzeit verschlingt Wenn n Personen untereinander kommunizieren mussen sinkt ihr Output mit wachsendem n und sobald er negativ wird verzogert sich das Projekt mit jeder zusatzlich eingesetzten Person Anzahl der Kommunikationsbeziehungen n n 1 2 Beispiel 50 Entwickler ergeben 50 50 1 2 1225 Kommunikationskanale Keine Silberkugeln Bearbeiten Brooks fugte der Jubilaumsausgabe seines Buches den Essay No Silver Bullet Essence and Accidents of Software Engineering 8 sowie weitere Uberlegungen unter dem Titel No Silver Bullet Refired hinzu In der Mythologie stellt eine aus Silber gegossene Gewehrkugel oft die einzig wirksame Waffe gegen Werwolfe Hexen und andere Ungeheuer dar Brooks postuliert dass es keine solche Silberkugel gebe 7 There is no single development in either technology or management technique which by itself promises even one order of magnitude tenfold improvement within a decade in productivity in reliability in simplicity Es gibt keine einzige Entwicklung weder technologisch noch bei den Techniken des Managements die fur sich allein versprechen konnte im Laufe von zehn Jahren wenigstens eine Grossenordnung das Zehnfache an Verbesserungen bei Produktivitat Zuverlassigkeit oder Einfachheit zu garantieren Frederick P Brooks 1 6 Sein Argument beruht auf der Unterscheidung zwischen zufalliger und wesentlicher Komplexitat ahnlich wie das Amdahlsche Gesetz zwischen strikt seriellen und parallelisierbaren Prozessen unterscheidet Das Problem des zweiten Systems Bearbeiten Der von Brooks gepragte Begriff Second system effect postuliert dass die zweite Version eines Systems die bei weitem gefahrlichste wird denn Architekten neigten dazu hier alle Erweiterungen aufzunehmen die bei der ersten Version dem unvermeidlichen Zeitmangel zum Opfer gefallen sind Der Autor benennt verschiedene IBM Produkte zur Stutzung seiner These u a den Stretch Computer und OS 360 und gibt Ratschlage zur Vermeidung Die nicht weiter reduzierbare Fehlerzahl Bearbeiten Der Autor macht die Beobachtung dass jedes hinreichend komplexe System immer eine Mindestanzahl von Fehlern aufweist Jeder Versuch erkannte Fehler zu beseitigen resultiert in neuen Fehlern Terminmanagement Bearbeiten Brooks schreibt Frage Wie kommt es dass sich ein grosses Softwareprojekt um ein Jahr verspatet Antwort Jedesmal um einen Tag Geringfugige Verzogerungen an vielen Fronten laufen so zu einer grossen Gesamt Verspatung auf Dagegen hilft nur eine standige Uberprufung der einzelnen Meilensteine auf allen Managementebenen Konzeptionelle Integritat Bearbeiten Voraussetzung fur ein benutzerfreundliches System ist die Integritat seines Konzepts die nur durch eine Trennung von Architektur und Implementierung erreicht werden kann Im Namen und Auftrag des Nutzers entscheidet ein Chefarchitekt oder eine kleine Anzahl von Architekten was in das System eingeht und was draussen bleibt Der Chefarchitekt sollte eine Idee entwickeln was das System leisten soll und sicherstellen dass diese Vision vom Rest des Entwicklungsteams verstanden wird Etwaige neue Vorschlage Einzelner werden nicht mit einbezogen wenn sie sich nicht nahtlos in das Gesamtdesign einfugen Um ein benutzerfreundliches System zu gewahrleisten kann ein System absichtlich weniger Funktionen aufweisen als moglich ware Wenn es namlich zu kompliziert zu benutzen ist werden viele seiner Funktionen ungenutzt bleiben weil niemand die Zeit hat ihre Bedienung zu erlernen Das Handbuch Bearbeiten Der Chefarchitekt erstellt ein Handbuch der Systemspezifikationen das die ausseren Eigenschaften des Systems genau beschreibt d h alles was der Nutzer sieht Je nach den Ruckmeldungen von Implementationsteams und Nutzern ist es zu aktualisieren Das Pilotsystem fur den Abfalleimer Bearbeiten Wenn ein Team ein neuartiges System entwickelt wird es ob absichtlich oder nicht zunachst ein Wegwerfsystem erstellen Dieses System dient als Versuchsanlage um sogleich solche Verfahrensweisen aufzudecken die spater ein komplettes Redesign des Systems erfordern wurden Erst dieses zweite smartere System sollte an den Kunden ausgeliefert werden denn das Pilotsystem wurde nichts als Qualen beim Kunden auslosen und womoglich den Ruf des Systems oder gar die ganze Firma ruinieren Formelle Dokumente Bearbeiten Jeder Projektleiter sollte einen kleinen Satz von Dokumenten erstellen die die Projektziele definieren wie durch wen und wann diese erreicht werden und was dies kosten wird Diese Dokumente konnen auch Unstimmigkeiten aufdecken die anders schwer zu erkennen waren Schatzung des Zeitbedarfs Bearbeiten Bei der Abschatzung von Projektzeiten sollte man bedenken dass sowohl Programmprodukte fur zahlende Kunden als auch Programmsysteme mindestens dreimal so aufwendig zu schreiben sind wie einfache eigenstandige innerbetriebliche Programme 1 S 5 Fig 1 1 Man sollte berucksichtigen welcher Anteil an Arbeitszeit tatsachlich fur technische Fragen aufgewendet wird gegenuber administrativen oder anderen nicht technischen Aufgaben wie insbesondere Gesamt Teambesprechungen Kommunikation Bearbeiten Um Unheil zu vermeiden sollten alle an einem Projekt arbeitenden Teams auf moglichst vielfaltige Weise miteinander in Kontakt bleiben E Mail Telefon Besprechungen Memos usw Statt bei einer zu implementierenden Funktion irgendetwas anzunehmen und mit einer moglicherweise falschen Annahme weiterzuarbeiten sollten die Implementierer den bzw die Architekten bitten die mit dieser Funktion verfolgten Absichten zu erlautern Der Architekt ist verantwortlich dafur ein Gesamtbild des Projekts zu formulieren und den Anderen zu kommunizieren Das Arzteteam Bearbeiten Ahnlich wie ein Arzteteam von einem Chefarzt geleitet wird der selbst operiert und von seinem Team bestmogliche Hilfestellung erhalt erscheint es vernunftig kritische Systemkomponenten von einem guten Programmierer entwickeln zu lassen wahrend der Rest des Teams nach Bedarf zuliefert Brooks sinniert weiter dass gute Programmierer meist funf bis zehnmal so produktiv seien wie mittelmassige Code Freeze und Versionsverwaltung Bearbeiten Software ist unsichtbar Daher wird bei einem neuen System manches erst dann augenfallig wenn ein gewisser Entwicklungsaufwand erbracht ist der dem Nutzer eigene Erfahrung mit dem System erlaubt Diese Erfahrung kann zu Erkenntnissen fuhren die die Anforderungen des Nutzers oder deren Wahrnehmung andern Dann sollte das System dementsprechend geandert werden um den geanderten Anforderungen zu genugen Dies kann jedoch nur bis zu einem gewissen Punkt geschehen sonst wird das System womoglich nie fertig Ab einem bestimmten Datum sollten keine Codeanderungen des Systems mehr erlaubt werden der Code wird eingefroren und alle weiteren Anderungsanforderungen werden bis zur nachsten Systemversion aufgeschoben Spezialwerkzeuge Bearbeiten Statt dass jeder einzelne Programmierer seinen eigenen Satz an Spezialwerkzeugen nutzt sollte jedem Team ein benannter Werkzeugmacher angehoren der solche Werkzeuge erstellt die den Aufgaben des Teams genau angepasst sind z B ein Codegenerator der Code entsprechend einer Spezifikation erzeugt Zusatzlich sollten systemweit eingesetzte Werkzeuge von einem zentralen Werkzeugteam unter Aufsicht des Projektleiters geschaffen werden Reduzierung der Softwareentwicklungskosten Bearbeiten Brooks beschreibt zweierlei Techniken um Softwareentwicklungskosten zu senken Implementierer werden erst beschaftigt nachdem die Systemarchitektur fertiggestellt ist ein Punkt bis zu dem es mehrere Monate dauern kann wahrenddessen vorzeitig eingestellte Implementierer nichts zu tun hatten Alternativ erwahnt Brooks Software uberhaupt nicht zu entwickeln sondern nach Moglichkeit einfach Standardsoftware einzusetzen Siehe auch BearbeitenAnti pattern Prototyping Refactoring Vorgehensmodell zur SoftwareentwicklungWeblinks BearbeitenFrederick P Brooks Jr HomepageEinzelnachweise Bearbeiten a b c d Frederick P Brooks Jr The Mythical Man Month Essays on Software Engineering Addison Wesley 1975 ISBN 978 0 201 00650 6 amerikanisches Englisch archive org a b Frederick P Brooks Vom Mythos des Mann Monats Essays uber Software Engineering Addison Wesley 1991 ISBN 978 3 925118 09 8 amerikanisches Englisch The Mythical Man Month Ubersetzt von Arne Schapers Armin Hopp Daniel Roth Quoted Often Followed Rarely In CNN 12 Dezember 2005 abgerufen am 23 Oktober 2010 Jess Johnson The Top 9 In a Hacker s Bookshelf Abgerufen am 23 Oktober 2010 Frederick P Brooks Jr The Mythical Man Month Essays on Software Engineering Addison Wesley 1995 ISBN 978 0 201 83595 3 amerikanisches Englisch a b Frederick P Brooks Vom Mythos des Mann Monats Essays uber Software Engineering MITP 2003 ISBN 978 3 8266 1355 5 amerikanisches Englisch The Mythical Man Month 1995 Ubersetzt von Arne Schapers a b Hector Correa The Mythical Man Month In All Blog Posts 28 Juni 2007 abgerufen am 8 Januar 2017 englisch Frederick P Jr Brooks No Silver Bullet Essence and Accident in Software Engineering In Computer Band 20 Nr 4 1987 S 10 doi 10 1109 MC 1987 1663532 salisbury edu PDF abgerufen am 19 Januar 2017 Abgerufen von https de wikipedia org w index php title Vom Mythos des Mann Monats amp oldid 228098823