© Excellent backgrounds/Shutterstock.com
Feature Toggles als Hilfsmittel einsetzen

On/off


Continuous Delivery (CD) ist aus der modernen Softwareentwicklung nicht mehr wegzudenken. Es hat den Anspruch, Softwareprodukte bei gleichbleibender ­Qualität jederzeit lieferfähig zu halten. Dieser Artikel zeigt, wie Feature Toggles bei der Erreichung dieses Ziels helfen können und Probleme, die bei CD auftreten, vermieden werden können.

Eine im Rahmen von CD eingesetzte Technik ist Continuous Integration, kurz CI. Die Voraussetzung für den Einsatz von CI ist, dass alle Teammitglieder auf demselben Entwicklungszweig arbeiten und dort den entwickelten Programmcode ablegen. Da so alle Änderungen der Teammitglieder unmittelbar integriert werden, bleibt der Integrationsaufwand minimal; außerdem können eventuelle Integrationsprobleme sofort behoben werden. Durch die Integration ergibt sich ein weiterer Vorteil für CD: Der aktuelle Entwicklungsstand kann bereits getestet und die Softwarequalität geprüft werden.

Nach jeder Änderung im Entwicklungszweig und deren erfolgreicher Integration kommt Continuous Inspection zum Einsatz. Dabei handelt es sich um eine Technik, die zur Überprüfung der Softwarequalität eingesetzt wird. Zu diesem Zweck wird eine Inspektionssoftware, z. B. SonarQube [1], verwendet, die den Programmcode scannt und auf die Verletzung von Regeln untersucht. Durch die Nutzung dieser Technik ist es möglich, Mängel der Software frühzeitig zu identifizieren und im Anschluss zu beheben, was wiederum die Softwarequalität langfristig verbessert.

Auch die nächste Technik wird erst nach erfolgreicher Integration ausgeführt: automatische Softwaretests. Hier wird der Entwicklungsstand mittels automatisierter Testfälle durchlaufen. Sofern es eine gewünschte bzw. erforderliche Testabdeckung gibt, können diese Tests Fehler aufdecken. Trotzdem ist auch bei einer hundertprozentigen Testabdeckung nicht garantiert, dass Fehler gefunden werden. Erst durch ständiges Testen der Software können Aussagen über die Qualität getroffen werden.

Nach jeder Änderung im Entwicklungszweig werden die CD-Techniken in der gleichen Reihenfolge durchlaufen. So wird gewährleistet, dass Weiterentwicklungen ohne großes Risiko ausgeliefert werden können, da durch CI und das permanente automatisierte Testen eine Aussage über die Qualität der Software getroffen wird. Doch im Fall von kurzfristigen Änderungswünschen, unfertigen bzw. fehlerhaften Funktionen oder zu kurzen Auslieferungszeiten ist die Lieferfähigkeit einer Software in Gefahr, da auch trotz Integration und kontinuierlicher T...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang