Was kostet individuelle Softwareentwicklung?

Braucht man für individuelle Softwareentwicklung richtig Knete?

Kann ich mir Softwareentwicklung einfach kaufen?

Das macht jetzt Dreieurofünfzig bitte! Ja. Wir machen’s jeden Tag – Kaufen. Manche beim Discounter, manche im Bio-Supermarkt vor Ort, andere online bei Otto oder Amazon. Das Ergebnis ist immer das gleiche: Wir bezahlen einen konkreten Betrag für eine Rechnung – zumindest sollten wir das. Und jetzt wo alle über Digitalisierung sprechen, gibt es bei Aldi bestimmt auch bald individuell zugeschnittene Software als Download. OK! Alle die nicht daran glauben sollten jetzt weiterlesen.

Projekt ist nicht gleich Produkt

Wenn Software individuell programmiert wird, ist es leider nicht wie bei fertigen Produkten. Man kann nicht wirklich genau vorhersagen, was die Lösung kosten wird, so nach dem Motto ein Formular kostet tausend Euro, die SEPA-Überweisungs-Funktion kostet 1.200 Euro und die Anbindung der Maschinensteuerung macht dann 2.000 Euro. Es ist viel mehr wie beim Kauf von Aktien. Man weiß nie genau was die Zukunft bringt und wie viel Rendite man am Ende bekommt. Deshalb bleibt immer ein Restrisiko. Allerdings gibt es einige Faktoren und Regeln, die den Preis beeinflussen und einen Investitions-Erfolg wahrscheinlicher machen.

Wie kann Ich als Kunde den Preis beeinflussen?

Bei einem individuellen Softwareentwicklungsprojekt ist es genauso. Aber das Gute daran: Sie können selbst Einfluss auf den Preis nehmen – na gut, ein kleines Wörtchen hat Ihr IT-Dienstleister auch noch mitzureden. Bevor Sie sich also Hals über Kopf sich ins digitale Gemetzel stürzen, sollten Sie für sich folgende Fragen beantworten:

  • Habe ich eine ganz genaue – und Ich meine wirklich ganz genau – Vorstellung von dem was meine Software können soll? Je klarer das Ziel, desto genauer die Kostenabschätzung und desto geringer das Risiko.
  • Brauche ich bei der Definition von Features und Funktionen noch Unterstützung? Für irgendwas müssen IT-Dienstleister doch gut sein.
  • Wann will ich fertig sein? Schließlich schläft die Konkurrenz ja nicht und hat bestimmt schon einen teuflischen digitalen Plan ausgeheckt – dämonischen Lachen im Hintergrund.
  • Wie viel Geld steht mir zur Verfügung? Klar! Geld wächst ja nicht auf Bäumen.

Egal wie Sie diese Fragen beantworten: Individuelle Softwareentwicklung ist möglich und muss nicht utopische Summen kosten. Allerdings kann das Vorgehensmodell darüber entscheiden, ob Sie mit Tränen in den Augen vor Freude über Ihre neue Software auf den Bildschirm schauen oder wegen des finanziellen Desasters, dass sich auf Ihrem Geschäftskonto abspielt.

Mit welchen Kosten muss Ich bei individueller Softwareentwicklung rechnen?
Welche Software bekomme ich dafür? Hmmm ... Ich schaue mal was ich programmieren kann.

Versprochen ist versprochen

Individuelle Softwareentwicklung als Wasserfallprojekt zum Festpreis

Wenn Sie die funktionalen und technischen Anforderungen Ihrer neuen Softwarelösung konkret definieren können, haben Sie es geschafft. Sie verkünden stolz, dass alle Anforderungen definiert sind und Ihre Softwareentwickler warten sehnsüchtig mit großen Augen auf Ihre To-do-Listen, die Sie einfach abarbeiten können. Gesagt, getan: Hier ist das Lastenheft! Hier sind die Tickets! Wann seid Ihr fertig? In der Regel dauert es nicht lange bis die ersten schmerzverzerrten Gesichter auftauchen und Fragen stellen. Was bedeutet nutzerfreundlich? Was meinen Sie mit Stammdaten. Sind alle KundInnen gleich oder gibt es z.B. Besonderheiten bei Abrechnungsmodalitäten für Ihre Dienstleistungen.

