Datum: 27. Mai 2009 Themendossier Schätzverfahren in der Softwareentwicklung Seite 1
Einführung in das Thema Eine zuverlässige Aufwandsschätzung zu Beginn eines Softwareprojekts ist eine unerlässliche Grundlage für Verhandlungen mit dem Auftraggeber, für die Preisbildung, für die interne Ressourcenplanung, für das Projektcontrolling und zahlreiche andere Aufgaben. Auch während der Projektlaufzeit sollten regelmäßige Schätzung durchgeführt werden, um kontinuierlich verbesserte Prognosen zu erhalten. Jedoch fällt es vielen Projektverantwortlichen schwer, eine Aufwandsschätzung abzugeben, von der sie selbst überzeugt sind. Oft erschweren unklare Projektsituationen, neue Technologien und die Notwendigkeit zur Berücksichtigung fremder Systeme eine solche Einschätzung. Eine Möglichkeit ist es, auf die eigene Erfahrung und das "Bauchgefühl" zu vertrauen. Andere Möglichkeiten ergeben sich durch die Anwendung von Schätzmethoden und Metriken. Jede dieser Vorgehensweisen hat ihre individuellen Stärken und Schwächen. Mit diesem Themendossier wollen wir Ihnen einen Überblick über die gängigen Methoden sowie ihre Vor- und Nachteile geben. Eine sehr verbreitete Methode zur Bestimmung des fachlichen Umfangs eines Softwareprojekts ist die Function-Point-Methode. Diese Methode allein ist kein Schätzverfahren, da sie lediglich der Größenbestimmung eines Projekts dient. Die Maßeinheit dieser Methode ist der Function-Point. Zunächst zerlegt man das Anwendungssystem in Elementarprozesse und logische Datenbestände. Diesen werden die Komplexitätsklassen niedrig/mittel/hoch zugeordnet und daraus Werte für Function-Points vergeben. Die Summe der Function-Points ergibt die ungewichteten Function-Points, die mittels technischen Einflussfaktoren in gewichtete Function-Points umgewandelt werden. Ein großer Vorteil der Function-Point-Methode ist, dass sie bereits in einer sehr frühen Phase des Projekts durchgeführt werden kann. Mit dem Schätzverfahren COCOMO II lässt sich die Dauer und der Aufwand eines Softwareprojekts nach der Designphase ermitteln. Zunächst wird unterschieden, ob das System monolithisch, verteilt oder embedded ist. Danach wird unter Einfluss von vielen teilweise optionalen Parametern wie Qualitäts-, Risiko-, Hardware-, Software- und Personalfaktoren die Größe es Systems in KDSI (Kilo lines of delivered source instructions) berechnet. Die Verwendung des Prozessmodells und der Entwicklungsmethoden wird in der Schätzung auch berücksichtigt. Um mit COCOMO II gute Schätzergebnisse zu erreichen, bedarf es Hintergrundkenntnissen und genügend Schätzerfahrung. Die Schätzungen sind erst möglich, wenn das Softwaresystem bereits entworfen wurde. Schätzen durch Vergleich ist eine weitere Methode der Aufwandsschätzung. Bei dieser Methode bedarf es einer Erfahrungsdatenbank, in der aussagekräftige Daten über bereits abgeschlossene Softwareprojekte gespeichert sind. Typische Daten sind z. B. die Anzahl an Function-Points, die Anzahl und Erfahrung der Entwickler und die Projektdauer. Anhand der Daten in der Datenbank werden ähnliche Projekte herausgesucht und damit ähnliche Werte für die Aufwände und für die Projektdauer abgeschätzt. Diese Methode ist leicht durchzuführen, jedoch bedarf sie einer gut gepflegten Erfahrungsdatenbank. Seite 2
Die Expertenschätzung ist eine in der Praxis ebenfalls weit verbreitete Schätzmethode. Zur Schätzung werden Personen eingesetzt, die über viel Erfahrung mit bereits abgewickelten Projekten verfügen. In der einfachsten Form der Expertenschätzung geben Experten individuelle Schätzungen ab. Die Genauigkeit der Schätzung hängt vom Grad der Erfahrung der Experten ab. Eine zuverlässigere Form der Expertenschätzung ist die Delphi-Methode, bei der sich die Experten in einer Gruppe treffen, um ihre Schätzungen zu diskutieren und in mehreren Iterationen ein gemeinsames Schätzergebnis zu bestimmen. Die Expertenschätzung ist ein günstiges Schätzverfahren und lässt sich besonders gut in frühen Phasen der Softwareentwicklung einsetzen. Die Qualität der Schätzungen hängt stark von den Erfahrungen der Experten ab. Wir wünschen Ihnen eine interessante Lektüre! Bei Fragen kommen Sie gern auf uns zu. Ihr Team der Softwareforen Leipzig Seite 3
Inhaltsverzeichnis Allgemeines zur Aufwandschätzung Aufwandschätzung für Softwareprojekte Software-Projektkalkulation: Praxiserprobte Methoden der Aufwandsschätzung für verschiedene Projektarten Verfahren der Aufwandsschätzung für komplexe Softwareprojekte von heute Kapitel Software-Aufwandsschätzung aus dem Buch Software Engineering I Function-Point-Methode Function-Point-Analyse: Ein Praxishandbuch Function-Point Analysis - Theorie und Praxis: Die Grundlage für modernes Softwaremanagement COCOMO II Software Cost Estimation with COCOMO II Software Project Cost Estimates Using COCOMO II Model Softwaresystemmaße am Beispiel von COCOMO II Delphi-Methode Delphi-Methode Seite 4
Aufwandschätzung für Softwareprojekte Verlag: Microsoft Press Deutschland; 1. Auflage Autor: Steve McConnell Datum: 19. Juni 2006 Dieses Buch befasst sich umfassend mit der Aufwandsschätzung in Softwareprojekten. Es werden zunächst Schätzkonzepte vorgestellt und wichtige Schätztechniken erläutert. Weiterhin werden besondere Herausforderungen betrachtet, die bei der Aufwandschätzung anzutreffen sind. Das Buch ist sehr praxisnah verfasst und beinhaltet viele Tipps für die Anwendung der vorgestellten Methoden im Projektalltag. Software-Projektkalkulation: Praxiserprobte Methoden der Aufwandsschätzung für verschiedene Projektarten Verlag: Hanser Fachbuchverlag; 1. Auflage Autor: Harry Sneed Datum: 4. Mai 2005 Dieses Buch führt umfassend in die Software-Projektkalkulation ein. Einführend wird definiert, was Produktivität in der Softwareentwicklung ist. Es werden einige bekannte Schätzverfahren wie Function-Point-Methode, COCOMO-Methode und weitere weniger bekannte Verfahren vorgestellt. Bei der Kalkulation der Kosten für Softwareprojekte wird unterschieden, um welche Projektart es sich handelt. Jeder Projektart ist ein eigenes Kapitel gewidmet. Es wird unterschieden zwischen Entwicklungs-, Evolutions-, Wartungs, Sanierungs-, Migrations- und Integrationsprojekten. Im letzten Kapitel wird der Leser für die Beachtung von Risiken innerhalb von Projekten motiviert und in die Kalkulation von Risikoanalysen eingeführt. Seite 5
Verfahren der Aufwandsschätzung für komplexe Softwareprojekte von heute http://www.springerlink.com/content/p1677727q65x6021/?p=b7217639964d467eba666b91193a603f&pi =4 Quelle: Informatik-Spektrum; Volume 31, Number 1 Autor: Klaus Jantzen Datum: Februar 2008 In diesen Artikel werden aktuelle Verfahren zur Aufwandsschätzung vorgestellt und untersucht. Zunächst werden wichtige Begriffe wie Softwareaufwand, Projektaufwand, Dauer und Kosten genau erläutert. Es werden die Charakteristiken eines Softwareprojekts vorgestellt, die große Einflüsse auf den Aufwand des Projekts haben. Dies sind beispielsweise der Entwicklungsprozess, die Entwicklungsmethode und die Projektrisiken. Danach werden die Schätzverfahren IFPUG Function-Point-Analysis, COSMIC-FFP, COCOMO II, ObjectMetrix und Aufwandschätzungen mit Use- Case-Points ausführlich erklärt und auf ihre Eignung als Schätzverfahren untersucht. Die Ergebnisse der Untersuchung sind in einer Tabelle übersichtlich zusammengefasst. Kapitel Software-Aufwandsschätzung aus dem Buch Software Engineering I http://www.ifi.uzh.ch/req/ftp/se_i/kapitel_05.pdf Quelle: Software Engineering I Autor: Martin Glinz Datum: k. A. Dieses Buchkapitel enthält einen kurzweiligen Überblick zur Softwareaufwandsschätzung. Die verschiedenen Verfahren werden kurz und übersichtlich vorgestellt, so dass ein grober Vergleich möglich wird. Weiterhin ist eine Liste mit weiterführender Literatur enthalten. Function-Point-Analyse: Ein Praxishandbuch Verlag: D-Punkt Verlag; 1. Auflage Autor: Benjamin Poensgen, Bertram Bock Datum: September 2005 Seite 6
Dieses Buch definiert zunächst den Begriff der Metrik für die Softwareentwicklung. Danach wird die Function-Point-Analyse sehr detailliert erklärt und erläutert, wie sie in der Praxis zu verwenden ist. Schließlich wird der Nutzen der Function-Point-Analyse erläutert und wie man sie im Produktmanagement einsetzen kann. Am Ende des Buches wird die Frage geklärt, warum die Function-Point-Analyse so wenig Verbreitung findet und wie dies geändert werden kann. Function-Point Analysis - Theorie und Praxis: Die Grundlage für modernes Softwaremanagement Verlag: Expert-Verlag; 2. Auflage Autor: Robert Hürten Datum: November 2004 Aus der Beschreibung zum Buch: Bei der Neu- und Weiterentwicklung von Software kommt es für viele Softwareunternehmen nicht nur darauf an, ein qualitativ hochwertiges Produkt zu erstellen, sondern auch dessen Entwicklungsdauer und -kosten zu optimieren. Mit Hilfe der Function- Point-Analyse (FPA) kann der Umfang einer zu erstellenden Anwendung schon zu einem frühen Zeitpunkt der Entwicklung abgeschätzt werden. Darüber hinaus eignet sich die FPA als objektive Methode für Benchmarking sowohl innerhalb des Unternehmens als auch auf nationaler oder internationaler Ebene. Das Buch bietet zunächst eine Einführung in die Function-Point-Analyse und die Grundprinzipien des Verfahrens. Darauf aufbauend werden die Regeln für die Messung von Function Points und die Durchführung einer FPA dargelegt. Anhand eines Anwendungsbeispiels dem Outlook-Adressbuch werden konkrete Tipps für die Zählpraxis gegeben und Vorgehensalternativen aufgezeigt. Beschrieben wird das praktische Vorgehen im betrieblichen Alltag (z.b. Interviewtechnik, Dokumentation der Analyseergebnisse) und es wird im Detail auf die Aufwandsschätzung mit Function Points eingegangen. Auch Alternativen zur FPA werden aufgezeigt. Software Cost Estimation with COCOMO II Verlag: Prentice Hall International; 2. Auflage Autor: Barry Boehm, Ellis Harrowitz Datum: 9. August 2000 Seite 7
Mit diesem Werk ist das Kostenmodell COCOMO II der Öffentlichkeit bekannt geworden. Anhand von zwei realen Projekten, zum einen die Entwicklung eines Transaktionsmonitors und zum anderen ein Radarsystem, wird COCOMO II umfassend erklärt. Schließlich wird über Zukunftsaussichten spekuliert. Software Project Cost Estimates Using COCOMO http://www.codeproject.com/kb/architecture/cocomo2.aspx Quelle: CodeProject Autor: Stan1964 Datum: 10. Januar 2005 In diesem Artikel wird das Schätzverfahren COCOMO II mit Hilfe eines Beispielprojekts erklärt. Zunächst wird das Beispielprojekt erläutert. Es folgt eine Einführung in COCOMO II und die Schätzung des Projekts. Softwaresystemmaße am Beispiel von COCOMO II http://www4.informatik.tu-muenchen.de/misc/perlen/perlen-folien/cocomo-schaetz.pdf Quelle: Fakultät für Informatik, TU München Autor: Dr. Bernhard Schätz Datum: 05. November 2002 Diese Folien führen in COCOMO II ein. Zunächst werden allgemein die Grundlagen der Softwareschätzung vermittelt und die Function-Point-Methode erläutert. Danach wird das Schätzverfahren COCOMO II erklärt. Es wird festgestellt, dass das Ergebnis der Schätzung stark von dem zu erstellenden System und vom dem Unternehmen abhängt. Seite 8
Delphi-Methode http://imihome.imi.uni-karlsruhe.de/ndelphi_methode_b.html Quelle: Universität Karlsruhe Autor: Martin Volkmann Datum: 26. September 2000 Auf dieser Webseite wird die Delphi-Methode, die eine Form der Expertenschätzung ist, ohne Bezug auf die Softwareentwicklung erklärt. Sie lässt sich in vielen Fachbereichen anwenden, um Entwicklungstrends und Zukunftsereignisse abzuschätzen. Es werden die Voraussetzungen, die Durchführung und mögliche Varianten dieser Methode vorgestellt. Weiterhin werden die Vorteile und die Nachteile diskutiert. Seite 9
Impressum Autor Tobias Gröger E-Mail: groeger@softwareforen.de Feedback Uns interessiert Ihre Meinung! Haben Sie Fragen, Anregungen oder Anlass zur Kritik? Bitte senden Sie Ihre Kommentare an: Sven Seiffert Telefon: +49 (0) 341 124 55 60 E-Mail: seiffert@softwareforen.de Abmeldung Sie wollen dieses Dokument in Zukunft nicht mehr empfangen? Senden Sie uns einfach eine E-Mail mit einer kurzen Nachricht an: info@softwareforen.de Zugangsdaten für www.softwareforen.de Sehr gern richten wir für Sie Zugangsdaten für unseren passwortgeschützten Bereich "Wissen" ein (für unsere Partnerunternehmen; für andere Unternehmen sind Probezugänge möglich). Senden Sie uns einfach eine E-Mail mit einer kurzen Nachricht an info@softwareforen.de Seite 10
Seite 11 Softwareforen Leipzig GmbH Querstraße 16 04103 Leipzig T +49 (0)341 / 1 24 55-0 F +49 (0)341 / 1 24 55-99 E info@softwareforen.de I www.softwareforen.de