Was kostet eine Flutter App?

Als Cross-Plattform Framework verspricht Flutter nicht nur, die Entwicklungsprozesse für Apps schneller und einfacher zu machen, sondern auch die Kosten für die App-Entwicklung zu reduzieren. Doch was bedeutet dies konkret? Wie lassen sich mit Flutter die Entwicklungskosten senken und welche finanziellen Mehrwert bietet eine Umsetzung mit Flutter? Wir haben uns hierzu ein paar Gedanken gemacht.

Bei der Business Case Betrachtung für die App-Entwicklung mit Flutter spielen verschiedene Faktoren eine Rolle

Agile Entwicklung als Basis für moderne Software-Projekte

Zunächst einmal haben wir uns die Entwicklungsprozess für Apps angeschaut: Eine App ist ein lebendiges Stück Software, das stetig weiterentwickelt wird. Anders als bei Webseiten oder browserbasierten Anwendungen, die quasi täglich erweitert werden können, unterliegen Apps einem Release- und Publikationsprozess. Ein Update muss – insbesondere im App-Store von Apple – zunächst freigegeben werden. Daher sind die Entwicklungsprozesse auf regelmäßige Releases abzustimmen. Hierfür eignet sich die agile Methodik (z.B. SCRUM) besonders, da am Ende jeden Sprints das Ziel eines fertigen Produktinkrements steht: Daher sind die zu realisieren Funktionen und Erweiterungen so zu planen, dass sie am Ende des Sprints in eine neue Version des Produktes einfließen können.

Bei der Betrachtung der Kosten für die App-Entwicklung mit Flutter gehen wir daher von einem agilen Projektteam aus. Dieses besteht aus einem Product Owner (PO), App-Entwicklern, UX-Designern, Test- und QS-Managern sowie einem SCRUM-Master. Unabhängig davon, ob eine native Entwicklung oder eine Entwicklung mit Flutter erfolgt, ist das Grund-Setup des Teams vergleichbar. Für unsere Betrachtung gehen wir zunächst davon aus, dass Android- und iOS-Entwickler nicht in getrennten Teams arbeiten, sondern sich in einem Team zusammenfinden.

Unser Team-Konstellation ist daher:

Native EntwicklungFlutter Entwicklung
1 x Senior Android Developer1 x Senior Flutter Developer
1 x Senior iOS Developer2 x Flutter Developer
1 x Junior Android Developer1 x UX Designer
1 x Junior iOS Developer1 x Technical Product Owner
1 x UX Designer1 x Test- und QM-Manager
1 x Technical Product Owner1 x Scrum Master
1 x Test- und QM-Manager
1 x Scrum Master

Da alle Teammitglieder nicht nur an einem Produkt arbeiten, haben wir – für eine Entwicklung im Rahmen eines externen Agentur- oder Entwicklungspartners – entsprechende Aufwände pro Sprint definiert, die als Grundlage für die Berechnung dienen sollen. Diese sind pauschal mit einem Tagessatz von 1.000 Euro als Berechnungsgrundlage hinterlegt:

Beispiel-Kalkulation pro Sprint für die native Entwicklung:

Rolle im ProjektteamTage / SprintTagessatzKosten
Senior Android Developer6,01.000 €6.0 T€
Senior iOS Developer4,01.000 €4.0 T€
Junior Android Developer8,01.000 €8.0 T€
Junior iOS Developer8,01.000 €8.0 T€
UX Designer6,01.000 €6.0 T€
Technical Product Owner10,01.000 €10.0 T€
Test- und QM-Manager8,01.000 €8.0 T€
Scrum Master6,01.000 €6.0 T€

In der Realität schwanken die Tagessätze – abhängig vom Erfahrungsgrad und der Rolle im Team – sicherlich; für eine erste Kostenbetrachtung ist dies allerdings nicht maßgeblich.

Für ein entsprechendes Flutter-Team setzen wir folgende Rollen und Aufwände an:

Rolle im ProjektteamTage / SprintTagessatzKosten
Senior Flutter Developer6,01.000 €6.0 T€
Flutter Developer14,01.000 €14.0 T€
UX Designer4,01.000 €4.0 T€
Technical Product Owner6,01.000 €6.0 T€
Test- und QM-Manager6,01.000 €6.0 T€
Scrum Master6,01.000 €6.0 T€

