Graham Knapp

Feature flags Pt 1: Faster feature development with flags.

written by Graham Knapp on 2025-01-02

The greatest accelerator of my team's work last year was adopting feature flags. With flags we ship features faster, more confidently and with less stress. We have fewer merge conflicts despite frequently working together on the same part of the code base.

Men in colourful mediaeval costumes throwing huge flags into the air in a central Italian flagged square, thousands of onlookers in the background

Saracen Joust in Arezzo: Exhibition of the flag-wavers from Archivio Istituzione Giostra del Saracino del Comune di Arezzo

In this post I will share the advantages and potential pain points we have seen. For context we are a team of 5 developers working together on a back end api and front end web app for business users. We have moved towards trunk-based development, avoiding long-running branches.

What are Feature Flags ?

A feature flag lets you turn parts of your code on or off for some or all users, or based on other conditions such as date, time, region, etc.

✅ In this post I am talking about short-lived flags used during development.

❌ I am not talking about permanent aspects of your app such as customisations for individuals or groups of users.

Advantages

Pain points

Sounds too good to be true? There is no such thing as a free lunch - here are some possible downsides:

Recommendations