How to build the guardrails your AI releases actually need ![rw-book-cover](https://img.youtube.com/vi/Xt7y6CKDqcI/maxresdefault.jpg) ๐Ÿ”— **Source:** [How to build the guardrails your AI releases actually need](https://www.youtube.com/watch?v=Xt7y6CKDqcI) > [!note]+ Document Notes > tags: [ai-deployment, feature-flags, continuous-delivery, guardrails, software-validation] > author: Eric Nukem > source: Harness > reference: https://www.youtube.com/watch?v=Xt7y6CKDqcI > date created: {{date:YYYY-MM-DD}} {{time:HH:mm}} > > # ๐Ÿท๏ธ Title: How to build the guardrails your AI releases actually need > <!-- deep-read:sections start --> ## ๐Ÿงญ Table of Contents - [๐Ÿ“ Summary](#-summary) - [๐Ÿ“– Main Content](#-main-content) - [๐Ÿ—’๏ธ Notes](#๏ธ-notes) - [๐Ÿ“š References](#-references) - [๐Ÿ—ฃ๏ธ Paraphrase](#๏ธ-paraphrase) - [๐Ÿ“ฐ Newsletter](#-newsletter) - [โœ… Action Items](#-action-items) - [๐Ÿงช Hypotheses](#-hypotheses) - [๐Ÿ“Š Methodology](#-methodology) - [โ“ Questions](#-questions) - [๐Ÿ”ฎ Future Research](#-future-research) - [๐Ÿ’ก Implications](#-implications) - [๐Ÿง  Learning Styles Assessment](#-learning-styles-assessment) - [๐Ÿ“Š Accessibility Assessment](#-accessibility-assessment) - [๐ŸŒ DEIB Assessment](#-deib-assessment) - [โœ… Logical Validity](#-logical-validity) - [๐Ÿ›ก๏ธ DARVO Analysis](#-darvo-analysis) - [๐ŸŽฏ Conclusion](#-conclusion) ## ๐Ÿ“ Summary - **What happened**: AI coding tools are increasing feature velocity 4-20x, but organizations lack proper guardrails for testing and deployment phases. - **Why it matters**: Without proper controls, AI-generated code creates security vulnerabilities, quality issues, and deployment bottlenecks despite faster development. - **Key stakeholders**: Development teams, DevOps engineers, security teams, product managers, experimentation teams. - **Risks and tradeoffs**: Faster coding vs. increased deployment risk; automation efficiency vs. human oversight needs; feature velocity vs. technical debt accumulation. - **Bottom line**: Success requires combining continuous delivery with feature flags, implementing three types of guardrails (human judgment, security evidence, policy enforcement), and validating releases through experimentation. ## ๐Ÿ“– Main Content The presentation addresses a critical gap in AI-assisted software development: while organizations excel at providing AI coding tools, they struggle with the downstream effects of dramatically increased feature velocity. Eric Nukem from Harness identifies that teams are seeing 4-20x more features in deployments but lack adequate systems for safe release management. ### The AI Code Velocity Problem Current AI coding adoption shows strong uptake in development phasesโ€”developers use Claude, Copilot, Cursor, and ChatGPT effectively. However, survey data reveals concerning gaps: - Most organizations still require human review of every line of AI-generated code - Less than half have implemented AI guardrails - Only 36% report AI improving software quality - 58% are running more experiments but systems can't handle the volume ### Solution Framework: Guardrails + Validation The presentation proposes a two-pronged approach focusing on testing/deployment and release/experimentation phases: **Three Types of Guardrails:** 1. **Human judgment**: Approvals for production, high-risk services, unusual deployment patterns, failed verification scenarios 2. **Security evidence**: Application security testing with vulnerability deduplication and remediation workflows 3. **Policy enforcement**: OPA-style policies ensuring naming conventions, compliance standards, and organizational consistency **Validation Process:** - Release process integration with feature flags - Progressive rollout capabilities (1% โ†’ segments โ†’ full deployment) - Experimentation on every feature release - Technical debt cleanup through automated feature flag removal ### Continuous Delivery + Feature Flags Integration The core technical approach combines traditional CD deployment with granular feature flag control. While CD handles application-level deployments, feature flags enable individual feature rollouts with instant kill switches. This reduces blast radius from full rollbacks affecting all features to targeted flag toggles affecting only problematic features. ## ๐Ÿ—’๏ธ Notes #### โฑ๏ธ [00:03:12](https://www.youtube.com/watch?v=Xt7y6CKDqcI?t=192) AI Development Workflow Problems - Coding and review phases well-supported with AI tools - Deployment size explosion: 4-20x more features per release - Testing and deployment become bottlenecks - Release and experimentation validation critical for AI-generated features #### โฑ๏ธ [00:08:30](https://www.youtube.com/watch?v=Xt7y6CKDqcI?t=510) Survey Results on AI Adoption - Human review still required for every line of AI code - <50% have AI guardrails implemented - 58% running more experiments but systems can't scale - Only 36% see quality improvements from AI #### โฑ๏ธ [00:15:45](https://www.youtube.com/watch?v=Xt7y6CKDqcI?t=945) Continuous Delivery vs Feature Flags - CD: Build โ†’ Test โ†’ Deploy as single unit with canary rollouts - Problem: Rollback affects all features in deployment - Feature flags: Individual feature control with progressive rollout - Best practice: Combine both for deployment flexibility and risk mitigation #### โฑ๏ธ [00:22:10](https://www.youtube.com/watch?v=Xt7y6CKDqcI?t=1330) Three Guardrail Types - Human judgment: Production approvals, high-risk services, unusual patterns - Security evidence: Vulnerability scanning, deduplication, remediation - Policy enforcement: OPA policies for naming conventions and compliance #### โฑ๏ธ [00:28:15](https://www.youtube.com/watch?v=Xt7y6CKDqcI?t=1695) Validation Framework - Release process integration prevents bottlenecks - Progressive rollout: Internal users โ†’ segments โ†’ full deployment - Experimentation requirement on all features - Technical debt cleanup through automated flag removal #### โฑ๏ธ [00:35:20](https://www.youtube.com/watch?v=Xt7y6CKDqcI?t=2120) Speedway Motors Case Study - Before: 2 releases/month, no conversion rate visibility - After: Multiple daily releases, immediate ROI measurement - Integration enabled rapid iteration and business impact validation ## ๐Ÿ“š References - [Harness Flagship 2026 Event](https://www.harness.io/flagship) - [D-risking Releases in the AI Era Report](https://www.harness.io/resources) - [Speedway Motors Implementation Case Study](https://www.harness.io/customers/speedway-motors) - [Harness Product Demo](https://www.harness.io/demo) ## ๐Ÿ—ฃ๏ธ Paraphrase Organizations are experiencing a paradox with AI-assisted development: while coding velocity has increased dramatically, the benefits aren't reaching production due to inadequate release management systems. The solution isn't to slow down development but to implement proper guardrails and validation processes that can handle the increased throughput. The key insight is that traditional deployment approachesโ€”treating all features as a monolithic releaseโ€”become untenable when AI generates 20x more features. Feature flags provide the granular control needed to manage this complexity, allowing teams to validate individual features without risking entire deployments. However, this requires integrated tooling that spans the entire pipeline from development to production. ## ๐Ÿ“ฐ Newsletter **AI Code Velocity: The Hidden Deployment Crisis** Your developers are shipping code faster than ever with AI assistance, but are those features actually reaching users? A new Harness survey reveals that while AI coding tools see widespread adoption, most organizations lack the guardrails needed for safe, rapid deployment. The problem: AI-generated features create 4-20x larger deployments, but traditional rollback strategies affect all features when problems arise. The solution combines continuous delivery with feature flags, enabling granular control and instant kill switches for individual features. Key takeaways for WordPress professionals: - Implement progressive rollout strategies (1% โ†’ segments โ†’ full) - Require experimentation on every feature release - Automate technical debt cleanup to prevent AI-generated cruft - Integrate security scanning into deployment pipelines Tools to explore: Feature flag services, experimentation platforms, policy-as-code frameworks, automated cleanup utilities. ## โœ… Action Items #### DevRel - Create educational content on feature flag implementation patterns for AI-generated code - Develop workshops on progressive rollout strategies and blast radius reduction - Build demo environments showing CD + feature flag integration - Document security scanning integration patterns for AI code validation #### OSPO - Establish policies for AI-generated code review requirements in contribution guidelines - Implement security scanning requirements for AI-assisted contributions - Create governance framework for feature flag naming conventions across projects - Define SLAs for AI code vulnerability remediation processes #### WordPress - **Core**: Evaluate feature flag integration patterns for core feature releases - **Core Performance**: Implement progressive rollout for performance optimizations - **Security**: Establish AI code scanning requirements for security-sensitive areas - **Community**: Create guidelines for plugin developers using AI coding tools - **Hosting**: Develop recommendations for hosts managing AI-generated plugin deployments #### The WPCC - Fund research into WordPress-specific feature flag implementations - Support development of AI guardrail templates for WordPress projects - Create grants for experimentation platform integration with WordPress workflows ## ๐Ÿงช Hypotheses 1. **Integration Hypothesis**: Organizations using integrated CD + feature flag platforms will achieve 2-5x faster time-to-production for AI-generated features compared to those using separate tools. 2. **Guardrail Effectiveness**: Teams implementing all three guardrail types (human judgment, security evidence, policy enforcement) will reduce AI-related production incidents by 70-90% within 6 months. 3. **Experimentation Scaling**: Feature flag integration enables experimentation teams to scale from weekly to daily experiment launches without increasing team size. 4. **Technical Debt Prevention**: Automated feature flag cleanup reduces AI-generated technical debt accumulation by 60% compared to manual cleanup processes. 5. **Progressive Rollout Impact**: 1% โ†’ segment โ†’ full rollout patterns reduce blast radius of AI code issues by 95% compared to full deployment strategies. ### ๐Ÿ“Š Methodology - A/B testing comparing integrated vs. separate toolchain outcomes - Longitudinal studies tracking incident rates before/after guardrail implementation - Survey research on experimentation team capacity and throughput - Code quality metrics analysis for cleanup automation effectiveness - Case studies measuring deployment risk reduction through progressive rollout ### โ“ Questions - How do feature flag naming conventions scale across large organizations with thousands of developers? - What are the optimal progressive rollout percentages for different types of features (UI, API, infrastructure)? - How can teams balance automation with human oversight without creating approval bottlenecks? - What security scanning tools are most effective at catching AI-generated vulnerabilities? - How do you measure the ROI of guardrail implementation versus deployment velocity? ### ๐Ÿ”ฎ Future Research - AI-assisted feature flag management and automated rollout decisions - Integration patterns between WordPress-specific deployment tools and feature flag platforms - Security vulnerability patterns specific to AI-generated WordPress plugins and themes - Cost-benefit analysis frameworks for guardrail implementation - Machine learning approaches to predicting optimal rollout strategies ### ๐Ÿ’ก Implications - **Practice**: Development teams need to expand focus beyond coding to include deployment pipeline optimization - **Policy**: Organizations require new governance frameworks specifically addressing AI-generated code risks - **Security**: Traditional security review processes may be inadequate for AI code volume and unique vulnerability patterns - **Education**: Developer training must include feature flag management and progressive rollout strategies - **Funding**: Investment in integrated toolchains provides better ROI than point solutions for AI development workflows ### ๐Ÿง  Learning Styles Assessment - **Reading level estimate**: Flesch-Kincaid Grade Level ~12 (technical business presentation) #### ๐Ÿ‘€ Visual learners - **Present**: Architecture diagrams showing CD + feature flag integration, pipeline flow charts, deployment percentage visualizations - **Improve**: Add before/after deployment risk diagrams, feature flag decision trees, security scanning workflow visuals #### ๐Ÿ”Š Aural learners - **Present**: Webinar format with presenter narration and Q&A segments - **Improve**: Provide audio-only version, add discussion group integration, create podcast-style follow-up content #### ๐Ÿ—ฃ๏ธ Verbal learners - **Present**: Clear definitions of technical terms, analogies (banking app example), structured explanations - **Improve**: Add glossary of terms, provide story-driven case studies, include plain-language summaries #### ๐Ÿงฉ Kinesthetic learners - **Present**: Demo offers, hands-on tool exploration suggestions, QR codes for immediate action - **Improve**: Create guided lab exercises, provide configuration templates, offer sandbox environments #### ๐Ÿง  Logical learners - **Present**: Structured framework (guardrails + validation), survey data, measurable outcomes - **Improve**: Add decision matrices, ROI calculations, step-by-step implementation checklists #### ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Social learners - **Present**: Q&A interaction, community event promotion, peer examples (Speedway Motors) - **Improve**: Include discussion forums, peer review components, collaborative implementation guides #### ๐Ÿง˜โ€โ™€๏ธ Solitary learners - **Present**: Self-paced webinar format, downloadable resources, individual demo scheduling - **Improve**: Add self-assessment tools, provide reflection prompts, create independent study materials ### ๐Ÿ“Š Accessibility Assessment #### Screen reader semantics - **Present**: Structured presentation with clear headings and sections - **Improve**: Add detailed alt text for diagrams, ensure slide content is screen reader accessible #### Keyboard navigation - **Present**: Standard webinar platform navigation - **Improve**: Verify all interactive elements are keyboard accessible, provide navigation shortcuts #### Contrast and readability - **Present**: Professional slide design with adequate contrast - **Improve**: Verify WCAG 2.2 AA compliance for all visual elements, test with high contrast modes #### Media and captions - **Present**: Live webinar with Q&A capability - **Improve**: Provide auto-generated captions, offer transcript downloads, ensure audio quality ### ๐ŸŒ DEIB Assessment #### Cultural breadth - **Present**: Focus on technical practices applicable across organizations - **Improve**: Include examples from diverse company sizes and industries, consider global deployment patterns #### Inclusive language - **Present**: Professional, technical language appropriate for business audience - **Improve**: Define technical jargon consistently, provide alternative explanations for complex concepts #### Neurodiversity support - **Present**: Structured presentation with clear sections and predictable flow - **Improve**: Provide content outline upfront, use consistent formatting, offer multiple content formats #### Representation - **Present**: Business-focused content with practical examples - **Improve**: Include diverse organizational examples, acknowledge varying team structures and capabilities ### โœ… Logical Validity #### Strong reasoning - **Deductive reasoning**: Clear logical progression from AI code velocity increase โ†’ deployment complexity โ†’ need for guardrails - **Inductive reasoning**: Survey data supporting conclusions about industry-wide challenges - **Causal reasoning**: Direct connection between toolchain integration and improved outcomes demonstrated through case study #### Fallacies - **Selection bias**: Speedway Motors case study may not be representative of all organizations - **Solution bias**: Presentation heavily favors Harness-specific toolchain without adequate comparison to alternatives - **False dichotomy**: Implies organizations must choose between speed and safety rather than exploring other approaches #### Tone of voice - **Professional and authoritative**: Uses industry terminology and data to establish credibility - **Solution-oriented**: Focuses on practical implementation rather than theoretical concepts - **Vendor-neutral framing with product integration**: Acknowledges multiple tools while showcasing Harness capabilities ### ๐Ÿ›ก๏ธ DARVO Analysis - **Deny**: No denial patterns present - speaker acknowledges industry-wide challenges directly - **Attack**: No attacks on critics or alternative approaches - maintains professional tone throughout - **Reverse victim/offender**: No victim/offender reversal detected - presents collaborative problem-solving approach ## ๐ŸŽฏ Conclusion AI-generated code velocity creates a new category of deployment risk that traditional release management approaches cannot adequately address. The solution requires integrated toolchains combining continuous delivery with feature flags, supported by comprehensive guardrails spanning human judgment, security validation, and policy enforcement. Organizations that successfully implement these practices will realize the full potential of AI coding acceleration while maintaining system reliability and security. The key is recognizing that faster coding requires proportionally more sophisticated deployment and validation processes, not just scaling existing manual approaches. ## ๐Ÿ”„ Refactor Appendix โ€” How to build the guardrails your AI releases actually need > Density: 2โ€“5 Literature atoms (H3), 0โ€“3 Permanent candidates (H4). > Defaults: 3 Literature, 1 Permanent. Resonance filter: if you can't > articulate in one line why a claim matters, drop it. ### ๐Ÿ“š Literature Atoms (H3) #### AI code velocity creates deployment bottlenecks without proper guardrails > [!quote] ID:rw_ai_velocity_001 > We're seeing four to 20 times the number of changes being pushed out the door or at least through the process that we were seeing before. And we all know what happens when we have an increased number of things changing at any given time. That opens up the risk that something's going to go wrong. **Context & use**: - Core problem statement around 8:30 in presentation - Why this matters: Identifies the fundamental mismatch between AI coding speed and deployment capability **Tags**: #xref #articleseed **Highlight**: [view highlight](https://www.youtube.com/watch?v=Xt7y6CKDqcI?t=510) <!-- atomicity: 1 idea โœ“ --> #### Feature flags enable granular rollback without affecting entire deployments > [!quote] ID:rw_feature_flags_002 > If you have a similar problem where you've rolled out a small feature, one of the small features in your deployment to your power users or your premium users and they start having a problem, you can turn that flag off without having to do a roll back. You can just turn off that individual flag. **Context & use**: - Technical explanation around 15:45 showing CD vs feature flag approaches - Why this matters: Solves the blast radius problem when AI generates many features per deployment **Tags**: #xref **Highlight**: [view highlight](https://www.youtube.com/watch?v=Xt7y6CKDqcI?t=945) <!-- atomicity: 1 idea โœ“ --> #### Three guardrail types required for AI code validation > [!quote] ID:rw_guardrails_003 > What are three types of guardrails we can put up? Well, one, we can put up human judgment. Also, we need some sort of security evidence. And then you need policy enforcement because AI is really good about coming up with its own workarounds for things. **Context & use**: - Framework presentation around 22:10 defining comprehensive guardrail strategy - Why this matters: Provides actionable taxonomy for implementing AI code safety measures **Tags**: #articleseed #xref **Highlight**: [view highlight](https://www.youtube.com/watch?v=Xt7y6CKDqcI?t=1330) <!-- atomicity: 1 idea โœ“ --> ### ๐Ÿง  Permanent Candidates (H4) #### AI-generated feature velocity requires proportional deployment sophistication **Claim** (one sentence, Courtney's voice): Organizations achieving 4-20x coding velocity through AI must implement equally sophisticated deployment and validation processes to realize benefits safely. **Evidence pointer**: [[#AI code velocity creates deployment bottlenecks without proper guardrails]] **Scope & conditions**: Applies to teams using AI coding tools extensively; breaks down when deployment infrastructure cannot scale with development output **Links**: - [[DevOps transformation patterns]] โ€” because extends existing CD practices - [[Technical debt management]] โ€” because applies-in high-velocity development contexts - [[Risk management frameworks]] โ€” because contrasts with traditional deployment risk models <!-- atomicity: 1 idea โœ“ --> ### โœ๏ธ Fleeting Queue - Progressive rollout percentages (1% โ†’ segments โ†’ full) need optimization research for different feature types #fleeting #inbox - Integration patterns between WordPress deployment tools and feature flag platforms worth exploring #fleeting #inbox - Policy-as-code examples for AI coding standards could be valuable community resource #fleeting #inbox ### โ†’ Things 3 (max 2 actions) - [ ] Research feature flag integration options for WordPress core development workflow #things - [ ] Evaluate automated cleanup tools for managing technical debt in AI-assisted projects #things --- ## Full Transcript [00:12] Well, hey everybody. Welcome. We are<br>[00:14] going to talk about how to build the<br>[00:16] guard rails your AI releases actually<br>[00:19] need. Welcome and thanks for joining. My<br>[00:21] name is Eric Nukem. I'll do a little<br>[00:23] intro in a minute, but uh please note<br>[00:24] that we will have be taking questions<br>[00:27] throughout. So if you have a question<br>[00:30] comes up randomly at a given section,<br>[00:32] you know, don't hold back. Go ahead and<br>[00:34] open that question box in the tool and<br>[00:37] uh go ahead and fill it out anytime you<br>[00:39] want. Have it ready so you can be asking<br>[00:41] those questions and I will get to those<br>[00:43] at the end if I don't see them as I'm<br>[00:44] going through here. So uh please do<br>[00:47] that. Anyway, my name is Aaron Nukem. I<br>[00:49] work for Harness. I work on our feature<br>[00:51] management and experimentation uh<br>[00:55] product. That product came from Split.<br>[00:57] You might remember Split a while back<br>[00:58] was acquired about a year a little over<br>[01:00] a year ago was acquired by harness and<br>[01:02] we've now integrated that into our<br>[01:04] platform and I'm going to show you some<br>[01:05] ways that that integration is uh luckily<br>[01:08] helping to deal with this problem of the<br>[01:11] AI coded uh feature velocity coming our<br>[01:15] way. So let's go ahead and get right<br>[01:17] into it and I'll tell you a little bit<br>[01:19] more about uh what we're going to be<br>[01:20] talking about today. So, I've done, you<br>[01:22] know, kind of the introduction here. Um,<br>[01:24] but we're going to talk about some AI<br>[01:26] implications. I think this will resonate<br>[01:28] with most people. Every customer I talk<br>[01:30] to is dealing with this problem. So, I<br>[01:32] think this will be really good for uh<br>[01:34] for us to talk about today. And then<br>[01:36] I'll give you a little bit of an<br>[01:38] overview of harness. Not really going<br>[01:39] into too much detail, but I just Harness<br>[01:41] does so much and I want to make sure<br>[01:43] we're focused on just the elements that<br>[01:45] I'm going to be uh focusing on today. Uh<br>[01:49] I'll also give you a little bit of an<br>[01:51] overview of uh continuous delivery and<br>[01:53] feature flags, what the differences are,<br>[01:55] how they come together, and then of<br>[01:57] course how they come together to solve<br>[01:59] this particular problem. We'll talk a<br>[02:01] lot about guardrails and validation. I<br>[02:03] don't want to give that one away too<br>[02:04] much, but those are the two areas we're<br>[02:06] going to focus on to kind of fix some of<br>[02:08] the some of the issues we're having<br>[02:09] right now due to AI generated code. And<br>[02:12] then I'll give you some resources and of<br>[02:14] course we'll at the end there'll be time<br>[02:15] for a few more questions. So, like I<br>[02:18] said, don't hesitate. Don't wait till<br>[02:19] the end to ask them. Go ahead and ask<br>[02:21] your questions as we go through here.<br>[02:22] That's the best way to do it. And I<br>[02:23] think we'll also have a poll here at<br>[02:25] some point to try to see where everyone<br>[02:26] is at on this spectrum of how they're<br>[02:28] dealing with this problem, too. So,<br>[02:30] let's just go ahead and get into it. So,<br>[02:33] when I talk about uh you know, the<br>[02:35] problems with AIdriven code workflows,<br>[02:39] what am I talking about? Well, in<br>[02:41] talking to customers and I think<br>[02:43] industrywide, even if you just read the<br>[02:46] news around what's going on with AI, I<br>[02:48] think it's clear that people are okay<br>[02:51] with the coding and some of the review<br>[02:54] part of the process. So, people are<br>[02:58] using Claude, people are using C-Pilot,<br>[03:01] people are using cursor, they're using<br>[03:02] chatbt. they can produce code quickly<br>[03:06] and companies have been very willing to<br>[03:08] give people the uh the tools that they<br>[03:12] need. They're not holding back on any of<br>[03:13] this, right? Uh in fact, most people are<br>[03:17] encouraging people to use the tools that<br>[03:20] they are uh uh that they that they want,<br>[03:23] right? They're not it's it's like no,<br>[03:25] you need to use more tokens.<br>[03:27] Some people are being measured on that,<br>[03:28] I think. So, the coding part is pretty<br>[03:31] well taken care of. people are are um<br>[03:34] really excited to use those tools. No<br>[03:36] problem there. Now, what happens? We<br>[03:38] start developing more and more code. We<br>[03:40] start creating more and more features<br>[03:41] that we want to release. Things are<br>[03:43] going great. Things are looking great.<br>[03:45] But then we get to the point where we<br>[03:46] need to roll these things out. And what<br>[03:47] happens to the size of our deployments?<br>[03:49] They explode, right? So, you may have<br>[03:51] had a deployment in the past with, I<br>[03:53] don't know, five, 10 features or<br>[03:55] something like that. We're seeing four<br>[03:58] to 20 times the number of changes being<br>[04:02] pushed out the door or at least through<br>[04:04] the process that we were seeing before.<br>[04:06] And we all know what happens when we we<br>[04:08] we have an increased number of things<br>[04:10] changing at any given time. That opens<br>[04:12] up the risk that something's going to go<br>[04:13] wrong. So, we have to start focusing on<br>[04:16] testing and deployment a bit more. And<br>[04:18] we can turn some of that over to AI. But<br>[04:20] as I'll show you in a minute, there are<br>[04:22] some easy ways to also mitigate some of<br>[04:24] the problems that happen when you do<br>[04:26] that. And then uh last but not least, we<br>[04:28] have release and experimentation. And<br>[04:31] this last part of the puzzle is where<br>[04:33] you actually want to use something like<br>[04:36] feature flags or an experimentation tool<br>[04:38] to validate that those changes that you<br>[04:41] have made with AI are actually doing<br>[04:43] what they're supposed to be doing and<br>[04:45] especially not causing a problem with<br>[04:47] either a security vulnerability or a um<br>[04:52] an impact to your user experience.<br>[04:54] Right? So that seems to be where we we<br>[04:57] want to concentrate on improving at this<br>[05:00] point. And why do I say that?<br>[05:02] Well, uh we actually did a survey<br>[05:04] recently and we t we asked um real users<br>[05:08] about how they're dealing with this<br>[05:10] problem and we got back some really<br>[05:12] interesting results and and hang on till<br>[05:13] the end because I'm going to give you a<br>[05:15] link that you can use to download this<br>[05:17] particular report and read all the<br>[05:19] findings, not just the highlighted ones<br>[05:20] I've pulled out here. So in that report,<br>[05:23] what did we find? Well, we found that,<br>[05:25] you know, a lot of people still need<br>[05:27] human review for every single line of AI<br>[05:30] generated code. And if you're writing a<br>[05:33] lot more code, but you still need a<br>[05:35] human to review every line of it, that's<br>[05:37] not very efficient. And it might look<br>[05:39] like your your code development engine<br>[05:41] is running great, but you're still not<br>[05:43] getting those features out into the wild<br>[05:45] um at the rate that that uh you would<br>[05:47] like to.<br>[05:49] Uh we also found that less than half of<br>[05:52] people have put in uh AI guard rails for<br>[05:56] AI generated code. Um this could be a<br>[05:59] real problem. We've all seen stories in<br>[06:00] the news where somebody didn't have a<br>[06:03] guardrail in place and they deleted<br>[06:04] their codebase or they deleted customer<br>[06:07] orders or what have you and uh the AI<br>[06:10] just went ahead and did it and you know<br>[06:11] was like oh sorry you know my bad you<br>[06:14] know and that's not good enough in this<br>[06:15] day and age. Um now what we did see was<br>[06:18] we saw that 58% of people are running<br>[06:20] more experiments. This is a good thing<br>[06:22] uh in one way which is they're trying to<br>[06:24] keep up with um running more experiments<br>[06:28] because they have more features. But the<br>[06:30] problem is their systems may not be able<br>[06:32] to really support all those extra<br>[06:34] running experiments because they're not<br>[06:37] efficient enough or they're not geared<br>[06:38] to that volume. we really should be<br>[06:40] running experiments on every feature<br>[06:42] that we release or that should be the<br>[06:44] exception is when we don't do it right.<br>[06:47] Um, and last but not least, only 36%<br>[06:49] said AI had improved the quality of<br>[06:50] their software. Again, sort of similar<br>[06:53] to the first point in that you need to<br>[06:55] go back and actually review things or<br>[06:57] the results aren't quite up to what you<br>[06:59] thought they would be, right? You you<br>[07:01] thought that the quality of software<br>[07:02] would be great. Turns out there's bugs<br>[07:04] that are getting into the mix and<br>[07:06] hopefully you're catching those either<br>[07:07] in test or behind a feature flag so you<br>[07:09] can turn those off quickly. So, a lot of<br>[07:11] really interesting results. Again, I'll<br>[07:13] give you the link for this when we get<br>[07:14] to the resources at the end or they'll<br>[07:16] be in the resources of your uh when you<br>[07:18] uh after the webinar when you get the<br>[07:20] resources in your email. Um, okay. Well,<br>[07:23] let's take a I'm really curious to know<br>[07:25] how everyone on the call is doing with<br>[07:28] this. And so let's just do a quick poll<br>[07:32] and see what you're doing. It should<br>[07:33] have popped up on your screen now. And<br>[07:34] the poll says, "How mature is your<br>[07:37] team's use of AI in the SDLC?" So go<br>[07:40] ahead and fill out that poll. The<br>[07:42] choices are, you know, you're not using<br>[07:43] it all. Maybe you're using it for, you<br>[07:45] know, a few people are experimenting<br>[07:47] with AI. Maybe you're using it, but it's<br>[07:50] supervised. Maybe AI is uh integrated<br>[07:54] with guard rails. And maybe no humans<br>[07:56] are involved anymore. So go ahead and<br>[07:58] vote on those options and let me know<br>[08:01] where you're at in your journey here,<br>[08:04] your AI journey in deploying and<br>[08:07] releasing new features with AI.<br>[08:15] While we're doing that, I can tell you<br>[08:16] that in talking to a few folks, uh we<br>[08:19] found out that um some people have gone<br>[08:22] a little too fast here. So, uh, I was<br>[08:26] talking to one Fortune 500 company<br>[08:28] recently and they they gave, you know,<br>[08:31] everybody all the tools they need and<br>[08:33] they didn't put in any guardrails and<br>[08:35] what they found were that that people<br>[08:36] were so used to using AI. I'm sure many<br>[08:39] of you have felt have seen this. I I<br>[08:41] have myself where you you start to trust<br>[08:43] the AI maybe a little too much and they<br>[08:45] had bugs creeping in and because the<br>[08:47] demand was so high on the developers,<br>[08:49] they weren't actually reviewing anything<br>[08:51] and they were just hitting, "Yep, looks<br>[08:52] okay. go ahead and uh do that build or<br>[08:54] or commit that code and uh bugs were<br>[08:57] creeping in so they had to go back to a<br>[08:59] much more manual code review process. Um<br>[09:03] and so we are seeing that as well.<br>[09:07] Okay. Well, let's just go ahead and take<br>[09:09] a look at the results of the poll. So,<br>[09:12] you know, it looks like most everybody<br>[09:14] is right in the middle here. Uh AI is<br>[09:17] used but not supervised. So, people are<br>[09:19] still struggling with this problem. you<br>[09:21] know, they're they're trying to use AI<br>[09:22] in the SDLC, but uh they're not a<br>[09:25] actually able to to get all the way to,<br>[09:28] you know, the Nirvana, I guess, if you<br>[09:30] want to say, where no humans are<br>[09:31] involved anymore. But yeah, about 43% of<br>[09:34] you are right in the middle where you're<br>[09:36] using AI, but still very much<br>[09:38] supervised. Um, you know, a good portion<br>[09:41] of you, about a little less than a third<br>[09:43] are actually using AI with integrated<br>[09:45] guardrails and then the rest are still<br>[09:47] experimenting. So,<br>[09:49] uh, very interesting and very much on<br>[09:51] par with the other times that I've asked<br>[09:53] these questions.<br>[09:55] Okay, so let's go ahead and move on to<br>[09:57] how do we solve the problem, right?<br>[09:59] That's what the bulk of this is going to<br>[10:00] be about. So, uh, we're not going to<br>[10:02] focus on the coding problem because you<br>[10:04] all are really good about giving tools<br>[10:06] to your developers to code with. Let's<br>[10:08] focus on the testing and deployment and<br>[10:10] release and experimentation phases of<br>[10:13] doing your uh um of releasing new<br>[10:16] features, right? And so I thought we<br>[10:18] would tackle this in two different ways,<br>[10:20] right? For the testing and deployment<br>[10:22] and release and experimentation uh<br>[10:24] phases, we're going to be talking about<br>[10:26] uh how to set guard rails, what kind of<br>[10:28] guard rails are should be in place, and<br>[10:30] then also how to validate when you've<br>[10:33] actually released a feature. So<br>[10:35] validation is super important here. I've<br>[10:37] talked to uh some companies that that<br>[10:40] basically have uh I won't say dictated<br>[10:42] because they haven't quite gone that<br>[10:44] far, but what they've said is the goal,<br>[10:46] what they're measuring against is<br>[10:47] whether they're running an experiment on<br>[10:49] every single feature release. Super<br>[10:52] important. And also as part of that<br>[10:55] validation comes what I calling for now<br>[10:58] codification or that last part of the<br>[11:00] process where you need to go in and<br>[11:02] clean up your code. So, because I work<br>[11:04] with feature flags, I'm going to show<br>[11:05] you an example of how you can go clean<br>[11:07] up feature flag code as well.<br>[11:11] All right, before I get into those two<br>[11:13] things, I do want to just set the stage<br>[11:15] here, uh, and tell you a little bit<br>[11:17] about what I'm going to be using my, you<br>[11:20] know, obviously I come from harness, so<br>[11:22] I'm going to be talking about our tools<br>[11:23] here. You may have other tools, that's<br>[11:25] totally fine. Maybe you've got a DIY<br>[11:26] approach, whatever applies to you, but I<br>[11:29] just want to let you know my context for<br>[11:30] this. So um Harness has built basically<br>[11:34] an AI um foundation if you will with the<br>[11:38] Gentic Workflows software delivery<br>[11:41] knowledge graph in the middle that pulls<br>[11:42] in information from different areas so<br>[11:44] it has context and then also intelligent<br>[11:47] workflow orchestration. Um and that<br>[11:51] results in not just feature flags but a<br>[11:54] bunch of different products that we<br>[11:55] sell. Uh we have products for velocity,<br>[11:58] we have products for reliability, we<br>[12:00] have products for security, and we have<br>[12:02] products for efficiency, including<br>[12:04] things like cloud cost management. And<br>[12:06] so we're not going to be talking about<br>[12:07] all of this today. We're really going to<br>[12:09] only be talking about continuous<br>[12:10] delivery and feature feature management<br>[12:13] and experimentation, although I'll throw<br>[12:15] a little bit a little plug in there for<br>[12:16] security, too, because we can never<br>[12:17] forget that. But th those are the two<br>[12:19] areas I'm going to be focusing on today.<br>[12:24] All right. So, let's talk about a little<br>[12:26] bit about continuous delivery and then<br>[12:28] I'll talk a little bit about feature<br>[12:29] flags in a minute. Um, but I want to<br>[12:32] make sure that people understand the<br>[12:33] difference uh between the two tools and<br>[12:35] how they apply here, right? So, with<br>[12:37] continuous delivery, I mean, that's<br>[12:39] pretty much what people know harness<br>[12:40] for. That's our bread and butter. That's<br>[12:42] where we started. Um and uh with<br>[12:46] continuous delivery obviously you you<br>[12:47] build your software, you test your<br>[12:49] software and you deploy your software<br>[12:51] and you deploy it you know as one big<br>[12:53] deployment and that deployment could be<br>[12:55] an update to your application and it has<br>[12:57] a number of features underneath right so<br>[12:59] you've got all your features baked into<br>[13:00] that deployment you throw it over the<br>[13:02] fence and then when it comes time to do<br>[13:05] uh deployment testing you know maybe you<br>[13:07] do a canary deployment where you can<br>[13:09] actually deploy it to a small subset of<br>[13:11] your users you do your canary<br>[13:13] you see how things are going and then at<br>[13:15] some point when things look good you can<br>[13:18] uh basically uh deploy to everybody<br>[13:20] right so that's kind of the typical way<br>[13:22] things work with CD<br>[13:24] however if something goes wrong with a<br>[13:26] CD deployment what happens is you have<br>[13:29] to do a roll back now harness has tools<br>[13:31] to make automatic roll backs very easy<br>[13:33] and and and painless at least compared<br>[13:36] to doing them manually but it still<br>[13:37] means rolling back all those features<br>[13:39] that you just put out so whoever's been<br>[13:40] exposed to those features that tend 20%<br>[13:43] or something is going to notice maybe a<br>[13:45] little bit of a difference um across<br>[13:47] even the features that weren't affected<br>[13:49] by wherever this problem took place.<br>[13:51] This problem may may have taken place<br>[13:52] downstream in a in a small feature<br>[13:55] somewhere that was causing a security<br>[13:56] vulnerability, but you had to roll back<br>[13:58] everything, right? And uh take those<br>[14:01] take those features kind of away for a<br>[14:03] little while until you can fix things<br>[14:04] and roll them out again. Um it's great<br>[14:07] to have automated tools for that, but it<br>[14:08] is kind of can be kind of painful to go<br>[14:10] through that process. Um, with feature<br>[14:13] flags, we can do things a little bit<br>[14:15] differently. So, we can still do our<br>[14:17] deployment, our big deployment, uh, but<br>[14:19] if you bake feature flags in, then you<br>[14:21] can treat each one of these features as<br>[14:23] an if else statement in your code. And<br>[14:26] if the feature flag is turned on, then<br>[14:29] you can you can uh roll this out to a<br>[14:31] very small subset. Most people start at<br>[14:33] just 1%. I know I say 10 and 20 to make<br>[14:35] things nice round numbers here, but<br>[14:37] typically people will roll this out to<br>[14:38] just 1% of your of your segment that<br>[14:41] you're targeting. Maybe it's a<br>[14:42] particular region, maybe it's power<br>[14:44] users, maybe uh uh uh who knows, right,<br>[14:48] what your segment are region or or or<br>[14:50] something like that or maybe a platform<br>[14:52] that you're rolling this out to. And you<br>[14:54] can do this one at a time. And so what<br>[14:56] happens is if you have a similar problem<br>[14:58] where you've rolled out a small feature,<br>[15:02] one of the small features in your<br>[15:03] deployment to your power users or your<br>[15:05] premium users and they start having a<br>[15:06] problem, you can turn that flag off<br>[15:09] without having to do a roll back. You<br>[15:10] can just turn off that individual flag.<br>[15:12] The rest of your deployment is<br>[15:13] unaffected. Um, and you've essentially<br>[15:17] rolled back instantly to the previous<br>[15:19] state of your code because of the way<br>[15:21] this works. So uh, feature flags can do<br>[15:24] all that. Now what feature flags can't<br>[15:25] do is they can't redeploy your entire<br>[15:27] application. Um they can't roll back<br>[15:29] that that entire update out all at one<br>[15:32] time for you. But they can mitigate the<br>[15:34] risk of a small subset of that<br>[15:36] deployment causing a problem where you<br>[15:38] would have to roll everything back. So<br>[15:40] the best of both worlds here are to use<br>[15:42] both, right? You use CD to go ahead and<br>[15:44] do those deployments and then you use<br>[15:46] feature flags to one at a time uh uh<br>[15:50] deal with each one of these features.<br>[15:52] Now why is this important? Why am I<br>[15:53] talking about all this? Well, it's<br>[15:55] because of that first problem I talked<br>[15:57] about before where you have, you know,<br>[15:59] 20 times the amount of features that you<br>[16:01] have to release at any one given time.<br>[16:03] So, we're trying to solve that problem<br>[16:05] of things going wrong in that huge<br>[16:08] amount of features, right, that we have<br>[16:09] now. Not just one, not two, but maybe 20<br>[16:12] things, maybe a hundred things that we<br>[16:13] rolled out at one go. And we need to be<br>[16:17] able to have a way to deal with the<br>[16:18] increased amount of exposure that we<br>[16:20] have so that when something goes wrong,<br>[16:22] we don't have to roll all of that back.<br>[16:24] We can just roll one at a time. And that<br>[16:26] certainly helps us mitigate that risk to<br>[16:28] a certain extent. Um, so by combining<br>[16:30] these two things, it's really the best<br>[16:32] of both worlds. Now, let me give you a<br>[16:33] more practical example. Maybe you have a<br>[16:35] mobile app, right?<br>[16:38] This is example of a banking app. My the<br>[16:40] my bank. Uh, who who else banks at my<br>[16:42] bank? I open all my accounts there. Um,<br>[16:45] but you can imagine there's all this<br>[16:47] competition out there, right? You can<br>[16:48] see some of the logos over there on the<br>[16:50] right. Everyone is vying for eyeballs.<br>[16:53] Everyone is trying to come up with a<br>[16:55] feature that will get uh their customers<br>[16:57] or their potential customers to open<br>[16:59] more bank accounts or use their app<br>[17:01] more. And that's another great example<br>[17:04] of how you can use feature flags and<br>[17:06] deployments together as as one combined<br>[17:09] way to deal with this AI code velocity<br>[17:12] problem. As I as I mentioned in in in<br>[17:15] the process of doing one single<br>[17:17] deployment, you may have 180 features<br>[17:19] kind of tucked behind there that you're<br>[17:21] turning on one at a time. You're<br>[17:23] probably experimenting with a subset of<br>[17:24] those. Although again, I would argue you<br>[17:26] should be experimenting with almost all<br>[17:27] of them uh to know what's actually<br>[17:29] impacting the bottom line. And then when<br>[17:32] you uh once those features are<br>[17:34] validated, you've run your experiments,<br>[17:36] you know that they work, then the<br>[17:37] banking app the next time it gets a<br>[17:39] deployment to the next version, all<br>[17:41] those things are codified in the code<br>[17:43] and they become standard features, not<br>[17:45] behind a feature flag anymore. Um, and<br>[17:48] that's the way that a lot of people use<br>[17:49] these tools.<br>[17:54] Okay, so let's now talk about pipelines<br>[17:57] real quick. Pipelines is uh people have<br>[17:59] deployment pipelines. It's kind of a<br>[18:01] generic term, but at harness it means<br>[18:02] something a little bit more. We have our<br>[18:04] own pipelines feature of the product.<br>[18:07] The nice thing about it is it spans uh<br>[18:11] uh multiple different products that we<br>[18:14] sell, right? It's not just one tool for<br>[18:16] one product. It actually integrates, for<br>[18:19] example, with feature flags. I'll show<br>[18:20] you an example of that in a minute. What<br>[18:22] this allows you to do is it allows you<br>[18:24] to very easily, you can set this up with<br>[18:26] YAML if you want. uh you can very easily<br>[18:28] deploy pipelines and uh do things in an<br>[18:33] automated fashion with guardrails and<br>[18:35] I'll give you some examples of that in a<br>[18:37] minute. So you can see here we're doing<br>[18:38] a verifi manual verification check which<br>[18:41] uh looks like it failed in this case in<br>[18:43] the graphic right so we're doing some<br>[18:44] sort of verification maybe it maybe<br>[18:46] there was a security problem or<br>[18:47] something like that some sort of<br>[18:48] verification happened um and that was uh<br>[18:51] to protect us against releasing code<br>[18:54] that was generated by by AI but may have<br>[18:56] a problem with it um and we don't want<br>[18:58] to release that into production yet. So<br>[19:00] it's a great time to do these checks.<br>[19:01] It's a great time to have these checks<br>[19:03] in your pipeline. So we'll be talking a<br>[19:05] lot about pipelines as we finish out the<br>[19:07] presentation today. Okay. So we talked<br>[19:10] about guardrails and validation. I'm<br>[19:11] going to talk about those separately. So<br>[19:12] what are the guardrails? What do<br>[19:13] guardrails even mean? What are we<br>[19:15] talking about? Well, my definition for<br>[19:17] guardrails are the controls that decide<br>[19:21] whether AI generated code and AI<br>[19:23] assisted changes<br>[19:25] are allowed to advance. So you you're<br>[19:28] going to be making these things, but the<br>[19:29] question is at what point do we do a<br>[19:32] hard check to know if things are going<br>[19:35] right or if things are going wrong?<br>[19:36] Because nobody wants to end up in the<br>[19:38] news for a security vulnerability that<br>[19:40] leaked out, right? Okay. Well, what are<br>[19:42] three ways we can deal with that? What<br>[19:44] are three three types of guardrails we<br>[19:45] can put up? Well, one, we can put up<br>[19:47] human judgment. That would be kind of a<br>[19:48] human in the loop problem where we at<br>[19:50] least we might not need humans<br>[19:52] evaluating every line of code whether<br>[19:54] it's correct or not. But at least we<br>[19:56] need some human checking to make sure<br>[19:57] that this pull request for example meets<br>[20:00] our standards or isn't going to break<br>[20:01] something<br>[20:03] before it goes into production. Also, we<br>[20:05] need some sort of security evidence. So,<br>[20:07] we need to do some sort of test. And<br>[20:09] this also gets down to a little bit of<br>[20:11] regulatory environments as well, right?<br>[20:13] You need an audit trail, but we'll talk<br>[20:15] about application security mostly here.<br>[20:17] You need some sort of uh security check<br>[20:19] to make sure that you don't have a<br>[20:20] vulnerability. And then you need policy<br>[20:22] enforcement because AI is really good<br>[20:24] about coming up with its own workarounds<br>[20:26] for for things. You know this if you've<br>[20:29] used it and it'll say, "Well, I I just<br>[20:31] created my own naming scheme for this<br>[20:33] thing, right?" Well, no. If you're<br>[20:35] working at a company with a thousand<br>[20:36] people, you need a naming scheme that's<br>[20:39] consistent across things so that the<br>[20:40] incident team knows what's going on if<br>[20:42] that there's a problem or or whatever.<br>[20:44] So, you need some sort of way to enforce<br>[20:46] policies. So, how do we do that? Well,<br>[20:48] I'm going to tell you how we do it at<br>[20:49] harness. You can um think about your own<br>[20:51] products that you use when you're<br>[20:53] thinking about this, but let's talk<br>[20:54] about policy as code first and then<br>[20:56] we'll work backwards.<br>[20:59] So, as I said, uh you need some sort of<br>[21:01] policy enforcement. The way that we do<br>[21:02] it at harness is with OPA style policy.<br>[21:06] So, we actually have a a policy um uh<br>[21:10] when you go in to create a policy, we<br>[21:12] have examples that you can use and we<br>[21:14] show you the the code. I always forget<br>[21:16] what the name of the OPA<br>[21:19] standard is for writing policies, but we<br>[21:21] use that same standard to make it easy<br>[21:22] for people. So, you don't have to worry<br>[21:24] about if you want to take these policies<br>[21:25] to somewhere else later, they'll still<br>[21:27] be valid. Um, and you can actually test<br>[21:29] them. You can go in here and if you set<br>[21:31] up a policy, let's use the same example<br>[21:33] where I have a naming convention that<br>[21:34] needs to be standardized on and I'm<br>[21:37] setting up that policy. You can actually<br>[21:38] go in and test put in a bad policy and a<br>[21:41] good policy and see if the policy<br>[21:42] enforcement works.<br>[21:46] And here's an example of that<br>[21:47] enforcement. So, we're running our<br>[21:49] pipeline. Uh we're running the create<br>[21:51] feature flag step in our pipeline, which<br>[21:53] happens automatically as the pipeline<br>[21:55] progresses. And we get to this point and<br>[21:56] it says, "Hey, you've got a bad name in<br>[21:59] here. Um, you've used the name Ola,<br>[22:02] which doesn't require a Jira ticket<br>[22:04] number." So, in this case, the company<br>[22:06] wanted to have the Jira ticket ticket<br>[22:08] number when as part of the feature flag<br>[22:10] name. Again, I think this is probably<br>[22:12] for, let's say, this goes to an incident<br>[22:15] team. They need to be able to turn this<br>[22:16] off because something happened. You want<br>[22:19] to have that Jira ticket uh available to<br>[22:21] you. And so, why not just put it right<br>[22:22] in the name of the flag? Makes a lot of<br>[22:24] sense. and you can enforce that across<br>[22:26] your entire organization with policies.<br>[22:29] So that's the first one. The second one<br>[22:30] is human in the loop. How do we do that<br>[22:32] or when do we use it, right? Um well,<br>[22:35] you want to use it for approvals for<br>[22:38] production. And some people are going<br>[22:40] right to production to run certain<br>[22:41] tests, right? Especially with their user<br>[22:43] interface, uh with their user<br>[22:45] experiment, uh experience, they want to<br>[22:47] do that in production. But before<br>[22:48] something goes to production, you<br>[22:50] certainly want to have at least somebody<br>[22:52] that is familiar with the code to go<br>[22:53] through and make sure that it's not<br>[22:54] going to break something else, right?<br>[22:56] What about high-risk services, financial<br>[22:58] transactions or uh regulated data um<br>[23:02] that uh uh needs to be handled<br>[23:04] differently? Um unusual deployment<br>[23:07] patterns. So you you know, you've all<br>[23:08] been through this where you're starting<br>[23:10] up a new service maybe in the cloud or<br>[23:11] something, you haven't done it before.<br>[23:13] you definitely want to have somebody<br>[23:15] validating that to make sure that things<br>[23:17] are right there as well. And then of<br>[23:19] course, if you get to some sort of<br>[23:20] failed verification that I showed you<br>[23:22] before, right? We're trying to validate<br>[23:24] u a featured, run a security check,<br>[23:26] something fails, you want to be able to<br>[23:28] have a human go in and investigate<br>[23:30] what's going on.<br>[23:32] Uh so what do you use for that? How do<br>[23:34] you get notified that something's wrong?<br>[23:35] Well, if you're using a product like<br>[23:37] Harness that we've built in tools to<br>[23:39] basically integrate with whatever you're<br>[23:40] using. So, you can obviously be<br>[23:42] notified. This is an example of an inapp<br>[23:44] notification where someone needs to go<br>[23:46] into harness and put in yes, I validated<br>[23:48] that each feature is working, click<br>[23:51] approve, everything looks good, and then<br>[23:53] the uh the pipeline will automatically<br>[23:55] continue if they hit approve at this<br>[23:56] point. Uh but also you need to integrate<br>[24:00] with your existing ticketing tools or<br>[24:02] your incident systems that you have your<br>[24:04] service nows etc your pager duties and<br>[24:06] messaging tools like Slack. Those are<br>[24:08] all ways that people use uh to make sure<br>[24:11] they're notified so that not only is<br>[24:13] there a stop an automated stop in your<br>[24:16] pipeline to say I need to go validate<br>[24:18] this particular part uh but you're<br>[24:20] notified that that you need to go do<br>[24:22] that in whatever system works for you.<br>[24:24] So uh really important to keep those in<br>[24:26] place<br>[24:29] and we can't forget security testing. So<br>[24:31] we have application security testing<br>[24:33] tools um that can go out and again be<br>[24:36] integrated into these pipelines along<br>[24:38] with everything else. Uh really<br>[24:40] important here is dduping<br>[24:41] vulnerabilities. So one thing that we're<br>[24:43] seeing with AI code is if there is a<br>[24:45] vulnerability and you commit that to a<br>[24:47] centralized repo as part of a<br>[24:50] instruction set or something that's<br>[24:51] going to reproduce that vulnerability<br>[24:53] over and over again those<br>[24:54] vulnerabilities can get propagated. So<br>[24:56] by having a security testing tool like<br>[24:58] we deliver at harness you can actually<br>[25:00] get in front of that and and uh prevent<br>[25:03] those uh duplication of vulnerabilities<br>[25:05] uh by AI which is super easy to do. Um<br>[25:10] and then we also have remediation. So,<br>[25:12] you know, enforcing that governance with<br>[25:14] those same OPA policies we talked about<br>[25:15] before, being able to track issues by<br>[25:18] integrating into Jira and Slack, for<br>[25:19] example. Same sort of notification stuff<br>[25:22] I was talking about before applies here.<br>[25:23] So, you get notified immediately. You<br>[25:26] can go in and say, "Hey, uh, you can ask<br>[25:28] our AI system, for example, I, you know,<br>[25:30] I saw that there was a problem. What's<br>[25:32] going on?" It can come back and and<br>[25:33] pinpoint the problem for you so that you<br>[25:35] can uh, uh, remediate it quickly. Super<br>[25:38] important to have this as a guardrail<br>[25:40] when you're rolling out AI generated<br>[25:41] code.<br>[25:44] Now, let's talk a little bit about<br>[25:45] validation. Again, what do I mean by<br>[25:47] validation? Well, what I'm talking about<br>[25:49] here is the process of proving that a<br>[25:52] release is safe, useful, worth keeping,<br>[25:56] it's important, and codifying. Again, if<br>[25:59] you have a better word for that, let me<br>[26:01] know. I don't know what it is.<br>[26:02] Validating, codifying. Basically, you<br>[26:03] need to go in and and and um fix your<br>[26:06] code or or uh codify your code to the<br>[26:09] point where you've taken the feature<br>[26:11] flag out. The process that you validated<br>[26:13] is working and is important for your<br>[26:14] business is now in the next release,<br>[26:17] right? It's in the next deployment. So,<br>[26:19] what are we talking about there? What<br>[26:20] kinds of things fall under validation?<br>[26:22] Well, for me, it's validating the<br>[26:23] release process itself. It's integrating<br>[26:25] this into the release process so that<br>[26:27] you can keep things moving quickly and<br>[26:29] you don't get bottlenecked with all of<br>[26:31] this AIdriven code that's coming your<br>[26:32] way. Experimentation again got to make<br>[26:35] sure that this stuff is impacting the<br>[26:37] bottom line or affecting your users in<br>[26:38] the way that you want. And then<br>[26:40] obviously tech debt is a big deal. Tech<br>[26:42] debt can increase uh with right along<br>[26:46] with the number of changes that you're<br>[26:47] putting out uh due to AIdriven code<br>[26:49] velocity that tech debt is also<br>[26:52] accelerating uh because of that as well.<br>[26:54] So if you're not taking steps to clean<br>[26:55] it up, you're going to run into<br>[26:56] problems.<br>[27:00] So let's first start about how we can<br>[27:02] deal with that release process and<br>[27:04] feature flags. I gave you all the<br>[27:05] examples of this. I'm not going to go<br>[27:06] into too much more detail here, but<br>[27:09] basically you can think of it as uh um<br>[27:12] you know the last bullet here, limiting<br>[27:14] the blast radius, right? So, one of the<br>[27:17] things that you want to do as you're<br>[27:18] releasing more and more features is to<br>[27:22] make sure that the impact, whatever<br>[27:23] impact you have, if there is a problem,<br>[27:25] that it's limited. It's limited to maybe<br>[27:27] your internal users only. Wouldn't that<br>[27:29] be great? You release this to internal<br>[27:31] users. Have them take a look at it<br>[27:32] first. It's not going to catch<br>[27:33] everything, but it's certainly not going<br>[27:35] to land you in the newspaper or on uh uh<br>[27:39] your your your daily Google newsfeed,<br>[27:42] right? So, not only that, but you can<br>[27:44] roll out progressively by user, by<br>[27:46] segment, by region. As I mentioned<br>[27:47] before, doing a progressive roll out is<br>[27:50] much safer um and can be much more<br>[27:52] effective than rolling out to everybody<br>[27:54] all at once. And then, of course,<br>[27:55] instant kill switches. That's a great<br>[27:57] way to look at feature flags. This whole<br>[27:59] area of feature flags has developed.<br>[28:01] used to be really for, you know, people<br>[28:03] that were wanted to open up a beta, for<br>[28:05] example, to some uh customers and they<br>[28:08] would turn on the feature flag and the<br>[28:09] and the the customer in in question<br>[28:12] would get the the beta of a new feature<br>[28:14] or new new uh uh product or something<br>[28:17] like that, right? It's evolved u much<br>[28:20] more since then and now it's used to do<br>[28:23] all sorts of things and especially to<br>[28:24] guard against problems when you're doing<br>[28:26] these AI a lot more AI generated<br>[28:29] releases like this<br>[28:33] talk about experimentation as well is<br>[28:35] there a bottleneck with experimentation<br>[28:37] well what we found is that for advanced<br>[28:40] experimentation teams uh even if they've<br>[28:43] done everything right so they've built<br>[28:46] up their experimentation team they've<br>[28:48] created dashboards, they're doing<br>[28:49] dynamic configs, they're uh plugged into<br>[28:52] warehouse native, they've shared this<br>[28:54] learning experience across their team,<br>[28:56] they still hit a bottleneck. And the<br>[28:58] problem is exactly what we've been<br>[29:00] talking about. They build it to a point<br>[29:02] where maybe they're doing experiments<br>[29:03] weekly, but they can't get beyond that<br>[29:05] because they just can't run any more<br>[29:07] experiments any faster. And what we<br>[29:09] found the bottleneck is here is actually<br>[29:12] the uh same thing that we've been<br>[29:14] talking about which is they aren't<br>[29:18] building the experimentation platform<br>[29:19] into the rest of their deployment<br>[29:22] pipeline. So, uh, if you're using a<br>[29:25] separate experimentation tool, that's<br>[29:27] fine. Just know that you may run into<br>[29:29] this bottleneck problem where you hit a<br>[29:32] certain ceiling and you're not able to<br>[29:35] keep up with the code velocity that's<br>[29:37] that's coming your way, especially if<br>[29:38] you're changing your<br>[29:41] expectation with experimentation to be<br>[29:44] experimenting on everything, right?<br>[29:45] Think about your experimentation teams<br>[29:47] here, right? they they they were maybe<br>[29:49] running, you know, 10 experiments or<br>[29:50] something like that, you know, now<br>[29:51] they're running a hundred experiments.<br>[29:53] How are they going to keep up with that?<br>[29:55] How are they going to automate that? Um,<br>[29:57] it can be a real problem. And and the<br>[29:59] best answer that we found is to make<br>[30:01] sure that the tools are integrated.<br>[30:04] Uh, the experimentation tool, your<br>[30:06] feature flagging tool, your CI/CD tool,<br>[30:09] make sure all of those are integrated.<br>[30:10] And that will take out the bulk of the<br>[30:12] of the bottleneck because you can<br>[30:13] automate all the way through that whole<br>[30:15] pipeline.<br>[30:18] Uh, now let's talk about removing tech<br>[30:20] debt. So, again, I'm going to be<br>[30:21] focusing on feature flags here because<br>[30:23] that's my bread and butter.<br>[30:28] The point is you need to be doing this<br>[30:30] uh because it's going to come back and<br>[30:31] haunt you. Now, what we've done for<br>[30:33] feature flags is we've actually released<br>[30:35] an an automated uh feature flag cleanup<br>[30:38] tool that will go out and it will based<br>[30:41] on your guidelines, it will go out and<br>[30:44] automatically find feature flags that<br>[30:46] are let's say in this case 100% rolled<br>[30:49] out, right? So, you don't want to be<br>[30:50] removing feature flags that haven't been<br>[30:52] fully released yet. So, as you're<br>[30:54] ramping up, you don't want to be release<br>[30:56] getting rid of that feature flag code.<br>[30:57] But what you can do is once it's been uh<br>[31:00] fully rolled out, the experiment is<br>[31:01] finished, you've proven the value of<br>[31:03] that particular feature, you can have<br>[31:06] this tool go ahead and run and it will<br>[31:08] actually go in and identify in your code<br>[31:10] where those feature flags are and set up<br>[31:13] uh automated ways to actually uh uh pull<br>[31:16] that code out and including, you know,<br>[31:19] doing a uh uh uh a PR for you on your<br>[31:22] behalf and things like that. We're<br>[31:24] always improving this feature. It's it's<br>[31:27] uh hot off the press, if you will. So,<br>[31:29] we're getting a lot of feedback on it<br>[31:30] and a lot of good feedback. And uh this<br>[31:33] is something that we feel can really<br>[31:34] help people go in and clean up their<br>[31:36] code because the last thing you want to<br>[31:37] have is old code hanging out in your co<br>[31:39] codebase that an AI tool can reference<br>[31:42] and perhaps make assumptions on your<br>[31:44] behalf that you don't want it making.<br>[31:46] So, cleaning up this code is really<br>[31:47] important.<br>[31:50] Okay, let me give you an example of a<br>[31:51] company that's seen dramatic results by<br>[31:54] uh following the approach that I just<br>[31:56] laid out, right? Especially with the<br>[31:58] integrated pipelines, being able to<br>[32:00] automate things, having enough review in<br>[32:03] the loop, uh human review and and<br>[32:06] guardrails and things like that that<br>[32:07] they can move very very quickly. So,<br>[32:08] this is Speedway Motors. We've actually<br>[32:11] uh done another lead dev webinar with<br>[32:13] them. I'll give you a link to that in<br>[32:14] just a minute. Um, but before they<br>[32:16] started using our tools, they were only<br>[32:19] releasing a couple times a month. That's<br>[32:21] as fast as they could do it. And because<br>[32:24] they weren't didn't really have the uh<br>[32:26] the right tools in place to run<br>[32:27] experiments to know what was impacting<br>[32:29] their e-commerce tools or the e-commerce<br>[32:31] uh product that they have, they weren't<br>[32:33] really able to see any increase in<br>[32:35] conversion rates when they did do<br>[32:37] testing or when they did release new<br>[32:39] features. So once they started using our<br>[32:42] tools, they found very quickly that they<br>[32:44] got immediate ROI because they were able<br>[32:46] to go from releasing two times a month<br>[32:48] to releasing multiple times per day um<br>[32:51] sometimes two, three times per day. So<br>[32:53] their deployment frequency went way up.<br>[32:56] They were also able to see an immediate<br>[32:58] impact and they were able to make<br>[32:59] judgments on whether new features were<br>[33:01] helping or hurting and then move forward<br>[33:03] very quickly and get those uh changes in<br>[33:06] their codebase and get them rolled out<br>[33:07] uh in the next deployment which was<br>[33:09] really important. Um and they found that<br>[33:11] there was a big impact to the bottom<br>[33:13] line uh because they had the visibility<br>[33:15] that they needed because they didn't<br>[33:17] have separate tools getting in the way<br>[33:19] of each other and a lot of delay. they<br>[33:21] were actually able to iterate quickly<br>[33:22] and say, "Hey, this particular special<br>[33:25] that we ran on the website or the way<br>[33:26] that we did this is actually causing<br>[33:28] people to order more stuff and so we<br>[33:30] need to do that again and again, you<br>[33:31] know, every year seasonally, whatever it<br>[33:33] is, whatever the problem is." But they<br>[33:34] were able to to validate that that was<br>[33:36] working, which is really great.<br>[33:39] Okay, let me go ahead and give you some<br>[33:41] resources now, things that you can take<br>[33:43] with you. Uh, these will be offered to<br>[33:44] you as well after the webinar, but I<br>[33:47] want to talk about a few things. So,<br>[33:48] coming up on June 17th is uh our annual<br>[33:52] flagship event that we do at Harness. Uh<br>[33:55] Split used to do this before we acquired<br>[33:57] them and we've kept it going and it's<br>[34:00] special because this isn't just us<br>[34:02] talking to you about what we think. What<br>[34:04] we do is we actually go out and get<br>[34:06] actual practitioners and have them come<br>[34:07] in, practitioners that are doing<br>[34:09] incredible things and they talk about<br>[34:11] the problems that they're facing and<br>[34:12] they talk about how they're solving<br>[34:14] them. Uh whether it's with harness or<br>[34:16] not, it doesn't matter. We have some<br>[34:17] folks coming in from Curser to talk<br>[34:19] about the AI revolution and what that<br>[34:21] means. We've got uh some folks coming in<br>[34:23] from some financial institutions, some<br>[34:25] retail companies. They're coming in to<br>[34:27] talk about how they're dealing with this<br>[34:29] AI velocity problem, what they've put in<br>[34:32] place, how they're running experiments,<br>[34:33] how they're cleaning up their code. Um<br>[34:35] all of that is going to get talked about<br>[34:37] by practitioners. So, uh you can go out<br>[34:40] and sign up for this. Just do a Google<br>[34:41] search for Harness Flagship 2026 should<br>[34:44] come up and you can register for that<br>[34:46] event. And be sure to register even if<br>[34:48] you can't attend the whole thing. It's<br>[34:50] free. It's virtual. Um you can listen to<br>[34:53] it in the background, but if you get<br>[34:54] pulled away or whatever, you'll have the<br>[34:56] replays available to come back and<br>[34:58] listen to as well. I don't think you're<br>[34:59] going to want to miss it. And uh<br>[35:01] definitely go out and register for that<br>[35:03] event.<br>[35:05] Um I also mentioned this report that we<br>[35:07] put out along with lead dev. So,<br>[35:09] there'll be a link to download that<br>[35:11] report. I I recommend going out and<br>[35:13] doing that and kind of seeing where you<br>[35:14] fit in. I can tell by your poll<br>[35:16] responses that uh you're going to fit<br>[35:18] right in with the responses on this<br>[35:20] survey. But there are some interesting<br>[35:22] takeaways. Um, and we also talked about<br>[35:24] this in a little bit more detail on a<br>[35:26] webinar called d-risking releases in the<br>[35:28] AI era. And so, I think I was on that<br>[35:31] one. And, uh, we talked about what the<br>[35:33] implications are. We kind of drilled<br>[35:35] into some of the details, some of the<br>[35:36] findings from that report in a webinar<br>[35:39] fashion. So again, great listening<br>[35:41] material. If you're working or doing<br>[35:42] something around the house and you want<br>[35:44] to hear the the output of that report<br>[35:46] and what the implications are, highly<br>[35:48] recommend that one. And I talked about<br>[35:49] Speedway Motors. We also have uh that<br>[35:52] webinar. You can go back and listen to<br>[35:54] them. Again, practitioners, these are<br>[35:55] the people from Speedway Motors that<br>[35:56] implemented these things. Definitely go<br>[35:59] out and take a look if you're<br>[36:00] interested. One of the things they<br>[36:01] talked about which I did not realize<br>[36:03] until we were on that webinar talking<br>[36:04] about it was um they even control some<br>[36:07] of their physical uh resources through<br>[36:11] feature flags. So I think the example<br>[36:13] was they control their warehouses. If<br>[36:15] there's inclement weather and the<br>[36:18] warehouses shouldn't be running, they<br>[36:19] actually flip a feature flag to turn off<br>[36:21] the warehouse, which is uh which is<br>[36:24] amazing to me. but it's an easy way for<br>[36:26] them to control some of those things uh<br>[36:28] phys in the physical world as well as in<br>[36:30] their application.<br>[36:34] Um, and last but not least, uh, if you<br>[36:36] want a demo of any of these things, if<br>[36:38] any of these topics that we talked about<br>[36:39] through guardrails and validation, if<br>[36:42] any of those are problems for you right<br>[36:43] now and you just want a a a demo of how<br>[36:46] it would work, that's more specific to<br>[36:49] your particular use case or the problem<br>[36:51] that you're facing, uh, you can scan<br>[36:53] this QR code or just, uh, go out to the<br>[36:56] website and sign up for a demo. Highly<br>[36:57] recommend you do that. There's no cost,<br>[36:59] no risk. We'll just ask you a few<br>[37:01] questions. will get on the phone and<br>[37:02] we'll walk through the product in a way<br>[37:04] that's more applicable to you. So, go<br>[37:06] sign up for that demo and uh I'd love to<br>[37:09] see some of the folks on this call<br>[37:11] actually uh in the future perhaps on a<br>[37:13] demo call. That would be great. All<br>[37:15] right,<br>[37:17] so for now, uh let's go ahead and get<br>[37:20] over to<br>[37:22] some questions.<br>[37:26] See if I can bring up my Q&A here.<br>[37:29] Uh this is the time if you do have any<br>[37:32] questions<br>[37:34] uh go ahead and put them in now. We'll<br>[37:35] take a few more minutes. I do have one.<br>[37:37] Uh do you support rolling back database<br>[37:39] changes? Um yes we do actually. We can<br>[37:42] help with uh uh we actually have a tool<br>[37:44] called um DB DevOps and the DB DB DevOps<br>[37:49] tool. I have to be careful because I<br>[37:50] want to say DevOps. The DB DevOps tool<br>[37:53] actually can help you rolling back your<br>[37:55] DB changes or doing schema migrations.<br>[37:58] um, you know, it's not my particular um,<br>[38:03] uh, product that I work on, but I do<br>[38:06] know that we do have it. It does<br>[38:07] integrate with the pipeline process that<br>[38:09] I showed you before. So, as part of your<br>[38:11] process, you're rolling out a new<br>[38:12] feature, you need to move someone over<br>[38:14] or do some sort of a database uh,<br>[38:16] change, you can actually build that into<br>[38:18] the pipeline and have it happen<br>[38:20] automatically.<br>[38:26] Um,<br>[38:27] I'll give it just one more second to see<br>[38:29] if there's more questions that came come<br>[38:31] in.<br>[38:33] One of the interesting ones that came in<br>[38:35] uh last time when I was talking about<br>[38:36] this was how do I convince my management<br>[38:38] that this part of the process is<br>[38:40] important.<br>[38:42] Um, that that can be a struggle right<br>[38:43] now. I think a lot of people are<br>[38:45] focusing on the code development side of<br>[38:48] things and how many tokens you're using<br>[38:50] and how much code you're pushing out.<br>[38:52] Um, but they're starting to realize that<br>[38:54] that code doesn't always make it all the<br>[38:56] way out into uh production because of<br>[38:59] this deployment problem that we've been<br>[39:01] talking about and the release and and<br>[39:03] experimentation problem that happens<br>[39:05] down the line. Um, it's not just that<br>[39:07] you're developing more code, it's that<br>[39:09] you're doing more changes and you need<br>[39:11] to be running experiments on more stuff.<br>[39:13] So, if you don't have a good tool, uh<br>[39:16] especially if you're running at a large<br>[39:17] organization with thousands of<br>[39:19] developers, if you don't have a good<br>[39:20] tool to help you with the rest of the<br>[39:22] process, um you could be in for a world<br>[39:25] of of hurt. And uh you might not get the<br>[39:28] results that the executives want to see.<br>[39:30] You might get the results that your<br>[39:31] manager wants to see, but the executives<br>[39:32] might not be too pleased that there's<br>[39:34] all these changes backed up in the<br>[39:35] pipeline.<br>[39:37] Um<br>[39:40] let's just see if there's anything else.<br>[39:44] Uh let's see. How do you put in<br>[39:46] guardrails for uh safe handling PII or<br>[39:50] other security guardrails while pushing<br>[39:52] changes? This is a good good question. I<br>[39:54] talked about application security and we<br>[39:57] talked a little bit about regul<br>[39:58] regulated environments. Um you can<br>[40:00] there's a couple of things I'll mention<br>[40:02] here. So you can definitely put in<br>[40:04] guardrails as part of policies for<br>[40:06] dealing with PII. That's probably the<br>[40:08] the first way that I would handle that<br>[40:10] is put in a policy that says, you know,<br>[40:13] this this shouldn't this database<br>[40:14] shouldn't be accessed or this uh type of<br>[40:17] information shouldn't be shared. This uh<br>[40:20] credit card uh sequence of numbers<br>[40:22] shouldn't be should never be used or<br>[40:24] there's policies that we have in place<br>[40:25] for for all of those things. Um and of<br>[40:28] course, every company's going to be a<br>[40:29] little different. So, they're flexible<br>[40:30] enough you can create your own policy to<br>[40:32] make sure that that's not happening. Um<br>[40:34] flexibility is key. That's why we offer,<br>[40:37] you know, YAML, you can do pipelines as<br>[40:40] code, for example. Um,<br>[40:43] and and so, yeah, it's very flexible.<br>[40:45] Putting in those policies for that<br>[40:47] information that shouldn't be shared is<br>[40:48] not difficult, and it definitely should<br>[40:50] be part of a check as some at some point<br>[40:52] and as part of your uh pipeline for<br>[40:55] sure.<br>[40:59] Um,<br>[41:02] just looking at the questions here,<br>[41:06] one more. How do you navigate a testing<br>[41:08] team who wants to test every permutation<br>[41:12] of a feature flag? Basically, if we have<br>[41:15] multiple feature flags in flight, we<br>[41:17] need to ensure tuning them uh turning<br>[41:19] them off is going to work just because<br>[41:21] it's coded behind if else there are<br>[41:24] still things that can go wrong. Uh, I'm<br>[41:27] going to have to interpret this one a<br>[41:28] little bit. Um,<br>[41:32] if you you you need a tool that supports<br>[41:34] being able to test every permutation.<br>[41:36] Um, it's so obviously there's going to<br>[41:38] have to be a conversation about how much<br>[41:41] testing can take place. Um, I'm assuming<br>[41:43] this is a velocity question, right?<br>[41:45] Like, oh, we haven't tested uh this<br>[41:47] particular use case or this particular<br>[41:50] thing, so we can't move forward yet. Um,<br>[41:52] you can run multiple tests at once. You<br>[41:54] can have multiple feature flags turned<br>[41:56] on. You can have multiple segments<br>[41:57] turned on. You can have multiple<br>[41:59] treatments turned on. And you can be<br>[42:00] doing multiple experimentation turned<br>[42:02] on. There was a demo I did the other day<br>[42:04] where we showed all the different<br>[42:05] permutations that we had running at the<br>[42:07] same time. And I think it was 256. I<br>[42:09] don't know. I don't know if there's an<br>[42:10] upper limit, but there was 256 different<br>[42:12] things being tested. And then<br>[42:14] automatically we were able to decide<br>[42:16] which one of those was working and which<br>[42:18] ones weren't. And then we were able to<br>[42:20] progress that roll out very quickly and<br>[42:22] determine what the best one that<br>[42:24] basically won the evaluation contest um<br>[42:28] so that we could roll that out more<br>[42:29] broadly. So I know that we can do it at<br>[42:30] harness. Um hopefully your<br>[42:32] experimentation tool is able to do that<br>[42:34] as well and hopefully it's integrated<br>[42:35] with the rest of your pipeline to make<br>[42:37] that process easy. Um okay, I think<br>[42:39] we're about out of time and I think<br>[42:41] that's all the questions we have for<br>[42:42] today. So thanks everybody for joining.<br>[42:44] Thanks for spending a little bit of time<br>[42:46] with me. Really appreciate it. I hope I<br>[42:48] get to talk to you on one of these in<br>[42:49] the future and I hope you have a great<br>[42:51] day. Thanks a lot and we'll see you<br>[42:53] later. Bye-bye. <!-- deep-read:sections end --> ## ๐Ÿ“บ Video ![](https://www.youtube.com/watch?v=Xt7y6CKDqcI) ## Highlights - We're seeing four to 20 times the number of changes being pushed out the door or at least through the process that we were seeing before. And we all know what happens when we have an increased number of things changing at any given time. That opens up the risk that something's going to go wrong. - Note: ๐Ÿ“š AI code velocity creates deployment bottlenecks without proper guardrails ยท - Core problem statement around 8:30 in presentation - Why this matters: Identifies the fundamental mismatch between AI coding speed and deployment capability ยท #atom/literature/h1 - If you have a similar problem where you've rolled out a small feature, one of the small features in your deployment to your power users or your premium users and they start having a problem, you can turn that flag off without having to do a roll back. You can just turn off that individual flag. - Note: ๐Ÿ“š Feature flags enable granular rollback without affecting entire deployments ยท - Technical explanation around 15:45 showing CD vs feature flag approaches - Why this matters: Solves the blast radius problem when AI generates many features per deployment ยท #atom/literature/h2 - What are three types of guardrails we can put up? Well, one, we can put up human judgment. Also, we need some sort of security evidence. And then you need policy enforcement because AI is really good about coming up with its own workarounds for things. - Note: ๐Ÿ“š Three guardrail types required for AI code validation ยท - Framework presentation around 22:10 defining comprehensive guardrail strategy - Why this matters: Provides actionable taxonomy for implementing AI code safety measures ยท #atom/literature/h3 - AI-generated feature velocity requires proportional deployment sophistication - Note: [[DevOps transformation patterns]] โ€” because extends existing CD practices ยท - [[DevOps transformation patterns]] โ€” because extends existing CD practices ยท #atom/zettel/z1 - Progressive rollout percentages (1% โ†’ segments โ†’ full) need optimization research for different feature types - Note: โœ๏ธ Fleeting capture #atom/fleeting/f1 - Integration patterns between WordPress deployment tools and feature flag platforms worth exploring - Note: โœ๏ธ Fleeting capture #atom/fleeting/f2 - Policy-as-code examples for AI coding standards could be valuable community resource - Note: โœ๏ธ Fleeting capture #atom/fleeting/f3 --- # ๐Ÿ“ Full Notes (Deep-Read Analysis) # ๐Ÿท๏ธ Title: How to build the guardrails your AI releases actually need ## ๐Ÿงญ Table of Contents - [๐Ÿ“ Summary](#-summary) - [๐Ÿ“– Main Content](#-main-content) - [๐Ÿ—’๏ธ Notes](#๏ธ-notes) - [๐Ÿ“š References](#-references) - [๐Ÿ—ฃ๏ธ Paraphrase](#๏ธ-paraphrase) - [๐Ÿ“ฐ Newsletter](#-newsletter) - [โœ… Action Items](#-action-items) - [๐Ÿงช Hypotheses](#-hypotheses) - [๐Ÿ“Š Methodology](#-methodology) - [โ“ Questions](#-questions) - [๐Ÿ”ฎ Future Research](#-future-research) - [๐Ÿ’ก Implications](#-implications) - [๐Ÿง  Learning Styles Assessment](#-learning-styles-assessment) - [๐Ÿ“Š Accessibility Assessment](#-accessibility-assessment) - [๐ŸŒ DEIB Assessment](#-deib-assessment) - [โœ… Logical Validity](#-logical-validity) - [๐Ÿ›ก๏ธ DARVO Analysis](#-darvo-analysis) - [๐ŸŽฏ Conclusion](#-conclusion) ## ๐Ÿ“ Summary - **What happened**: AI coding tools are increasing feature velocity 4-20x, but organizations lack proper guardrails for testing and deployment phases. - **Why it matters**: Without proper controls, AI-generated code creates security vulnerabilities, quality issues, and deployment bottlenecks despite faster development. - **Key stakeholders**: Development teams, DevOps engineers, security teams, product managers, experimentation teams. - **Risks and tradeoffs**: Faster coding vs. increased deployment risk; automation efficiency vs. human oversight needs; feature velocity vs. technical debt accumulation. - **Bottom line**: Success requires combining continuous delivery with feature flags, implementing three types of guardrails (human judgment, security evidence, policy enforcement), and validating releases through experimentation. ## ๐Ÿ“– Main Content The presentation addresses a critical gap in AI-assisted software development: while organizations excel at providing AI coding tools, they struggle with the downstream effects of dramatically increased feature velocity. Eric Nukem from Harness identifies that teams are seeing 4-20x more features in deployments but lack adequate systems for safe release management. ### The AI Code Velocity Problem Current AI coding adoption shows strong uptake in development phasesโ€”developers use Claude, Copilot, Cursor, and ChatGPT effectively. However, survey data reveals concerning gaps: - Most organizations still require human review of every line of AI-generated code - Less than half have implemented AI guardrails - Only 36% report AI improving software quality - 58% are running more experiments but systems can't handle the volume ### Solution Framework: Guardrails + Validation The presentation proposes a two-pronged approach focusing on testing/deployment and release/experimentation phases: **Three Types of Guardrails:** 1. **Human judgment**: Approvals for production, high-risk services, unusual deployment patterns, failed verification scenarios 2. **Security evidence**: Application security testing with vulnerability deduplication and remediation workflows 3. **Policy enforcement**: OPA-style policies ensuring naming conventions, compliance standards, and organizational consistency **Validation Process:** - Release process integration with feature flags - Progressive rollout capabilities (1% โ†’ segments โ†’ full deployment) - Experimentation on every feature release - Technical debt cleanup through automated feature flag removal ### Continuous Delivery + Feature Flags Integration The core technical approach combines traditional CD deployment with granular feature flag control. While CD handles application-level deployments, feature flags enable individual feature rollouts with instant kill switches. This reduces blast radius from full rollbacks affecting all features to targeted flag toggles affecting only problematic features. ## ๐Ÿ—’๏ธ Notes #### โฑ๏ธ [00:03:12](https://www.youtube.com/watch?v=Xt7y6CKDqcI?t=192) AI Development Workflow Problems - Coding and review phases well-supported with AI tools - Deployment size explosion: 4-20x more features per release - Testing and deployment become bottlenecks - Release and experimentation validation critical for AI-generated features #### โฑ๏ธ [00:08:30](https://www.youtube.com/watch?v=Xt7y6CKDqcI?t=510) Survey Results on AI Adoption - Human review still required for every line of AI code - <50% have AI guardrails implemented - 58% running more experiments but systems can't scale - Only 36% see quality improvements from AI #### โฑ๏ธ [00:15:45](https://www.youtube.com/watch?v=Xt7y6CKDqcI?t=945) Continuous Delivery vs Feature Flags - CD: Build โ†’ Test โ†’ Deploy as single unit with canary rollouts - Problem: Rollback affects all features in deployment - Feature flags: Individual feature control with progressive rollout - Best practice: Combine both for deployment flexibility and risk mitigation #### โฑ๏ธ [00:22:10](https://www.youtube.com/watch?v=Xt7y6CKDqcI?t=1330) Three Guardrail Types - Human judgment: Production approvals, high-risk services, unusual patterns - Security evidence: Vulnerability scanning, deduplication, remediation - Policy enforcement: OPA policies for naming conventions and compliance #### โฑ๏ธ [00:28:15](https://www.youtube.com/watch?v=Xt7y6CKDqcI?t=1695) Validation Framework - Release process integration prevents bottlenecks - Progressive rollout: Internal users โ†’ segments โ†’ full deployment - Experimentation requirement on all features - Technical debt cleanup through automated flag removal #### โฑ๏ธ [00:35:20](https://www.youtube.com/watch?v=Xt7y6CKDqcI?t=2120) Speedway Motors Case Study - Before: 2 releases/month, no conversion rate visibility - After: Multiple daily releases, immediate ROI measurement - Integration enabled rapid iteration and business impact validation ## ๐Ÿ“š References - [Harness Flagship 2026 Event](https://www.harness.io/flagship) - [D-risking Releases in the AI Era Report](https://www.harness.io/resources) - [Speedway Motors Implementation Case Study](https://www.harness.io/customers/speedway-motors) - [Harness Product Demo](https://www.harness.io/demo) ## ๐Ÿ—ฃ๏ธ Paraphrase Organizations are experiencing a paradox with AI-assisted development: while coding velocity has increased dramatically, the benefits aren't reaching production due to inadequate release management systems. The solution isn't to slow down development but to implement proper guardrails and validation processes that can handle the increased throughput. The key insight is that traditional deployment approachesโ€”treating all features as a monolithic releaseโ€”become untenable when AI generates 20x more features. Feature flags provide the granular control needed to manage this complexity, allowing teams to validate individual features without risking entire deployments. However, this requires integrated tooling that spans the entire pipeline from development to production. ## ๐Ÿ“ฐ Newsletter **AI Code Velocity: The Hidden Deployment Crisis** Your developers are shipping code faster than ever with AI assistance, but are those features actually reaching users? A new Harness survey reveals that while AI coding tools see widespread adoption, most organizations lack the guardrails needed for safe, rapid deployment. The problem: AI-generated features create 4-20x larger deployments, but traditional rollback strategies affect all features when problems arise. The solution combines continuous delivery with feature flags, enabling granular control and instant kill switches for individual features. Key takeaways for WordPress professionals: - Implement progressive rollout strategies (1% โ†’ segments โ†’ full) - Require experimentation on every feature release - Automate technical debt cleanup to prevent AI-generated cruft - Integrate security scanning into deployment pipelines Tools to explore: Feature flag services, experimentation platforms, policy-as-code frameworks, automated cleanup utilities. ## โœ… Action Items #### DevRel - Create educational content on feature flag implementation patterns for AI-generated code - Develop workshops on progressive rollout strategies and blast radius reduction - Build demo environments showing CD + feature flag integration - Document security scanning integration patterns for AI code validation #### OSPO - Establish policies for AI-generated code review requirements in contribution guidelines - Implement security scanning requirements for AI-assisted contributions - Create governance framework for feature flag naming conventions across projects - Define SLAs for AI code vulnerability remediation processes #### WordPress - **Core**: Evaluate feature flag integration patterns for core feature releases - **Core Performance**: Implement progressive rollout for performance optimizations - **Security**: Establish AI code scanning requirements for security-sensitive areas - **Community**: Create guidelines for plugin developers using AI coding tools - **Hosting**: Develop recommendations for hosts managing AI-generated plugin deployments #### The WPCC - Fund research into WordPress-specific feature flag implementations - Support development of AI guardrail templates for WordPress projects - Create grants for experimentation platform integration with WordPress workflows ## ๐Ÿงช Hypotheses 1. **Integration Hypothesis**: Organizations using integrated CD + feature flag platforms will achieve 2-5x faster time-to-production for AI-generated features compared to those using separate tools. 2. **Guardrail Effectiveness**: Teams implementing all three guardrail types (human judgment, security evidence, policy enforcement) will reduce AI-related production incidents by 70-90% within 6 months. 3. **Experimentation Scaling**: Feature flag integration enables experimentation teams to scale from weekly to daily experiment launches without increasing team size. 4. **Technical Debt Prevention**: Automated feature flag cleanup reduces AI-generated technical debt accumulation by 60% compared to manual cleanup processes. 5. **Progressive Rollout Impact**: 1% โ†’ segment โ†’ full rollout patterns reduce blast radius of AI code issues by 95% compared to full deployment strategies. ### ๐Ÿ“Š Methodology - A/B testing comparing integrated vs. separate toolchain outcomes - Longitudinal studies tracking incident rates before/after guardrail implementation - Survey research on experimentation team capacity and throughput - Code quality metrics analysis for cleanup automation effectiveness - Case studies measuring deployment risk reduction through progressive rollout ### โ“ Questions - How do feature flag naming conventions scale across large organizations with thousands of developers? - What are the optimal progressive rollout percentages for different types of features (UI, API, infrastructure)? - How can teams balance automation with human oversight without creating approval bottlenecks? - What security scanning tools are most effective at catching AI-generated vulnerabilities? - How do you measure the ROI of guardrail implementation versus deployment velocity? ### ๐Ÿ”ฎ Future Research - AI-assisted feature flag management and automated rollout decisions - Integration patterns between WordPress-specific deployment tools and feature flag platforms - Security vulnerability patterns specific to AI-generated WordPress plugins and themes - Cost-benefit analysis frameworks for guardrail implementation - Machine learning approaches to predicting optimal rollout strategies ### ๐Ÿ’ก Implications - **Practice**: Development teams need to expand focus beyond coding to include deployment pipeline optimization - **Policy**: Organizations require new governance frameworks specifically addressing AI-generated code risks - **Security**: Traditional security review processes may be inadequate for AI code volume and unique vulnerability patterns - **Education**: Developer training must include feature flag management and progressive rollout strategies - **Funding**: Investment in integrated toolchains provides better ROI than point solutions for AI development workflows ### ๐Ÿง  Learning Styles Assessment - **Reading level estimate**: Flesch-Kincaid Grade Level ~12 (technical business presentation) #### ๐Ÿ‘€ Visual learners - **Present**: Architecture diagrams showing CD + feature flag integration, pipeline flow charts, deployment percentage visualizations - **Improve**: Add before/after deployment risk diagrams, feature flag decision trees, security scanning workflow visuals #### ๐Ÿ”Š Aural learners - **Present**: Webinar format with presenter narration and Q&A segments - **Improve**: Provide audio-only version, add discussion group integration, create podcast-style follow-up content #### ๐Ÿ—ฃ๏ธ Verbal learners - **Present**: Clear definitions of technical terms, analogies (banking app example), structured explanations - **Improve**: Add glossary of terms, provide story-driven case studies, include plain-language summaries #### ๐Ÿงฉ Kinesthetic learners - **Present**: Demo offers, hands-on tool exploration suggestions, QR codes for immediate action - **Improve**: Create guided lab exercises, provide configuration templates, offer sandbox environments #### ๐Ÿง  Logical learners - **Present**: Structured framework (guardrails + validation), survey data, measurable outcomes - **Improve**: Add decision matrices, ROI calculations, step-by-step implementation checklists #### ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Social learners - **Present**: Q&A interaction, community event promotion, peer examples (Speedway Motors) - **Improve**: Include discussion forums, peer review components, collaborative implementation guides #### ๐Ÿง˜โ€โ™€๏ธ Solitary learners - **Present**: Self-paced webinar format, downloadable resources, individual demo scheduling - **Improve**: Add self-assessment tools, provide reflection prompts, create independent study materials ### ๐Ÿ“Š Accessibility Assessment #### Screen reader semantics - **Present**: Structured presentation with clear headings and sections - **Improve**: Add detailed alt text for diagrams, ensure slide content is screen reader accessible #### Keyboard navigation - **Present**: Standard webinar platform navigation - **Improve**: Verify all interactive elements are keyboard accessible, provide navigation shortcuts #### Contrast and readability - **Present**: Professional slide design with adequate contrast - **Improve**: Verify WCAG 2.2 AA compliance for all visual elements, test with high contrast modes #### Media and captions - **Present**: Live webinar with Q&A capability - **Improve**: Provide auto-generated captions, offer transcript downloads, ensure audio quality ### ๐ŸŒ DEIB Assessment #### Cultural breadth - **Present**: Focus on technical practices applicable across organizations - **Improve**: Include examples from diverse company sizes and industries, consider global deployment patterns #### Inclusive language - **Present**: Professional, technical language appropriate for business audience - **Improve**: Define technical jargon consistently, provide alternative explanations for complex concepts #### Neurodiversity support - **Present**: Structured presentation with clear sections and predictable flow - **Improve**: Provide content outline upfront, use consistent formatting, offer multiple content formats #### Representation - **Present**: Business-focused content with practical examples - **Improve**: Include diverse organizational examples, acknowledge varying team structures and capabilities ### โœ… Logical Validity #### Strong reasoning - **Deductive reasoning**: Clear logical progression from AI code velocity increase โ†’ deployment complexity โ†’ need for guardrails - **Inductive reasoning**: Survey data supporting conclusions about industry-wide challenges - **Causal reasoning**: Direct connection between toolchain integration and improved outcomes demonstrated through case study #### Fallacies - **Selection bias**: Speedway Motors case study may not be representative of all organizations - **Solution bias**: Presentation heavily favors Harness-specific toolchain without adequate comparison to alternatives - **False dichotomy**: Implies organizations must choose between speed and safety rather than exploring other approaches #### Tone of voice - **Professional and authoritative**: Uses industry terminology and data to establish credibility - **Solution-oriented**: Focuses on practical implementation rather than theoretical concepts - **Vendor-neutral framing with product integration**: Acknowledges multiple tools while showcasing Harness capabilities ### ๐Ÿ›ก๏ธ DARVO Analysis - **Deny**: No denial patterns present - speaker acknowledges industry-wide challenges directly - **Attack**: No attacks on critics or alternative approaches - maintains professional tone throughout - **Reverse victim/offender**: No victim/offender reversal detected - presents collaborative problem-solving approach ## ๐ŸŽฏ Conclusion AI-generated code velocity creates a new category of deployment risk that traditional release management approaches cannot adequately address. The solution requires integrated toolchains combining continuous delivery with feature flags, supported by comprehensive guardrails spanning human judgment, security validation, and policy enforcement. Organizations that successfully implement these practices will realize the full potential of AI coding acceleration while maintaining system reliability and security. The key is recognizing that faster coding requires proportionally more sophisticated deployment and validation processes, not just scaling existing manual approaches. ## ๐Ÿ”„ Refactor Appendix โ€” How to build the guardrails your AI releases actually need > Density: 2โ€“5 Literature atoms (H3), 0โ€“3 Permanent candidates (H4). > Defaults: 3 Literature, 1 Permanent. Resonance filter: if you can't > articulate in one line why a claim matters, drop it. ### ๐Ÿ“š Literature Atoms (H3) #### AI code velocity creates deployment bottlenecks without proper guardrails > [!quote] ID:rw_ai_velocity_001 > We're seeing four to 20 times the number of changes being pushed out the door or at least through the process that we were seeing before. And we all know what happens when we have an increased number of things changing at any given time. That opens up the risk that something's going to go wrong. **Context & use**: - Core problem statement around 8:30 in presentation - Why this matters: Identifies the fundamental mismatch between AI coding speed and deployment capability **Tags**: #xref #articleseed **Highlight**: [view highlight](https://www.youtube.com/watch?v=Xt7y6CKDqcI?t=510) <!-- atomicity: 1 idea โœ“ --> #### Feature flags enable granular rollback without affecting entire deployments > [!quote] ID:rw_feature_flags_002 > If you have a similar problem where you've rolled out a small feature, one of the small features in your deployment to your power users or your premium users and they start having a problem, you can turn that flag off without having to do a roll back. You can just turn off that individual flag. **Context & use**: - Technical explanation around 15:45 showing CD vs feature flag approaches - Why this matters: Solves the blast radius problem when AI generates many features per deployment **Tags**: #xref **Highlight**: [view highlight](https://www.youtube.com/watch?v=Xt7y6CKDqcI?t=945) <!-- atomicity: 1 idea โœ“ --> #### Three guardrail types required for AI code validation > [!quote] ID:rw_guardrails_003 > What are three types of guardrails we can put up? Well, one, we can put up human judgment. Also, we need some sort of security evidence. And then you need policy enforcement because AI is really good about coming up with its own workarounds for things. **Context & use**: - Framework presentation around 22:10 defining comprehensive guardrail strategy - Why this matters: Provides actionable taxonomy for implementing AI code safety measures **Tags**: #articleseed #xref **Highlight**: [view highlight](https://www.youtube.com/watch?v=Xt7y6CKDqcI?t=1330) <!-- atomicity: 1 idea โœ“ --> ### ๐Ÿง  Permanent Candidates (H4) #### AI-generated feature velocity requires proportional deployment sophistication **Claim** (one sentence, Courtney's voice): Organizations achieving 4-20x coding velocity through AI must implement equally sophisticated deployment and validation processes to realize benefits safely. **Evidence pointer**: [[#AI code velocity creates deployment bottlenecks without proper guardrails]] **Scope & conditions**: Applies to teams using AI coding tools extensively; breaks down when deployment infrastructure cannot scale with development output **Links**: - [[DevOps transformation patterns]] โ€” because extends existing CD practices - [[Technical debt management]] โ€” because applies-in high-velocity development contexts - [[Risk management frameworks]] โ€” because contrasts with traditional deployment risk models <!-- atomicity: 1 idea โœ“ --> ### โœ๏ธ Fleeting Queue - Progressive rollout percentages (1% โ†’ segments โ†’ full) need optimization research for different feature types #fleeting #inbox - Integration patterns between WordPress deployment tools and feature flag platforms worth exploring #fleeting #inbox - Policy-as-code examples for AI coding standards could be valuable community resource #fleeting #inbox ### โ†’ Things 3 (max 2 actions) - [ ] Research feature flag integration options for WordPress core development workflow #things - [ ] Evaluate automated cleanup tools for managing technical debt in AI-assisted projects #things --- # ๐Ÿ“„ Full Transcript *Auto-generated from YouTube captions ยท timestamps roughly every 30 seconds ยท [watch on YouTube](https://www.youtube.com/watch?v=Xt7y6CKDqcI)* **[00:12]** Well, hey everybody. Welcome. We are going to talk about how to build the guard rails your AI releases actually need. Welcome and thanks for joining. My name is Eric Nukem. I'll do a little intro in a minute, but uh please note that we will have be taking questions throughout. So if you have a question comes up randomly at a given section, you know, don't hold back. Go ahead and open that question box in the tool and uh go ahead and fill it out anytime you want. Have it ready so you can be asking those questions and I will get to those **[00:43]** at the end if I don't see them as I'm going through here. So uh please do that. Anyway, my name is Aaron Nukem. I work for Harness. I work on our feature management and experimentation uh product. That product came from Split. You might remember Split a while back was acquired about a year a little over a year ago was acquired by harness and we've now integrated that into our platform and I'm going to show you some ways that that integration is uh luckily helping to deal with this problem of the AI coded uh feature velocity coming our **[01:15]** way. So let's go ahead and get right into it and I'll tell you a little bit more about uh what we're going to be talking about today. So, I've done, you know, kind of the introduction here. Um, but we're going to talk about some AI implications. I think this will resonate with most people. Every customer I talk to is dealing with this problem. So, I think this will be really good for uh for us to talk about today. And then I'll give you a little bit of an overview of harness. Not really going into too much detail, but I just Harness does so much and I want to make sure we're focused on just the elements that I'm going to be uh focusing on today. Uh **[01:49]** I'll also give you a little bit of an overview of uh continuous delivery and feature flags, what the differences are, how they come together, and then of course how they come together to solve this particular problem. We'll talk a lot about guardrails and validation. I don't want to give that one away too much, but those are the two areas we're going to focus on to kind of fix some of the some of the issues we're having right now due to AI generated code. And then I'll give you some resources and of course we'll at the end there'll be time for a few more questions. So, like I said, don't hesitate. Don't wait till **[02:19]** the end to ask them. Go ahead and ask your questions as we go through here. That's the best way to do it. And I think we'll also have a poll here at some point to try to see where everyone is at on this spectrum of how they're dealing with this problem, too. So, let's just go ahead and get into it. So, when I talk about uh you know, the problems with AIdriven code workflows, what am I talking about? Well, in talking to customers and I think industrywide, even if you just read the news around what's going on with AI, I think it's clear that people are okay **[02:51]** with the coding and some of the review part of the process. So, people are using Claude, people are using C-Pilot, people are using cursor, they're using chatbt. they can produce code quickly and companies have been very willing to give people the uh the tools that they need. They're not holding back on any of this, right? Uh in fact, most people are encouraging people to use the tools that they are uh uh that they that they want, **[03:23]** right? They're not it's it's like no, you need to use more tokens. Some people are being measured on that, I think. So, the coding part is pretty well taken care of. people are are um really excited to use those tools. No problem there. Now, what happens? We start developing more and more code. We start creating more and more features that we want to release. Things are going great. Things are looking great. But then we get to the point where we need to roll these things out. And what happens to the size of our deployments? They explode, right? So, you may have had a deployment in the past with, I **[03:53]** don't know, five, 10 features or something like that. We're seeing four to 20 times the number of changes being pushed out the door or at least through the process that we were seeing before. And we all know what happens when we we we have an increased number of things changing at any given time. That opens up the risk that something's going to go wrong. So, we have to start focusing on testing and deployment a bit more. And we can turn some of that over to AI. But as I'll show you in a minute, there are some easy ways to also mitigate some of **[04:24]** the problems that happen when you do that. And then uh last but not least, we have release and experimentation. And this last part of the puzzle is where you actually want to use something like feature flags or an experimentation tool to validate that those changes that you have made with AI are actually doing what they're supposed to be doing and especially not causing a problem with either a security vulnerability or a um an impact to your user experience. **[04:54]** Right? So that seems to be where we we want to concentrate on improving at this point. And why do I say that? Well, uh we actually did a survey recently and we t we asked um real users about how they're dealing with this problem and we got back some really interesting results and and hang on till the end because I'm going to give you a link that you can use to download this particular report and read all the findings, not just the highlighted ones I've pulled out here. So in that report, what did we find? Well, we found that, **[05:25]** you know, a lot of people still need human review for every single line of AI generated code. And if you're writing a lot more code, but you still need a human to review every line of it, that's not very efficient. And it might look like your your code development engine is running great, but you're still not getting those features out into the wild um at the rate that that uh you would like to. Uh we also found that less than half of people have put in uh AI guard rails for **[05:56]** AI generated code. Um this could be a real problem. We've all seen stories in the news where somebody didn't have a guardrail in place and they deleted their codebase or they deleted customer orders or what have you and uh the AI just went ahead and did it and you know was like oh sorry you know my bad you know and that's not good enough in this day and age. Um now what we did see was we saw that 58% of people are running more experiments. This is a good thing uh in one way which is they're trying to keep up with um running more experiments **[06:28]** because they have more features. But the problem is their systems may not be able to really support all those extra running experiments because they're not efficient enough or they're not geared to that volume. we really should be running experiments on every feature that we release or that should be the exception is when we don't do it right. Um, and last but not least, only 36% said AI had improved the quality of their software. Again, sort of similar to the first point in that you need to go back and actually review things or the results aren't quite up to what you **[06:59]** thought they would be, right? You you thought that the quality of software would be great. Turns out there's bugs that are getting into the mix and hopefully you're catching those either in test or behind a feature flag so you can turn those off quickly. So, a lot of really interesting results. Again, I'll give you the link for this when we get to the resources at the end or they'll be in the resources of your uh when you uh after the webinar when you get the resources in your email. Um, okay. Well, let's take a I'm really curious to know how everyone on the call is doing with this. And so let's just do a quick poll **[07:32]** and see what you're doing. It should have popped up on your screen now. And the poll says, "How mature is your team's use of AI in the SDLC?" So go ahead and fill out that poll. The choices are, you know, you're not using it all. Maybe you're using it for, you know, a few people are experimenting with AI. Maybe you're using it, but it's supervised. Maybe AI is uh integrated with guard rails. And maybe no humans are involved anymore. So go ahead and vote on those options and let me know where you're at in your journey here, **[08:04]** your AI journey in deploying and releasing new features with AI. While we're doing that, I can tell you that in talking to a few folks, uh we found out that um some people have gone a little too fast here. So, uh, I was talking to one Fortune 500 company recently and they they gave, you know, everybody all the tools they need and they didn't put in any guardrails and **[08:35]** what they found were that that people were so used to using AI. I'm sure many of you have felt have seen this. I I have myself where you you start to trust the AI maybe a little too much and they had bugs creeping in and because the demand was so high on the developers, they weren't actually reviewing anything and they were just hitting, "Yep, looks okay. go ahead and uh do that build or or commit that code and uh bugs were creeping in so they had to go back to a much more manual code review process. Um and so we are seeing that as well. **[09:07]** Okay. Well, let's just go ahead and take a look at the results of the poll. So, you know, it looks like most everybody is right in the middle here. Uh AI is used but not supervised. So, people are still struggling with this problem. you know, they're they're trying to use AI in the SDLC, but uh they're not a actually able to to get all the way to, you know, the Nirvana, I guess, if you want to say, where no humans are involved anymore. But yeah, about 43% of you are right in the middle where you're using AI, but still very much **[09:38]** supervised. Um, you know, a good portion of you, about a little less than a third are actually using AI with integrated guardrails and then the rest are still experimenting. So, uh, very interesting and very much on par with the other times that I've asked these questions. Okay, so let's go ahead and move on to how do we solve the problem, right? That's what the bulk of this is going to be about. So, uh, we're not going to focus on the coding problem because you all are really good about giving tools to your developers to code with. Let's **[10:08]** focus on the testing and deployment and release and experimentation phases of doing your uh um of releasing new features, right? And so I thought we would tackle this in two different ways, right? For the testing and deployment and release and experimentation uh phases, we're going to be talking about uh how to set guard rails, what kind of guard rails are should be in place, and then also how to validate when you've actually released a feature. So validation is super important here. I've talked to uh some companies that that **[10:40]** basically have uh I won't say dictated because they haven't quite gone that far, but what they've said is the goal, what they're measuring against is whether they're running an experiment on every single feature release. Super important. And also as part of that validation comes what I calling for now codification or that last part of the process where you need to go in and clean up your code. So, because I work with feature flags, I'm going to show you an example of how you can go clean up feature flag code as well. **[11:11]** All right, before I get into those two things, I do want to just set the stage here, uh, and tell you a little bit about what I'm going to be using my, you know, obviously I come from harness, so I'm going to be talking about our tools here. You may have other tools, that's totally fine. Maybe you've got a DIY approach, whatever applies to you, but I just want to let you know my context for this. So um Harness has built basically an AI um foundation if you will with the Gentic Workflows software delivery knowledge graph in the middle that pulls **[11:42]** in information from different areas so it has context and then also intelligent workflow orchestration. Um and that results in not just feature flags but a bunch of different products that we sell. Uh we have products for velocity, we have products for reliability, we have products for security, and we have products for efficiency, including things like cloud cost management. And so we're not going to be talking about all of this today. We're really going to only be talking about continuous delivery and feature feature management **[12:13]** and experimentation, although I'll throw a little bit a little plug in there for security, too, because we can never forget that. But th those are the two areas I'm going to be focusing on today. All right. So, let's talk about a little bit about continuous delivery and then I'll talk a little bit about feature flags in a minute. Um, but I want to make sure that people understand the difference uh between the two tools and how they apply here, right? So, with continuous delivery, I mean, that's pretty much what people know harness for. That's our bread and butter. That's where we started. Um and uh with **[12:46]** continuous delivery obviously you you build your software, you test your software and you deploy your software and you deploy it you know as one big deployment and that deployment could be an update to your application and it has a number of features underneath right so you've got all your features baked into that deployment you throw it over the fence and then when it comes time to do uh deployment testing you know maybe you do a canary deployment where you can actually deploy it to a small subset of your users you do your canary you see how things are going and then at some point when things look good you can **[13:18]** uh basically uh deploy to everybody right so that's kind of the typical way things work with CD however if something goes wrong with a CD deployment what happens is you have to do a roll back now harness has tools to make automatic roll backs very easy and and and painless at least compared to doing them manually but it still means rolling back all those features that you just put out so whoever's been exposed to those features that tend 20% or something is going to notice maybe a little bit of a difference um across even the features that weren't affected **[13:49]** by wherever this problem took place. This problem may may have taken place downstream in a in a small feature somewhere that was causing a security vulnerability, but you had to roll back everything, right? And uh take those take those features kind of away for a little while until you can fix things and roll them out again. Um it's great to have automated tools for that, but it is kind of can be kind of painful to go through that process. Um, with feature flags, we can do things a little bit differently. So, we can still do our deployment, our big deployment, uh, but if you bake feature flags in, then you **[14:21]** can treat each one of these features as an if else statement in your code. And if the feature flag is turned on, then you can you can uh roll this out to a very small subset. Most people start at just 1%. I know I say 10 and 20 to make things nice round numbers here, but typically people will roll this out to just 1% of your of your segment that you're targeting. Maybe it's a particular region, maybe it's power users, maybe uh uh uh who knows, right, what your segment are region or or or something like that or maybe a platform **[14:52]** that you're rolling this out to. And you can do this one at a time. And so what happens is if you have a similar problem where you've rolled out a small feature, one of the small features in your deployment to your power users or your premium users and they start having a problem, you can turn that flag off without having to do a roll back. You can just turn off that individual flag. The rest of your deployment is unaffected. Um, and you've essentially rolled back instantly to the previous state of your code because of the way this works. So uh, feature flags can do **[15:24]** all that. Now what feature flags can't do is they can't redeploy your entire application. Um they can't roll back that that entire update out all at one time for you. But they can mitigate the risk of a small subset of that deployment causing a problem where you would have to roll everything back. So the best of both worlds here are to use both, right? You use CD to go ahead and do those deployments and then you use feature flags to one at a time uh uh deal with each one of these features. Now why is this important? Why am I talking about all this? Well, it's **[15:55]** because of that first problem I talked about before where you have, you know, 20 times the amount of features that you have to release at any one given time. So, we're trying to solve that problem of things going wrong in that huge amount of features, right, that we have now. Not just one, not two, but maybe 20 things, maybe a hundred things that we rolled out at one go. And we need to be able to have a way to deal with the increased amount of exposure that we have so that when something goes wrong, we don't have to roll all of that back. We can just roll one at a time. And that **[16:26]** certainly helps us mitigate that risk to a certain extent. Um, so by combining these two things, it's really the best of both worlds. Now, let me give you a more practical example. Maybe you have a mobile app, right? This is example of a banking app. My the my bank. Uh, who who else banks at my bank? I open all my accounts there. Um, but you can imagine there's all this competition out there, right? You can see some of the logos over there on the right. Everyone is vying for eyeballs. Everyone is trying to come up with a feature that will get uh their customers **[16:57]** or their potential customers to open more bank accounts or use their app more. And that's another great example of how you can use feature flags and deployments together as as one combined way to deal with this AI code velocity problem. As I as I mentioned in in in the process of doing one single deployment, you may have 180 features kind of tucked behind there that you're turning on one at a time. You're probably experimenting with a subset of those. Although again, I would argue you should be experimenting with almost all **[17:27]** of them uh to know what's actually impacting the bottom line. And then when you uh once those features are validated, you've run your experiments, you know that they work, then the banking app the next time it gets a deployment to the next version, all those things are codified in the code and they become standard features, not behind a feature flag anymore. Um, and that's the way that a lot of people use these tools. Okay, so let's now talk about pipelines real quick. Pipelines is uh people have **[17:59]** deployment pipelines. It's kind of a generic term, but at harness it means something a little bit more. We have our own pipelines feature of the product. The nice thing about it is it spans uh uh multiple different products that we sell, right? It's not just one tool for one product. It actually integrates, for example, with feature flags. I'll show you an example of that in a minute. What this allows you to do is it allows you to very easily, you can set this up with YAML if you want. uh you can very easily deploy pipelines and uh do things in an **[18:33]** automated fashion with guardrails and I'll give you some examples of that in a minute. So you can see here we're doing a verifi manual verification check which uh looks like it failed in this case in the graphic right so we're doing some sort of verification maybe it maybe there was a security problem or something like that some sort of verification happened um and that was uh to protect us against releasing code that was generated by by AI but may have a problem with it um and we don't want to release that into production yet. So it's a great time to do these checks. It's a great time to have these checks in your pipeline. So we'll be talking a **[19:05]** lot about pipelines as we finish out the presentation today. Okay. So we talked about guardrails and validation. I'm going to talk about those separately. So what are the guardrails? What do guardrails even mean? What are we talking about? Well, my definition for guardrails are the controls that decide whether AI generated code and AI assisted changes are allowed to advance. So you you're going to be making these things, but the question is at what point do we do a hard check to know if things are going right or if things are going wrong? **[19:36]** Because nobody wants to end up in the news for a security vulnerability that leaked out, right? Okay. Well, what are three ways we can deal with that? What are three three types of guardrails we can put up? Well, one, we can put up human judgment. That would be kind of a human in the loop problem where we at least we might not need humans evaluating every line of code whether it's correct or not. But at least we need some human checking to make sure that this pull request for example meets our standards or isn't going to break something before it goes into production. Also, we need some sort of security evidence. So, **[20:07]** we need to do some sort of test. And this also gets down to a little bit of regulatory environments as well, right? You need an audit trail, but we'll talk about application security mostly here. You need some sort of uh security check to make sure that you don't have a vulnerability. And then you need policy enforcement because AI is really good about coming up with its own workarounds for for things. You know this if you've used it and it'll say, "Well, I I just created my own naming scheme for this thing, right?" Well, no. If you're working at a company with a thousand people, you need a naming scheme that's **[20:39]** consistent across things so that the incident team knows what's going on if that there's a problem or or whatever. So, you need some sort of way to enforce policies. So, how do we do that? Well, I'm going to tell you how we do it at harness. You can um think about your own products that you use when you're thinking about this, but let's talk about policy as code first and then we'll work backwards. So, as I said, uh you need some sort of policy enforcement. The way that we do it at harness is with OPA style policy. So, we actually have a a policy um uh **[21:10]** when you go in to create a policy, we have examples that you can use and we show you the the code. I always forget what the name of the OPA standard is for writing policies, but we use that same standard to make it easy for people. So, you don't have to worry about if you want to take these policies to somewhere else later, they'll still be valid. Um, and you can actually test them. You can go in here and if you set up a policy, let's use the same example where I have a naming convention that needs to be standardized on and I'm setting up that policy. You can actually go in and test put in a bad policy and a **[21:41]** good policy and see if the policy enforcement works. And here's an example of that enforcement. So, we're running our pipeline. Uh we're running the create feature flag step in our pipeline, which happens automatically as the pipeline progresses. And we get to this point and it says, "Hey, you've got a bad name in here. Um, you've used the name Ola, which doesn't require a Jira ticket number." So, in this case, the company wanted to have the Jira ticket ticket number when as part of the feature flag name. Again, I think this is probably **[22:12]** for, let's say, this goes to an incident team. They need to be able to turn this off because something happened. You want to have that Jira ticket uh available to you. And so, why not just put it right in the name of the flag? Makes a lot of sense. and you can enforce that across your entire organization with policies. So that's the first one. The second one is human in the loop. How do we do that or when do we use it, right? Um well, you want to use it for approvals for production. And some people are going right to production to run certain tests, right? Especially with their user **[22:43]** interface, uh with their user experiment, uh experience, they want to do that in production. But before something goes to production, you certainly want to have at least somebody that is familiar with the code to go through and make sure that it's not going to break something else, right? What about high-risk services, financial transactions or uh regulated data um that uh uh needs to be handled differently? Um unusual deployment patterns. So you you know, you've all been through this where you're starting up a new service maybe in the cloud or something, you haven't done it before. you definitely want to have somebody **[23:15]** validating that to make sure that things are right there as well. And then of course, if you get to some sort of failed verification that I showed you before, right? We're trying to validate u a featured, run a security check, something fails, you want to be able to have a human go in and investigate what's going on. Uh so what do you use for that? How do you get notified that something's wrong? Well, if you're using a product like Harness that we've built in tools to basically integrate with whatever you're using. So, you can obviously be notified. This is an example of an inapp notification where someone needs to go **[23:46]** into harness and put in yes, I validated that each feature is working, click approve, everything looks good, and then the uh the pipeline will automatically continue if they hit approve at this point. Uh but also you need to integrate with your existing ticketing tools or your incident systems that you have your service nows etc your pager duties and messaging tools like Slack. Those are all ways that people use uh to make sure they're notified so that not only is there a stop an automated stop in your pipeline to say I need to go validate **[24:18]** this particular part uh but you're notified that that you need to go do that in whatever system works for you. So uh really important to keep those in place and we can't forget security testing. So we have application security testing tools um that can go out and again be integrated into these pipelines along with everything else. Uh really important here is dduping vulnerabilities. So one thing that we're seeing with AI code is if there is a vulnerability and you commit that to a centralized repo as part of a **[24:50]** instruction set or something that's going to reproduce that vulnerability over and over again those vulnerabilities can get propagated. So by having a security testing tool like we deliver at harness you can actually get in front of that and and uh prevent those uh duplication of vulnerabilities uh by AI which is super easy to do. Um and then we also have remediation. So, you know, enforcing that governance with those same OPA policies we talked about before, being able to track issues by integrating into Jira and Slack, for example. Same sort of notification stuff **[25:22]** I was talking about before applies here. So, you get notified immediately. You can go in and say, "Hey, uh, you can ask our AI system, for example, I, you know, I saw that there was a problem. What's going on?" It can come back and and pinpoint the problem for you so that you can uh, uh, remediate it quickly. Super important to have this as a guardrail when you're rolling out AI generated code. Now, let's talk a little bit about validation. Again, what do I mean by validation? Well, what I'm talking about here is the process of proving that a **[25:52]** release is safe, useful, worth keeping, it's important, and codifying. Again, if you have a better word for that, let me know. I don't know what it is. Validating, codifying. Basically, you need to go in and and and um fix your code or or uh codify your code to the point where you've taken the feature flag out. The process that you validated is working and is important for your business is now in the next release, right? It's in the next deployment. So, what are we talking about there? What kinds of things fall under validation? Well, for me, it's validating the **[26:23]** release process itself. It's integrating this into the release process so that you can keep things moving quickly and you don't get bottlenecked with all of this AIdriven code that's coming your way. Experimentation again got to make sure that this stuff is impacting the bottom line or affecting your users in the way that you want. And then obviously tech debt is a big deal. Tech debt can increase uh with right along with the number of changes that you're putting out uh due to AIdriven code velocity that tech debt is also accelerating uh because of that as well. **[26:54]** So if you're not taking steps to clean it up, you're going to run into problems. So let's first start about how we can deal with that release process and feature flags. I gave you all the examples of this. I'm not going to go into too much more detail here, but basically you can think of it as uh um you know the last bullet here, limiting the blast radius, right? So, one of the things that you want to do as you're releasing more and more features is to make sure that the impact, whatever impact you have, if there is a problem, **[27:25]** that it's limited. It's limited to maybe your internal users only. Wouldn't that be great? You release this to internal users. Have them take a look at it first. It's not going to catch everything, but it's certainly not going to land you in the newspaper or on uh uh your your your daily Google newsfeed, right? So, not only that, but you can roll out progressively by user, by segment, by region. As I mentioned before, doing a progressive roll out is much safer um and can be much more effective than rolling out to everybody all at once. And then, of course, **[27:55]** instant kill switches. That's a great way to look at feature flags. This whole area of feature flags has developed. used to be really for, you know, people that were wanted to open up a beta, for example, to some uh customers and they would turn on the feature flag and the and the the customer in in question would get the the beta of a new feature or new new uh uh product or something like that, right? It's evolved u much more since then and now it's used to do all sorts of things and especially to guard against problems when you're doing **[28:26]** these AI a lot more AI generated releases like this talk about experimentation as well is there a bottleneck with experimentation well what we found is that for advanced experimentation teams uh even if they've done everything right so they've built up their experimentation team they've created dashboards, they're doing dynamic configs, they're uh plugged into warehouse native, they've shared this learning experience across their team, they still hit a bottleneck. And the **[28:58]** problem is exactly what we've been talking about. They build it to a point where maybe they're doing experiments weekly, but they can't get beyond that because they just can't run any more experiments any faster. And what we found the bottleneck is here is actually the uh same thing that we've been talking about which is they aren't building the experimentation platform into the rest of their deployment pipeline. So, uh, if you're using a separate experimentation tool, that's fine. Just know that you may run into **[29:29]** this bottleneck problem where you hit a certain ceiling and you're not able to keep up with the code velocity that's that's coming your way, especially if you're changing your expectation with experimentation to be experimenting on everything, right? Think about your experimentation teams here, right? they they they were maybe running, you know, 10 experiments or something like that, you know, now they're running a hundred experiments. How are they going to keep up with that? How are they going to automate that? Um, it can be a real problem. And and the best answer that we found is to make **[30:01]** sure that the tools are integrated. Uh, the experimentation tool, your feature flagging tool, your CI/CD tool, make sure all of those are integrated. And that will take out the bulk of the of the bottleneck because you can automate all the way through that whole pipeline. Uh, now let's talk about removing tech debt. So, again, I'm going to be focusing on feature flags here because that's my bread and butter. The point is you need to be doing this uh because it's going to come back and **[30:31]** haunt you. Now, what we've done for feature flags is we've actually released an an automated uh feature flag cleanup tool that will go out and it will based on your guidelines, it will go out and automatically find feature flags that are let's say in this case 100% rolled out, right? So, you don't want to be removing feature flags that haven't been fully released yet. So, as you're ramping up, you don't want to be release getting rid of that feature flag code. But what you can do is once it's been uh fully rolled out, the experiment is **[31:01]** finished, you've proven the value of that particular feature, you can have this tool go ahead and run and it will actually go in and identify in your code where those feature flags are and set up uh automated ways to actually uh uh pull that code out and including, you know, doing a uh uh uh a PR for you on your behalf and things like that. We're always improving this feature. It's it's uh hot off the press, if you will. So, we're getting a lot of feedback on it and a lot of good feedback. And uh this **[31:33]** is something that we feel can really help people go in and clean up their code because the last thing you want to have is old code hanging out in your co codebase that an AI tool can reference and perhaps make assumptions on your behalf that you don't want it making. So, cleaning up this code is really important. Okay, let me give you an example of a company that's seen dramatic results by uh following the approach that I just laid out, right? Especially with the integrated pipelines, being able to automate things, having enough review in the loop, uh human review and and **[32:06]** guardrails and things like that that they can move very very quickly. So, this is Speedway Motors. We've actually uh done another lead dev webinar with them. I'll give you a link to that in just a minute. Um, but before they started using our tools, they were only releasing a couple times a month. That's as fast as they could do it. And because they weren't didn't really have the uh the right tools in place to run experiments to know what was impacting their e-commerce tools or the e-commerce uh product that they have, they weren't really able to see any increase in conversion rates when they did do **[32:37]** testing or when they did release new features. So once they started using our tools, they found very quickly that they got immediate ROI because they were able to go from releasing two times a month to releasing multiple times per day um sometimes two, three times per day. So their deployment frequency went way up. They were also able to see an immediate impact and they were able to make judgments on whether new features were helping or hurting and then move forward very quickly and get those uh changes in their codebase and get them rolled out **[33:07]** uh in the next deployment which was really important. Um and they found that there was a big impact to the bottom line uh because they had the visibility that they needed because they didn't have separate tools getting in the way of each other and a lot of delay. they were actually able to iterate quickly and say, "Hey, this particular special that we ran on the website or the way that we did this is actually causing people to order more stuff and so we need to do that again and again, you know, every year seasonally, whatever it is, whatever the problem is." But they were able to to validate that that was working, which is really great. **[33:39]** Okay, let me go ahead and give you some resources now, things that you can take with you. Uh, these will be offered to you as well after the webinar, but I want to talk about a few things. So, coming up on June 17th is uh our annual flagship event that we do at Harness. Uh Split used to do this before we acquired them and we've kept it going and it's special because this isn't just us talking to you about what we think. What we do is we actually go out and get actual practitioners and have them come in, practitioners that are doing incredible things and they talk about **[34:11]** the problems that they're facing and they talk about how they're solving them. Uh whether it's with harness or not, it doesn't matter. We have some folks coming in from Curser to talk about the AI revolution and what that means. We've got uh some folks coming in from some financial institutions, some retail companies. They're coming in to talk about how they're dealing with this AI velocity problem, what they've put in place, how they're running experiments, how they're cleaning up their code. Um all of that is going to get talked about by practitioners. So, uh you can go out and sign up for this. Just do a Google **[34:41]** search for Harness Flagship 2026 should come up and you can register for that event. And be sure to register even if you can't attend the whole thing. It's free. It's virtual. Um you can listen to it in the background, but if you get pulled away or whatever, you'll have the replays available to come back and listen to as well. I don't think you're going to want to miss it. And uh definitely go out and register for that event. Um I also mentioned this report that we put out along with lead dev. So, there'll be a link to download that report. I I recommend going out and **[35:13]** doing that and kind of seeing where you fit in. I can tell by your poll responses that uh you're going to fit right in with the responses on this survey. But there are some interesting takeaways. Um, and we also talked about this in a little bit more detail on a webinar called d-risking releases in the AI era. And so, I think I was on that one. And, uh, we talked about what the implications are. We kind of drilled into some of the details, some of the findings from that report in a webinar fashion. So again, great listening material. If you're working or doing something around the house and you want **[35:44]** to hear the the output of that report and what the implications are, highly recommend that one. And I talked about Speedway Motors. We also have uh that webinar. You can go back and listen to them. Again, practitioners, these are the people from Speedway Motors that implemented these things. Definitely go out and take a look if you're interested. One of the things they talked about which I did not realize until we were on that webinar talking about it was um they even control some of their physical uh resources through feature flags. So I think the example was they control their warehouses. If **[36:15]** there's inclement weather and the warehouses shouldn't be running, they actually flip a feature flag to turn off the warehouse, which is uh which is amazing to me. but it's an easy way for them to control some of those things uh phys in the physical world as well as in their application. Um, and last but not least, uh, if you want a demo of any of these things, if any of these topics that we talked about through guardrails and validation, if any of those are problems for you right now and you just want a a a demo of how **[36:46]** it would work, that's more specific to your particular use case or the problem that you're facing, uh, you can scan this QR code or just, uh, go out to the website and sign up for a demo. Highly recommend you do that. There's no cost, no risk. We'll just ask you a few questions. will get on the phone and we'll walk through the product in a way that's more applicable to you. So, go sign up for that demo and uh I'd love to see some of the folks on this call actually uh in the future perhaps on a demo call. That would be great. All right, **[37:17]** so for now, uh let's go ahead and get over to some questions. See if I can bring up my Q&A here. Uh this is the time if you do have any questions uh go ahead and put them in now. We'll take a few more minutes. I do have one. Uh do you support rolling back database changes? Um yes we do actually. We can help with uh uh we actually have a tool called um DB DevOps and the DB DB DevOps **[37:49]** tool. I have to be careful because I want to say DevOps. The DB DevOps tool actually can help you rolling back your DB changes or doing schema migrations. um, you know, it's not my particular um, uh, product that I work on, but I do know that we do have it. It does integrate with the pipeline process that I showed you before. So, as part of your process, you're rolling out a new feature, you need to move someone over or do some sort of a database uh, change, you can actually build that into the pipeline and have it happen **[38:20]** automatically. Um, I'll give it just one more second to see if there's more questions that came come in. One of the interesting ones that came in uh last time when I was talking about this was how do I convince my management that this part of the process is important. Um, that that can be a struggle right now. I think a lot of people are focusing on the code development side of things and how many tokens you're using and how much code you're pushing out. **[38:52]** Um, but they're starting to realize that that code doesn't always make it all the way out into uh production because of this deployment problem that we've been talking about and the release and and experimentation problem that happens down the line. Um, it's not just that you're developing more code, it's that you're doing more changes and you need to be running experiments on more stuff. So, if you don't have a good tool, uh especially if you're running at a large organization with thousands of developers, if you don't have a good tool to help you with the rest of the process, um you could be in for a world **[39:25]** of of hurt. And uh you might not get the results that the executives want to see. You might get the results that your manager wants to see, but the executives might not be too pleased that there's all these changes backed up in the pipeline. Um let's just see if there's anything else. Uh let's see. How do you put in guardrails for uh safe handling PII or other security guardrails while pushing changes? This is a good good question. I talked about application security and we **[39:57]** talked a little bit about regul regulated environments. Um you can there's a couple of things I'll mention here. So you can definitely put in guardrails as part of policies for dealing with PII. That's probably the the first way that I would handle that is put in a policy that says, you know, this this shouldn't this database shouldn't be accessed or this uh type of information shouldn't be shared. This uh credit card uh sequence of numbers shouldn't be should never be used or there's policies that we have in place for for all of those things. Um and of **[40:28]** course, every company's going to be a little different. So, they're flexible enough you can create your own policy to make sure that that's not happening. Um flexibility is key. That's why we offer, you know, YAML, you can do pipelines as code, for example. Um, and and so, yeah, it's very flexible. Putting in those policies for that information that shouldn't be shared is not difficult, and it definitely should be part of a check as some at some point and as part of your uh pipeline for sure. **[40:59]** Um, just looking at the questions here, one more. How do you navigate a testing team who wants to test every permutation of a feature flag? Basically, if we have multiple feature flags in flight, we need to ensure tuning them uh turning them off is going to work just because it's coded behind if else there are still things that can go wrong. Uh, I'm going to have to interpret this one a little bit. Um, **[41:32]** if you you you need a tool that supports being able to test every permutation. Um, it's so obviously there's going to have to be a conversation about how much testing can take place. Um, I'm assuming this is a velocity question, right? Like, oh, we haven't tested uh this particular use case or this particular thing, so we can't move forward yet. Um, you can run multiple tests at once. You can have multiple feature flags turned on. You can have multiple segments turned on. You can have multiple treatments turned on. And you can be doing multiple experimentation turned **[42:02]** on. There was a demo I did the other day where we showed all the different permutations that we had running at the same time. And I think it was 256. I don't know. I don't know if there's an upper limit, but there was 256 different things being tested. And then automatically we were able to decide which one of those was working and which ones weren't. And then we were able to progress that roll out very quickly and determine what the best one that basically won the evaluation contest um so that we could roll that out more broadly. So I know that we can do it at harness. Um hopefully your experimentation tool is able to do that **[42:34]** as well and hopefully it's integrated with the rest of your pipeline to make that process easy. Um okay, I think we're about out of time and I think that's all the questions we have for today. So thanks everybody for joining. Thanks for spending a little bit of time with me. Really appreciate it. I hope I get to talk to you on one of these in the future and I hope you have a great day. Thanks a lot and we'll see you later. Bye-bye.