Der lise Blog:
Einsichten, Ansichten, Aussichten

Kosten der Softwareentwicklung: Davon hängen sie ab

Der Entschluss steht fest. Sie möchten eine individuelle Software für Ihr Unternehmen entwickeln lassen. Vorab wollen Sie verständlicherweise wissen, mit welchen Kosten Sie für die Softwareentwicklung rechnen müssen.

Diese Frage lässt sich zwar nicht pauschal beantworten, da jede Individualsoftware einzigartig ist und die Kosten stark variieren. In diesem Artikel lernen Sie aber, von welchen Faktoren der Preis einer Software abhängt und wie Sie Ihr Budget effizient einsetzen. Los geht’s!

 

Magisches Kosten-Dreieck: Klassisch und agil

Die Kosten einer Softwareentwicklung können sich je nach angewendeter Projektmanagement-Methode unterscheiden:

 

1. Klassischer Wasserfall mit unsicheren Kosten

Die Softwareentwicklung nach dem klassischen Wasserfall-Modell setzt das Endprodukt und damit den gesamten Umfang zum Start eines Projektes fest. Sämtliche im Lastenheft definierten Anforderungen werden vollumfänglich entwickelt.

Da Softwareentwicklung in den meisten Fällen ein sehr komplexes und mitunter zeitintensives Vorhaben ist, kann es währenddessen zu unvorhersehbaren Ereignissen, Hindernissen oder technisch notwendigen Veränderungen kommen.

Deswegen lassen sich im Vorfeld Zeit und Aufwand so gut wie nie akkurat einschätzen. Daraus folgt: Ihr Budget ist kaum kontrollierbar, weil das gesamte Projekt wahrscheinlich mehr Zeit in Anspruch nimmt als ursprünglich geplant.

Auch die Qualität der Software kann unter der klassischen Softwareentwicklung leiden. Denn das Feedback der Nutzer:innen wird erst am Ende eines Projekts eingeholt. So wird womöglich eine Software entwickelt, die gar nicht die Bedürfnisse der Anwendenden erfüllt. Nachträgliche, aufwändige Korrekturschleifen können die Kosten einer Software in die Höhe treiben.

 

2. Agiles Vorgehen mit fixen Kosten

Bei der agilen Softwareentwicklung (alle Vorteile der agilen Softwareentwicklung haben wir hier aufgelistet) ist es genau umgekehrt. Die Kosten und die Zeit sind fix, der Umfang ist variabel. Nach den agilen Methoden wie Scrum entwickelt das Team eine Software schrittweise in Zyklen, den sogenannten Sprints.

Nach jedem Sprint wird das Nutzerfeedback für den neuen Entwicklungsschritt berücksichtigt, um die Bedürfnisse der Anwendenden perfekt abzudecken. Unvorhergesehene Ereignisse können außerdem schnell berücksichtigt und deren Auswirkungen regelmäßig aufgefangen und gelöst werden.

So entsteht jedes Mal eine neue, einsatzbereite Produktversion. Der Umfang ist hierbei variabel, wobei die wichtigsten Features zuerst implementiert werden. Da die Sprintdauer in der Regel auf 2 Wochen begrenzt ist, können Sie die Kosten in diesen kurzen Abständen überprüfen, steuern und Ihr Budget mehrwertstiftend einsetzen.

So lässt sich die Qualität der Software bei fixen Kosten maximieren. Lastenhefte mit vorab festgelegten Funktionen gehören damit der Vergangenheit an.

Falls Ihr Budget wider Erwarten knapp werden sollte, sind Sie dank der iterativen Ausbaustufen der Entwicklung auf der sicheren Seite. Denn zu jedem Projektstart wird ein "Minimum Viable Product", ein sog. MVP definiert. Das ist die erste Version der Software, die die minimal erforderlichen Funktionen beinhaltet. Die darüber hinausgehenden Anforderungen werden in Ausbaustufen eingeteilt.

So wird bei einem Engpass einfach bis zu der Ausbaustufe entwickelt, für die das Budget reicht. Damit ist sichergestellt, dass Ihnen auch in solchen Fällen eine voll funktionsfähige Software bereitsteht, die Sie im Unternehmen einsetzen können.

 

