Back on June 1, we kicked off this year’s edition of Galaxy, a five-stop roadshow all about using feature management to deliver the right features to the right users at exactly the right time. Our first stop? San Francisco, where we focused on Scaling Software Delivery with Feature Management.
Karishma Irani, Head of Product here at LaunchDarkly, was joined by Max Spaulding, Staff Software Engineer at Life360, and Taylor Stooke, Technical Architect at Nestlé Purina, to share some of their stories and experiences from using LaunchDarkly—particularly, what they love about the platform and what it does for their teams.
Of course, we encourage you to watch the event in its entirety below when you have the time, but for now, here are some of the highlights from what Taylor and Max had to say.
Speed to market
Taylor started by sharing that prior to using LaunchDarkly at Nestlé Purina, his team was limited by irregular deployments that were sometimes monthly (at best). Releases were often delayed because features were incomplete. “We had to go back to the drawing board and redo them,” Taylor said. “(We) couldn't hide them behind anything.”
Since implementing LaunchDarkly in their release process, Taylor and his team are now doing deployments every two weeks:
"Everything's behind a feature flag. If something's not quite ready, everybody's like, 'Hey, it's okay. No big deal. Just deploy it. We'll just leave it off.' So, that's been a huge thing for us."
LaunchDarkly makes things boring
As most of us know, the best deployments are boring ones. Taylor and his team appreciate just how blissfully uneventful LaunchDarkly has made their deployments:
"Deployments are now a non-event for us; it's just the next step in the evolution of the product. We can now just deploy, and everybody is cool. We go back home, and we go to sleep. And when it's time to turn the flag on, we're ready and fresh for that next day."
When asked if LaunchDarkly has made their releases safe and boring, Taylor confirmed. “Absolutely safe and boring,” he said. “That is exactly what we wanted. And that's what we got.”
Max and his team had a similar story. They were looking for this same level of boring, moving from an in-house solution with scalability issues to a third-party service. The results were the opposite of boring—they were still spending way too much time thinking about feature flags. “We were really bad at hitting (release dates) because there was partial work in place,” said Max. “Nobody trusted the existing flags because they weren't boring. So, we started looking, and I suggested LaunchDarkly because I'd used it before. It is totally safe, totally boring—but it's a good thing that we can focus on what we want to focus on and not have to think about feature flags.”
Separate environments
When asked to pinpoint a favorite feature or aspect of LaunchDarkly, Max was most appreciative of the ability to release to separate environments:
"We can have a developer working on something while someone from QA can be testing something related and not ruining each other's day by branching a flag out from underneath them. For me, that's the killer feature we weren’t seeing anywhere else.
"Plus, there’s some control over change requests. There’s an extra gate you have to go through to actually change a value in production, which also lets people sleep easier at night."
That last feature Max mentioned is the ability to enforce approvals in specific environments. It allows production to have an extra security step on an environmental basis, which can definitely come in handy. Just ask Max.
Canary releases
As for Taylor, the two most impactful features for his team center on canary releases and progressive rollouts. His team recently released a large set of feature changes that took about two months to complete. In the meantime, the team was able to do other deployments and make any needed changes. These features provided several benefits:
"When we finally got the big one done, the business owners of the product were thrilled to be able to say, 'Look, I can turn it on just for myself. And I can test it out.' It was actually a huge success. We found a problem that didn't impact any consumers, fixed that problem, and then started doing the progressive rollout.
"We have a lot of different systems that interact with each other in our environment. Doing big bang deliveries can cause a lot of stress to a lot of people, but being able to do a progressive rollout—just a small percentage while seeing one or two orders coming through initially—that was huge. Our fulfillment center actually requested that we go to a hundred percent several days early because they were ready. They were so much more comfortable after testing with the progressive rollout."
This story prompted Max to say that he probably should have included progressive rollouts on his list as well. (That's okay, Max. We’ll let it slide.)
Some sage advice for teams adopting LaunchDarkly
Given that Taylor and Max are certainly well acclimated to LaunchDarkly at this point, we asked them for some advice to any teams out there considering the move to the world of feature flags and boring deployments.
Max’s first thought? Keep things simple. And he suggests taking advantage of the many guides in our docs section to do just that. The advice doesn’t stop there, however:
"The flag changes happen really quickly. They propagate. I would just suggest that you make your app—whatever portion you have the flag in—only as reactive as it needs to be. There are a lot of things you can do just on app launch … That might be jarring or lead to really complicated code if you try to respond to everything as fast as LaunchDarkly allows you to."
Of course, practicing good flag hygiene goes a long way as well. “Clean up your flags,” says Max. “After you do a progressive deploy, and something is released, and you don't need that flag any longer, go back and clean it up.”
Taylor noted that while he and his team are still relatively early into their journey with LaunchDarkly, he does have some tips to pass along, mainly regarding organization:
"Name and convention is really critical. When you create your first flag, you probably name it 'test flag,' and that's okay for the first one. But when you start to make your real flags, you really need to think, 'What is it going to look like with 10, 20, or 100 flags?' You need to have that name and convention figured out up front."
Taylor also wanted you to know that LaunchDarkly is not just for developers—the whole team can benefit from it:
"Get your BAs and your analysts understanding it and using it. Get your product owners using it. Because if everybody is behind the LaunchDarkly train, it's going to go that much smoother. It's going to go that much faster.
"Early on, during our requirements reviews, the first question they asked was, 'Okay, which flag are we going to use for this?' And that was mind blowing for us. Finally, we're here. Everybody's on board. It is really critical to have everybody on board from the beginning."
That’s definitely some great advice.
What about future features?
Karishma’s keynote at Galaxy in San Francisco touched on some of LaunchDarkly’s latest capabilities and even relayed some exciting future plans we’re currently working on.
Here are Taylor and Max’s takes on the future features Karishma discussed earlier in the keynote:
Taylor looks forward to the workflows and the automation capabilities, saying they both fit well with his team’s longer-term goals of helping to shift the deployments to be less hands on—and to wake up at a more normal hour:
"We know the code's been done. We know the code is tested. Now, we just want to go and have it turned on. I don't want to wake up at 4 a.m. either. That is not the right time to be awake. So, having the ability to schedule that, that's going to be a big paradigm shift for us."
But does Taylor envision his team creating templates? He anticipates they indeed will after they’ve had some time to try it out and pinpoint where they can use templates and where they can document and allow other team members to do the same work (without having to do all of the same work from scratch).
As for Max, he’s also looking forward to the workflows and the ability to automate when possible, keeping things perfectly boring.
Again, these are just some of the highlights from our time in San Francisco. Karishma also covered how LaunchDarkly is tackling progressive rollout strategies, feature tech debt, team collaboration, and experimenting for business impact. If you want to view the full event, you can do so here.