So bewerten Sie eine Software-Kostenschätzung (für nicht-technische Personen)

Es ist ziemlich schwierig, ein Softwareprojekt zu bewerten und es mit einem Preisschild zu versehen.

Im Artikel einige Herausforderungen und Vorgehensweisen bei der Bewertung von Softwarekostenschätzungen.

Einführung

Laut dem oft zitierten Chaos-Report scheitern rund 30 Prozent aller Softwareprojekte. Das bedeutet, dass entweder die Projektlaufzeit zu lang wird oder das Budget nicht eingehalten wird.

Hier einige Herausforderungen in Softwareprojekten:

1) Schwierig, die genauen Anforderungen zu überprüfen

Wenn Sie ein großes Haus nach Maß bauen möchten, kann ein Preis nur festgelegt werden, wenn jeder Teil der Arbeit richtig bewertet wird. Bis zur letzten Schraube, die verwendet wird.

Der Architekt erstellt einen Plan mit einem genauen Plan, wobei das ganze Haus entweder auf Papier oder heutzutage oft als 3D-Modell nachgebildet wird. Und in diesen Programmen kann berechnet werden, wie viele Schrauben usw. benötigt werden, um das Haus zu bauen.

Mit diesen Informationen ist es möglich, eine genaue Schätzung für das Hausbauprojekt abzugeben.

Aber wir wissen auch: Bei sehr großen Bauvorhaben stimmen die Preisschätzungen meist nicht. Und was 500 Millionen Euro kosten sollte, wird am Ende 5 Milliarden Euro oder mehr kosten. Der Berliner Flughafen, die Elbphilharmonie in Hamburg und der Hauptbahnhof in Stuttgart sind drei Beispiele, in den meisten Fällen wurden die Kosten um eine Milliarde Euro oder mehr gesenkt.

Beim Stuttgarter Hauptbahnhof lag das Honorar für den Architekten bei rund 36 Millionen Euro. Obwohl der Architekt eine so hohe Summe bezahlt hat. Die Projektkostenschätzung lag um rund 1 Milliarde Euro daneben.

Ähnliche Herausforderungen sind bei Softwareprojekten zu sehen.

Vor allem, wenn an der Weitergabe der Anforderungen an das Software- oder Webprojekt auch nicht-technische Personen beteiligt sind. Normalerweise bestehen die Projektbeschreibungen nur aus wenigen Zeilen in einer E-Mail. Oder ein Telefonat, bei dem die gewünschte Lösung skizziert wird.

Einige Beispiel-Websites werden als Referenz angegeben. Nicht selten wurden diese Beispiel-Websites über viele Jahre hinweg aufgebaut und kosteten Hunderttausende Euro, manchmal Millionen.

Aber das Budget für die Webanwendung bzw. Softwarelösung beträgt ca. 4’000 bis 40’000 Euro und soll innerhalb von 2 Monaten, maximal 3 Monaten erstellt werden. (Das ist in der Regel der Wunsch der Nicht-IT-Person, die nach dem Preis fragt).

Die Realität sieht so aus: Ohne ein detailliertes Anfragedokument des Auftraggebers, das etwa 10 bis 50 Seiten umfassen wird, und ein detailliertes Angebot, das vom IT-Unternehmen darauf basierend erstellt wird, kann kein Preis für das Projekt festgelegt werden.

Und selbst wenn es ein genaues Angebotsdokument gibt. Normalerweise ändern sich die Anforderungen während des Projekts, was diese Übung der Angebotserstellung, die Wochen dauern kann, zu einer unnötigen Aufgabe macht.

2) Veränderte Anforderungen während des Projekts

Es gibt fast kein IT-Projekt, bei dem das anfangs zitierte Softwareprojekt während des Projekts gleich bleibt.

Der Grund dafür ist, dass der Kunde erst dann erkennt, wenn die Software Gestalt annimmt, dass einige wichtige Dinge fehlen, ohne die das Projekt kein Erfolg werden kann und die Software die Geschäftsprozesse nicht unterstützen würde.

Was aber, wenn ein Festpreis vereinbart wurde? Wie kann der IT-Dienstleister Änderungen während des Projekts zulassen. Das ist fast unmöglich, denn dann macht der IT-Dienstleister überhaupt keinen Gewinn.

