Einführung in die Wirtschaftsinformatik Schätzmethoden Prof. Dr. Volker Herwig

Ähnliche Dokumente
Englisch-Grundwortschatz

Einkommensaufbau mit FFI:

Wer bin ich - und wenn ja wie viele?: Eine philosophische Reise. Click here if your download doesn"t start automatically

+ROLGD\V 1LYHDX$ )HUWLJNHLW+ UYHUVWHKHQ

Handbuch der therapeutischen Seelsorge: Die Seelsorge-Praxis / Gesprächsführung in der Seelsorge (German Edition)

Funktion der Mindestreserve im Bezug auf die Schlüsselzinssätze der EZB (German Edition)

EEX Kundeninformation


There are 10 weeks this summer vacation the weeks beginning: June 23, June 30, July 7, July 14, July 21, Jul 28, Aug 4, Aug 11, Aug 18, Aug 25

Klausur BWL V Investition und Finanzierung (70172)

Englisch. Schreiben. 18. September 2015 HTL. Standardisierte kompetenzorientierte schriftliche Reife- und Diplomprüfung. Name: Klasse/Jahrgang:

Wie man heute die Liebe fürs Leben findet

Was heißt Denken?: Vorlesung Wintersemester 1951/52. [Was bedeutet das alles?] (Reclams Universal-Bibliothek) (German Edition)

Im Fluss der Zeit: Gedanken beim Älterwerden (HERDER spektrum) (German Edition)

Killy Literaturlexikon: Autoren Und Werke Des Deutschsprachigen Kulturraumes 2., Vollstandig Uberarbeitete Auflage (German Edition)

Die Bedeutung neurowissenschaftlicher Erkenntnisse für die Werbung (German Edition)

Benjamin Whorf, Die Sumerer Und Der Einfluss Der Sprache Auf Das Denken (Philippika) (German Edition)

Listening Comprehension: Talking about language learning

WAS IST DER KOMPARATIV: = The comparative

Titelbild1 ANSYS. Customer Portal LogIn

Critical Chain and Scrum

Softwareupdate-Anleitung // AC Porty L Netzteileinschub

Aus FanLiebe zu Tokio Hotel: von Fans fã¼r Fans und ihre Band

BIRTHDAY PRESENTS FOR GRANDMOTHERS

Erfolgreiche Realisierung von grossen Softwareprojekten

Bewertungsbogen. Please find the English version of the evaluation form at the back of this form

miditech 4merge 4-fach MIDI Merger mit :

Preisliste für The Unscrambler X

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

MobiDM-App Handbuch für Windows Mobile

Sagen und Geschichten aus dem oberen Flöhatal im Erzgebirge: Pfaffroda - Neuhausen - Olbernhau - Seiffen (German Edition)

Weather forecast in Accra

Lösungsvorschlag zur Klausur zu Projektorganisation und Management in der Software-Entwicklung

Fachübersetzen - Ein Lehrbuch für Theorie und Praxis

Aufbau eines IT-Servicekataloges am Fallbeispiel einer Schweizer Bank

Der Buddhismus im Vergleich mit dem Evangelium der Bibel: Ist das Leben Leiden? Missionstheologischer Exkurs Christentum- Buddhismus (German Edition)

Qualitätsmanagement im Projekt

Führen durch Entscheiden

Klausur Software-Engineering SS 2005 Iwanowski

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

N N O B O X E N C H E C K. Learn more about (your) Innovation Management and how to make it even better! M A R I A T A G W E R K E R - S T U R M

ICON Switzerland 2015 Praxisbeispiel Connections an der Universität Zürich

Informationswirtschaft 2: Überblick


SDD System Design Document

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Mit Legacy-Systemen in die Zukunft. adviion. in die Zukunft. Dr. Roland Schätzle

Dominik Stockem Datenschutzbeauftragter Microsoft Deutschland GmbH

FACHKUNDE FüR KAUFLEUTE IM GESUNDHEITSWESEN FROM THIEME GEORG VERLAG

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Level 1 German, 2014

Schule mit Erfolg. Englisch Simple present adverbs time Unit Blatt What time is it? 7.50 Uhr Uhr Uhr Uhr 20.

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS Ohne Gewähr -

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08

CABLE TESTER. Manual DN-14003

DOWNLOAD. Englisch in Bewegung. Spiele für den Englischunterricht. Britta Buschmann. Downloadauszug aus dem Originaltitel:

QS solutions GmbH. präsentiert das Zusammenspiel von. Ihr Partner im Relationship Management

Where are we now? The administration building M 3. Voransicht

Anforderungen, KEFs und Nutzen der Software- Prozessverbesserung

Agile Software Development

Kurzanleitung um Transponder mit einem scemtec TT Reader und der Software UniDemo zu lesen

Installation mit Lizenz-Server verbinden

SMART Newsletter Education Solutions April 2015

