Was kostet die Entwicklung eines neuen Features wirklich?

Hand holding iPhone

Als Software Plattform entwickeln wir die meisten neuen Features und Funktionen anhand Ihrer Anforderungen und Ideen gemeinsam mit unseren Kunden. Dabei sind wir immer bemüht das Produkt sowohl für unsere Partner als auch für deren Nutzer/Innen zu verbessern, effizienter zu machen und den Mehrwert zu erhöhen. Tatsächlich ist es so, dass die Kosten im Zusammenhang mit der Implementierung von neuen Features fast immer – meist auch von einem selbst – unterschätzt werden. Oft zahlt man langfristig “die Zeche” wie man so schön sagt. Und besonders bei neuen Dingen, die dann letztlich nicht wirklich intensiv genutzt werden, sind die damit verbunden Kosten schnell ärgerlich und wirtschaftlich schlicht unnötig.

Software-Entwickler und technisch Verantwortliche kennen das Thema ausreichend, denn sie tragen die Verantwortung dafür, dass alles reibungslos funktioniert. Mit diesem Beitrag wollen wir auch weniger technisch versierten Kunden und Kollegen einen Einblick in die tatsächlichen Kosten der Entwicklung neuer Features geben. Nur wer die wahren Kosten kennt, kann abschätzen ob sich die Mühe lohnt.

Spoiler: Oft sind die eigentlich Entwicklungskosten dabei nur der kleinere Faktor. Problematisch sind die indirekten Kosten.

Hier einmal die 10 Kostenfaktoren, welche es eigentlich bei der Planung eines neuen Features zu beachten gilt:

  1. Opportunitätskosten über alle Team-Mitglieder und Bereiche hinweg. Jede Organisation – auch unsere – hat begrenzte Ressourcen, d.h. wenn wir ein Feature entwickeln, haben wir dafür keine Zeit ein anderes voranzutreiben. Und der Backlog an Ideen ist selten zu klein, meist eher schon groß genug.
  2. Kosten, um die Anforderung genau zu verstehen, zu diskutieren und schriftlich auszuarbeiten. Diese Kosten fallen an bevor die eigentliche, technische Implementierung beginnt. Dies kann bereits oft einige Tage dauern. In der Regel müssen mehrere Experten aus unterschiedlichen Bereichen involviert werden.
  3. Direkte Kosten zur Implementierung der neuen Funktion. Damit sind dann wieder meist mehrere Leute im Team beschäftigt. Oft sind sowohl die beiden Apps (iOS und Android) als auch das Backend mit den notwendigen Schnittstellen direkt betroffen. Bevor die Entwickler starten können, braucht es oft auch noch Konzept und Design.
  4. Kosten im Zusammenhang mit dem technischen Rollout des Features. Das sogenannte “Deployment” einer neuen Entwicklung gestaltet sich komplexer als es ist (Nein, wir laden da nicht einfach etwas Code hoch…🙂 ), denn es müssen unterschiedliche Komponenten auf verschiedenen Servern aktualisiert und verändert werden. Ausserdem müssen andere Teile (bspw. das Monitoring) erweitert werden, ggf. braucht es andere, zusätzliche technische Ressourcen oder Tools.
  5. Die Funktion muss am Ende “feingeschliffen” und bis zum endgültigen Rollout optimiert werden, denn am Ende sind oft die letzten Prozent entscheidend, ob etwas aus der Sicht der Nutzerin bzw. des Nutzers reibungslos wirkt. Produktmanager, Entwickler und Test-Engineers sind damit besonders ganz am Ende oft länger beschäftigt als man das geplant hat.
  6. Das Feature muss laufend gepflegt werden. Software ist wie eine Pflanze, die man hegen und pflegen muss. Um so länger sie ohne Liebe und Zuneigung “herumliegt”, desto schneller geht es bergab mit ihr. Das Team muss dauerhaft sicherstellen, dass die neue Funktion läuft und keine Probleme bereitet. Sprich: selbst die einfachste Erweiterung erhöht die Komplexität des Gesamtsystems. Immer.
  7. Kosten im Zusammenhang mit der Kommunikation des neuen Features, nicht in Richtung Kunden, aber in Richtung des internen Support-Teams. Alle Beteiligten müssen die notwendigen Details verstehen und weiter kommunizieren können. Kommunikationsmaterial muss aktualisiert werden, Sprachregelungen angepasst oder neu verfasst.
  8. Kosten, um das Tracking mit dem Analytics Dashboard anzupassen. Neue Funktionen verkomplizieren oft das Tracking oder sollen selbst explizit erfasst werden (besonders, um zu sehen ob bzw. wie sie angenommen werden). Tracking ist komplex und das ergänzen von neuen Punkten erzeugt unmittelbaren Aufwand.
  9. Kosten durch die Erhöhung der Systemkomplexität im Ganzen. Einer der am meisten unterschätzten Punkte! Die Entwicklung neuer Funktionen wird mit der steigender Komplexität des Gesamtsystems aufwendiger. Dies betrifft nicht nur Maintenance und Support, sondern auch ganz konkrete neue Features. Eine größere Code-Basis ist viel schwerer beherrschbar als eine kleine. Eine größere Code-Basis erfordert mehr Erfahrung, Weitsicht und Fähigkeiten von einem Entwickler. Allein dadurch wird die Entwicklung dann auch insgesamt teurer.
  10. Kosten zur Aktualisierung von FAQs und Schulungsmaterialien. Neue Features müssen auch hier aufgenommen, erläutert und erklärt werden. Die interne Dokumentation muss erweitert werden damit auch zukünftig alle Details klar sind und schnell gefunden werden können.

Die Gesamtkosten, die sich aus diesen Punkten ergeben werden in neun von zehn Fällen unterschätzt. Wie hat ein namhafter Gründer so schön gesagt:

“Most people overestimate what they can do in one year and underestimate what they can do in ten years.”

Bill Gates

Gleiche Logik gilt für die Kosten neuer Features in der Software Entwicklung. Selbst, wenn wir die kurzfristigen Kosten manchmal vielleicht überschätzen. So unterschätzen wir fast immer die langfristigen bzw. darauf folgenden.

Inspiriert wurde dieser Beitrag übrigens von diesem Blog Post von John Cutler. Er schreibt:

“One of the fundamental challenges of product development is understanding the true cost of releasing a new feature. The benefits feel concrete. Shipping feels great. Talking costs is a downer.”

John Cutler

Verstehen Sie uns nicht falsch: wir lieben die Entwicklung neuer Features und gehen dies jeden Tag mit großer Energie an. Aber grundsätzlich sollte man sich bewusst werden, wie die konkreten Auswirkungen aussehen. Daher sollte man sich auf Features fokussieren, die einen großen Mehrwert haben, aber hinsichtlich Ihrer direkten und indirekten Kosten begrenzt sind.

Dahinter sollte auch immer die Frage stehen: Ist dies den Aufwand wert, wenn man sich ehrlich über den gesamten Aufwand Klarheit verschafft? 😎 Nicht immer ist die Antwort darauf “ja”. Und ganz oft ist dann auch ein “nein” eine gute, professionelle Antwort.