Roman Imankulov

Roman Imankulov

Full-stack Python web developer

search results (esc to close)
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.

https://www.cloudbees.com/case-study/doist

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

It’s not like feature flags were new to us. Since forever, our platforms have had ad-hoc switches like if is_doister(): enable_feature(). On 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 can do with feature flags, and it would be a shame to spend our energy implementing just a limited version of what they can offer.

Fast forward eight months, we use feature flags across all the platforms, and I am happy to see how they have become the de facto standard for releasing 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 for using the flags, and a single person (me) who is responsible for keeping it up to date and sharing the same vision across the teams.

Flag Namespaces

Roman Imankulov

Hey, I am Roman, and you can hire me.

I am a full-stack Python web developer who loves helping startups and small teams turn their ideas into products.

More about me and my skills