Das meine Ich ganz genau ungefähr so

Wie ich bereits sagte: Mit genau meine ich so richtig pedantisch genau. Was dann gar nicht funktioniert sind Anforderungen wie:

  • Die Software soll eine nutzerfreundliche Oberfläche besitzen. Nee oder? Ich hätte jetzt gedacht die Leute stehen total auf schwarze Konsolen mit neongrüner Schrift.
  • Die Software muss leicht erweiterbar und wartbar sein. Super! Mit dem nötigen Kleingeld kriegen wir das hin. Wo ist eigentlich unser Softwareentwickler der Assembler und 20 andere Programmiersprachen kann?
  • Großen Wert sollte auf den Einsatz zukunftsfähiger Technologien gesetzt werden. Sind drei Jahre Support genug?
  • Es ist stets auf eine ausreichende Performance zu achten: Also früher mussten wir eine Minute auf den Verbindungsaufbau warten und 30 Sekunden Antwortzeit vom Server reichen ja noch nicht mal für einen Kaffee. Autsch!

Messbare Anforderungen für messbare Ergebnisse

Viel besser wären klar messbare Anforderungen. Erforderliche Eingaben und Ausgaben der Programme sollten möglichst klar sein:

  • Bei der Programmierung der Benutzeroberfläche sollte stets auf Best Practices und Barriere-Freiheit geachtet werden. Als Richtwert dienen die in Lighthouse definierten Metriken. Die Kennzahlen für Performance, Barrierefreiheit und Best Practices sollten bei 100 Messungen im Durchschnitt jeweils über 89 Prozent liegen. Die Ergebnisse sind als Lighthouse-Bericht zu dokumentieren.
  • Der Code der einzelnen Webseiten sollte Datenbank-Logik, Geschäfts-Logik und Ansichts-Logik trennen. Hierzu sind folgende Referenzbeispiele in GitHub hinterlegt.
  • Als Framework für die Softwareentwicklung ist ASP.NET vorgesehen. Es können alternative Vorschläge gemacht werden. Voraussetzung ist, dass es sich um Frameworks handelt, die seit über fünf Jahren auf dem Markt sind und mehr als 900 Contributors haben.
  • Die gesamte Ladezeit jeder Webseite muss bei einem 3G-Netz weniger als drei Sekunden betragen. Die Überprüfung erfolgt mit den Entwickler-Werkzeugen des Google Chrome Browsers.

Jetzt tief durchatmen. Denn eine derart klare Spezifikation erfordert jede Menge Planungsarbeit und kostet richtig Geld – bei einem Monat Planungsstress liegen Sie schnell bei 6.000 bis 10.000 Euro. Doch die Mühe lohnt sich! Denn so können Ihre Softwareentwickler klar abschätzen, wie viel Zeit sie brauchen und eventuell unnötige Features und Geldfresser werden früh erkannt. Wollen Sie sich von einem externen Dienstleister bei der individuellen Softwareentwicklung unterstützen lassen, ist das Risiko den Aufwand zu über- oder zu unterschätzen zudem wesentlich geringer – glauben Sie bloß nicht eine Webagentur wird Ihnen verraten, wenn Ihre Softwareentwickler früher fertig sind und Sie Geld zurückbekommen. Es sei denn Sie gehen zu uns.

Bei welchen Softwareentwicklungs-Projekten ist ein Festpreis sinnvoll?

