Warum Softwareprojekte schwer zu kalkulieren sind - und Methoden für mehr Genauigkeit

Warum Softwareprojekte schwer zu kalkulieren sind - und Methoden für mehr Genauigkeit

Kostenabschätzungen für Softwarelösungen sind insbesondere in frühen Projektphasen eine besondere Herausforderung. Unschärfen bei der Zieldefinition sowie Unklarheiten bei den technischen Rahmenbedingungen erschweren die Aufwandsschätzung, gehören jedoch oft zur Ausgangssituation.

Doch auch wenn ein scheinbar klares Bild von der Lösung vorhanden ist, besteht des Öfteren ein großer Spielraum in der Art und Weise der Umsetzung: Wird z.B. nur Basisfunktionalität gewünscht oder können wir „groß denken“? Gleichzeitig ist in frühen Projektphasen die Schwankungsbreite für die Umsetzung von Features noch sehr hoch, da zu wenig Informationen vorliegen.

Ein simples „Wir sagen euch, was wir möchten und ihr sagt uns was es kostet“ ist daher nur eingeschränkt bzw. unter bestimmten Gesichtspunkten möglich. Nachfolgend geben wir einen Überblick, wie wir gemeinsam mit unseren Kunden dennoch eine frühe Erstabschätzung sowie eine realistische Detailschätzung für Softwarelösungen vor dem Projektstart erarbeiten.

Die Herausforderungen bei Softwareschätzungen

Wir sind es gewohnt beim Bestellen eines neuen Laptops, Fahrrads oder Autos die gewünschte Konfiguration auszuwählen und im Anschluss einen (zumeist) verbindlichen Einkaufspreis zu erhalten. Ganz ehrlich – natürlich wäre das auch bei Softwarelösungen ideal, schließlich herrscht ein klares Bild darüber welche Ware (oder Dienstleistung) zu welchen Konditionen eingekauft wird. Doch auch wenn bei Software ein klares Bild über die Vorstellungen und Wünsche herrscht, spielen in der Umsetzung viele Faktoren eine Rolle, sodass eine Konfiguration, wie beim Laptop oder Fahrrad nicht möglich ist. Dabei kann beispielsweise der Kontext, in den sich die Software einfügen soll, eine vorrangige Rolle spielen.

Abhängig von der Anwendungsdomäne oder den technischen Gegebenheiten kann eine Optimierung hinsichtlich einer besonderen Bedienungsfreundlichkeit (z.B. mittels Companion-Device) oder eine gleichzeitige Vereinfachung von Arbeiten (z.B. mittels KI) erfolgen. Sehr oft entstehen gerade die Ideen für derartige Optimierungen auch während der Umsetzung, weshalb ein agiles Vorgehensmodell für die Umsetzung von Softwareprojekten sehr beliebt ist.

Doch der Schein trügt – auch ein agiles Vorgehensmodell birgt Herausforderungen in Hinblick auf eine Kostenschätzung. Einem agilen Modell liegt zugrunde, dass die Zieldefinition während der Umsetzung adaptiert werden kann und steht daher per Definition im Konflikt mit jeglicher Vorabschätzung des Aufwands. Natürlich können dahingehende Adaptierungen als Puffer berücksichtigt oder als Change Requests abgewickelt werden – unsere ursprüngliche Schätzung ist jedoch aufgrund der Änderung des Ziels weniger aussagekräftig. Erfahrungsgemäß sind auch Lösungen, welche eine technische Neuerung innehaben bzw. einen Forschungsanteil aufweisen, besonders schwer zu schätzen.

Wie Sie sich vorstellen können, könnten wir an dieser Stelle noch viele weitere Kriterien oder Szenarien aus der Praxis anführen, die eine Kostenschätzung erschweren. Doch anstatt dies weiter auszuführen, möchten wir lieber darauf eingehen, welche Methoden wir einsetzen, um unabhängig von den Kriterien eine realistische Aufwandsschätzung anzufertigen.

Erstanalyse als erste Abschätzung mit hoher Flughöhe

