On Feature Flags at Doist

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 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