Kostenmanagement in Projekten

Das plangesteuerte Projektmanagement kennt innerhalb der Unternehmens- und IT-Entwicklung unterschiedliche Methoden zur Kostenschätzung. Auf folgende Methoden wird in den nachfolgenden Abschnitten näher eingegangen:

  • Ziel & Aktivitäten des Kostenmanagements
  • Kostenvorhersage
  • Ansätze zur Kostenvorhersage
  • Algorithmische Kostenmodellierung
  • Konstruktive Kostenmodellierung (COCOMO Constructive Cost Modeling)
  • Kostenvorhersage

Ziele & Aktivitäten

Sicherstellen, dass das Projekt im Rahmen des Budgets abgeschlossen wird.

Aktivitäten zum Kostenmanagement

  • Planung des Kostenmanagements
  • Schätzung der Kosten
  • Festlegen des Budgets
  • Kontrolle der Kosten

Kostenvorhersage

Die wichtigsten Kosten für ein Softwareentwicklungsprojekt: 

  • Effort Costs, d.h.
    • Gehälter von Consultants, Solution Managern, Entwickeln .. etc. und
    • organisatorische Gemeinkosten (z.B. Büroräume, Verwaltung)
  • Hardware- und Softwarekosten, einschließlich Hardware-Wartung und Software-Support
  • Reise- und Schulungskosten

Diese Arte von Schätzung ist immer nur eine probabilistische Aussage, d.h. eine Aussage mit einer bestimmten Wahrscheinlichkeit.

Ansätze zur Kostenvorhersage

  • Erfahrungsbasierte Techniken, wie Intervall- und Konfidenzniveau-Schätzungen (Soll-Ist-Abweichung der Schätzung)
  • 3-Punkte-Schätzung auf der Grundlage der Methode des kritischen Pfades (PERT-Diagramm): bester Fall, schlimmster Fall, wahrscheinlichster Fall
  • Top-Down- oder Dekompositionsansatz: leichtere Schätzung der Kosten für kleine Aufgaben
  • Formale algorithmische Modelle, wie z.B. COCOMO II, erfordern eine Anpassung und Kalibrierung an die lokale Umgebung

Herausforderungen Kostenmanagement in frühen Phasen des Projektmanagements

  • Schätzungen (z.B. der Komplexität von angeforderten Funktionalitäten) sind in den frühen Phasen des Projekts meist ungenau. Es ist praktisch unmöglich, die Aufwände im Projekt korrekt zu schätzen. Ansätze, die sich an Anwendungsbereich oder Erfahrungswerte orientieren sind einfacher, aber in der Regel immer noch ungenau.
  • Zudem sind Schätzungen häufig subjektiv.
  • Daher müssen Schätzungen, in einem zweiten Schritt über eigene Schätzaktivitäten vor den Ausführungsaktivitäten durch Entwickler, bzw. Solution Manager erfolgen.
  • Somit sind Modelle, wie die nachfolgend aufgeführten konstruktiven Kostenmodellierungen regelbasierte Ansätze, die von Schätzung zu Schätzung genauer werden, aber niemals eine Schätzung der Umsetzung konkreter Aufgaben ersetzen können (= Grenzen erzwungener Plansteuerung).

Algorithmische Kostenmodellierung

Erstellen Sie Schätzungen der Softwareentwicklungskosten:

Beispielhafte mathematische Formel:

  • Effort = A * Size ^B * M (Aufwand = A – Größe ^ B * M)

Notation:

  • A: konstanter Faktor, der von den lokalen Organisationspraktiken abhängt
  • Size (Größe): Schätzung der Größe des Softwarecodes oder der Funktionalität (in Funktions-/Anwendungspunkten)
  • B: Komplexität der Software (normalerweise zwischen 1 und 1,5)
  • M: Faktor zur Berücksichtigung von Prozess-, Produkt- und Entwicklungsattributen, wie z.B. Anforderungen an die Zuverlässigkeit oder Erfahrung des Entwicklungsteams 

