4 Aufwandsschätzung (CoCoMo) Flashcards

1
Q

Produktivität in Software-Projekten

  1. Was ist Produktivität allgemein (Formel)?
  2. Was ist Arbeitsproduktivität?
  3. Was ist SW-Produktivität?
A
  1. Allgemein: Output / Input
  2. Arbeitsproduktivität: Output / Zeiteinheit (z.B. Artikel / Stunde)
  3. Was macht ein „Softwerker“? Kommunizieren, Dokumentieren, Denken, Programmieren, Administrieren, (Sich) informieren. Softwareentwicklung ist Wissensarbeit!

Erfahrungswert: 350 LOC / PM (~ 2,3 LOC / h)

SW-Produktivität = Output / Geleistete Stunden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wie verhält sich Produktivität unter Druck?

A

Wichtig: Menschen denken nicht schneller unter Zeitdruck!

Bereich I: Zeitverschwendung wird vermieden, Konzentration auf das wesentliche, Überstunden

Bereich II: Überdruss, gestörte Kommunikation, Krankheit

Krankheit

Bereich III: (Innere) Kündigung, (Externe) Bewerbungen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Produktivität in Abhängigkeit der Projektgröße

A

Kommunikation braucht Zeit!

Brooks Gesetz: Das Hinzufügen von Arbeitskräften im späteren Projektverlauf verlängert das Projekt nur noch mehr!

Einzelne Entwicklerproduktivität wird wesentlich gemindert durch Teamgröße N und vor allem Vernetztheit γ.

Pmax : Maximale Entwicklerproduktivität

v : Produktivitätsminderung pro Kommunikationspfad

N : Teamgröße

γ : Vernetzungsfaktor (0 γ ≤ 1)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

CoCoMo

Constructive Cost Model

  1. Was ist Basis dieses Schätzmodells?
  2. Was lässt sich mit dem CoCoMo-Basismodell schätzen?
A

CoCoMo ist eine Modellbasierte Schätzung.

Basis sind die KDSI (z.B. über FPA und Sprachen-Tabellen)

I. Projektaufwand in Personenmonaten (PM)

PM = 2,4 · (KDSI)1,05

II. Optimale Projektdauer in Kalendermonaten

TDEV = 2,5 · (PM)0,38

III. Entwicklerproduktivität in DSI pro PM

TDEV = Time for DEVelopment

Fettgedruckte sind abhängig von Entwicklungsumfeld.

Problem: Aufwand und Dauer verteilen sich nicht zu gleichen Prozentsätzen auf die Projektphasen!

Grafik: Wichtig -> Verhält sich nicht ganz linear! Daher die Formeln.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

CoCoMo

PM = 2,4 · (KDSI)1,05 (Aufwand)

TDEV = 2,5 · (PM)0,38 (Dauer)

Wie kann man die Formeln abhängig

von der Entwicklungsart verfeinern?

A

Organisch = kleines Team, vertraute Umgebung

Teilintegriert = Zwischenstufe

Eingebettet = enge Rahmenbedingungen (SW, HW, Organisation)

Aufwand in PM Dauer in TDEV Time for Development

Org. 2,4 · (KDSI)1,05 2,5 · (PM)0,38

Teilint. 3,0 · (KDSI)1,12 2,5 · (PM)0,35

Eingeb. 3,6 · (KDSI)1<strong>,20</strong> 2,5 · (PM)0,32

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

CoCoMo

Gegeben KDSI = 50

Berechne daraus

  1. Aufwand in PM
  2. Projektdauer in TDEV (Kalendermonate)
  3. Durchschnittlicher Personalstand

jeweils für eine organische Entwicklungsart.

A

Aufwand = 2,4 · 501,05 = 145,9 PM

Projektdauer = 2,5 · 145,90,38 = 16,6 Monate

Soll-Entwicklerproduktivität = 50.000 / <strong>145,9</strong> = 342,7 DSI / PM (Probe!)

Durchschn. Personalstand = Aufwand/Projektdauer

= 145,9 / 16,6 = 8,8 Personen (-> 9 Personen)

Daten aus früheren, ähnlichen Projekten (Prozentsatzmethode!):

– Aufwands-Anteil Anforderungsanalyse: 6%

– Projektzeit-Anteil Anforderungsanalyse: 12%

Aufwand „Anforderungsanalyse“ = 145,9 · 6% = 8,75 PM

Dauer „Anforderungsanalyse“ = 16,6 · 12% = 1,99 Monate

Durchschnittlicher Personalstand „Anforderungsanalyse“

8,75 / 1,99 = 4,4 Personen