Diese Faktoren beeinflussen die Kosten

Die Kosten einer Software sind abhängig von dem Aufwand der Entwicklung. Verschiedene Faktoren beeinflussen den Aufwand sowie die Kosten:

 

Umfang

Ein Hauptfaktor, der die Kosten einer Software bestimmt, ist der Funktionsumfang. Dazu gehören die Menge an Features sowie deren Komplexität, sie zu entwickeln. Je umfangreicher und komplexer eine Software, umso höher der Aufwand und umso teurer wird es. Daher sollten die Anforderungen vorab gut priorisiert werden. Dazu muss intern geklärt sein, was wirklich an Funktionen gebraucht wird, um Ihr Budget möglichst gezielt einsetzen zu können.  

 

Anforderungen

Neben dem Umfang ist die Priorisierung der Anforderungen ein wichtiger Faktor für die Kosten. Welches Feature muss unbedingt implementiert werden, welches ist dagegen optional?

Sind die essenziellen Features der Software ausdefiniert, entfällt der Aufwand, in gemeinsamen Meetings diese zusätzlich herauszuarbeiten. Dabei sollten die Anwender:innen unbedingt von Anfang mit einbezogen werden. Wenn das Management oder die Fachabteilungen Anforderungen hoch priorisieren, die am Ende den tatsächlichen Usern "egal" sind, entstehen einerseits unnötige Kosten durch die vorangegangene Implementierung und andererseits durch die erneute Anpassung der Software.

Die Anforderungen für nachgelagerte Funktionen definiert man am besten erst, wenn jene mit hoher Priorität abgearbeitet wurden. So entstehen die Kosten dafür erst, nachdem die ersten funktionsfähigen Versionen der Software bereits fertiggestellt sind.

Schnittstellen

Der Aufwand der Entwicklung ist auch durch die Anzahl und Komplexität anzubindender Systeme bedingt. Sollen interne oder externe Systeme angebunden werden? Dabei spielt auch die Dokumentation eine wichtige Rolle. Wenn Schnittstellen gut dokumentiert sind, lassen sich die Aufwände vorab einfacher und genauer einschätzen.

 

Datenmigration

Ein weiterer Faktor ist die Migration von Daten. Liegt ein vorhandener Datenbestand aus einem alten oder anderen System vor, der in die Anwendung migriert werden soll? Wenn ja, durch wen soll dies geschehen? Je nach Aufwand der Migration steigen die Kosten.

 


Kostenloses Whitepaper

Onboarding bei der Softwareentwicklung: So läuft die Zusammenarbeit mit der lise. Vom ersten Kontakt bis zur fertigen Software.

Whitepaper Download 


 

Entwicklungsteam

Gibt es ein internes Entwicklungsteam? Wenn ja, hat dieses noch freie Kapazitäten? Wenn eigene Angestellte (mit-)entwickeln, können ggf. externe Kosten eingespart werden. Falls jedoch notwendige Expertisen im Team fehlen, ist es oft rentabler, die Softwareentwicklung auszulagern.

Wir bei der lise bieten etwa die Möglichkeit, eine Software „fertig“ zu entwickeln und dann an das Team des Kunden zu übergeben. Wir arbeiten das Team ein, schulen zu agilen Methoden wie Scrum und Kanban und geben ihm alles an die Hand, um die Software effizient weiterzuentwickeln.

 

Product Owner

Außerdem ist auch der Einsatz eines internen Product Owners eine Grundvoraussetzung für agile Softwareentwicklung. Dieser kann dank seiner Unternehmenskenntnisse präzise Anforderungen ausformulieren und den Fokus auf die wichtigsten Tickets schärfen. So setzt er die Weichen für eine Software mit größtmöglichem Nutzen.

Der oder die Mitarbeiter:in sollte über genügend zeitliche Kapazitäten sowie die notwendigen Entscheidungsbefugnisse verfügen, was das Budget und die fachlichen Aspekte der Software betreffen. Auch sollte der Product Owner die Bedürfnisse der Anwendenden genaustens kennen.

