Kurs:Wirtschaftsinformatik SS09/SE1/Lernskript/Herstellersicht
Welche Veränderungen kann ein Unternehmen vornehmen, um Eigenschaften einer Software zu verbessern? Die Prinzipien für die Software-Entwicklung ist ein Ideenlieferant dafür.
Ein Unternehmen kann beispielsweise während des gesamten Softwareentwicklungsprozesses die Performanz der Software berücksichtigen (wie Microsoft das jetzt bei Windows 7 getan hat), um folgenschwere Design-Änderungen unnötig zu machen. Auch kann ein Unternehmen seine Software modular aufbauen und Werkzeuge wie .Net/Java nutzen, um die Portierbarkeit der Software z.B. auf mobile Endgeräte zu ermöglich. Weiterhin kann ein Unternehmen den Kunden/Nutzer stärker in die Softwareentwicklung einbeziehen, indem man ihn z.B. Prototypen und Alpha- und Betaversionen zur Verfügung stellt, um die Benutzerfreundlichkeit zu verbessern, und die anfallende Wartung zu minimieren bzw. genauer vorhersagen zu können.
Rapid Prototyping ist eine große Hilfe für eine Software-Schmiede,um Erfahrung zu sammeln. Der Prototyp kann dem Auftraggeber gezeigt werden, und der Auftraggeber kann die Spezifikation konkretisieren helfen. Der Erkenntnisgewinn beim Prototyping fließt in das spätere Endprodukt ein. Das Do-it-twice Prinzip besagt: Gute Software entsteht, indem man einen lauffähigen Erstling macht und beim zweiten Anlauf wird alles besser gemacht. Hierbei fließt die Erkenntnis ein: das genaue Problem wird erst bei der Entwicklung verstanden. Im Nachhinein werden die Probleme klar, von denen man im Vornhinein nichts geahnt hätte.
Das Unternehmen sollte Branchenerfahrung haben: Bekanntschaft mit den Kundenbedürfnissen und den Geschäftsprozessen der Kunden haben. Denn die Spezifikation entscheidet über den Projekterfolg. Das Sammeln der Anforderungen geschieht über disziplinierte Verfahren - meist über die Vermittlung natürlicher Sprache. Es hilft dabei ungemein, wenn man nachhaken kann, weil man sich detaillierter in der Branche auskennt. Sprache kann sehr vieldeutig sein. Betriebswirte und Software-Entwickler können mit denselben Worten verschiedene Sachverhalte im Sinn haben.
Und immer an die Menschen denken ! Das ist das Wichtigste. Ein gutes Entwicklerteam ist das A und O. Die Spezifikation ändern sich laufend. Ständig sind Schrauben nachzustellen. Das Budget läuft aus dem Ruder. Termine können nicht eingehalten werden. Die Menschen sind immer das Problem. Ein gutes Entwicklerteam sollte so gut eingespielt sein, wie eine Segelmannschaft. Die Metapher stammt von Tom deMarco. In einer Segelmannschaft wissen die Beteiligten bei jeder Windveränderung, wie sie ihr Gewicht verlagern, damit das Boot nicht kippt und die Leute naß werden. Auch wenn diese wenigen Tipps eingehalten werden scheitert gerade jetzt irgendwo auf der Welt ein Projekt. Wie gesagt, Software-Engineering beansprucht eine Ingenieursdisziplin in der Zukunft zu werden. Den Kunstcharakter eines Software-Projektes ist bisher noch nicht von der Wissenschaft Informatik ausgetrieben worden.
Lesetipp Viele spannende Tipps finden sich in dem lesenswerten Buch peopleware von Tom deMarco. Darin wird auch auf vernachlässigte Aspekte wie Möbel und Architektur eingegangen, um ein Team produktiv zu machen. Ein Leser mit einem faible für Spannung sollte gleich danach vom selben Autor den Roman über Software-Engineering Der Termin ebenfalls von Tom deMarco lesen. Richard E. Fairley, Oregon Health and Sciences University, Mary Jane Willshire, University of Portland: "Why the Vasa Sank: 10 Problems and Some Antidotes for Software Projects", IN: focus process Die Romane um den Marine-Offizier Horatio Hornblower ist eine gute Nachtlektüre für eine Führungskraft im Software-Engineering. Der Leser lernt viel aus der Analogie zwischen einer Mannschaft auf See und einem Software-Projekt.