Einige Softwareentwicklungs-Projektarten sind für eine feingranulare Anforderungsspezifikation besonders prädestiniert:

  • Migrations- und Transformations-Projekte: Hier wird eine Alt-Anwendung komplett neu mit frischen Technologien entwickelt, oder sukzessive auf diese umgestellt. Der Vorteil: Die funktionalen Anforderungen stehen zu 100 Prozent fest. Mit Hilfe von Screen-Shots, Datenbank-Modellen und Alt-Code, können alle Features weitestgehend rekonstruiert und beschrieben werden.
  • Optimierungs- und Refactoring-Projekte: Hier werden klar definierte Teile einer Anwendung so umgeschrieben, dass sich vorher festgelegte Leistungsparameter verbessern. Wichtig ist hierbei zu definieren, wie die Überprüfung erfolgt. Für viele Aspekte, wie Barrierefreiheit und Performance gibt es Standard-Metriken.

Der Aufwand lohnt sich – manchmal

Der Knackpunkt liegt also in der Planbarkeit der Anforderungen. Bei den aufgeführten Projektbeispielen ist die Planbarkeit hoch und die Anforderungen meistens sehr genau, oftmals auch ohne viel Fantasie in die Erstellung von Tickets, Use Cases oder BPMN-Modelle im Voraus zu verschwenden. Das ist das Risiko einer Fehlplanung geringer. Das wirkt anschließend auch positiv auf Programmierung, Deployment usw. aus, die im reinen Wasserfallmodell fein säuberlich hintereinanderweg abgearbeitet werden. Deshalb winkt hier auch ein Festpreis als Belohnung der harten Arbeit im Vorfeld. Können oder wollen Sie diesen Aufwand nicht betreiben: Hände weg!

Planung, Lastenheft, Pflichtenheft … – muss das jetzt sein?

Fassen wir also zusammen: Mit einer detaillierten Spezifikation und klar messbaren und überprüfbaren Anforderungen, kriegen Sie Ihr individuelles Softwareentwicklungs-Projekt auch zum Festpreis. Was? Bis jeder digitale Winkel Ihrer Lösung beschrieben wurde, ist in Berlin Weihnachten? Kein Problem: Auch Planungs-Muffel kommen im wahrsten Sinne auf Ihre Kosten. Hier eigenen sich agile Preismodelle besser.

Individuelle Softwareentwicklung muss geplant sein.
Individuelle Softwareentwicklung muss geplant sein.

Mit kleinen Schritten zum großen Ziel

Agile Preismodelle für individuelle Softwarelösungen

Sie wollen sich nicht auf eine Odyssee aus Lasten- und Pflichtenhefte begeben. Sie haben keinen Bock auf den Kampf um Formulierungen, Paragraphen und Gantt-Diagrammen, die sich einmal quer über den halben Globus von Berlin bis nach Tokio erstrecken? Denn Sie wissen: Den Mist liest doch eh keiner! Und dafür soll ich auch noch Geld ausgeben! Dann ist es an der Zeit es mal mit agiler Softwareentwicklung zu versuchen. Das spart unnötige Kosten für Word-Dokumente, die bestenfalls als prosaisch aufgehübschte Lippenbekenntnisse dienen.

Wann sollte ich auf agile Softwareentwicklung setzen

Folgende Faktoren sprechen für ein agiles Projektmanagement:

  • Ein dediziertes und vor allem rechtlich verbindliches Pflichtenheft müsste von Grund auf erarbeitet werden. Sagen wir, Sie planen einen Monat für Planung und Spezifikation ein, dann können Sie schon mal 6.000 bis 10.000 Euro rechnen. Kaufen Sie sich lieber was Schönes davon – z.B. Software die läuft!
  • Die funktionalen Anforderungen existieren nur in den Köpfen Ihrer Mitarbeiter, aber nicht als Dokumentation. Bis Sie alles aufgeschrieben haben, versteckt der Berliner Bär Ostereier.
  • Es gibt offene technische Punkte, wie z.B. Authentifizierungsverfahren oder Rollenkonzepte, die zunächst eine dedizierte technische Beratung erfordern.
  • Im Ergebnis nimmt die Qualität der Planung ab, je weiter man in die Zukunft plant. Das gleiche gilt auch bei der Implementierung: Nach einem halben Jahr fragt man sich dann schon mal: Warum wollten die das nochmal haben? Und die andere Seite: Hmmm … Ist schon zu lange her.