Native Entwicklung heisst mehr Aufwand – vor allem in der laufenden Betreuung

Bei der Betrachtung der Aufwände sehen wir vier maßgebliche Unterschiede wenn man die beiden Herangehensweise an die Entwicklung vergleicht:

  1. Parallele Entwicklung von zwei Apps erzeugt mehr Aufwand, da diese kaum gemeinsame Code-Basis verwenden können
  2. Der Aufwand für Testing und Qualitätssicherung ist deutlich höher, da bei jeder neuen Funktion, zwei Systeme und Plattformen getestet werden müssen
  3. Die Definition der Funktionen – sprich das technische Product Management – muss für zwei Entwicklungsstränge erfolgen. Dies bedeutet, dass zwei Backlogs gepflegt und Abhängigkeiten geprüft werden müssen
  4. Durch die unterschiedlichen Plattformen und deren UX-/Design-Anforderungen erzeugen die Gestaltungsprozesse einen Mehraufwand 

Insgesamt benötigt das Native-Team 20 bis 25% mehr Kapazitäten, als ein Flutter-Team.

Höhere Qualität durch einer testgetriebenen Entwicklung mit Flutter

Dank einer zentralen Code-Basis und der Möglichkeit, automatisierte Test-Prozesse auf verschiedenen Ebenen (Unit-Test, Integrations-Test und UI-Tests) umfassende zu integrieren, gehen wir von einer besseren Produktqualität und einem geringeren Aufwand für Bugfixing und Fehlerbehebung in der Flutter-Entwicklung aus. 

Mit gleichen Ressourcen lässt sich bei Flutter eine Testabdeckung von 80% im Vergleich zu 40% bei der nativen Entwicklung realisieren. Daher rechnen wir in unserem Case mit einem Aufwand von 15% der Sprint-Kapazität für Bug-Fixing in der Flutter-Entwicklung zu 20% in der nativen App-Entwicklung. Da letzterer allerdings für zwei Apps und zwei unterschiedliche Code-Basen anfällt, sind dies relativ deutlich höhere Aufwände pro Sprint. 

Geringe Kosten bei mehr Output

Um die Kosten der beiden Ansätze zu vergleichen, gehen wir von einem fiktiven Wert von 100 Story Points pro App und Sprint aus, die beide Teams abarbeiten können. Dieser Wert dient nur zur Berechnung der Kosten pro Story Point und kann in der Realität der täglichen Arbeit natürlich pro Sprint variieren.

Das Native-Team kann in unserer Berechnung pro Sprint (Laufzeit 14 Tage) folgende Leistung erbringen:

  • Story Points pro App: 100 x 2 = 200 Story Points (Referenzwert)
  • Anteil Bug Fixing: 20% (20 x 2 = 40 Story Points)
  • Anteil Testabdeckung: 40%
  • Abzurechnende Tage pro Sprint: 54 (= 54 T€ Kosten)
  • Kosten pro Story Point und App: 540 €

Unser skizziertes Flutter-Team hat im gleichen Zeitraum folgende Parameter:

  • Story Points pro App: 150 Story Points über alle Apps
  • Anteil Bug Fixing: 15% (22,5 Story Points)
  • Anteil Testabdeckung: 80%
  • Abzurechnende Tage pro Sprint: 42 (= 42 T€ Kosten)
  • Kosten pro Story Point und App: 280 €

Fazit: Flutter-Apps sind günstiger bei besserer Qualität

Auf Basis des skizzierten Business Cases kann man bei einer App-Entwicklung mit Flutter deutliche Ergebnisse und Verbesserungen im Vergleich zur nativen Entwicklung erzielen. 

  • Reduktion der Kosten pro Sprint um ca. 20 %
  • Redaktion der Kosten pro Story Point um ca. 50%
  • Erhöhung des Outputs (Anzahl Story Points) pro Sprint um 50 %
  • Verbesserung der Qualität /  schnelle Reaktionsfähigkeit bei Bugs
  • Maßgebliche Steigerung der automatischen Testabdeckung