Star Trek: die Serien, die Filme, die Darsteller: Interessante Infod, zusammengestellt aus Wikipedia-Seiten (German Edition)

Umfrage zum Informationsbedarf im Requirements Engineering

Inequality Utilitarian and Capabilities Perspectives (and what they may imply for public health)

Ein Stern in dunkler Nacht Die schoensten Weihnachtsgeschichten. Click here if your download doesn"t start automatically

RECHNUNGSWESEN. KOSTENBEWUßTE UND ERGEBNISORIENTIERTE BETRIEBSFüHRUNG. BY MARTIN GERMROTH

Mercedes OM 636: Handbuch und Ersatzteilkatalog (German Edition)

Harry gefangen in der Zeit Begleitmaterialien

Corporate Digital Learning, How to Get It Right. Learning Café

EU nimmt neues Programm Mehr Sicherheit im Internet in Höhe von 55 Millionen für mehr Sicherheit für Kinder im Internet an

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

C++ kurz & gut (German Edition)

DO you come from a big city in Italy? (you)

Sepiola Mockups. Overview. Show notes. Primäre Navigation anklicken um zum gewünschten Mockups zu gehen. Backup usage. Overview.

USB Treiber updaten unter Windows 7/Vista

PONS DIE DREI??? FRAGEZEICHEN, ARCTIC ADVENTURE: ENGLISCH LERNEN MIT JUSTUS, PETER UND BOB

Max und Moritz: Eine Bubengeschichte in Sieben Streichen (German Edition)

Fußballtraining für jeden Tag: Die 365 besten Übungen (German Edition)