Zur Bestimmung des Faktors Size wird meist die Number Line of Source Code (SLOC), d.h. die Anzahl der Quellcodezeilen zur Bereitstellung der Funktionalität verwendet.

Konstruktive Kostenmodellierung (COCOMO Constructive Cost Modeling)

COCOMO (Constructive Cost Modeling) II Modell:

  • ist ein empirisches Modell, das anhand von Daten aus einer großen Anzahl von Softwareprojekten unterschiedlicher Größe abgeleitet wurde

COCOMO II Submodels:

  • Application composition model (Modell der Anwendungszusammensetzung)
    • Estimate based on (Schätzung basiert auf): Anzahl der Anwendungspunkte (number of application points – NAP)
    • Application (Anwendung): Mit dynamic languages (dynamischen Sprachen) entwickelte Systeme, Datenbankprogrammierung
    • Kosten für das Modell der Anwendungszusammensetzung:
    • PM = (NAP * (1 – &reuse / 100)) / PROD
    • Notation:
      • PM: Aufwandsschätzung in Personenmonaten
      • NAP: Gesamtzahl der Anwendungspunkte im neuen System
      • %reuse: Schätzung des Anteils wiederverwendeten Codes in der Entwicklung
      • PROD: Produktivität der Anwendungspunkte {NAP/Monat)
    • NAP ergibt sich aus der Anzahl der angezeigten Bildschirme oder Webseiten, der erstellten Berichte und der Module / Codezeilen
  • Early design model (Modell des frühen Entwurfs)
    • Estimate based on (Schätzung basiert auf): Anzahl der Funktionspunkte
    • Application (Anwendung): Anfängliche Aufwandsabschätzung auf der Grundlage der Systemanforderungen und Designoptionen
    • Die Größe wird in KSLOC (Tausend SLOC) ausgedrückt
    • Funktionspunkte werden anhand von Tabellen in Codezeilen umgewandelt.
    • M wird durch sieben Projekt- und Prozessattribute ausgedrückt. 
  • Reuse model (Modell der Wiederverwendung)
    • Estimate based on (Schätzung basiert auf): Anzahl der wiederverwendeten oder generierten  Zeilen
    • Application (Anwendung): Code Aufwand für die Integration wiederverwendbarer Komponenten oder automatisch generierten Codes
    • Die Größe wird durch ESLOC (equivalent number of lines of new code) ausgedrückt, die sich aus neuem Code und dem Aufwand für die Wiederverwendung und Integration von bestehendem Code zusammensetzt 
  • Post-architecture model
    • Estimate based on (Schätzung basiert auf): Anzahl der Codezeilen
    • Application (Anwendung): Entwicklungsaufwand basierend auf der Spezifikation des Systemdesigns
    • Die Größe wird durch die Gesamtgröße des Codes ausgedrückt (Summe aus SLOC, ESLOC und Anzahl der neuen Zeilen, die geändert werden können) 
  • Die Kosten für die Modelle Early Design, Reuse und Post-Architecture basieren auf der Gleichung: Effort = A * Size ^B * M (Aufwand = A – Größe ^ B * M)

Kostenvorhersage

Praktische Empfehlungen zur Verbesserung von Schätzungen:

  • Datenbasiert
    erfordert historische Daten aus früheren Projekten
  • Sensitivitätsanalyse
    wird in der Regel nicht verwendet, kann aber bei Unsicherheiten helfen
  • Mehrere Techniken
    Mindestens zwei Techniken verwenden zur gegenseitigen Validierung und Gewichtung
  • Gruppenschätzungen
    Aufwand durch eine Gruppe von Personen schätzen lassen und Gruppenmitglieder bitten, ihre Schätzung zu erläutern (z.B. Planning Poker)
  • Training und Reflexion
    Schätzfehler reflektieren, dies bedeutet die Schätzung mit dem Ergebnis abgleichen (Soll- Ist-Abweichungsanalyse)
  • Schätzung und Vertrauen
    Sich bewusst sein, dass eine Schätzung immer auch Vertrauen erfordert

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert