Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

10.06.2005

Software-Entwicklung richtig kalkulieren

Dr. Oliver Laitenberger leitet bei der Managementberatung Horn & Company das Kompetenzzentrum Digitalisierung und Technologie.
Statistik plus Erfahrung erleichtern bei der HVB Systems GmbH die Budgetplanung.

Die Entwicklung einer Software verschlingt oft deutlich mehr Geld als geplant - nicht zuletzt, weil vielen Unternehmen die Methoden fehlen, um die Projektkosten richtig zu kalkulieren.

Früher wurden die Kosten für neue Projekte häufig geschätzt und dann einfach ein üppiger Risikozuschlag hinzugerechnet. So blieben die Entwickler ohne große Mühe innerhalb der vereinbarten Budgets. Diese sind aber inzwischen knapper geworden.

Um den Aufwand von Softwareentwicklung möglichst systematisch zu kalkulieren, gibt es verschiedene Methoden. Das bekannteste Modell, Cocomo (Constructive Cost Model), stammt aus den 70er Jahren; seither ist eine Reihe weiterer Verfahren entstanden. Tatsächlich eingesetzt werden diese Modelle allerdings eher selten. Dafür gibt es im Wesentlichen zwei Ursachen: Oft findet sich keine Vorgehensweise zur strukturierten Messung und Bewertung der Anwendungsentwicklung. In der Konsequenz liegen die erforderlichen Messdaten nicht vor, um die Modelle damit zu füttern. Ein weiteres Hindernis besteht darin, dass keine allgemeingültigen Modelle existieren, die sich für jedes Unternehmen sowie jede Entwicklungstechnik eignen und genaue Ergebnisse liefern. Anpassungen erfordern jedoch Kompetenz und verursachen einen hohen Aufwand. An beidem wird oftmals gespart.

Stattdessen ist es üblich, dass der künftige Projektleiter die Kosten auf Basis seiner Erfahrung aus früheren Projekten veranschlagt. Doch es lässt sich kaum beurteilen, ob seine Prognose stimmt. Dazu müsste es verlässliche Daten zum Vergleich mit bereits abgeschlossenen Projekten geben - Daten, die in vielen Unternehmen fehlen.

Lägen entsprechende Informationen vor, könnten Software-Entwickler nicht nur ihre Kosten besser kalkulieren. Die zu Grunde liegenden Entwicklungsprozesse wären auf Basis von Messdaten steuerbar und würden bei Prozessaudits anhand des "Capability Maturity Model Integration" (CMM/I) oder des "Software Process Improvement and Capability Determination-Modells" (SPICE) besser abschneiden.

Ein Projektteam der HVB Systems GmbH hat mit Unterstützung von Droege & Comp eine Methode entwickelt, wie sich Software-Eigenentwicklung messen lässt. HVB Systems, eine Konzerntochter der Hypovereinsbank AG und verantwortlich für die IT-Anwendungssysteme der Bank, erfasst und steuert bei der Entwicklung neuer Anwendungen auch die dazu gehörenden Budgets.

Für das neue Modell zur methodischen Aufwandsmessung galt es zu definieren, welche objektiven Daten überhaupt entscheidend sind. Klassische Kandidaten sind die Lines of Code. Dabei wird gezählt, wie viele Zeilen Programm-Code geschrieben werden müssen, um ein neues Programm zu entwickeln. Um Vergleichbarkeit über die Sprachen und die Projekte hinweg zu erzeugen, mussten die gezählten Lines normiert werden.

Erfahrungsberichte ergänzen die Statistik

Das Projektteam entschied sich allerdings zusätzlich für die Messung von fachlichen Use-Cases. Gemeint sind damit einzelne Handlungsabfolgen und Prozesse, die Nutzer im Umgang mit der fertigen Software durchlaufen. Nachdem dieser Maßstab gewählt und an die Unternehmenssituation der HVB Systems angepasst war, machte sich das Team daran, die Komplexität von Use-Cases in bereits abgeschlossenen Projekten zu bewerten und so Komplexitätswerte für die Projekte zu bestimmen. Die Analyse zeigte, dass die so bewerteten Use Cases und die normierten Lines of Code in einer stabilen Relation zueinander stehen.

Eine weitere wichtige Größe ergibt sich aus dem Arbeitsaufwand früherer Projekte. Er wird in Personentagen gemessen. Die Schwierigkeit liegt allerdings darin, den Personalaufwand für unterschiedliche Projekte vergleichbar zu machen. Kann er doch von Faktoren beeinflusst sein, die sich nur schwer in Zahlen darstellen lassen. Es spielt beispielsweise eine große Rolle, ob der Kunde während der laufenden Softwareentwicklung häufig seine Anforderungen ändert oder welchen Kenntnisstand das Entwicklungsteam hat. Um solche Fragen zu klären, haben die Leiter der bereits abgeschlossenen Entwicklungsprojekte in standardisierten Fragebögen ihre Erfahrungen beigesteuert.

Mit den gesammelten Informationen kann die HVB Systems die Produktivität bereits abgeschlossener Projekte anhand der drei Messgrößen (normierte Lines of Code, bewertete Use-Cases und Personal-Einsatztage) ermitteln. Für eine neue Software-Entwicklung wird jetzt im Vorfeld geklärt, wie viele Use-Cases mit welcher Komplexität realisiert werden sollen. Diese Angaben lassen mit den Daten der früheren Projekte vergleichen. So kann man realistisch ableiten, welcher Aufwand zu erwarten ist.

Durch die kontinuierliche Nach-Messung der abgeschlossenen Projekte erhält HVB Systems Schritt für Schritt eine Datensammlung, die nicht nur hilft, künftige Projekte richtig zu budgetieren. Das Systemhaus kann auch beurteilen, welche der abgeschlossenen Projekte erheblich unter oder über dem Durchschnitt gelegen haben. Dies ermöglicht dem Unternehmen auch zu kontrollieren, wie sich Maßnahmen zur Optimierung der Software-Entwicklung ausgewirkt haben. Die methodische Aufwandsmessung dient damit als Fundament für einen kontinuierlichen Verbesserungs-Prozess: Das Unternehmen identifiziert Projekte, die überdurchschnittlich produktiv sind, kann ihren Erfolg analysieren und sie als Best-Practices einsetzen.

Auf Basis eines von Droege & Comp. bei HVB Systems angestellten IT-Audits hat das Unternehmen bereits viele Verbesserungen bei der Software-Entwicklung initiiert. Das so gewonnene Datenmaterial bietet die Chance, den Kunden gegenüber die Leistungsfähigkeit des Unternehmens, auch und gerade im Vergleich zu anderen IT-Dienstleistern, transparent und vergleichbar zu machen. (rg)