Haben Sie wirklich einen Plan?

Was hat das alles mit Kosten zu tun? Sehen Sie einfach jeden Euro, den Sie in ihre individuelle Softwareentwicklung reinstecken als Investition. Das sollte insbesondere für Dokumentations- und Spezifikationstätigkeiten berücksichtigt werden. Denn diese bringen nur etwas, wenn die anschließende Implementierungs- und Programmierungs-Tätigkeit erleichtert wird. Schreibt man einfach nur Dinge auf, die zwar gut klingen, mit denen aber kein Softwareentwickler was anfangen kann, war das Ganze für die Katz und es gilt: Wer teuer kauft, kauft zweimal. Ja genau! Denn in der Praxis zeigt sich, dass selbst Berater-Blabla, getarnt als Pflichtenheft, schon ein Schweinegeld kostet und am Ende nachgeplant werden muss oder im schlimmsten Fall halbfertige Software in die Tonne landet, weil man glaubte man hatte einen Plan. Ja vielleicht. Aber der Plan war Mist!

Agile Softwareentwicklung als Futter für Ihr Sparschwein

Die agilen Methoden der Softwareentwicklung helfen Ihnen an dieser Stelle diese unnötigen Kosten zu sparen:

  • Es wird nur das spezifiziert, was unmittelbar programmiert werden muss. Und umgekehrt gilt: Es wird nur programmiert, was unmittelbar einen Nutzen bringt.
  • Der Hunger kommt beim Fressen: Mit der Entwicklung der ersten Module wachsen auch die Erkenntnisse und das Bild darüber was man braucht schärft sich.
  • Das neu gewonnene Wissen zahlt sich aus! Anstatt aus dem Elfenbeinturm hinaus episch ins Blaue hinein zu planen, lassen Sie nun Ihre gesammelten Erfahrungen aus der Praxis in die Projektsteuerung einfließen.
  • Tickets, die bei den ersten Gehversuchen vielleicht noch schwammig spezifiziert und anschließend nicht treffsicher umgesetzt wurden, können nun präziser formuliert werden.
  • Diese kann Ihr Partner für Softwareentwicklung nutzen, um seine Zeitplanung zu verbessern und in sein Angebot mit einfließen zu lassen.
  • Es wird mit jeder Iteration ein neues Angebot erstellt. Und da sowohl Sie als auch Ihr IT-Dienstleister nun ein eingespieltes Team sind, wird das Preis-Leistungs-Verhältnis immer besser, da die abwechselnden Phasen aus Planung, Programmierung und Testung zu Synergieeffekten führen.

Kurz: Man stürzt sich beim agilen Projekt-Management in der individuellen Softwareentwicklung nicht wie die kopflosen Hühner in den Programmier-Dschungel. Vielmehr werden die Phasen der Spezifikation, der Implementierung, des Deployments und der Dokumentation in verdauliche Häppchen gesplittet und im Wechsel abgearbeitet. Die Qualität der einzelnen Phasen bleibt dadurch kontinuierlich hoch. Das ist wie beim Bergsteigen. Ein regelmäßiger Wechsel aus Bergsteigen, Pausen, eine kurze Rast um sich neu zu orientieren und ab und zu ein kühles Bier sorgen für mehr Freude. Oder würden Sie im Tal Ihre komplette Tour planen und dann ohne nach links und rechts zu schauen bis zur Zugspitze wandern? Man wäre vielleicht ein Held, aber Einer mit kaputten Beinen, knurrenden Magen und Vollbart – ja gut den Vollbart haben manche Softwareentwickler auch so.

SPRECHEN SIE UNS AN.

Wir finden mit Ihnen zusammen die passende Lösung!