Auf der anderen Seite wird der Kunde auf dem Festpreis bestehen und sagen: „Für diese kleine Änderung muss das Budget nicht geändert werden. Diesen kleinen Änderungswunsch können Sie in das Erstangebot einfügen.“

Und hier beginnt normalerweise das Dilemma. Diese Diskussion über Änderungswünsche wird immer weitergehen. Und das Projekt wird stecken bleiben.

Daher ist es immer besser, das Projektbudget flüssig zu halten. Wo der Kunde so viel zahlt, wie es die Softwareentwicklung erfordert. -> Natürlich kann dies für den Kunden „wie ein Himmel für die Softwarefirma“ erscheinen, weil er/sie denken wird, dass er mehr Stunden als nötig macht.

Aber vergleiche es mit einem Restaurant. Wenn Sie eine zusätzliche Coca Cola oder ein zusätzliches Steak bestellen, müssen Sie auch dafür bezahlen. Warum sollte das in der Softwareentwicklung anders sein? Vor allem in der IT, wo die Stundensätze meist deutlich höher sind.

3) Schwierigkeiten, die Komplexität der Softwareentwicklung durch die Nicht-IT-Person zu verstehen

Für einen Nicht-IT-Mitarbeiter ist es normalerweise sehr schwierig, die Komplexität der Softwareentwicklung zu verstehen.

„Mein Freund hat diese eine Website an einem Tag erstellt und sie hat viele Funktionen. Warum brauchen Sie als Experte mehr als 6 Monate, um diese Funktionen zu entwickeln?“

Höchstwahrscheinlich hat der Freund ein Content-Management-System wie WordPress oder Drupal verwendet und einige Standard-Plugins verwendet, die normalerweise viele Funktionen mitbringen. Aber das sind keine maßgeschneiderten Softwarelösungen für den Freund. Dies sind Systeme und Plugins, die normalerweise von Tausenden und Hunderttausenden von Menschen verwendet werden, die ähnliche Anforderungen haben. Das sind keine Sonderlösungen.

Aber: Die Erstellung dieser Plugins erforderte höchstwahrscheinlich etwa 2 bis 5 oder mehr Entwickler in Vollzeit über mehrere Monate oder sogar Jahre. Obwohl der Freund scheinbar einfache Lösungen verwendet. Sie sind in einer sehr komplexen Softwareentwicklung entstanden.

Falls der Kunde also eine Anforderung hat, die von diesen Plugins und „fertigen Lösungen“ erfüllt werden kann. Dann ist es besser, sie zu verwenden. Aber in den meisten Fällen sind diese „fertigen“ Softwaresysteme nicht das, was der Kunde benötigt.

Bestes Beispiel ist die Suchmaschine Google. Auf dem Frontend (was der Benutzer sieht) gibt es nur eine Suchleiste und zwei Schaltflächen. Ein Nicht-IT-Mitarbeiter würde also sagen: „Die Entwicklung kann nur eine Woche dauern. Es gibt nur eine Suchleiste und zwei Schaltflächen“. In Wirklichkeit gibt es viele „versteckte“ Backend-Funktionalitäten, die von Tausenden und Abertausenden von Entwicklern entwickelt werden und das über viele Jahre.

Je nach Komplexität, Skalierbarkeitsanforderungen usw. des Kundenprojekts kann die Softwareentwicklung länger dauern als erwartet.

Mögliche Lösungen

Es gibt einige Lösungen, wie eine Nicht-IT-Person an die Anfrage an den IT-Dienstleister herangehen könnte.

1) Beziehen Sie einen Softwareentwickler ein

Idealerweise gibt es einen internen Softwareentwickler oder IT-Experten, der den Kostenvoranschlag des IT-Dienstleisters überprüfen könnte.

Normalerweise rät dieser Softwareentwickler, den Projektumfang flexibel zu halten, damit Änderungen berücksichtigt werden können.

Ist die Einschätzung des Softwareunternehmens plausibel, gibt der Softwareentwickler grünes Licht.

Da ein interner Mitarbeiter das Projekt bewertet, wird so auch der Nicht-IT-Mitarbeiter vom Entwicklungsaufwand überzeugt.

