Kauf vs. Eigenentwicklung

Die Entscheidung über den Kauf einer fertigen Feature-Flag-Management-Lösung vs. der Eigenentwicklung einer solchen Lösung ist von vielen verschiedenen Faktoren abhängig. Wie viel Softwarekomponenten sind im Einsatz, wie groß sind die Entwicklerteams und wie häufig soll ein neues Release Live vor Kunde gebracht werden. Unterliegt ihr Produkt nur wenigen Änderungen im Jahr, haben Sie Wartungsfenster oder muss der Betrieb der Anwendung rund um die Uhr gewährleistet werden? Zu guter letzt ist zudem die Expertise ihrer Entwicklerteams und der Produktmanager entscheident sowie die Tatsache, ob ihre Anwendung von außen gesteuert werden kann und soll.

Viele Kaufprodukte bieten ihre Lösungen nur als Software as a Service an - damit benötigen Sie aus Sicht Ihrer Anwendung einen Zugriff auf die API-Endpunkte des entsprechenden Providers. On Premise Lösung werden von einigen Herstellern angeboten, jedoch ist der Preis hier meist deutlich höher als bei den SaaS-Angeboten. Für den Einsatz eines Kaufproduktes sprechen einige Faktoren, vor allem die Tatsache das gute Entwicklungswerkzeuge heutzutage genauso zur Grundausstattung ihrer Entwickler gehören sollten wie entsprechende Entwicklungshardware. SaaS Lösungen sind an die Wünsche von Entwicklern angepasst, bieten einfach zu integrierende Frameworks und kümmern sich fortlaufend um Patches und Sicherheitsupdates.

Vorteile für den Kauf einer Lösung

• Lösungen sind sofort einsetzbar und müssen nicht erst selbst entwicklet werden
• Es gibt eine Vielzahl von Anbietern
• SDKs sind fertig verfügbar und können leicht eingebunden werden
• Die Wartung der Oberfläche, Sicherheitspatches etc. obliegt dem Anbieter
• Viele Anbieter bieten monatlich kündbare Pakete, die Entwicklung kann daher leicht "ausprobiert" werden

Nachteile für den Kauf einer Lösung

• monatliche Kosten
• In der eigenen Software wird "Fremdcode" geladen und ausgeführt
• Zugriff aus der eigenen Anwendung auf den API-Enpunkt des Anbieters ist nötig
• KnowHow über Feature Flags nicht im eigenen Team

Vorteile bei Eigenentwicklung

• KnowHow über die Entwicklung und die Integration im eigenen Team
• Kontrolle über die Funktionsweise des Toggles Systems
• Eigene Anforderungen können nach Bedarf umgesetzt werden
• Keine Abhängigkeit zu Dritten

Nachteile bei Eigenentwicklung

• Zeit die für die Entwicklung des Management Systems investiert wird fehlt bei Produktentwicklung
• Die Kosten für den Umfang von Management Lösungen können sehr hoch sein und anfangs unterschätzt werden
• Wartung muss selbst durchgeführt werden
• Betriebs der Lösung muss selbst durchgeführt werden
• Kosten für Hardware/Hosting fallen an
• Die Wiederverwendbarkeit ist meist nicht gegeben, nur für dedizierte Projekte verwendbar

Fazit

Die Vorteile für den Einsatz eines Kaufproduktes überwiegen zumeist die der Eigenentwicklung, zumindest dann wenn auf "Administrationsoberflächen" nicht verzichtet werden soll. Eigene Entwicklungen können aus Kostensicht anfangs günstiger erscheinen, jedoch müssen diese dauerhaft gewartet werden und unterliegen wie auch die eigentliche Produksoftware einem Software Lifecyle. Häufig fehlt es bei diesen Lösungen an ausreichender Dokumentation da die Produktentwicklung ja im Vordergrund steht. Fehlt dann der Entwickler der "genau dieses System entwickelt hat", müssen Implementierungen erneuert werden und die Kosten steigen zusätzlich. SaaS Lösungen bieten fertige SDKs sowie Dokumentation und können dank monatlicher Kündigungsfristen einfach ausprobiert werden.

Weitere Informationen zur Integration sind auf der Implementierungsarten Seite zusammengefasst.