Wann wird Feature XY fertig?
Die Software-Entwicklung ist komplex und schwer planbar, weshalb keine festen Veröffentlichungstermine für neue Funktionen kommuniziert werden. Stattdessen wird an der kontinuierlichen Verbesserung der Software gearbeitet, wobei Kundenfeedback und Entwicklungsprioritäten berücksichtigt werden. Dringende Funktionen können in Zusammenarbeit mit Kunden terminiert werden, jedoch bleibt die Qualität der Arbeit oberste Priorität.
Geschrieben von Lars
Zuletzt aktualisiert Vor 2 Monaten
ℹ️ Immer wieder erreichen uns Fragen mit dem Inhalt, wann ein angekündigtes oder gewünschtes Feature veröffentlicht wird. Im folgenden Artikel wollen wir ein wenig darauf eingehen.
Software-Entwicklung ist nur schwer planbar
Software-Entwicklung ist nicht das einfache Schreiben von Quellcode. Hinter jeder Funktion steht viel konzeptionelle Arbeit. Designs werden erstellt, besprochen und verworfen. Datenstrukturen werden geplant und geändert. Und nach dem Schreiben eines Features muss dieses noch ausführlich getestet und ggf. weiter angepasst werden.
Vermeintlich kleine Änderungen können große Umbaumaßnahmen im Kern der Anwendung oder Anpassungen an ganz anderen Stellen nötig machen. Auch der Einfluss auf unsere Kunden kann unterschiedlich groß sein.
Man kann darum i. d. R. erst nach ausführlicher Planung und Recherche bestimmen, wie lang die Entwicklung eines Features dauern wird. Und selbst dann kann es immer wieder zu Verzögerungen kommen.
Die Roadmap wird ständig neu evaluiert
Welche Funktionen demnächst entwickelt oder verbessert werden sollen, legt unsere Roadmap fest. Dabei versuchen wir, so objektiv wie möglich vorzugehen. Wir betrachten Aspekte wie Entwicklungsaufwand, Einfluss auf Kunden (positiv wie negativ), ob es Workarounds gibt und wie gut ein Feature zu unserer aktuellen Produktstrategie passt.
Diese Evaluation der Roadmap erfolgt laufend und kann die Entwicklungsreihenfolge immer wieder beeinflussen.
Die Veröffentlichung von Features wird nicht kommuniziert
Das Enttäuschendste für Kunden ist meist, wenn wir Versprechen nicht halten können. Wenn wir also heute versprechen, dass ein Feature in drei Wochen bereit stehen wird und es bis dahin dann ungeplant doch nicht fertig ist, verlieren wir ein Stück Vertrauen unseres Kunden.
Das setzt das Entwicklungsteam unnötig unter Druck und veranlasst uns fehlerhafte, schlecht durchdachte oder nicht gut getestete Funktionen zu veröffentlichen. Das wäre nicht die Art der Arbeit, die wir ausliefern wollen.
Darum sind wir dazu übergegangen, zwar zu kommunizieren, an was wir aktuell arbeiten und was zukünftige Feature sein werden, allerdings kommunizieren wir keine Veröffentlichungszeitpunkte.
Wir nehmen i. d. R. keine Auftragsentwicklung an
Ein weiterer wichtiger Aspekt ist, dass wir zwar stets an der Verbesserung unserer Software arbeiten - keines unserer Programme ist fertig und wir haben teilweise noch sehr viele Ideen - aber wir wollen nicht dafür bezahlt werden, dass manche Features in der Priorität nach oben steigen.
Auch Nischen-Funktionen, die nur für einen oder sehr wenige Kunden relevant sind, versuchen wir weitgehend nicht durch individuelle Aufträge umsetzen. Das zahlt i. d. R. nicht auf das Produkt ein, schafft Insellösungen, die später immer schwerer aufrecht erhalten werden können und lenkt uns von unserer eigentlichen Arbeit ab: das ständige Verbessern der Software für die Gesamtheit unserer Kunden.
Wir gehen darum den Weg, das Funktionen, die einzelne Kunden wirklich dringend benötigen z. B. durch die Konfiguration von variablen Feldern und Bereichen hinzugefügt werden können, oder dass Funktionen so variabel gestaltet werden, dass sie letztlich allen Kunden wieder zugute kommen.
Es gibt Ausnahmen
Natürlich gibt es Ausnahmen. Dringend erwartete Funktionen, die kritisch für die eigene Arbeit sind und an denen wir aktiv arbeiten, werden auch auf einzelne Tagen oder Wochen terminiert, damit Sie Ihre internen Prozesse entsprechend planen können.
Außerdem schließen wir oft Entwicklungspartnerschaften, bei denen der initiierende Kunde sich an den Entwicklungskosten beteiligt und wir ihm das gewünschte Feature in die Software integrieren. Das ist vor allem dann der Fall, wenn eine gewünschte Funktion thematisch zwar gut in die Software passt, jedoch bei uns und bei anderen Kunden keine hohe Priorität erhält. In diesem Fall entwickeln wir mit den Kunden die jeweilige Funktion und dieser beteiligt sich an den Kosten.
Fazit
Warum wir Veröffentlichungszeitpunkte nicht kommunizieren, hat einen klaren Grund bei uns:
Wir wollen qualitativ hochwertige Arbeit ausliefern und unsere Kunden nicht enttäuschen.
Das geht nur, wenn wir uns für die Entwicklung die nötige Zeit nehmen und uns auch selbst erlauben können, ein Feature noch einmal “in die Runde” zu geben, bevor es veröffentlicht wird.
Das ist keine Geheimhaltungstaktik, sondern unsere Auffassung, wie wir ein gutes Produkt liefern können.
Im Zweifel, sprechen Sie uns einfach darauf an.