2) Verwendung von dedizierten Entwicklern

Ein dedizierter Entwickler ist ein Entwickler, der dem Kunden auf Vollzeitbasis zur Verfügung gestellt wird.

Dies hat den Vorteil, dass der Entwickler eng mit dem Kunden und auch mit dem Team des Kunden zusammenarbeitet. Dies erhöht die Transparenz. Und der Kunde oder das Team können Fragen stellen und erhalten Antworten in Echtzeit.

Dieses Modell funktioniert auf unterschiedliche Weise:

  • Vor Ort: Das IT-Dienstleistungsunternehmen fordert den Entwickler auf, zum Standort des Kunden zu gehen und in den Räumlichkeiten des Kunden zu arbeiten.
  • IT-Outsourcing: In den Räumlichkeiten des IT-Dienstleistungsunternehmens arbeitet ein Entwicklerteam.
  • Nearshore-Outsourcing: Der engagierte Entwickler arbeitet bei einem IT-Dienstleister in einem nahegelegenen Land. Für Schweden wäre das Polen oder die Ukraine. Für Japan wäre das Malaysia oder China.
  • Offshore-Outsourcing: Hier sitzt der Entwickler in den Räumlichkeiten einer Softwarefirma in einem fernen Land. Beispiele sind Indien, Pakistan usw. Aber die Wörter Nearshore oder Offshore können austauschbar verwendet werden. Es kommt darauf an, wo sich der Kunde befindet. Wenn der Kunde in Japan ist, ist Indien ein Nearshore-Outsourcing-Ziel.

Der Kunde kann den dedizierten Entwickler so lange nutzen, wie er möchte. Bis das Projekt fertig ist. Falls das Projekt zu lange dauert. Der Kunde und das Team können mit dem Entwickler besprechen, welchen Weg man gehen soll, um die Ziele schneller zu erreichen.

3) Vermeiden Sie starre Festpreisprojekte

Ein Festpreis ist in der Regel keine gute Idee. Nur wenn das Projekt sehr klein ist. Wie eine einseitige Website oder ähnliches.

Festpreise können zu der falschen Hoffnung führen, dass alles innerhalb dieses Preises erledigt wird. (Auch All-You-Can-Eat funktioniert so nicht. Sie können so viel essen, wie Sie wollen, aber nur für eine Mahlzeit. Nicht tagelang. Aber das erwarten Kunden, wenn sie einen Festpreis bekommen Software-Entwicklung)

Entscheiden Sie sich besser für ein agiles Pricing, bei dem der Zeit- und Arbeitsaufwand des Softwareanbieters entsprechend dem Entwicklungsaufwand vergütet wird.

Oder setzen Sie einen engagierten Entwickler oder ein Team engagierter Software-Experten ein, um an Ihrem Projekt zu arbeiten.

Fazit

Viele Softwareprojekte scheitern einfach daran, dass man nicht versteht, was Individualsoftwareentwicklung bedeutet. Scheinbar einfache Projekte können Wochen und Monate dauern.

Daher muss der Kunde eine Bewertung vornehmen. Wie hoch ist die Kostenspanne für die Softwareentwicklung und welcher Geschäftswert entsteht dadurch. Ist der geschaffene Geschäftswert viel höher als das für die Softwareentwicklung benötigte Budget? Gut, dann ist es gut zu gehen. Starten Sie das Projekt.

Wenn der geschaffene Geschäftswert und die Kosten nicht übereinstimmen. Dann ist es vielleicht besser, manuelle Lösungen, Excel-Dateien oder abonnierbare Standardsoftware oder Weblösungen gegen eine geringe monatliche Gebühr weiter zu nutzen.

Freuen Sie sich auf eine interessante Diskussion.

Interessante Links:
Warum Schätzungen möglicherweise keine gute Idee sind
Der Mythos der Softwareschätzungen erklärt


Der Autor: Sascha Thattil arbeitet bei Software-Developer-India.com die zur YUHIRO Gruppe gehört. YUHIRO ist ein deutsch-indisches Unternehmen, das Programmierer an IT-Unternehmen, Agenturen und IT-Abteilungen vermittelt.

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.