Roman Imankulov

Roman Imankulov

Python Developer from Porto

21 Apr 2020

On Feature Flags at Doist

Feature Toggles Photo by Dean Brierley

I shared our experience introducing feature flags in the tech ecosystem at Doist with our partners from CloudBees.

CloudBees, known for asked us to share our case study, and it was good opportunity to reflect on our journey towards the feature-flag based development, what we achieved so far and where we’re heading towards. Also, it served me as a reminder how many different use cases unlocks such a simple idea.

It’s not like feature flags were new for us. Since forever, our platforms have ad-hoc switches like if is_doister(): enable_feature(). On the Day X, we removed these if-else clauses to make a new release. One day we decided to have a central place to manage them all. Learning further, we understood that there is much more that you do with feature flags, and it would be a shame to spend our energy to implement just a limited version of what they can take us.

Fast forward eight months, we use feature flags across all the platforms, and I am happy to see how they became the standard de-facto to release something new for almost all of us.

To keep up with uncontrollable flag proliferation, we have a dedicated page, outlining the best practices and conventions to use the flags, and a single person (me) that is responsible for keeping it up to date and share same vision across the teams.

Flag Namespaces