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.

Allow cookies?

OTTO and three partners need your consent (click on "OK") for individual data uses in order to store and/or retrieve information on your device (IP address, user ID, browser information).
Data is used for personalized ads and content, ad and content measurement, and to gain insights about target groups and product development. More information on consent can be found here at any time. You can refuse your consent at any time by clicking on the link "refuse cookies".

Data uses

OTTO works with partners who also process data retrieved from your end device (tracking data) for their own purposes (e.g. profiling) / for the purposes of third parties. Against this background, not only the collection of tracking data, but also its further processing by these providers requires consent. The tracking data will only be collected when you click on the "OK" button in the banner on otto.de. The partners are the following companies:
Google Ireland Limited, Meta Platforms Ireland Limited, LinkedIn Ireland Unlimited Company
For more information on the data processing by these partners, please see the privacy policy at otto.de/jobs. The information can also be accessed via a link in the banner.