Das Product Backlog pflegen, Anforderungen spezifizieren und bei Fragen zur Verfügung stehen sind ebenfalls Aufgaben des „PO“. Die Rolle kann daher auch schnell eine Teil- oder Vollzeitstelle einnehmen. Diese zu besetzen, lohnt sich eigentlich immer. Schließlich hält der Product Owner das gesamte Projekt mitsamt Budget im Blick.

Gibt es keinen internen Product Owner, so entscheiden oft unterschiedliche Personen mit unterschiedlichen Befugnissen, was zu längeren Abstimmungsschleifen führt, was wiederum zu Mehrkosten führt. Falls kein interner Product Owner gestellt werden kann, können wir die Rolle in Form eines Proxy-Product Owners durch eine:e Kolleg:in abbilden.

 

Art der Entwicklung

Die Kosten einer Software sind auch abhängig von der Art der Entwicklung. Die Neuentwicklung einer Software, die Weiterentwicklung einer bestehenden Lösung oder die Modernisierung veralteter Software (Legacy-Software) können zu unterschiedlichen Kosten führen.

Neben der Technologie-Infrastruktur und Dokumentation ist auch die Nachvollziehbarkeit des alten bzw. bestehenden Codes sowie dessen Qualität entscheidend dafür, wie hoch die Kosten am Ende ausfallen. Hilfreich ist es außerdem, wenn es eine Ansprechperson zur bestehenden Software im Unternehmen gibt. Wann Sie eine Legacy-Software modernisieren sollten, und in welchen Fällen eine Neuentwicklung kosteneffizienter ist, kann im Einzelfall bewertet werden.

Zusammenarbeit mit Dienstleistern          

Ein indirekter, aber nicht zu vernachlässigender Kostenfaktor: Die Zusammenarbeit mit dem Dienstleister, der Ihre Software entwickelt. Eine langfristige und vertrauensvolle Partnerschaft sowie eine transparente und klare Kommunikation stellen die besten Voraussetzungen dar, um Ihre Softwareentwicklung so effizient und die Kosten so gering wie möglich zu halten.

Die Auswahl des richtigen Software-Partners ist dabei entscheidend. Ein erstes Kennenlerngespräch zeigt, ob die Chemie stimmt. Referenzen, Empfehlungen, Auszeichnungen sowie der Online-Auftritt des Unternehmens geben weitere Hinweise zur Professionalität des Anbieters.

 

Fazit: Viele Faktoren wichtig, festes Budget möglich

Wie Sie sehen, gibt es einige Faktoren, die bestimmen, wie teuer eine Softwareproduktion werden kann. Daher ist eine genaue Schätzung der Kosten auch immer hochindividuell.

Und dennoch: Mit der agilen Softwareentwicklung lässt sich die Qualität sowie der Nutzen einer Software auch bei einem fixen Budget maximieren, der Umfang kann variieren. Es ist also ein Mythos, dass agile Softwareentwicklung nicht mit einem festen Budget vereinbar ist.

Wir empfehlen: Fokussieren Sie sich auf Ihre Zielsetzung und definieren Sie so früh wie möglich, welche Funktionen für Sie essenziell sind, Stichwort MVP. Hinterfragen Sie die Priorisierung immer wieder, denn die entscheidet, welche Features als nächstes umgesetzt werden.

Ihr Product Owner muss die Eigenschaft besitzen, die Priorisierung kontinuierlich kritisch zu hinterfragen und sich im Zweifel gegen zusätzliche Features entscheiden. So verzichten Sie vielleicht auf optionale Anforderungen, können dadurch aber Budget einsparen und dennoch eine funktionsfähige Software erhalten. 

 

Sie möchten Ihr Unternehmen mit einer individuellen Software wettbewerbsfähig machen und suchen nach dem richtigen Software-Partner? Dann kontaktieren Sie uns für eine kostenlose Erstberatung! Gerne kalkulieren wir für Sie die Kosten nach einem gemeinsamen Workshop. 

Kostenlose Erstberatung buchen

 

 

 

Diesen Artikel weiterempfehlen

 Teilen  Teilen  Teilen  Teilen