Dass bei umfangreichen Projekten mehrere Anforderungsworkshops einen wesentlichen Beitrag zur Genauigkeit der Schätzung leisten, liegt auf der Hand. Was wir überdies festgestellt haben, ist, dass bereits nach einem Erstgespräch eine grobe Einschätzung des zu erwartenden Aufwands erfolgen kann. Dabei beleuchten wir bewusst Kriterien wie Unternehmens- und Anwendungskontext, Nutzerkreis, Funktionsumfang sowie Ansprüche an UI/UX und Betrieb. Üblicherweise nehmen wir uns für eine derartige Einschätzung 1-2 Stunden Zeit und hören zunächst aufmerksam zu, tauchen sukzessive tiefer in die Anwendungsdomäne ein und stellen Fragen.

Im Anschluss fassen wir unseren Eindruck von der zu entwickelnden Lösung in einem Erstanalysedokument zusammen und halten auch fest, was noch nicht klar definiert ist bzw. wo noch eine Schwankungsbreite in der Umsetzung besteht. Im letzten Schritt wird die Lösung anhand des Dokuments von 3-5 erfahrenen Entwicklern hinsichtlich des zu erwartenden Aufwands eingeschätzt. Dabei entstehen auch oft neue Ideen bzw. Erweiterungsmöglichkeiten für die Anwendung, welche ebenfalls im Erstanalysedokument festgehalten werden. Letztlich erhält der Kunde eine Kurzbeschreibung der Softwarelösung inklusive einer Kostenspanne als grobe Preisindikation. Eine Erstanalyse ermöglicht so eine grobe Einschätzung des zu erwartenden Aufwands in einer frühen Phase. Fällt die Entscheidung für eine Umsetzung, muss für die Angebotslegung eine Detailschätzung erfolgen.

Detailschätzungen und Methoden zur Verbesserung der Genauigkeit

Soll eine Detailschätzung sowie Projektplanung für eine Angebotslegung erfolgen, können weitere Schritte in Form einer Vorprojektphase mit Anforderungsworkshops bzw. der Entwicklung eines UI/UX Prototyps erfolgen.

Anforderungsworkshop bieten uns die Möglichkeit detaillierter in die Anwendungsdomäne einzutauchen und auch Funktionalitäten bzw. Schnittstellen zu hinterfragen. Dabei werden Unklarheiten beseitigt, wir bringen neue Ideen ein und versuchen eine robuste und zukunftsfähige Lösungsidee zu entwickeln, die sich bestmöglich in das Umfeld einfügt. Besonders wertvoll ist es auch weitere Personen (z.B. Fachbereichsmitarbeiter oder Key-User) zu den Workshops einzuladen, um Eindrücke aus erster Hand zu erhalten.

Durch die Entwicklung eines UI/UX Prototyps wird die Software erstmals „greifbar“ da ein erstes visuelles Bild der späteren Software entsteht. Erfahrungsgemäß wirft dieser Klick-Prototyp auch viele Fragen und neue Wünsche an die Software auf. Gerade deshalb trägt er besonders zum langfristigen Projekterfolg bei. Feedback kann laufend eingearbeitet werden, sodass schon vor Projektstart am visuellen Erscheinungsbild der Software gefeilt werden kann.

Den Umfang der Workshops bzw. des UI/UX Prototyps wird üblicherweise am Beginn der Vorprojektphase geplant und individuell festgelegt. Während dieser Phase gibt es einen intensiven Austausch zu neuen Versionen des Prototyps und zu den Rahmenbedingungen, um die technische Machbarkeit abzuklären. Auf Basis der Ergebnisse aus dieser Phase können wir eine detaillierte Projektplanung sowie eine Detailschätzung für die Softwarelösung anfertigen.

Woran wir glauben und was sich bewährt hat

Softwarelösungen sind oftmals sehr individuell und es gibt sie für unterschiedliche Anwendungsgebiete, Größenordnungen und Benutzerkreise. Genauso individuell gestaltet sich auch die Aufwandsabschätzung dafür, weshalb es keine Tabellenkalkulation gibt, die für alle Softwarelösungen passt. Mit einer Kombination aus einer groben Abschätzung in Form einer Erstanalyse sowie einer Detailschätzung als Resultat einer Vorprojektphase können wir dennoch eine detaillierte Projektplanung bzw. realistische Kostenschätzung durchführen. Eines steht für uns jedoch fest: Kostenschätzungen für Softwareprojekte sind ein gemeinsames Herausfinden, was konkret benötigt wird und wieviel das kosten kann.