Creating a culture of experimentation at Delivery Hero – Vol. II

By Adam Mallat

The Fun with Flags feature flagging service helps Product & Tech teams at Delivery Hero make their release flow safer and less stressful. By allowing them to serve features to random or specific segments of their users, it also facilitates experimentation for data-driven product decisions.

What is the Fun with Flags service good for?

Product development comes in iterations, in changes to specific features of a platform. Whenever a Delivery Hero team creates a new feature, or a new variation of a feature for one of their applications, they can flag it: instead of showing the new version directly, they “ask” the Fun with Flags API which variation to show to a specific user in a specific situation.

This sounds more complicated than just replacing old code with new code, but it happens within a few milliseconds, and opens up a world of possibilities:

  • When you develop new features “behind” a flag, it can be in production without being visible to any user. This lets you separate code deployment from feature release. You can deploy to production at any time, and yet developers can work on the problem until it is solved, QA can test it until it is safe to publish. This makes the lives of tech and product teams much less stressful.
  • You can stage a rollout, showing the new variation of a feature to an increasing percentage of your users, while keeping an eye on the stability and business KPIs of your application. If anything goes wrong during rollout, you just flick a switch in FwF and go back to the previous, stable version of your feature. Once rolled out, you can use the flag to show the different variations of a feature to segments of users – some features may only be interesting to users in a specific country or city, or during a specific episode of their user lifetime.
  • In customer-facing applications, any new feature, or a new variation of a feature, can be A/B-tested against the previous solution. This type of experimentation makes product decisions less risky and more data driven. Instead of guessing or debating internally what’s best for users, you look at the real-life impact on user behavior, and then decide whether or not to stick with the new version of your feature.

To facilitate all of this, Fun with Flags is being developed by a dedicated team in the headquarters of PedidosYa in Montevideo, Uruguay. Above you an see a picture of the Fun with Flags Squad, the team building Delivery Hero’s internal feature toggling and experimentation tool.

Interested in why we develop this tool internally at Delivery Hero, rather than using one of the numerous services on the market? Soon there will be more on this on techdhstaging.wpengine.com – also some stories of the teams that use Fun with Flags to improve their product development practices, and about what it’s like to build this tool.