DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • Building Your Own Ledger: A Solo Developer's Answer to Time and Money Chaos
  • Software Engineer Archetypes: The 5 Branding Styles That Shape Your Tech Career
  • Soft Skills Are as Important as Hard Skills for Developers
  • Leveraging Open-Source Contributions to Boost Your Freelancing Profile

Trending

  • One Query, Four GPUs: Tracing a Distributed Training Stall Across Nodes
  • Build a GitHub Slack Bot With AWS Bedrock and MCP, Part 2
  • Production-Grade RAG: Why Vector Search Isn't Enough (and How Hybrid Search Fills the Gaps)
  • Retesting Best Practices for Agile Teams: A Quick Guide to Bug Fix Verification
  1. DZone
  2. Culture and Methodologies
  3. Career Development
  4. Reimagining DORA Metrics and Leveraging Feature Flags

Reimagining DORA Metrics and Leveraging Feature Flags

Split.io's VP of Engineering Ariel Perez joins Dev Interrupted to discuss the effects the emergence of feature flags and the effect it's having on DORA metrics/

By 
Dan Lines user avatar
Dan Lines
·
Jul. 17, 23 · Interview
Likes (1)
Comment
Save
Tweet
Share
2.2K Views

Join the DZone community and get the full member experience.

Join For Free

Does the emergence of feature flags affect the interpretation and utility of DORA metrics?

On this week’s episode of Dev Interrupted, host Dan Lines and Ariel Perez, VP of Engineering at Split.io, discuss the state of DORA metrics and whether they need reimaging in a world of feature flags. Listen as Ariel explains why he believes feature flags are more than a tool and have begun to reshape our understanding of software development and the metrics we use to measure it.

Dan and Ariel also touch on how feature flags can drastically reduce lead time and mean time to recover and conclude their chat with an intriguing look at the granular nature of control in the modern software engineering landscape, where the unit of control has shifted from the application as a whole to individual features.

“ The reality is that about 70% of everything you put in production has either little or negative value.

So only 30% of what you're doing actually has value for the customer. It's unbelievable, right? So how do you think about that idea of value? The reimagined world of DORA metrics with feature flags and that granularity help you ship faster.”

Episode Highlights

  • (2:05) Introduction
  • (7:15) Pursuing productivity at the expense of effectiveness
  • (15:50) Project allocation discussion
  • (24:55) Reimagining DORA metrics
  • (31:30) Radical ideas for DORA
  • (41:25) How teams should invest in shipping faster

Episode Excerpt

Ariel Perez: But the first one is this idea. DORA Metrics came in a world where we were just trying to ship faster, right?

And in a world where deployment and release were the exact same thing, in order for you to ship a change to a customer, it was a release and a deployment. Same exact thing; I had to put the software in production, and the world has changed a lot since the DORA metrics were published initially. And again, DORA metrics are amazing at trying to figure out which teams are very efficient at shipping software that doesn't break shipping software that's high quality.

How good is an engineering organization at building stuff and shipping it? The key thing is what happened with the world changing over the last 10 to 15 years, but even more, the industry really even less so over the last 10 years, feature flags as a term, as a concept for building my applications right.

And that's not assuming that everyone knows exactly what a feature flag is, although it's a lot more ubiquitous now, it's a toggle, it's a switch, it's a feature flag. It's basically, at its core, an if statement around your code. If this feature flag is on this code path gets executed. Otherwise, it's off. Sounds very simple, but the radical aspect of it is now I can actually ship code off and, at a separate time, turn it on.

You have different ways to do it. So many, there's UIs, there are database implementations, and config implementations, but that's the key idea that I can just ship the code and keep it off. Now, why would I do that? I need the code to be on. There are so many things that you can test and validate while the code is off before any customers see that code.

You can imagine how many times you think something is perfect in staging, and then you put it in production, and it explodes. You miss some config. You miss some issue features. Flagging it off allows you to ship it out without it breaking. The other thing that features flagging really allows you is a trunk-based development branch by abstraction.

You can just commit your code and not wait for these long-lived branches that just carry risk because they're not being merged. So now, how does that change the DORA metrics? The idea then, now in, in a feature flag world, it's not enough to think about how often you're deploying. The idea is, how often are you releasing?

Cuz you can deploy over and over again with the code off. One thing that the features flag has helped you do is to deploy more often. Yes. That's great because if you're feature flagged off, you can merge more off, then you can merge to the trunk and just ship the code. So your deployment frequency skyrockets, but you're not delivering anything to users yet.

So with feature flags now, you might turn off and turn on different features at different times. So then, how do you define deployment frequency now? Is it change frequency? Is it change enablement frequency? So it's something to think about there. If I ship one piece of code, And then I flip a flag next week, and I flip another flag the following week, and I flip another flag.

The last week, did it have one deployment, or did it have five deployments? Is it five changes? Is it changing frequency now? So that's one thing that comes to mind. Yeah. The other thing that comes to mind is I think lead time drastically goes down when I can feature, flag everything off and merge it.

But the other major impact is meantime to recover. For elite engineering teams, the mean time to recover is primarily constrained by how quickly I can ship a fix. But in a feature flag world, it's how quickly I can flip a flag and turn it off; your meantime to recover can go down to seconds in the best feature flagging platforms.

So that's another massive impact on that DORA metric.

Read the full episode transcript here.

career dev

Published at DZone with permission of Dan Lines. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Building Your Own Ledger: A Solo Developer's Answer to Time and Money Chaos
  • Software Engineer Archetypes: The 5 Branding Styles That Shape Your Tech Career
  • Soft Skills Are as Important as Hard Skills for Developers
  • Leveraging Open-Source Contributions to Boost Your Freelancing Profile

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook