More and more software development teams are adopting feature flags, also known as feature toggles, as a key part of their deployment process. Feature flags allow development teams to safely test and release features through the use of practices like canary deployments, kill switches and A/B testing.
SourceForge had the opportunity to catch up with Ben Rometsch, CEO of feature flagging provider Flagsmith, and discuss some interesting topics like why the practice of feature flagging is growing so fast, and how teams who don’t use feature flags yet can get started.
Thanks for sitting down with us Ben. Feature flagging is such a popular topic these days, but Flagsmith has been around since 2018. Tell us about how you got started?
Thank you for speaking with me. It’s true that the adoption of feature flags has really exploded in the last year or two, but the teams I’ve worked with have been utilizing them since at least 2015. I ran a development agency in London for the last 20-years and we would use feature flags with our client projects, but the tools on the market didn’t suit our needs. Many of them were not easy to use, lacked remote config, were only SaaS, and were prohibitively expensive as we scaled usage.
So eventually the team and I decided to build our own. We built a great product and got very positive feedback from our clients, so we named it Bullet Train and shared it as open source. That was back in 2018. We eventually renamed it to Flagsmith, and launched our SaaS offering along with the open source version. We still support the open source version to this day, it’s an important part of our ethos.
What were the benefits you saw in sharing Flagsmith as open source?
We really believe in open source software. I have always preferred using open source software, and I wanted to contribute to that community. We actually host a podcast called The Craft of Open Source where I interview founders of great open source projects. I’m always inspired by the founders and communities around open source projects.
It fits the ethos of our company well. We built Flagsmith because we wanted a feature flagging platform that met our needs when the other options didn’t fit. We want that to be available to others as well.
Let’s dive a little more into those needs. In your words, what are the largest benefits of adopting feature flags?
Feature flags are generally used for two related but different purposes.
The first is as a tool improving the deployment process. Development teams are always trying to improve their deployment velocity. To achieve this safely, they need the right tooling, and feature flags are one of these critical tools. Feature flags decouple deploy from release, allowing teams to deploy code any time and then only release it when they are ready. They also add a lot of safety to releases. Feature flags allow teams to release new features to a subset of users and gradually increase that group as things go well. They can also be used as a quick way to revert if something is broken in the new release.
The second purpose is for experimentation. In this case, feature flags and multivariate flags allow for A/B testing, A/B/n testing and gradual feature rollout. Teams use this to release several different versions of their product to their user base, and then measure and analyze which perform best. Using feature flags is a very flexible and intuitive way to do A/B testing. Flagsmith also has native integrations with the popular analytics providers so that these tests can be monitored right where teams do their data analysis.
Feature flags in Flagsmith can also be used for a third related purpose; remote config. Remote config is a really helpful feature for software teams that want an easy way to update their applications without a new deployment. This comes in handy when there is a long approval process for deployments that is outside of your control – like a 3rd party app store.
What differentiates Flagsmith from the other feature flag alternatives?
As I mentioned we built Flagsmith originally for ourselves and our agency clients because the alternatives didn’t have what we needed. Some of these needs were user experience and advanced feature related. Others were about security and control. No other feature flagging platform is built with data sensitive enterprises in mind, and ultimately that’s why we felt we needed to build a better solution.
The first need not being addressed was deployment options. All of the alternatives have a single deployment option and that is as a SaaS application. While this is a really convenient option we had data sensitive clients who wanted to self host, either in their own cloud or on prem. Many organizations in data sensitive industries like banking, healthcare, and government have to self host for policy or regulatory reasons. Until we built Flagsmith, there wasn’t a tool out there that allowed them to adopt for feature flagging.
The second of these is a bit more technical, it’s an architectural decision where we again put privacy first. Alternatives evaluate flags on the client side, therefore leaking information about flags and segments to end users. We built Flagsmith to evaluate flags server side so all of that information is invisible outside of the organization. This can be important to any customer, but again our data sensitive customers drove the decision.
For teams that are interested in adopting feature flags, how do you recommend they get started?
We always recommend that teams adopting feature flags for the first time begin with a few small potentially internal facing features. As they get a hang of things, adding more features, team members, and beginning to do more complex rollouts will come naturally.
We recommend reading our docs and blog to get best practices as well. It’s always easier to adopt things like proper naming convention up front. Taking some time to read before diving in can save you time in the end.
Getting started with Flagsmith is easy and free, so anyone interested can sign up without a big commitment. Our docs share how to set up Flagsmith quickly and easily, and get into how to use advanced features as your use cases grow.
About Flagsmith
Flagsmith is an open source, fully supported, Feature Flag and Remote Config service. Customers can use their hosted API, deploy to their own private cloud, or run on-premises. Flagsmith makes it easy to create and manage feature flags across web, mobile, and server side applications. Just wrap a section of code with a flag, and then use Flagsmith to toggle that feature on or off for different environments, users or user segments.
Related Categories