1
 
 
Account
In your account you can view the status of your application, save incomplete applications and view current news and events
October 01, 2020

Continuous Delivery with Feature-Toggles

What is the article about?

‘Continuous Delivery’ has been on everyone's lips for some time now. At OTTO, we moved our focus away from repetitive manual activities some years ago already, in order to focus on topics that deliver greater benefit to the customer. Many other companies have also recognized the advantages of this and are planning to implement Continuous Delivery, or are already doing it.

The aim is to fully automate the deployment or ‘continuous delivery’ of new software to the end-user, among other goals. This automation saves time that can then be dedicated to other topics. As a result, new features and other software changes can be presented to the end-user more quickly. Time-to-market, i.e. the time it takes for a feature to reach and be adopted by the end-user, is determined by the quality of automation and the elimination of manual steps.

In addition to automating build and deployment, there are also changes to the working approach that will reduce development-cycle time. One such change is replacing working with feature branches with working on the master branch in combination with feature toggles. At OTTO we use the feature toggles library Togglz, where we are also actively involved as maintainers of this open source project (1).

Togglz is an implementation of the toggle pattern feature (4). You can think of toggles as switches that turn features on as well as off in operation whenever required. They are an alternative to ‘feature branches’ as they’re known from open source projects on Github, or from working with other versioning services. However, feature toggles are not located at the versioning level but at the application level. We use the Togglz library ourselves daily at OTTO in several development teams, as we believe it offers many advantages.

Working with feature toggles as well as the Togglz library allows us to develop new features asynchronously from other teams, for example. Additionally, toggles mean deployments and product backlogs no longer have to be so closely coordinated with other teams. Similarly, merge conflicts are minimized, because feature toggles completely dispense with feature branches. This in turn reduces the communication effort and goes easy on the nerves of product managers/product owners and developers 😉 – just a few of the many reasons why we rely on feature toggles.

You can find out more about further advantages via the current issue of Java Magazine (10.2020) (3),
available from the kiosk since this week and wherever magazines are on sale. In addition to the use of feature toggles and the associated organizational implications, in the article we also discuss how to integrate and use the Togglz library with a spring boot application, what using feature toggles means for developers’ everyday work – and much more. So it's worth buying the current issue of Java Magazine ;-)

Java Magazin
Java Magazin
Titelbild Java Magazin

We hope we have sparked your curiosity about Togglz and the magazine article, and would be very happy to receive your feedback. Besides this we will of course also be happy to hear about issues and pull requests on GitHub. (2)

Should you have any questions, requests or suggestions, feel free to get in touch!

Sources, links and further reading
----------
1. https://www.togglz.org/
2. https://github.com/togglz/togglz
3. https://kiosk.entwickler.de/java-magazin/java-magazin-10-2020/
4. https://martinfowler.com/bliki/FeatureToggle.html

0No comments yet.

Write a comment
Answer to: Reply directly to the topic

Written by

Bennet Schulz
Software Developer, former OTTO

Similar Articles

We want to improve out content with your feedback.

How interesting is this blogpost?

We have received your feedback.

Cookies erlauben?

OTTO und drei Partner brauchen deine Einwilligung (Klick auf "OK") bei einzelnen Datennutzungen, um Informationen auf einem Gerät zu speichern und/oder abzurufen (IP-Adresse, Nutzer-ID, Browser-Informationen).
Die Datennutzung erfolgt für personalisierte Anzeigen und Inhalte, Anzeigen- und Inhaltsmessungen sowie um Erkenntnisse über Zielgruppen und Produktentwicklungen zu gewinnen. Mehr Infos zur Einwilligung gibt’s jederzeit hier. Mit Klick auf den Link "Cookies ablehnen" kannst du deine Einwilligung jederzeit ablehnen.

Datennutzungen

OTTO arbeitet mit Partnern zusammen, die von deinem Endgerät abgerufene Daten (Trackingdaten) auch zu eigenen Zwecken (z.B. Profilbildungen) / zu Zwecken Dritter verarbeiten. Vor diesem Hintergrund erfordert nicht nur die Erhebung der Trackingdaten, sondern auch deren Weiterverarbeitung durch diese Anbieter einer Einwilligung. Die Trackingdaten werden erst dann erhoben, wenn du auf den in dem Banner auf otto.de wiedergebenden Button „OK” klickst. Bei den Partnern handelt es sich um die folgenden Unternehmen:
Google Inc., Meta Platforms Ireland Limited, elbwalker GmbH
Weitere Informationen zu den Datenverarbeitungen durch diese Partner findest du in der Datenschutzerklärung auf otto.de/jobs. Die Informationen sind außerdem über einen Link in dem Banner abrufbar.