p^db=`oj===pìééçêíáåñçêã~íáçå=

Magic Figures. We note that in the example magic square the numbers 1 9 are used. All three rows (columns) have equal sum, called the magic number.

Einsatz einer Dokumentenverwaltungslösung zur Optimierung der unternehmensübergreifenden Kommunikation

Warum nehme ich nicht ab?: Die 100 größten Irrtümer über Essen, Schlanksein und Diäten - Der Bestseller jetzt neu!

Agile Software Verteilung

Accelerating Information Technology Innovation

German Section 28 - Online activitites

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

Die Kunst des Programmierens...

Zum Download von ArcGIS 10, 10.1 oder 10.2 die folgende Webseite aufrufen (Serviceportal der TU):

Auswertungsbericht Lehrveranstaltungsbewertung Mobile Communication and Ad Hoc Networks

Software-Aufwandschätzung

KIP Druckerstatus Benutzerhandbuch KIP Druckerstatus Installations- und Benutzerhandbuch

Do s und Don ts von Veränderungen

Flow - der Weg zum Glück: Der Entdecker des Flow-Prinzips erklärt seine Lebensphilosophie (HERDER spektrum) (German Edition)

Contents. Interaction Flow / Process Flow. Structure Maps. Reference Zone. Wireframes / Mock-Up

[Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL

Das Zeitalter der Fünf 3: Götter (German Edition)

UM ALLE DATEN ZU KOPIEREN. ZUNÄCHST die Daten des alten Telefons auf einen Computer kopieren

WP2. Communication and Dissemination. Wirtschafts- und Wissenschaftsförderung im Freistaat Thüringen

Transkript:

Einführung in die Wirtschaftsinformatik Schätzmethoden Prof. Dr. Volker Herwig Prof. Dr. Volker Herwig

Inhalt Hintergrund Schätzmethoden Beispiel - COCOMO Beispiel - Function Point Toolsupport und Hinweise 2

Really? 3

4 Source: Rework (from the inventors of bacecamp)

Projects change during time. Staff not ready when planned Require ments removed Staff deverted to support trade show Unstable functional ity removed Estimation = 20 staff months THE PROJECT Require ments added Less experience d staff than expected Staff deverted to support all project More requirem ents added 5

Kosten eines Softwareprojektes Hardware- und Softwarekosten für Entwicklungs- und Produktionsumgebung (Server, Netzwerk, Betriebssysteme, Datenbanksoftware, Schnittstellenprogramme etc.) Anschaffung, Abschreibung, Betrieb bis regulärer Service beginnt Supportkosten Für die Entwicklungszeit und bis regulärer Service beginnt Schulungskosten Projektteam und künftige Anwender Entwicklungskosten ] Methoden der Kostenschätzung Sonstige Einführungskosten Helpdesk set up, Prozessänderungen etc. 6

Count this, that and drop 8 Minutes Stanford Report, June 14, 2005 'You've got to find what you love,' Jobs says I dropped out of Reed College after the first 6 months, but then stayed around as a drop-in for another 18 months or so before I really quit. So why did I drop out? It started before I was born. My biological mother was a young, unwed college graduate student, and she decided to put me up for adoption. She felt very strongly that I should be adopted by college graduates, so everything was all set for me to be adopted at birth by a lawyer and his wife. Except that when I popped out they decided at the last minute that they really wanted a girl. So my parents, who were on a waiting list, got a call in the middle of the night asking: "We have an unexpected baby boy; do you want him?" They said: "Of course." My biological mother later found out that my mother had never graduated from college and that my father had never graduated from high school. She refused to sign the final adoption papers. She only relented a few months later when my parents promised that I would someday go to college. And 17 years later I did go to college. But I naively chose a college that was almost as expensive as Stanford, and all of my working-class parents' savings were being spent on my college tuition. After six months, I couldn't see the value in it. I had no idea what I wanted to do with my life and no idea how college was going to help me figure it out. And here I was spending all of the money my parents had saved their entire life. So I decided to drop out and trust that it would all work out OK. It was pretty scary at the time, but looking back it was one of the best decisions I ever made. The minute I dropped out I could stop taking the required classes that didn't interest me, and begin dropping in on the ones that looked interesting. It wasn't all romantic. I didn't have a dorm room, so I slept on the floor in friends' rooms, I returned coke bottles for the 5 deposits to buy food with, and I would walk the 7 miles across town every Sunday night to get one good meal a week at the Hare Krishna temple. I loved it. And much of what I stumbled into by following my curiosity and intuition turned out to be priceless later on. Let me give you one example: Reed College at that time offered perhaps the best calligraphy instruction in the country. Throughout the campus every poster, every label on every drawer, was beautifully hand calligraphed. Because I had dropped out and didn't have to take the normal classes, I decided to take a calligraphy class to learn how to do this. I learned about serif and san serif typefaces, about varying the amount of space between different letter combinations, about what makes great typography great. It was beautiful, historical, artistically subtle in a way that science can't capture, and I found it fascinating. None of this had even a hope of any practical application in my life. But ten years later, when we were designing the first Macintosh computer, it all came back to me. And we designed it all into the Mac. It was the first computer with beautiful typography. If I had never dropped in on that single course in college, the Mac would have never had multiple typefaces or proportionally spaced fonts. And since Windows just copied the Mac, its likely that no personal computer would have them. If I had never dropped out, I would have never dropped in on this calligraphy class, and personal computers might not have the wonderful typography that they do. Of course it was impossible to connect the dots looking forward when I was in college. But it was very, very clear looking backwards ten years later. Again, you can't connect the dots looking forward; you can only connect them looking backwards. So you have to trust that the dots will somehow connect in your future. You have to trust in something your gut, destiny, life, karma, whatever. This approach has never let me down, and it has made all the difference in my life. 7

Results WS0809 This: 4 That: 16 Drop: 10 (incl. dropped etc.) WS0809 This: 4 That: 16 Drop: 10 (incl. dropped etc.) à 30 8

Painted probability distribution X y plot 9

Schätzungen sind i.d.r. zu optimistisch 10

Single Estimations are associated with a probability Probability of Success 90% 75% 50% 25% 0% Estimated Completion Time 24 weeks 22 weeks 20 weeks 18 weeks 16 weeks Are you giving a probability with your estimations? Maybe you should... 11

Kostenschätzung Die Kostenschätzung spielt in der eine Planung zentrale Rolle, da sie die für Budget und Termine notwendigen Angaben liefert. Drei Kernfragen werden beantwortet: 1) Wie gross ist der Arbeitsaufwand/Arbeit? (bspw. Manntage) 2.500 Manntage 2) Wie viel Zeit wird benötigt? 250Tage (10 Entwickler) 3) Welches sind die totalen Kosten? 1,2 Mio (2.500MT*8h*60 /h) Entwickler 0,3 Mio Hardware + Software. Mehr Ressourcen heisst notw. nicht weniger Zeit 12

Wer ist verantwortlich für die Schätzung im Projekt? Projektleiter ist verantwortlich Führen Schätzung allein aus oder mit Beratung durch Experten (Entwicklern, Administratoren etc.) Experten einbeziehen: Studien zeige, dass die Schätzungen besser ausfallen, wenn Experten eingebunden sind Motivation der beteiligten Experten selbstgesteckte Ziele Einmalige Schätzung Schätzung ist fortlaufend notwendig, um Abweichungen zu korrigieren. 13

Overestimation/Underestimation Arguments against overestimation Parkinson s Law - people with additional time will find work to do Goldratt s (1997) Student Syndrome work will get pushed out until later in the project Arguments against underestimation Reduced effectiveness of project plans Statistical reduced time of on-time completion Poor technical foundation (worse effects) Destructive late project dynamics (more status meetings, frequent re-estimations, apologizing, interim releases, discussions about re-priorizations) 14

Standish Group Chaos Study 15

Benefits of accurate estimations Improved status visibility Comparison planned progress vs. actual progress Project tracking Higher quality Avoid stress-related quality issues 40% of all software errors caused by stress (Glass 1994) Better coordination with non-software functions Coordination with other business functions (staff training, campaigns, fares etc.) Better budgeting obvious J incl. forecasting Increased credibility of development team obvious Early risk information Reaction time increases, less impact 16

Top-down und Bottom-up Ansatz Top-down Aufwand für das gesamte Projekt schätzen und den so ermittelten Wert auf die einzelnen Aktivitäten verteilen Bottom-up Aufwand für jede Aktivität schätzen und den Aufwand für das gesamte Projekt durch Summieren errechnen! Gefahr, dass Schätzung nicht genügend auf Details eingeht! Gefahr, dass projektübergreifende Aktivitäten vergessen werden 17

Top Down Ansatz - Beispiel Annahme: Verteilung des Gesamtaufwandes eines Projektes auf die Phases ist relativ stabil. Phase Prozentsatz Aufwand (MT) Analyse 6% 10,8 Entwurf 49% 88,2 Implementierung 30 % 54 Test 10% 18 Inbetriebsetzung 5% 9 Summe 100% 180 Hinweise: Kleine Projekte: 1/3 Konzeption 1/3 Realisierung 1/3 Test/Finalisierung Große Projekte: Konzeption = Summe (Realisierung, Test/Finalisierung) Zuschläge: Unvollständige Anforderungen -10-20% Projektmanagement 15-20% 18

Buttom Up Ansatz - Basis Herunterbrechen in Arbeitspakete 1. Unterteilen der Aufgabe in Arbeitspakete. Zwei Ansätze, die kombinierbar sind: Inhaltliche Unterteilung der Aufgabe ( Ergebnis benennen! ) Requirements User Interface, Business Logic, Daten Speicherung Zeitliche Unterteilung der Aufgabe bspw. auf Basis eines Vorgehensmodells Analyse Entwurf Implementierung Analyse: Erstellung Requirements, Kick-Off meeting Entwurf: Fachkonzept, Design Modell, Datenmodell Test Inbetrieb setzung 19

Buttom Up Ansatz - Basis Schätzen des Aufwands/Arbeit und Errechnung der Kosten 2. Schätzung der notwendigen Arbeit (Aufwandsschätzung) Ermittlung der geschätzten Arbeit in Personentagen (PT) oder in Personenstunden (Ph) 3. Errechnung der Kosten Kosten = Arbeit (Ph) x Stundensatz (h) Hinweis: Dauer für die Erledigung eines APs stimmt i.a. nicht mit der Arbeit (geschätzte PTs) überein Arbeit = 3 PT, 1 Vollzeitperson ] Dauer = 3 Tage Arbeit = 3 PT, 3 Vollzeitpersonen ] Dauer = 1 Tag Arbeit = 3 PT, 1 Teilzeitperson (50%) ] Dauer = 6 Tage 20

Einflußfaktoren und Probleme Einflussfaktoren Komplexität der Arbeitspakete Verfügbare Hilfsmittel Anzahl der einzusetzenden Personen Verfügbarkeit der Mitarbeiter Abhängigkeiten von anderen Arbeitspaketen, z.b. benötigte Zwischenergebnisse Häufige Probleme Projektmitarbeiter stehen noch nicht fest Unterschiedliche Produktivität je Mitarbeiter Grad der Verfügbarkeit der einzelnen Mitarbeiter Unklarheiten im technischen und organisatorischen Umfeld 21

Einflußfaktoren und Probleme Einflussfaktoren Komplexität der Arbeitspakete Verfügbare Hilfsmittel Anzahl der einzusetzenden Personen Verfügbarkeit der Mitarbeiter Abhängigkeiten von anderen Arbeitspaketen, z.b. benötigte Zwischenergebnisse Häufige Probleme Projektmitarbeiter stehen noch nicht fest Unterschiedliche Produktivität je Mitarbeiter Grad der Verfügbarkeit der einzelnen Mitarbeiter Empfehlung Unklarheiten im technischen und organisatorischen Umfeld Puffer 10-20% bei konservativer Schätzung Einbindung von Experten, Projektmitarbeitern Review durch erfahrenen Kollegen wir geben Ihnen 20% weniger Ursachenforschung bei Abweichungen Lernen für die Zukunft 22

Mythos Wenn wir im Zeitplan zurückliegen, können wir einfach mehr Entwickler einstellen, um die Zeit wieder aufzuholen. Realität Fehlende Zeit ist nur sehr begrenzt durch eine höhere Mitarbeiterzahl kompensierbar. 23

Fehlerursachen Einarbeitung Installation von Softwareprodukten Projektplanung (insbesondere Updates der Schätzung und des Projektplans) Abstimmungen, Meetings Ausfälle (Mitarbeiter, Rechner, Software) Usability Maßnahmen und Tests bezüglich Ausfallsicherheit Zeit für Korrektur nach Tests Oberfläche zur Administration und Konfiguration Installationssoftware, Probeinstallation Konfigurationsmanagement und Probleme damit Probleme mit den eingesetzten Technologien, insbesondere weniger vertrauten Hilfefunktion Dokumentation der Software Wartung ProgrammiererInnen programmieren nicht 100% ihrer Zeit! Eine Studie der Bell Labs ergab, dass der im Hinblick auf Codeerzeugung produktive Anteil der Arbeit eines Programmierers nur 13% beträgt. 24

Categories of estimation errors 1. Inaccurate information about the project being estimated 2. Inaccurate information about the capabilities of the organization that will perform the project 3. Too much chaos in the project to support accurate estimation (that is trying to estimate a moving target) 4. Inaccuracies arising from the estimation itself Please give examples! 25

Verteilung der Arbeitszeit von Entwicklern ProgrammiererInnen programmieren nicht 100% ihrer Zeit! Eine Studie der Bell Labs ergab, dass der im Hinblick auf Codeerzeugung produktive Anteil der Arbeit eines Programmierers nur 13% beträgt. Programme schreiben Programme und Handbücher lesen Arbeitsbezogene Kommunikation Persönliches Ausbildung Post Diverses 13% 16% 32% 13% 6% 5% 15% Source: Glinz, M.: Software Engineering I: Skript zur Vorlesung an der Universität Zürich, 1999. 26

Prinzipien Schätzung Prinzipien Keine großen Risiken»Min-mid-max-Methode«à Einschränkungen & Voraussetzungen definieren oder Aufwandspunkt untergliedern»murphy s Law«es wird tendenziell unterschätzt Min-Max-Ansatz Min = so schnell geht es, wenn alles glatt geht Mid =so lange dauert es in einem durchschnittlichen Fall (gemäß früherer Projekterfahrung) Max =so viel Aufwand kostet es»maximal«, d. h. in 90% aller Fälle sollte es innerhalb dieser Anzahl von PT fertig werden min mid max Schätz Leistungen (in PT) 2 3 5 4 Implementierung + Test der Schnittstelle zur Produktdatenbank 27

Activities commonly missing during estimation Functional and (non-functional) requirements missing like: Setup/installation program Data conversation utility Glue code (integration of third party software) Help system Deployment modes Interfaces with external systems Software Development activities commonly missed like: Ramp-up time for new team members Mentoring of new team members Management coordination Data conversation Installation Requirements clarification Creation of test data Participation in technical reviews Non-Software Development activities commonly missed like: Vacation/holidays/sick days/trainings Company meetings/department meetings Troubleshooting 28

Inhalt Hintergrund Schätzmethoden Beispiel - COCOMO Beispiel - Function Point Toolsupport und Hinweise 29

Schätzmethoden Schätzmehoden Experte Empirisch Empirisch Expert Empirisch Faktoren- Kenn- Parame- Experten- Vergleichs- u.gewichzahlen- trische beurteilung methoden tungsmethoden Methoden methoden Beispiele: Expertenbefragung Function Point Prozentsatzmethode; Produktivitätsmethoden COCOMO Formel mit Gewichtung wie #E/A Elemente, #Requiremnts 30

Empirische Schätzmethoden Mit Erfahrungen der Vergangenheit werden die bekannten Informationen bewertet und in Arbeit/Kosten umgerechnet. Vorraussetzung: Genaue und detaillierte Wissensbasis aus vergangenen Projekten Genauer und detailertes Wissen über die Arbeitspakete Empirsch-algorithmsche Schätzverfahren stat. Analyse historischer Daten Formeln verwenden Parameter, die das Produkt charakterisieren und Parameter, die die Bedingungen der Entwicklungsumgebung beschreiben Genauigkeit der Schätzung abhängig von...... der Genauigkeit der Eingangsgrössen (garbage-in-garbage-out)... der Qualität der Kalibrierung (Anpassung an die jeweilige Entwicklungsumgebung) 31

Expertenbeurteilung Verfahren: Aufwand wird auf Basis des Aufwandes eines ähnlichen früheren Projektes geschätzt Unterschiede werden so gut wie möglich berücksichtigt. D Einfach und billig D Kann sehr ungenau sein (Die Qualität der Schätzung ist von der Erfahrung der Schätzer und der Qualität der Erfahrungs-daten abhängig) 32

Expertenschätzung Delphi Methode Systematisches mehrstufiges Befragungssystem mit mehreren Experten und einem Moderator Verfahren: je Arbeitspaket gibt jeder Experte einen Schätzwert ab Mittelwert, falls alle Schätzwerte in einer bestimmten Bandbreite (Mittelwert + 20%) Sonst: Argumente austauschen und neue individuelle Schätzung Zuschläge zu den Einzelschätzungen: Plus 10-15 % = Aufwand für Projektmanagement Variationen: 3-Experten-Konzept (oder Mini-Experten-Team) 3 optimistische, 3 realistische und 3 pessimistische Schätzungen Abklärungen durchführen, bis die Ergebnisse in jeder Kategorie übereinstimmen Daraus Schätzwert gemeinsam ableiten (z.b. s = (o+4r+p)/6) Source: Michael Häder (Hrsg.): Delphi-Befragungen. Ein Arbeitsbuch. Westdt. Verlag, Wiesbaden 2002. 33

Expertenschätzung Delphi Methode (Ausreisser werden eliminiert) C Liefert zuverlässigere Schätzungen als Expertenmethode D Höherer Schätzaufwand als Expertenmethode Systematisches mehrstufiges Befragungssystem mit mehreren Experten und einem Moderator Verfahren: je Arbeitspaket gibt jeder Experte einen Schätzwert ab Mittelwert, falls alle Schätzwerte in einer bestimmten Bandbreite (Mittelwert + 20%) Sonst: Argumente austauschen und neue individuelle Schätzung Zuschläge zu den Einzelschätzungen: Plus 10-15 % = Aufwand für Projektmanagement Variationen: 3-Experten-Konzept (oder Mini-Experten-Team) 3 optimistische, 3 realistische und 3 pessimistische Schätzungen Abklärungen durchführen, bis die Ergebnisse in jeder Kategorie übereinstimmen Daraus Schätzwert gemeinsam ableiten (z.b. s = (o+4r+p)/6) Source: Michael Häder (Hrsg.): Delphi-Befragungen. Ein Arbeitsbuch. Westdt. Verlag, Wiesbaden 2002. 34

Inhalt Hintergrund Schätzmethoden Beispiel - COCOMO Beispiel - Function Point Toolsupport und Hinweise 35

COCOMO (Constructive Cost Model) Kostenschätzverfahren von Barry W. Boehm (1981) Algorithmisch-empirisches Schätzverfahren Kerngröße ist die erwartete Anzahl der Codezeilen (K)DSI : kilo delivered source instructions (K)LOC : kilo source lines of code Abschätzung dieser Größe wird von COCOMO nicht behandelt Abhängig von Programmiersprache Ansätze Erfahrungswerte aus früheren Projekten Ermittlung der Codezeilen aus Function Points, Object Points Grobeinteilung in drei Projekttypen organic (organisch) semidetached (teileingebettet) embedded (eingebettet) Einbeziehung weiterer Kostenfaktoren (Cost Driver) 36

Language Levels Durch Language Levels wird die Anzahl Programmzeilen über verschiedene Sprachen hinweg vergleichbar. Beispiel: Funktion lässt sich in Java durch 3 Zeilen beschreiben, in Visual C++ benötige sie 4,75 Zeilen. Assembler 1 C 2.5 PASCAL 3.5 Modula 2 4.5 LISP 5 PROLOG 5 C++ 6 Java 6 Visual C++ 9.5 SMALLTALK 15 ABAP/4 20 SQL 25 EXCEL 5 57...... 37

COCOMO Stufen der Abschätzung Basic Model: Aufwand in Personenmonaten und benötigte Kalenderzeit werden aus Basis der Größe des Produktes (# der Codezeilen) berechnet Intermediate Model: Neben dem Basis Model werden spezielle Anforderungen und Randbedingunge (Cost Driver Attributes) berücksichtigt. Detailed Model: Im Unterschied zum Intermediate Model werden hier die Cost Driver Attributes auf einzelne Phasen oder einzelne Subsysteme angewendet. 38

Basic COCOMO Entwicklungsaufwand [in MM] = a * Programmgrösse [in KDSC] b Entwicklungszeit [in M] = c * Aufwand d Einfache Applikationen ( Organic Mode Projects ) Programmsysteme (Semi-detached Mode Projects ) Eingebettete Systeme ( Embedded Mode Projects ) a b c d 2.4 1.05 2.5 0.38 3.0 1.12 2.5 0.35 3.6 1.2 2.5 0.32 39

COCOMO - Entwicklungsaufwand zeit abhängig von der Produktgrösse 4000 3500 Geschätzter Aufwand [MM] 3000 2500 2000 1500 1000 500 0 embedded semi-detached organic Produktgrösse [KDSI] 40

Intermediate/Detailed COCOMO Berücksichtigung der Cost driver Attributes auf Basis der Tabelle von Boehm. 1.Den Entwicklungsmodus des Projekts identifizieren 2.Die Grösse des Projekts (in Anzahl Codezeilen) schätzen 3.Die 15 Cost Driver Attributes bestimmen 4.Den Projektaufwand in Personenmonaten und die Projektdauer in Monaten berechnen Aufwand [in Personenmonaten]= K1 *... * K15 * Aufwand aus Basic COCOMO Cost Driver Attributes à siehe Boehm s Cost-Driver-Attributes-Tabelle 41

Intermediate/Detailed COCOMO Berücksichtigung der Cost driver Attributes auf Basis der Tabelle von Boehm. 1.Den Entwicklungsmodus des Projekts identifizieren 2.Die Grösse des Projekts (in Anzahl Codezeilen) schätzen 3.Die 15 Cost Driver Attributes bestimmen 4.Den Projektaufwand in Personenmonaten und die Projektdauer in Monaten berechnen Aufwand [in Personenmonaten]= C Transparent ( man versteht das Modell ) D Modell ist anfällig auf falsches Zuweisen des Entwicklungsmodus D Cost Driver Attributes und insbesondere die Software-Grösse müssen gut geschätzt werden K1 *... * K15 * Aufwand aus Basic COCOMO Cost Driver Attributes à siehe Boehm s Cost-Driver-Attributes-Tabelle 42

Boehms Cost-Driver-Attributes-Tabelle 43

Aufgabe: Sortieren der Kostentreiber in Kategorien Vier Kategorien : Produktmerkmale (3) Computermerkmale (4) Personalmerkmale (5) Projektmerkmale (3) 44

Aufgabe: KLOC (Kilo Lines of Code) - ein adäquates Mass für die Softwaregrösse? Eine Kostenschätzung mit Boehm s COCOMO setzt eine Schätzung der Softwaregrösse in Anzahl Zeilen voraus. Auch in anderem Zusammenhang wird die Anzahl Zeilen als Mass für die Softwaregrösse verwendet. Beispielsweise wird die Produktivität häufig durch die Anzahl Zeile pro Tag ausgedrückt oder die Zuverlässigkeit einer Software durch die Anzahl Fehler pro Tausend Programmzeilen bezeichnet. Ist aber die Anzahl Zeilen ein adäquates Mass für die Softwaregrösse? Welche Probleme entstehen bei Verwendung von KLOC als Mass für die Softwaregrösse? Was könnte man dagegen tun? Gibt es Probleme bei der Verwendung von KLOC bei der Aufwandschätzung? Bitte diskutieren Sie diese Fragen in einer Gruppe und stellen sie die Ergebnisse vor. 45

Aufgabe Ideen zur Lösung Generelle Probleme Kann verschieden gemessen werden (mit oder ohne Kommentare, Leerzeilen,...) Belohnt geschwätzigen und bestraft konzisen Programmierstil Zieht Komplexität nicht in Betracht Ist abhängig von der verwendeten Programmiersprache... Problem bei Kostenschätzung Kann frühestens geschätzt werden, wenn Systementwurf vorhanden ist... 46

Inhalt Hintergrund Schätzmethoden Beispiel - COCOMO Beispiel - Function Point Toolsupport und Hinweise 47

Function Points Entwickelt in den 70er Jahren von A.J. Albrecht (IBM) Seitdem Weiterentwicklung von verschiedenen Autoren und Gremien (ISO anerkannt) Grundidee: Größe eines Informationssystems lässt sich durch den Umfang seiner Funktionalität messen Function Points Vorteil unabhängig von der Realisierung Ermittlung möglich, wenn Anforderungen vorliegen Nachteil Weniger Anschaulich als Lines of Code (LoC) Fokusiert auf Informationssysteme 48

Berechnung der Function Points A function point is a unit of measurement to express the amount of business functionality an information system provides to a user. 1. Schätzung der Function Points für das Produkt - Beispiel: Intranet hat 355 FP. Herunterbrechen der Funktionalität Schätzung der FP per Funktionalität Abhängig von Programmiersprache Beispiel: Dokumentationsumfang: Anzahl Seiten = FP 1.15 Anzahl benötigter Test Cases = FP 1.2 Anzahl benötigter Personen für die Wartung der Software = FP/750 2. Schätzung des Aufwands pro Function Point Source: T. Capers Jones, Estimating Software Costs, McGraw-Hill, 1998. 49

Function Point Abhängigkeit von der Programmiersprache 1 Function Point = 320 Statements in Basic Assembler 1 Function Point = 213 Statements in Makro Assembler 1 Function Point = 128 Statements in C 1 Function Point = 107 Statements in COBOL 1 Function Point = 107 Statements in FORTRAN 1 Function Point = 80 Statements in PL/I 1 Function Point = 71 Statements in ADA83 1 Function Point = 53 Statements in C++ 1 Function Point = 15 Statements in Smalltalk Allgemein: für prozedurale Sprachen: 1 FP = 100 Statements für objekt-orientierte Sprachen:1 FP = 20 Statements 50

Berechnung der Function Points - Komplexität Die Funktionen (Dateneingaben, Datenausgaben, Anfragen, externe Schnittstellen und interne Datenbestände) des Informationssystems identifizieren und die Komplexität jeder identifizierten Funktion bestimmen. Gewichtungsfaktoren Komplexität niedrig Komplexität mitttel Komplexität hoch Dateneingaben 3 4 6 Datenausgaben 4 5 7 Anfragen 3 4 6 Externe Schnittstellen 5 7 10 Interne Datenbestände 7 10 15 à Unadjusted Function Point Count 51

Function Point Abhängigkeit von der Komplexität Berechnung der Technischen Komplexität: Jeder der folgenden 14 Faktoren wird mit einem Wert zwischen 0 (nicht vorhanden, kein Einfluss) und 5 (starker Einfluss) bewertet. 1. Datenkommunikation 2. Verteilte Funktionen 3. Leistungsanforderungen 4. Belastung der Hardware 5. Verlangte Transaktionsrate 6. Online-Dateneingabe 7. Effiziente Benutzerschnittstelle 8. Online-Datenänderungen 9. Komplexe Verarbeitungen 10. Wiederverwendbarkeit 11. Einfache Installation 12. Einfache Benutzbarkeit 13. Installation an mehreren Orten 14. Änder- und Erweiterbarkeit Die Summe der Faktoren ergibt die Technische Komplexität. 52

Berechnung der Function Points - Korrekturfaktoren Den Unadjusted Function Point Count mit einem Korrekturfaktor multiplizieren, der die technische Komplexität des Systems reflektiert. Der Korrekturfaktor wird wie folgt berechnet: Korrekturfaktor = 0.65 + 0.01 * Technische Komplexität Berechnung à siehe nächste Folie (Der Korrekturfaktor kann Werte zwischen 0.65 und 1.35 annehmen.) à Adjusted Function Point Count = Korrekturfaktor * Unadjusted Function Point Count 53

Function Points Aufwand 1. Schätzung der Function Points für das Produkt 2. Schätzung des Aufwands pro Function Point Faustregeln: Kalenderzeit [Monate] = FP 0.4 Anzahl Mitarbeiter = FP/150 Aufwand [Personenmonate] = Kalenderzeit * Anzahl Mitarbeiter Source: T. Capers Jones, Estimating Software Costs, McGraw-Hill, 1998. 54

Inhalt Hintergrund Schätzmethoden Beispiel - COCOMO Beispiel - Function Point Toolsupport und Hinweise 55

Parkinson s Law WORK EXPANDS SO AS TO FILL THE TIME AVAILABLE FOR ITS COMPLETION Das Projekt kostet so viel wie Arbeitskapazität vorhanden ist. Falls also 5 Personen für 12 Monate verfügbar sind, so beträgt der geschätzte Aufwand 60 Personenmonate. Source: C. Northcote Parkinson, Parkinson's Law: The Pursuit of Progress, London, John Murray (1958) 56

Toolunterstützung Features Schätzungen beruhen auf einer Wissensbasis, die Daten aus vielen Projekten beinhaltet Schätzen Grösse, Aufwand, Anzahl Personen je Aktivität, totale Kosten und Zeitplan mit Hilfe von Benutzerangaben zum geplanten System und mit Hilfe der Wissensbasis Bieten Schnittstellen zu Projekmanagement Tools (z.b. MS Project) und anderen Programmen an Produkte: REVIC, SLIM, spqr/20, Checkpoint, Knowledge Plan,... Trends: Integration von in Projektmanagement Tools 57

How does a project get to be late?... One day at a time. Source: Brooks, F. P.: The mythical man-month: Essays on Software Engineering, Addison Wesley, 1975. 58

Große Projekte Beobachtungen bei grossen Projekten: 1. Estimates of the length of an activity, made and revised carefully every two weeks before the activity start, do not significally change as the start time draws near, no matter how wrong they ultimately turn out to be. 2. During the activity, overestimates of duration come steadily down as the activity proceeds. 3. Underestimates do not change significantly during the activity until about three weeks before the scheduled completion. 59

Der Aufwand für die Erstellung von Software steigt mit wachsender Produktgrösse überproportional an. 60

im Kern Be accurate. Be conservative. Base the estimate on solid historical data. Include quality, since software quality affects schedules and costs. Include paper documents, since they can cost more than source code. Include effects of creeping requirements. Do not exaggerate the effects of tools, languages, or methods. Get below phases to activity-level cost estimates. Be prepared to defend the assumptions of your estimate. Source: T. Capers Jones, Estimating Software Costs, McGraw-Hill, 1998. 61

Weiterführende Literatur COCOMO B.W. Boehm, Software Engineering Economics, Prentice-Hall, 1981. (Standardreferenz für COCOMO) E. Horowitz und andere, Software Cost Estimation with COCOMO II, Prentice-Hall, 2000. sunset.usc.edu/research/cocomoii/index.html Function Points www.ifpug.org (International Function Point User Group, im Function Point Counting Practices Manual der IFPUG sind detaillierte Zählregeln für Function Points beschriebenen) www.spr.com (Software Productivity Research Inc., Unternehmen von Capers Jones) 62

Kontakt Prof. Dr. Volker Herwig Professor Wirtschaftsinformatik Fachbereich Gebäudetechnik und Informatik Studiengang Angewandte Informatik Tel.: +49 361 6700 678 Fax: +49 361 6700 643 Raum: 4.2.25 E-Mail: volker.herwig@fh-erfurt.de Web: http://www.ai.fh-erfurt.de 63