#s3gt_translate_tooltip_mini { display: none !important; }

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

CoCoMo Zwischenmodell

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q
  1. Womit sollte das CoCoMo-Zwischenmodell erweitert werden?
  2. Wie lautet die neue Formel?
  3. Was ist der Grund für andere Koeffizienten?
A

s3gt_translate_tooltip_mini { display: none !important; }

1.
I. Zusätzliche Parameter für Produkt-, Personal- und Projekt-Merkmal

II. Auf Komponentenebene schätzen und nicht auf das Gesamtprodukt (weil detailierter & strukturierter)

Wichtige Formel: PM = E · ΠEAFi · (KDSI)exp

EAF = Environment Adaption Factors

Π (großes Pi) steht für Produkt der EAFs

E = Aufwandsmultiplikator (Faktor 3,2 ; 3,0 oder 2,8)

  1. Grund für andere Koeffizienten

Aufwandsmultiplikatoren E sind für teilintegrierte und eingebettete Projekte naturgemäß höher ⇒ Umgebungsfaktoren

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wie kann das CoCoMo-Zwischenmodell eingeordnet werden?

A

Gute Hilfen zur Schätzung der einzelnen Parameter

Bandbreite der kumulierten Multiplikatoren von 0,0974 bis 72,3791 (!)*

Unterschiedliche Multiplikatoren für verschiedene Komponenten

Sensitivitätsanalysen

Kosten/Nutzen-Analysen für Investitionen in Schulungen, CASE-Tools, …

Schätzung des Wartungsaufwandes

Anpassung der Gleichungen und Multiplikatoren an die individuellen Gegebenheiten

Wesentlich besser als nur das Basismodell.

*riesen Spanne! Die Entscheidung über die EAF ist fast noch wichtiger als die Summation der Function Points

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wie kann das CoCoMo-Zwischenmodul zum CoCoMo-Endmodell erweitert werden?

A
  1. Berücksichtigung (weiterer) Parameter nach Hierarchiestufen: Modul, Subsystem, System
  2. Phasensensitive Aufwandsmultiplikatoren (jenachdem ob man in der Grobspezifikation, Fein- oder ??-Phase ist)

Ist zwar mehr Aufwand aber eine sinnvolle Erweiterung.

– Modul (Qualifikation und Erfahrung der Programmierer)

– Subsystem (Zeit- und Speicherbeschränkungen, …)

– System (Programmiermethoden)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wie ist CoCoMo insgesamt einzuordnen?

A

Vorteile

+ Sehr gut ausgearbeitet

+ Durch verschiedene Stufen rollierend einsetzbar

+ Erlaubt diverse Analysen

+ Individuelle Anpassungen möglich

Nachteile

– Basisschätzung der „Lines of Delivered Source Instructions“ problematisch

Berücksichtigung der Programmiersprache fehlt

– Problematisch im Zusammenhang mit Codegeneratoren

– individuelle Anpassungen erforderlich

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was sind wichtige Fragen vor

der Aufwandsschätzung?

A

Unternehmens- und Projektorganisation

Beteiligte Personen

Projektgröße

Projektdauer

Technisches Umfeld

Unternehmens- und Projektorganisation

– Kompetenzen klar geregelt?

– Greift das Management häufig ein?

– Verfahren zur Entscheidungsfindung?

– Gremien für Entscheidungen und Kontrolle?

– Projektorganisation klar?

Beteiligte Personen

– Anteil erfahrener Mitarbeiter zu Anteil an “Einsteigern”?

– Arbeitsklima förderlich für die Effektivität?

– Menschen aus verschiedenen Bereichen oder Abteilungen?

– Ausreichend Mitarbeiter verfügbar?

– Motivation im Hinblick auf die Aufgabe?

– Anteil externer (unbekannter?) Mitarbeiter?

Projektgröße

– Aufgabe für die Beteiligten überschaubar?

– Arbeitsgebiete klar gegliedert?

– Viel Kommunikation mit anderen Bereichen und externen Stellen?

– Kennen die Mitarbeiter die Bedeutung ihres Arbeitsbereichs für die Gesamtaufgabe?

Projektdauer

– Wirtschaftliche oder politische Änderungen möglich?

– Änderungen der strategischen Unternehmensziele?

– Personelle Änderungen (z.B. Ruhestand, Beförderungen, Kündigungen) zu erwarten?

– Technische Änderungen möglich?

Technisches Umfeld

– Moderne Entwickler-Arbeitsplätze?

– Komfortable Tools?

– Unterstützung durch Rechenzentrum/IT-Abteilung?

– Stabilität und Performance der Systeme ausreichend?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly