Dunelm streamlines experimentation and digital commerce
Before
Cumbersome release process requiring manual pull requests
Limited control over feature rollouts
Experimentation team lacked autonomy
More frequent outages
Slow time-to-market for new features
After
Streamlined feature flag management
Granular control over feature rollouts
Increased autonomy for experimentation team
Fewer outages
Shorter time-to-market for new features
About Dunelm
Dunelm Group plc (“Dunelm”) is one of the UK's leading home furnishing retailers, offering a wide range of quality products across categories including bedding, curtains, furniture, and decor. With a strong online presence and brick-and-mortar stores, Dunelm serves millions of customers each year, handling approximately 400 million website requests annually.
LaunchDarkly has significantly improved our development process. We've developed something we're proud of — what we consider to be a highly effective experimentation platform.
Warren Fitzpatrick
Principal Software Engineer, Dunelm
Challenge
As the Dunelm online presence grew, the company recognized the need to streamline its digital transformation efforts and guarantee seamless deployment of new features across its platforms. The existing workflow relied on manual pull requests, leading to decreased developer productivity and slower time-to-market. Additionally, Dunelm needed an efficient way to test features in production and roll them out gradually; their existing system was limited in robust options for testing in production.
In the past, they used a homegrown feature flagging system. Unfortunately, this system didn't allow for granular targeting or gradual rollouts, making it difficult to manage risk when releasing new features. Any changes to feature flags required involvement from engineering teams, creating bottlenecks and slowing down the experimentation process. Releases often required coordination across multiple teams and environments, creating longer lead times for new features.
The homegrown system had flaws that sometimes led to outages and negative customer experiences. And as the website traffic grew to hundreds of millions of requests per year, the team needed a more robust system capable of handling higher throughput.
Before adopting LaunchDarkly, we were relying on a custom, in-house solution. Since it was entirely our own, we didn’t have external support, so we were fully responsible for managing and maintaining it.
Warren Fitzpatrick
Principal Software Engineer, Dunelm
Solution
Dunelm implemented LaunchDarkly to address these challenges and create a more efficient, flexible system for feature management and experimentation. The implementation process was methodical: one team was migrated to the new LaunchDarkly system at a time. This allowed for a smooth transition and gave teams time to adapt to new workflows.
The team developed custom tools to streamline the flag creation process, including a chat-integrated interface that guides developers through creating new flags using infrastructure-as-code. LaunchDarkly was integrated with key tools in the Dunelm tech stack, including Datadog for monitoring and Slack for notifications.
By implementing feature flags with LaunchDarkly, Dunelm was able to decouple code deployments from feature releases, allowing for more frequent, less risky deployments.
The automation and tooling that we've been able to implement using Launchdarkly API calls has been really good. The flexibility to automate and standardize processes has really helped with implementation.
Warren Fitzpatrick
Principal Software Engineer, Dunelm
Results
After integrating LaunchDarkly into their stack, Dunelm has created significant improvements across several key areas. Dunelm’s engineering team has streamlined the development process, allowing developers to focus on writing code without worrying about the complexities of feature flag management.
We've got very few developers that actually log into LaunchDarkly UI. They don't need to. It's not something they need to get involved in. They write code all day. Interacting with LaunchDarkly for them is just about writing a few lines of code.
Matt Newcombe
Principal Platform Engineer, Dunelm
This simplified workflow has led to increased efficiency and faster development cycles. The experimentation team now has greater autonomy, able to make changes and run tests without relying on engineering resources.
If it was an experimentation flag, the experimentation team could just log on and turn it off, and then it would be instant.
Warren Fitzpatrick
Principal Software Engineer, Dunelm
This increased agility has allowed Dunelm to run more experiments and iterate faster on new features. Dunelm also has more control over feature rollouts, more advanced targeting and gradually increasing exposure. This has significantly reduced the risk associated with new feature launches.
We can test features in isolation using unit and integration tests. Then, when we're ready to go live, we have two main mechanisms: a static flag, which is controlled by an engineer, or experimentation flags for more dynamic control.
Warren Fitzpatrick
Principal Software Engineer, Dunelm
The ability to decouple deployments from releases has helped accelerate the time-to-market for new features at Dunelm.
We typically start percentage rollouts at 1%, 2%, 5%, etc. Previously, if each increment took an hour, the time could add up quickly over the course of an experiment. Now, we can often implement those increments within 60 seconds after a meeting.
Warren Fitzpatrick
Principal Software Engineer, Dunelm
With support from LaunchDarkly, Dunelm is now better equipped to manage high traffic volumes, handling hundreds of millions of requests per year while minimizing costly outages.
The robust feature set at LaunchDarkly has positioned Dunelm for future innovations that improve the customer experience. The team is already exploring possibilities like audience segmentation and personalization, leveraging the LaunchDarkly integration with Tealium.
We are looking into personalization as a business and things like audience segmentation. We want to deliver different experiences based on customer behavior.
Warren Fitzpatrick
Principal Software Engineer, Dunelm
Looking ahead, Dunelm is excited about leveraging more LaunchDarkly capabilities. While currently focused on the website frontend, Dunelm is exploring using LaunchDarkly for backend feature flags. They are also considering implementing more automated processes for flag cleanup and management.
Conclusion
After building new feature management and experimentation processes with LaunchDarkly, Dunelm achieved significant improvements in developer productivity, release speed, and system stability. As Dunelm continues to evolve its digital commerce presence, LaunchDarkly will continue to provide support for a better release process, enabling faster, safer, and more impactful innovations for millions of Dunelm customers.