<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Engineering Enablement]]></title><description><![CDATA[Research and perspectives on developer productivity. ]]></description><link>https://newsletter.getdx.com</link><image><url>https://substackcdn.com/image/fetch/$s_!Niij!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dbd433b-6f11-4042-8b7d-0edb3b172966_1024x1024.png</url><title>Engineering Enablement</title><link>https://newsletter.getdx.com</link></image><generator>Substack</generator><lastBuildDate>Mon, 21 Sep 2026 19:42:08 GMT</lastBuildDate><atom:link href="https://newsletter.getdx.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Abi Noda]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[abinoda@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[abinoda@substack.com]]></itunes:email><itunes:name><![CDATA[Abi Noda]]></itunes:name></itunes:owner><itunes:author><![CDATA[Abi Noda]]></itunes:author><googleplay:owner><![CDATA[abinoda@substack.com]]></googleplay:owner><googleplay:email><![CDATA[abinoda@substack.com]]></googleplay:email><googleplay:author><![CDATA[Abi Noda]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Your agent doesn't have a model problem]]></title><description><![CDATA[The context problems humans have been quietly fixing for decades and what happens when agents inherit them.]]></description><link>https://newsletter.getdx.com/p/your-agent-doesnt-have-a-model-problem</link><guid isPermaLink="false">https://newsletter.getdx.com/p/your-agent-doesnt-have-a-model-problem</guid><dc:creator><![CDATA[Brian Houck]]></dc:creator><pubDate>Wed, 16 Sep 2026 10:03:38 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/0fc84c32-104b-45b9-a67e-8b1ab0477321_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em><strong><span>Welcome to the latest issue of Engineering Enablement, </span></strong><span>a weekly newsletter sharing research and perspectives on developer productivity.</span></em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/subscribe?"><span>Subscribe now</span></a></p><p><span>&#128467; </span><a href="https://getdx.com/webinar/cafes-framework-improving-agent-effectiveness/#content"><span>Join our live research panel on September 24</span></a> <span>as we introduce CAFE(S), a framework for improving AI agent effectiveness through better context. </span><a href="https://getdx.com/webinar/cafes-framework-improving-agent-effectiveness?utm_source=newsletter"><span>Register here.</span></a></p><div><hr></div><p><span>Some of the most publicized AI failures of the last few years came from the legal profession. </span><a href="https://natlawreview.com/article/more-sanctions-inquiries-against-lawyers-judges-cite-hallucinations"><span>Lawyers have now been sanctioned</span></a><span>, more than once, for filing briefs containing citations to cases that did not exist. It is tempting to blame these hallucinations entirely on model failure, but that offers an incomplete picture.</span></p><p><span>A brief was drafted, reviewed, and filed. Somewhere along that chain, an unsupported claim produced by a probabilistic language model became something a human was willing to represent as fact. The hallucination was the visible failure, but the root cause was the information environment surrounding the model.</span></p><p><span>A better model might hallucinate less often, but it won&#8217;t eliminate the need for the information and safeguards required to separate the plausible from the true.</span></p><p><span>That distinction is critical, and it&#8217;s showing up everywhere software gets built.</span></p><h3><span>Picking up where the code left off</span></h3><p><span>Recently, I wrote about </span><a href="https://newsletter.getdx.com/p/the-quality-paradox-of-ai-generated"><span>what AI is doing to software quality,</span></a><span> using a definition of quality that some colleagues and I developed back in 2020. The conclusion I landed on was that code is becoming a late place to look. More of what determines quality is settled before any code exists.</span></p><p><span>I ended that piece with five sentences that have stuck with me since:</span></p><blockquote><p><em><span>Reuse requires knowing what already exists in the codebase. Review requires knowing what a change was meant to accomplish. Evolvability requires knowing why the system is structured the way it is. Handoff requires knowing what the previous person was thinking. Serving user needs requires knowing what problem the software was supposed to solve in the first place.</span></em></p></blockquote><p><span>None of that knowledge necessarily lives in the code. It lives in tickets, design docs, runbooks, architecture decision records, and Slack threads. A fair amount of it lives nowhere at all except in somebody&#8217;s head.</span></p><p><span>When we hand a task to an agent, we hand over some representation of that knowledge with it. That representation is the context. And when context fails, it does not fail randomly, the same shapes keep recurring.</span></p><h3><span>We have a vocabulary for this, just not for context</span></h3><p><span>Software engineers have a rich language for recurring problems in code. Say </span><strong><a href="https://wiki.c2.com/?CodeSmell"><span>code smell</span></a></strong><span> and everyone knows you mean something that isn&#8217;t a bug, but reliably signals trouble ahead. Long method. Feature envy. Shotgun surgery. Those names are useful precisely because they convert a vague unease into something you can point at in a review.</span></p><p><span>We have almost nothing equivalent for context when working with agents. When an agent produces something wrong, the diagnosis usually stops at &#8220;the model got confused,&#8221; which explains nothing and suggests no action.</span></p><p><span>So let me offer a starting vocabulary. Call them </span><em><span>context smells</span></em><span>. Here are six I keep running into. None of them are model limitations, and all of them survive a model upgrade.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XWM9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F246d658b-a5f4-4a97-8848-3f259a82deaf_2048x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XWM9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F246d658b-a5f4-4a97-8848-3f259a82deaf_2048x720.png 424w, https://substackcdn.com/image/fetch/$s_!XWM9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F246d658b-a5f4-4a97-8848-3f259a82deaf_2048x720.png 848w, https://substackcdn.com/image/fetch/$s_!XWM9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F246d658b-a5f4-4a97-8848-3f259a82deaf_2048x720.png 1272w, https://substackcdn.com/image/fetch/$s_!XWM9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F246d658b-a5f4-4a97-8848-3f259a82deaf_2048x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XWM9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F246d658b-a5f4-4a97-8848-3f259a82deaf_2048x720.png" width="1456" height="512" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/246d658b-a5f4-4a97-8848-3f259a82deaf_2048x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:512,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:59066,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.getdx.com/i/213041998?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F246d658b-a5f4-4a97-8848-3f259a82deaf_2048x720.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XWM9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F246d658b-a5f4-4a97-8848-3f259a82deaf_2048x720.png 424w, https://substackcdn.com/image/fetch/$s_!XWM9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F246d658b-a5f4-4a97-8848-3f259a82deaf_2048x720.png 848w, https://substackcdn.com/image/fetch/$s_!XWM9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F246d658b-a5f4-4a97-8848-3f259a82deaf_2048x720.png 1272w, https://substackcdn.com/image/fetch/$s_!XWM9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F246d658b-a5f4-4a97-8848-3f259a82deaf_2048x720.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong><span>Confident hallucination</span></strong><span>. The model asserts something untrue with exactly the fluency it uses for things that are true. We treat this as a model defect, and partly it is. But a model can only separate supported claims from unsupported ones if something in its context gives it a way to do that. The </span><a href="https://en.wikipedia.org/wiki/Mata_v._Avianca,_Inc."><span>sanctioned lawyers</span></a><span> weren&#8217;t undone by fabrication alone. They were undone by a workflow in which nothing downstream of the fabrication was designed to catch it.</span></p><p><strong><span>Specification ambiguity</span></strong><span>. This is the one I find most underappreciated. Faced with an obviously underdetermined request, an agent will often stop and ask for clarification. Faced with a semi-ambiguous request, it does something considerably more dangerous. </span><a href="https://arxiv.org/abs/2304.14399v1"><span>It picks an interpretation and proceeds</span></a><span>. If that first read is wrong, every subsequent step compounds it, and the work looks confident the entire way down. Nothing was missing from the context. It simply admitted more than one reasonable reading, and nobody noticed which one got chosen.</span></p><p><strong><span>Stale guidance</span></strong><span>. Context that accurately describes </span><a href="https://engineering.fb.com/2026/04/06/developer-tools/how-meta-used-ai-to-map-tribal-knowledge-in-large-scale-data-pipelines/"><span>a system that no longer exists</span></a><span>. The runbook that was correct two migrations ago. The architecture doc written before the service was split. A human reading these usually senses the mismatch and goes looking for why. An agent has no such reflex, and treats them as current.</span></p><p><strong><span>Lost in the middle</span></strong><span>. More context is not reliably better. Model performance degrades as input grows, and it degrades unevenly, </span><a href="https://doi.org/10.1162/tacl_a_00638"><span>with material buried in the middle of a long context</span></a><span> getting overlooked in favor of what sits at the edges. This one is genuinely counterintuitive, because nothing is missing. The agent has everything it needs and still fails, because the signal is competing with too much else for attention. Agents, like people, can get distracted.</span></p><p><strong><span>Lost in the details</span></strong><span>. Context that supplies plenty of implementation detail and none of the reasoning behind it. The agent optimizes local mechanics beautifully while losing track of what the task was actually for. Margaret-Anne Storey calls the underlying condition </span><a href="https://queue.acm.org/detail.cfm?id=3807966"><span>intent debt</span></a><span>, the gradual disappearance of recorded rationale from the artifacts a system leaves behind. It&#8217;s the difference between knowing that a timeout is set to 300 milliseconds and knowing whether that number came from a benchmark, a support incident, or somebody&#8217;s afternoon guess.</span></p><p><strong><span>Weekend runaway</span></strong><span>. An agent given a task with no definition of success may never discover that it&#8217;s finished. So it retries, widens scope, and </span><a href="https://arxiv.org/abs/2503.13657"><span>keeps exploring an objective that may not even be achievable</span></a><span>. The result is consumed time, consumed tokens, and occasionally a genuinely startling bill on Monday morning. This may be the least intellectually interesting failure on the list, but maybe the one most likely to get a leader&#8217;s attention.</span></p><h3><span>None of these are new</span></h3><p><span>Read that list again and notice how little of it is actually about AI.</span></p><p><span>Ambiguous specifications have been the central concern of requirements engineering for decades. Documentation that drifts out of sync with the system it describes is one of the oldest complaints in software maintenance. Signal drowning in noise is the founding problem of information retrieval. Rationale vanishing from the artifacts a team leaves behind is what knowledge management has always been about.</span></p><p><span>None of these challenges are new.  Bad context has always been a normal fact-of-life for software organizations. What kept it from being catastrophic is that humans quietly repaired it, constantly, without anyone noticing.</span></p><p><span>A new engineer handed an ambiguous ticket walks over and asks what it means. Handed a runbook that doesn&#8217;t match production, they notice the discrepancy and go find someone who knows. Handed two documents that contradict each other, they work out which one smells current, or they ask in a channel and get an answer in four minutes. Every organization I&#8217;ve studied runs on documentation that would fail inspection, and it works anyway, because a layer of human judgment sits between the bad context and the actual work.</span></p><p><span>Agents don&#8217;t reliably have that same repair loop, especially as we race to make them more autonomous. Handed the same ambiguous ticket, the same stale runbook, the same contradictory pair of documents, they proceed. Confidently, quickly, and at a scale that used to be impossible.</span></p><p><span>I don&#8217;t think AI created a context problem. I think it withdrew the error correction that had been hiding one. The information environment we&#8217;ve been tolerating was always this bad. If that&#8217;s right, it may also help explain one of DORA&#8217;s more interesting findings about AI adoption. </span><a href="https://dora.dev/research/2025/"><span>Their 2025 research</span></a><span> describes AI as an amplifier. It tends to magnify the strengths and weaknesses of the systems already surrounding agents. That&#8217;s usually framed as an organizational capability problem, but I wonder if part of it is an information problem. Teams with clearer specifications, better documentation, and more accessible organizational knowledge may simply have less damage for the human buffer to absorb in the first place.</span></p><h3><span>What you can do</span></h3><p><span>Most of what I&#8217;ve described sounds like it needs instrumentation we don&#8217;t have yet. It doesn&#8217;t (at least not to start).</span></p><p><span>Before handing a task to an agent, ask whether a competent new colleague could complete it with what you&#8217;re making available. Not a senior engineer who already knows your system. A capable person with no additional access to what&#8217;s in your head.</span></p><p><span>That test is deliberately low-tech, and it catches a surprising amount. The specification that admits two readings. The runbook describing last year&#8217;s architecture. The fifty-page dump with the one important constraint on page thirty-one. The task with no stated definition of done.</span></p><p><span>A competent new colleague would probably stop at each of those. Which interpretation did you mean? Is this runbook still current? Which of these fifty pages actually matters? What does done look like? Those questions are the human repair loop in action. The more autonomous we make agents, the less we should assume that loop will save bad context.</span></p><p><span>Naming these patterns is a start, but only a start. Context smells give us a vocabulary for recognizing trouble. They don&#8217;t give us a systematic way to evaluate the quality of context before an agent starts working. That second problem is considerably harder, and it&#8217;s where I&#8217;ve been spending most of my time lately. Over the coming weeks, I&#8217;ll be publishing a framework describing the dimensions of context quality, followed by an approach to measuring those dimensions.</span></p><p><span>For now, though, the question I&#8217;d put to any team frustrated with their agents isn&#8217;t which model they should be using.</span></p><p><span>It&#8217;s whether they&#8217;d have given the same task to a new hire and expected them to get it right.</span></p><div><hr></div><p>That&#8217;s it for this week. Thanks for reading.</p><p>-Brian</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/p/your-agent-doesnt-have-a-model-problem?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/p/your-agent-doesnt-have-a-model-problem?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[How Okta sets guardrails and context for AI agents]]></title><description><![CDATA[Okta Chief Architect Robert Lucero explains how organizations can securely deploy AI agents while improving engineering productivity, testing, and software delivery.]]></description><link>https://newsletter.getdx.com/p/how-okta-governs-ai-agents-at-enterprise</link><guid isPermaLink="false">https://newsletter.getdx.com/p/how-okta-governs-ai-agents-at-enterprise</guid><dc:creator><![CDATA[Brian Houck]]></dc:creator><pubDate>Fri, 11 Sep 2026 15:26:03 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/214945154/730bcabfb8f2312341627e1d34c47850.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Listen and watch now on <strong><a href="https://youtu.be/KgA5wy4BINk">YouTube</a>, <a href="https://podcasts.apple.com/us/podcast/engineering-enablement-by-abi-noda/id1619140476">Apple</a>, and <a href="https://open.spotify.com/show/3NxjyIsuxeDMQtisDqBy7D">Spotify</a></strong>.</p><p><span>In this episode of Engineering Enablement, I sit down with Robert Lucero, Chief Architect at Okta, to discuss how agentic AI is changing identity and access management. We explore how organizations should define agent identities, why authentication and authorization remain foundational, and how sandboxing, fine-grained permissions, and just-in-time access let agents operate autonomously without creating unacceptable risk.</span></p><p><span>Robert shares what Okta has learned from driving AI adoption among security-minded engineers, what makes a repository ready for AI agents, and why strong testing, CI, and review processes matter even more as AI generates more code. We also discuss AI&#8217;s role in software validation, the need for human judgment, and whether AI will ultimately give the advantage to security teams or attackers.</span></p><div id="youtube2-KgA5wy4BINk" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;KgA5wy4BINk&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/KgA5wy4BINk?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2><strong>Some takeaways: </strong></h2><h3><strong><span>Identity becomes critical when AI agents move beyond content generation</span></strong></h3><ul><li><p><strong><span>AI agents need access to documents, source code, CI systems, ticketing tools, and other resources to perform useful work.</span></strong><span> Identity systems determine which resources they can access and what actions they can take.</span></p></li><li><p><strong><span>Non-determinism makes tightly scoped access especially important.</span></strong><span> Organizations need dynamic policies, fine-grained permissions, and visibility when agents attempt to operate beyond their boundaries.</span></p></li></ul><h3><strong><span>The definition of an agent identity is still evolving</span></strong></h3><ul><li><p><strong><span>Organizations have not yet settled on whether every agent or ephemeral workload needs its own identity.</span></strong><span> An agent might instead operate under an orchestrator, a service account, or the identity of a human owner.</span></p></li><li><p><strong><span>The fundamentals of identity remain the same.</span></strong><span> Agents still need to be authenticated before organizations can apply authorization policies, governance, and access controls.</span></p></li></ul><h3><strong><span>Treat AI agents like new hires</span></strong></h3><ul><li><p><strong><span>Start agents in a sandbox with tightly scoped access and clearly defined tasks.</span></strong><span> Like new employees, agents may seek out tools or information when their environment is missing something they need.</span></p></li><li><p><strong><span>Rely on technical controls rather than assuming an agent has earned trust.</span></strong><span> Sandboxing, guardrails, and just-in-time access can limit the blast radius of unpredictable behavior.</span></p></li></ul><h3><strong><span>Identity systems are a control plane, not an orchestration layer</span></strong></h3><ul><li><p><strong><span>The identity layer governs what agents can access, trigger, and call.</span></strong><span> The workflows connecting coding, review, testing, and deployment agents will likely be orchestrated elsewhere.</span></p></li><li><p><strong><span>Identity systems can provide essential visibility into agent relationships.</span></strong><span> A relational record of agent-to-agent and agent-to-resource access makes it possible to investigate why an agent was able to take a particular action.</span></p></li></ul><h3><strong><span>Successful AI adoption depends on useful outcomes</span></strong></h3><ul><li><p><strong><span>Okta&#8217;s security-minded engineers were initially skeptical because early tools did not reliably help them do their jobs.</span></strong><span> Adoption increased as coding models improved and became more effective in real engineering workflows.</span></p></li><li><p><strong><span>The value of AI extends far beyond writing code.</span></strong><span> Engineers can use it to summarize documentation, review product specs, investigate production issues, and respond to customer requests more efficiently.</span></p></li></ul><h3><strong><span>AI readiness starts with engineering fundamentals</span></strong></h3><ul><li><p><strong><span>Repositories need clear instructions, discoverable dependencies, compatible harnesses, and defined development practices before agents can work effectively.</span></strong></p></li><li><p><strong><span>Strong testing, CI, linting, and code review provide the safety nets AI-generated changes require.</span></strong><span> Improving a repository for AI agents often makes it easier for human developers to work in as well.</span></p></li></ul><h3><strong><span>Passing tests does not prove that AI-generated code is correct</span></strong></h3><ul><li><p><strong><span>An agent can write tests and produce code that passes them without understanding the intended business outcome.</span></strong><span> Reliable validation depends on giving agents access to the right requirements and context.</span></p></li><li><p><strong><span>Human judgment remains essential for determining whether software actually solves the problem.</span></strong><span> Developers, designers, test engineers, and product owners must still evaluate whether the result meets user and business needs.</span></p></li></ul><h2><strong>In this episode, we cover:</strong></h2><p>(<a href="https://www.youtube.com/watch?v=KgA5wy4BINk">00:00</a>) Intro</p><p>(<a href="https://www.youtube.com/watch?v=KgA5wy4BINk&amp;t=136s">02:16</a>) Meet Robert Lucero</p><p>(<a href="https://www.youtube.com/watch?v=KgA5wy4BINk&amp;t=176s">02:56</a>) Why identity becomes critical as AI agents access more systems</p><p>(<a href="https://www.youtube.com/watch?v=KgA5wy4BINk&amp;t=367s">06:07</a>) Governing automated access for non-deterministic agents</p><p>(<a href="https://www.youtube.com/watch?v=KgA5wy4BINk&amp;t=481s">08:01</a>) Defining and managing agent identities</p><p>(<a href="https://www.youtube.com/watch?v=KgA5wy4BINk&amp;t=632s">10:32</a>) Authentication and authorization for AI agents</p><p>(<a href="https://www.youtube.com/watch?v=KgA5wy4BINk&amp;t=813s">13:33</a>) Determining how much autonomy to give AI agents</p><p>(<a href="https://www.youtube.com/watch?v=KgA5wy4BINk&amp;t=1184s">19:44</a>) Identity systems as the control plane for AI agents</p><p>(<a href="https://www.youtube.com/watch?v=KgA5wy4BINk&amp;t=1360s">22:40</a>) Driving AI adoption among security-minded engineers</p><p>(<a href="https://www.youtube.com/watch?v=KgA5wy4BINk&amp;t=1548s">25:48</a>) Why AI&#8217;s impact on engineering extends beyond coding</p><p>(<a href="https://www.youtube.com/watch?v=KgA5wy4BINk&amp;t=1724s">28:44</a>) The three components of AI readiness for repositories</p><p>(<a href="https://www.youtube.com/watch?v=KgA5wy4BINk&amp;t=1855s">30:55</a>) AI&#8217;s role in software testing and validation</p><p>(<a href="https://www.youtube.com/watch?v=KgA5wy4BINk&amp;t=2066s">34:26</a>) Whether AI gives defenders or attackers the advantage</p><p>(<a href="https://www.youtube.com/watch?v=KgA5wy4BINk&amp;t=2161s">36:01</a>) Where to find the best food in the country</p><p><strong><span>Where to find Robert Lucero:</span></strong></p><p><span>&#8226; LinkedIn: </span><a href="https://www.linkedin.com/in/rlucero"><span>https://www.linkedin.com/in/rlucero</span></a></p><p><strong><span>Where to find Brian Houck:</span></strong></p><p><span>&#8226; LinkedIn: </span><a href="https://www.linkedin.com/in/brianhouck"><span>https://www.linkedin.com/in/brianhouck</span></a></p><h2><strong>Referenced:</strong></h2><p><span>&#8226; </span><a href="https://getdx.com/report/State-of-AI-Impact-in-Engineering-Q2-Report"><span>State of AI Impact in Engineering Q2 Report 2026</span></a></p><p><span>&#8226; </span><a href="https://www.okta.com/"><span>Okta</span></a></p><p><span>&#8226; </span><a href="https://openai.com/index/hugging-face-incident-and-the-road-ahead/"><span>The Hugging Face incident and the road ahead | OpenAI</span></a></p><p><span>&#8226; </span><a href="https://github.com/features/copilot"><span>GitHub Copilot &#183; Your AI pair programmer</span></a></p><p><span>&#8226; </span><a href="https://claude.com/product/claude-code"><span>Claude Code by Anthropic | AI Coding Agent, Terminal, IDE</span></a></p><p><span>&#8226; </span><a href="https://queue.acm.org/doi/10.1145/3807963"><span>Eight Myths on Software Engineering and GenAI | Queue</span></a></p><p><span>&#8226; </span><a href="https://www.linkedin.com/in/adriana-corona/"><span>Adriana Corona</span></a></p>]]></content:encoded></item><item><title><![CDATA[AI accelerates output, not innovation]]></title><description><![CDATA[AI output explains 63% of developer time savings but shows a weak link to increased innovation ratio.]]></description><link>https://newsletter.getdx.com/p/ai-accelerates-output-not-innovation</link><guid isPermaLink="false">https://newsletter.getdx.com/p/ai-accelerates-output-not-innovation</guid><dc:creator><![CDATA[Grace Fu]]></dc:creator><pubDate>Wed, 09 Sep 2026 10:03:41 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d4e1b8f4-50be-481f-ab99-a577b227a255_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em><strong><span>Welcome to the latest issue of Engineering Enablement,</span></strong><span> a weekly newsletter sharing research and perspectives on developer productivity.</span></em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/subscribe?"><span>Subscribe now</span></a></p><p><span>&#128467; </span><a href="https://getdx.com/webinar/cafes-framework-improving-agent-effectiveness?utm_source=newsletter"><span>Join DX&#8217;s live research panel on September 24</span></a><span> as Brian Houck introduces CAFE(S), a framework for improving AI agent effectiveness through better context. </span><a href="https://getdx.com/webinar/cafes-framework-improving-agent-effectiveness?utm_source=newsletter"><span>Register here.</span></a></p><div><hr></div><p><span>As reported in our </span><a href="https://getdx.com/report/State-of-AI-Impact-in-Engineering-Q2-Report/?utm_source=newsletter"><span>Q2 AI Impact Report</span></a><span>, time saved thanks to AI continues to increase, with developers reporting saving 6.1 hours per week in Q2 2026 compared to 3 hours in Q3 2025. However, it raises the question for engineering leaders:</span></p><p><em><span>What are developers doing with that time?</span></em></p><p><span>While AI is frequently positioned as a way to reclaim time for innovation, our data reveals a disconnect between AI-driven output and actual shifts in work composition.</span><em><span> </span></em><span>Organizations are investing in AI with the hope that the time AI saves will directly translate into faster roadmap execution and more innovation. DX tracks this using innovation ratio, the percent of engineering effort dedicated to new capabilities versus maintenance.</span></p><p><span>We used multivariate regression on a sample of 500+ DX customers to test the innovation ratio against 15 workflow metrics, including AI output, shipping velocity, and operational drag. We analyzed AI output according to how much AI-authored code, agent-delivered work, and PR throughput teams produce.</span><em><span> </span></em><span>Our analysis shows that while</span><strong><span> AI output has a powerful link to AI-driven time savings, it does not reliably translate into a higher innovation ratio.</span></strong></p><h3><span>Information-seeking may be the hidden barrier to innovation</span></h3><p><span>While AI tools are delivering measurable speed, our data suggests that reclaiming capacity for new features requires clearing organizational friction, rather than assuming AI will lead to innovation.</span></p><ol><li><p><strong><span>AI is a lever for speed</span></strong><span>. The data confirms that AI does what it promises. AI output accounts for 63% of the variation in developer time savings, suggesting that developers with higher AI output save more time.</span></p></li><li><p><strong><span>Speed doesn&#8217;t convert to innovation</span></strong><span>. Despite increased time savings, AI output suggests a weak link to innovation (p &lt; 0.01, &#946;=0.16). No single workflow metric emerged as a reliable predictor of innovation, indicating that dedicating more time for new features and capabilities is not a byproduct of moving faster.</span></p></li><li><p><strong><span>The impact of operational friction</span></strong><span>. The clearest signal tied to lower innovation ratio is information-seeking, referring to time lost hunting for context, documentation, or answers (p &lt; 0.01, &#946;=-0.19). It is not a large effect and needs additional validation, but this developer-reported friction represents a significant hypothesis for engineering leaders. It suggests that reducing operational drag may be a more effective path to increasing innovation than AI (or AI alone).</span></p></li></ol><blockquote></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BkZh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f375706-f86b-47d4-8845-042a16d3a02b_2048x1448.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BkZh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f375706-f86b-47d4-8845-042a16d3a02b_2048x1448.jpeg 424w, https://substackcdn.com/image/fetch/$s_!BkZh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f375706-f86b-47d4-8845-042a16d3a02b_2048x1448.jpeg 848w, https://substackcdn.com/image/fetch/$s_!BkZh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f375706-f86b-47d4-8845-042a16d3a02b_2048x1448.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!BkZh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f375706-f86b-47d4-8845-042a16d3a02b_2048x1448.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BkZh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f375706-f86b-47d4-8845-042a16d3a02b_2048x1448.jpeg" width="1456" height="1029" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f375706-f86b-47d4-8845-042a16d3a02b_2048x1448.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1029,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BkZh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f375706-f86b-47d4-8845-042a16d3a02b_2048x1448.jpeg 424w, https://substackcdn.com/image/fetch/$s_!BkZh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f375706-f86b-47d4-8845-042a16d3a02b_2048x1448.jpeg 848w, https://substackcdn.com/image/fetch/$s_!BkZh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f375706-f86b-47d4-8845-042a16d3a02b_2048x1448.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!BkZh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f375706-f86b-47d4-8845-042a16d3a02b_2048x1448.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><span>Key takeaways for engineering leaders</span></h2><ol><li><p><strong><span>Decouple AI strategy from innovation goals</span></strong><span>. AI delivers speed, but there is no evidence it automatically shifts teams toward new-feature work. Treat innovation as a separate objective requiring its own strategy</span></p></li><li><p><strong><span>Test the operational friction hypothesis</span></strong><span>. Focus on reducing time lost to information-seeking. While not yet a proven driver of innovation, it is the most promising lead for improving developer conditions.</span></p></li><li><p><strong><span>Use this as a diagnostic.</span></strong><span> Because our model accounted for only 13% of the differences in innovation ratio, much of what drives new-feature work remains unique to each company. The most valuable next step is running this analysis against your own team&#8217;s data; your strongest predictors might differ from the aggregate.</span></p><div><hr></div><p>That&#8217;s it for this week. Thanks for reading.<br>-Grace</p><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/p/ai-accelerates-output-not-innovation?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/p/ai-accelerates-output-not-innovation?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p></p></li></ol>]]></content:encoded></item><item><title><![CDATA[The quality paradox of AI-generated code]]></title><description><![CDATA[What a five-part definition of quality from 2020 tells us about software development in the age of AI.]]></description><link>https://newsletter.getdx.com/p/the-quality-paradox-of-ai-generated</link><guid isPermaLink="false">https://newsletter.getdx.com/p/the-quality-paradox-of-ai-generated</guid><dc:creator><![CDATA[Brian Houck]]></dc:creator><pubDate>Wed, 02 Sep 2026 10:03:27 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7ba4ba74-fbe8-4295-8b68-7c0cb012b63c_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em><strong><span>Welcome to the latest issue of Engineering Enablement, </span></strong><span>a weekly newsletter sharing research and perspectives on developer productivity.</span></em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/subscribe?"><span>Subscribe now</span></a></p><p>&#128467; <a href="https://getdx.com/webinar/cafes-framework-improving-agent-effectiveness/#content">Join our live research panel on September 24</a> as we introduce CAFE(S), a framework for improving AI agent effectiveness through better context. <a href="https://getdx.com/webinar/cafes-framework-improving-agent-effectiveness?utm_source=newsletter">Register here.</a></p><div><hr></div><p><span>Two numbers from the </span><a href="https://getdx.com/report/state-of-ai-impact-in-engineering-q2-report/?utm_source=newsletter"><span>2026 Q2 State of AI Impact report</span></a><span> have raised a lot of questions for me about the impact of AI on &#8220;quality&#8221;.</span></p><p><span>Across a sample of more than 500 companies, </span><em><span>code maintainability</span></em><span> improved 3.8% between Q1 and Q2. Over the same period </span><em><span>change confidence</span></em><span> fell 6.1%. Maintainability asks how easy the codebase is to understand and modify. Change confidence asks whether developers trust that their changes won&#8217;t break things.</span></p><p><span>Those two measures have historically moved together. Code you understand is code you feel safe changing. Now they are moving in opposite directions.</span></p><p><span>Layering in other findings from the report makes the picture even less clear. Documentation quality, code maintainability, and production debugging had some of the biggest improvements in the quarter&#8212;all signals we might expect to provide tailwinds to quality. At the same time, review turnaround declined, incremental delivery fell sharply, and pull requests continued to get larger&#8212;all signals that we might expect to provide headwinds.</span></p><p><span>Perhaps </span><em><span>quality </span></em><span>isn&#8217;t simply going up or down. Perhaps different parts of it are moving in different directions.</span></p><p><span>To help me frame the problem, I went back to a definition of quality that a couple of colleagues and I developed in 2020, several years before generative AI complicated the picture. I wanted to know whether our definition could help make sense of what we&#8217;re seeing now.</span></p><p><span>Turns out, the places where the data appears most contradictory make considerably more sense once we stop treating &#8220;quality&#8221; as one thing.</span></p><h3><span>What developers mean by quality, before AI could complicate it</span></h3><p><a href="https://arxiv.org/pdf/2111.04302"><span>In January 2020, Margaret-Anne Storey, Tom Zimmermann and I surveyed 131 developers and 34 engineering managers</span></a><span> at Microsoft about how they define productivity and quality, in their own words. </span><a href="https://newsletter.getdx.com/p/define-productivity"><span>(Paper summary here.)</span></a><span> We coded the open-text answers inductively, and five dimensions of quality fell out. We called these dimensions TRUCE, which are defined below:</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SSUr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a9425f-e1ed-42c9-b649-9f8fc4b74da5_1830x1074.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SSUr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a9425f-e1ed-42c9-b649-9f8fc4b74da5_1830x1074.png 424w, https://substackcdn.com/image/fetch/$s_!SSUr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a9425f-e1ed-42c9-b649-9f8fc4b74da5_1830x1074.png 848w, https://substackcdn.com/image/fetch/$s_!SSUr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a9425f-e1ed-42c9-b649-9f8fc4b74da5_1830x1074.png 1272w, https://substackcdn.com/image/fetch/$s_!SSUr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a9425f-e1ed-42c9-b649-9f8fc4b74da5_1830x1074.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SSUr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a9425f-e1ed-42c9-b649-9f8fc4b74da5_1830x1074.png" width="1456" height="855" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5a9425f-e1ed-42c9-b649-9f8fc4b74da5_1830x1074.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:855,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:67150,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.getdx.com/i/211766445?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a9425f-e1ed-42c9-b649-9f8fc4b74da5_1830x1074.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SSUr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a9425f-e1ed-42c9-b649-9f8fc4b74da5_1830x1074.png 424w, https://substackcdn.com/image/fetch/$s_!SSUr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a9425f-e1ed-42c9-b649-9f8fc4b74da5_1830x1074.png 848w, https://substackcdn.com/image/fetch/$s_!SSUr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a9425f-e1ed-42c9-b649-9f8fc4b74da5_1830x1074.png 1272w, https://substackcdn.com/image/fetch/$s_!SSUr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a9425f-e1ed-42c9-b649-9f8fc4b74da5_1830x1074.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>Six years later, TRUCE gives us a useful lens for interpreting what otherwise looks like contradictory evidence about AI and software quality.</span></p><h3><span>Robustness is unsettled, but we can see it</span></h3><p><span>Start with the dimension we instrument best.</span></p><p><span>Change failure rate volatility widened in Q2, with many organizations now swinging plus or minus three percentage points against a 4% industry benchmark. The distribution of failed deployment recovery time is leaning longer, even though developers&#8217; experience with production debugging improved slightly.</span></p><p><span>In other words, teams report getting better at diagnosing production problems while recovery outcomes are becoming more variable.</span></p><p><span>It&#8217;s important not to turn correlation into causation here. This data doesn&#8217;t tell us that AI created volatility, or even that AI amplified it. What we can say is that robustness is becoming less predictable during the same period in which AI-authored code has accelerated dramatically.</span></p><p><span>Robustness itself isn&#8217;t mysterious; we know what we&#8217;re trying to observe. Many metrics exist to try and measure robustness: failure rates, recovery times, incidents, defects, test outcomes, and more. We can debate exactly which measures are best, but when robustness changes, we have a reasonably mature vocabulary for describing what happened.</span></p><p><span>Hold onto that, because robustness turns out to be the exception. The dimensions that follow are roughly ordered by how well we can measure them, and as that measurement thins out, something consistent happens: the dimension stops behaving like one thing. Whether those two facts are related is a question I want to come back to.</span></p><h3><span>Evolvability is splitting into two things</span></h3><p><span>TRUCE derived evolvability from developers defining quality as &#8220;</span><em><span>Easy to test, </span><strong><span>easy to change</span></strong></em><span>.&#8221;  It&#8217;s natural to assume that code you understand is code you can feel safe changing. Recent academic research suggests something different may be happening when we zoom out from individual code changes to the systems they become part of.</span></p><p><span>In </span><em><a href="https://arxiv.org/abs/2601.21276"><span>More Code, Less Reuse</span></a></em><span>, Huang and colleagues compared pull requests generated by AI agents with those written by human developers. They found that AI agents were more likely to miss opportunities to reuse existing code, introducing greater redundancy. Interestingly, reviewers still tended to respond neutrally or positively to the AI-generated contributions. The authors describe this as a disconnect between the &#8220;surface-level plausibility&#8221; of the code and the technical debt accumulating underneath it.</span></p><p><span>Another recent study makes the distinction even clearer. </span><em><a href="https://arxiv.org/abs/2603.27745"><span>Needle in the Repo</span></a></em><span> evaluated 23 AI coding configurations on repository-level tasks designed to test maintainability, not just whether the resulting code worked. Across those configurations, 13.3% of outcomes passed every functional test while still failing the study&#8217;s structural maintainability criteria. Performance was especially poor on architectural concerns such as dependency control and responsibility decomposition.</span></p><p><span>Both findings point toward the same distinction. A piece of code can be easy to understand. It can work. Reviewers can even think it looks good. But the system it belongs to can still become harder to evolve.</span></p><p><span>The emerging pattern is that locally good code doesn&#8217;t guarantee a healthy system. Generated code may be perfectly understandable in isolation while duplicating something that already exists, introducing an unnecessary dependency, or putting functionality in a place that makes the broader system harder to change.</span></p><p><span>And that brings us back to the numbers I started with. Maintainability improved 3.8%. Change confidence fell 6.1%. Perhaps those measures aren&#8217;t disagreeing after all. They may simply be looking at different parts of evolvability.</span></p><h3><span>Collaboration is splitting too</span></h3><p><span>One of my favorite definitions of quality from the TRUCE paper came from a developer describing collaboration, one of the least frequently mentioned dimensions: </span></p><blockquote><p><em><span>&#8220;Quality is code or solutions that solve a problem and don&#8217;t need undue maintenance or lengthy handoff. If I get hit by a bus and the company can still easily use the code I&#8217;ve written, I&#8217;ve made a quality solution.&#8221;</span></em></p></blockquote><p><span>We wrote at the time that enabling collaboration or reuse by others &#8220;is often invisible and hard to measure,&#8221; which likely explains why it was a less frequently mentioned dimension, &#8220;and yet it is very important.&#8221; I did not expect that sentence to age the way it has.</span></p><p><span>This is where the data gets strange. Documentation quality was among the clearest wins in the quarter. That matters for collaboration. Documentation supports handoff, comprehension, and the ability of someone else to pick up your work.</span></p><p><span>At the same time, review turnaround declined. Incremental delivery, which asks whether developers work in small, testable changes, showed the sharpest decrease of any driver. Median PR size nearly doubled over the year, increasing the amount of unfamiliar code developers need to understand at once.</span></p><p><span>So we have better documentation attached to larger changes that are harder to review, written increasingly by something that isn&#8217;t on the team. Documentation quality and shared understanding aren&#8217;t the same thing. AI can document what the code does without transferring the reasoning that led to it. It can make handoff easier while making shared ownership harder.</span></p><p><span>That&#8217;s what makes the bus-factor definition feel so different to me now. AI may be improving the explicit artifacts that support handoff while making the implicit knowledge surrounding the work more difficult to maintain.</span></p><p><span>The collaboration dimension that only 17% of developers thought to mention in 2020 suddenly looks much more important. And we said at the time that we couldn&#8217;t see it very well.</span></p><h3><span>Timeliness is not the same thing as speed</span></h3><p><span>Only 7% of developers named timeliness as a dimension of quality in 2020, the lowest of the five dimensions. It is now the site of perhaps the cleanest decoupling in the data.</span></p><p><span>Median normalized PR Throughput rose 37% over four quarters. Deployment frequency is up across nearly every segment. However, over the same period, developers&#8217; perceived rate of delivery was flat.</span></p><p><span>That looks contradictory only if we assume delivery speed and timeliness are the same thing. Timeliness was not intended to be a pipeline property. It was about whether what was needed arrived when it was needed.</span></p><p><span>AI can increase the amount of code flowing through a system without changing how quickly an engineer feels able to get the thing that matters into a customer&#8217;s hands. More PRs can run into slower reviews. Faster implementation can expose bottlenecks in testing, deployment, requirements, or coordination. Additional output can simply create additional work downstream.</span></p><p><span>The pipeline got measurably faster. The felt experience of delivering on time did not.</span></p><p><span>Once again, TRUCE makes the apparent contradiction easier to understand. Our delivery-speed metrics and our experience of timeliness are measuring related things, but they aren&#8217;t measuring the same thing.</span></p><h3><span>User needs is the dimension we still can&#8217;t see</span></h3><p><span>It would be a stretch to say much of anything about AI&#8217;s impact on this dimension from the available data. That is itself a finding.</span></p><p><span>The closest available proxy in the Q2 data is perceived software quality, and it says something counterintuitive. Traditional industries and financial services, the slowest-moving segments on throughput, report the highest perceived quality.</span></p><p><span>That is self-reported and may say as much about expectations as about software, so I&#8217;d stop short of any claim stronger than this: speed and perceived quality are not moving together.</span></p><p><span>I also went looking for external research on whether the people who use software are experiencing it differently as AI authorship climbs. I came up mostly empty.</span></p><p><span>There is a great deal on defect rates, vulnerability counts, code quality, and QA workload. We have remarkably detailed telemetry about how much code AI writes, how quickly pull requests move, how frequently teams deploy, and how often changes fail. We know considerably less about whether the resulting software is actually solving people&#8217;s problems better.</span></p><p><span>That&#8217;s a striking asymmetry.</span></p><p><span>One developer in the study told us &#8220;</span><em><span>Quality is doing what the customer wants.</span></em><span>&#8221; Four years into this shift, we can measure changes in the machinery of software production with extraordinary precision while remaining largely blind to what may be the most important dimension of quality: did the thing we built serve the people using it?</span></p><h3><span>Quality was never just about the code</span></h3><p><span>Put the five dimensions back together and the story isn&#8217;t that AI is improving quality. It also isn&#8217;t that AI is destroying it. The story is that &#8220;quality&#8221; was never a scalar.</span></p><p><span>Seen this way, the maintainability/change-confidence paradox that started this piece doesn&#8217;t look like a paradox anymore. It looks like exactly what we should expect when a multidimensional construct is being pushed in different directions at once.</span></p><p><span>Six years on, I don&#8217;t think AI makes TRUCE less useful. If anything, it makes the framework more useful by reminding us what we&#8217;re actually trying to preserve. We still want software that is robust, evolvable, collaborative, timely, and serves the people using it.</span></p><p><span>What may be changing is where we need to look to understand whether we&#8217;ll get those things.</span></p><p><span>Reuse requires knowing what already exists in the codebase. Review requires knowing what a change was meant to accomplish. Evolvability requires knowing why the system is structured the way it is. Handoff requires knowing what the previous person was thinking. Serving user needs requires knowing what problem the software was supposed to solve in the first place.</span></p><p><span>None of that knowledge necessarily lives in the code.</span></p><p><span>Margaret-Anne Storey, my TRUCE co-author, has arrived somewhere similar from a different direction. Her </span><a href="https://queue.acm.org/detail.cfm?id=3807966"><span>triple debt model</span></a><span> separates technical debt, which lives in code, from cognitive debt, which lives in a team&#8217;s shared understanding, and intent debt, which lives in the artifacts recording what a system is for.</span></p><p><span>Her argument is that AI may reduce one kind of debt while accelerating the others, and that code is no longer necessarily the binding constraint on software health.</span></p><p><span>Her model maps to the findings we just walked through. Technical debt is visible in the evolvability problem. Cognitive debt shows up in the collaboration split. And intent debt helps explain why it is so difficult to know whether a system is meeting real user needs, the dimension we can barely see at all. Hers is a conceptual model rather than an empirical one, so I&#8217;d call this convergence rather than confirmation. But two frameworks built for different purposes landed on the same three places.</span></p><p><span>There&#8217;s a small irony worth noting. When </span><a href="https://aka.ms/aipaper"><span>Mansi Khemka and I asked developers in 2023</span></a><span> what they most wanted AI help with, authoring and refactoring code ranked fifth, at 25%. Documentation ranked third at 37%.</span></p><p><span>Documentation is now one of the clearest quality wins in the data. Refactoring is one of the structural signals moving most sharply in the other direction.</span></p><p><span>I wouldn&#8217;t read too much into a single comparison. But it is interesting to me that the dimension holding up best is the one where the tooling matched what developers said they wanted.</span></p><p><span>Which brings me back to the artifact itself. We have spent decades learning to evaluate code. It is worth asking whether code is still the thing that carries the most information about whether these five dimensions will hold.</span></p><h3><span>Code is not the only artifact worth evaluating</span></h3><p><span>For most of software&#8217;s history, code was the currency of software engineering. A developer understood the requirement, carried some model of the architecture in their head, knew what neighboring systems did, made a series of design decisions, and eventually expressed those decisions as code. That made code an unusually information-rich artifact, and it is why evaluating the code was a critical way to evaluate the work.</span></p><p><span>That is changing. The Q2 report found that 52.7% of code is AI-authored, up from 24% in Q4 2025 and 34% in Q1 2026. Increasingly, a developer doesn&#8217;t translate everything they know directly into code. They express an intent, provide some representation of the relevant context, and ask a machine to produce the implementation.</span></p><p><span>Intent and context aren&#8217;t quite the same thing. Intent is what a person ultimately wants to accomplish. That intent must then be translated into context, which is the information that represents the task, its constraints, and the surrounding knowledge. More of the knowledge a developer once carried implicitly now has to be externalized before the work can begin.</span></p><p><span>TRUCE still gives us language for evaluating the artifact at the end of that chain, and AI doesn&#8217;t change that. What concerns me is that the end of the chain is becoming a late place to look. As development shifts from writing implementations toward expressing intent, more of the conditions that determine all five dimensions are set before any code exists.</span></p><p><span>We know how to ask whether the artifact is good. We&#8217;re only beginning to develop the vocabulary for asking whether the context that produced it was good enough to begin with.</span></p><div><hr></div><p>That&#8217;s it for this week. Thanks for reading.</p><p>-Brian</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/p/the-quality-paradox-of-ai-generated?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/p/the-quality-paradox-of-ai-generated?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[Code Quality & AI Readiness at Capital One]]></title><description><![CDATA[Max Kanat-Alexander, Executive Distinguished Engineer at Capital One, discusses how AI is reshaping software development and why strong engineering fundamentals matter more than ever.]]></description><link>https://newsletter.getdx.com/p/how-capital-one-assesses-ai-readiness</link><guid isPermaLink="false">https://newsletter.getdx.com/p/how-capital-one-assesses-ai-readiness</guid><dc:creator><![CDATA[Brian Houck]]></dc:creator><pubDate>Wed, 26 Aug 2026 11:31:48 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/212730058/1af29867e3619ccf46328c74fd14afa7.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Listen and watch now on <strong><a href="https://youtu.be/gEuD4bP17uc">YouTube</a>, <a href="https://podcasts.apple.com/us/podcast/engineering-enablement-by-abi-noda/id1619140476">Apple</a>, and <a href="https://open.spotify.com/show/3NxjyIsuxeDMQtisDqBy7D">Spotify</a></strong>.</p><p><span>In this episode of Engineering Enablement, I sit down with Max Kanat-Alexander, Executive Distinguished Engineer at Capital One, to discuss how AI is changing software development and why strong engineering fundamentals matter more than ever.</span></p><p><span>We explore how the skills engineers need are expanding, why AI amplifies both the strengths and weaknesses of the development lifecycle, and how teams should think differently about code review, quality, and testing. Max also shares how leaders can assess whether their organizations are ready for more advanced AI workflows and why we need more research into how junior engineers become senior engineers.</span></p><div id="youtube2-gEuD4bP17uc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;gEuD4bP17uc&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/gEuD4bP17uc?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2><strong>Some takeaways: </strong></h2><h3><strong><span>AI amplifies the engineering system you already have</span></strong></h3><ul><li><p><strong><span>Strong engineering fundamentals matter even more with AI.</span></strong><span> AI amplifies everything that is good or bad about a software development lifecycle, so teams with strong tooling, CI, testing, and workflows are positioned to see the greatest gains.</span></p></li><li><p><strong><span>Faster coding doesn&#8217;t solve problems elsewhere in the development lifecycle.</span></strong><span> If engineers spend significant time navigating broken processes, waiting for reviews, or dealing with poor tooling, accelerating code generation only addresses a small part of their work.</span></p></li></ul><h3><strong><span>The skills engineers need are changing</span></strong></h3><ul><li><p><strong><span>Clearly expressing requirements and providing feedback are becoming increasingly important engineering skills.</span></strong><span> These are capabilities senior engineers have traditionally developed through years of experience, but they become essential much earlier when working effectively with coding agents.</span></p></li><li><p><strong><span>Deep technical knowledge still helps engineers recognize when something is wrong.</span></strong><span> Experience with languages, systems, and software design develops the pattern recognition needed to spot a flawed approach without reviewing hundreds of lines of AI-generated code.</span></p></li><li><p><strong><span>Domain understanding and problem definition are becoming more valuable.</span></strong><span> As AI gets better at reproducing knowledge found in documentation, engineers can differentiate themselves through understanding what needs to be built and why.</span></p></li></ul><h3><strong><span>Code review is fundamentally about maintainability</span></strong></h3><ul><li><p><strong><span>Human code review shouldn&#8217;t be the primary way teams catch bugs.</span></strong><span> Tests, static analysis, and other automation are more effective and scalable ways to detect defects.</span></p></li><li><p><strong><span>Human judgment remains important for evaluating maintainability and design.</span></strong><span> Reviewers can assess whether code is understandable, structured appropriately, and aligned with the longer-term intent of a system.</span></p></li><li><p><strong><span>The right quality bar depends on the codebase.</span></strong><span> A disposable script and enterprise software expected to operate for a decade shouldn&#8217;t be subjected to identical standards because the consequences and costs of getting them wrong are very different.</span></p></li></ul><h3><strong><span>Not every change needs the same review process</span></strong></h3><ul><li><p><strong><span>Code review is an important tool for developing less experienced engineers.</span></strong><span> Max says reviewing someone&#8217;s code is the most effective way he has found to improve their core software engineering skills.</span></p></li><li><p><strong><span>Trusted engineers may not need every change reviewed on codebases they deeply understand.</span></strong><span> That trust should be specific to the combination of the person and the codebase, rather than becoming a blanket exemption from review.</span></p></li><li><p><strong><span>The risk of the individual change can also determine whether human review is necessary.</span></strong><span> Teams can evaluate confidence and potential consequences rather than requiring the same review process for every PR.</span></p></li></ul><h3><strong><span>AI can create a vicious cycle of declining code quality</span></strong></h3><ul><li><p><strong><span>AI struggles when it has to build on poorly structured, poorly tested code.</span></strong><span> When weak review allows its bad output back into the codebase, the code becomes even harder for AI to work with, creating a cycle that can eventually leave teams with systems they can&#8217;t understand or maintain.</span></p></li><li><p><strong><span>AI can also help teams reverse that cycle.</span></strong><span> Agents can write tests, improve testability, and are particularly effective at refactoring when engineers deliberately direct them toward improving the codebase.</span></p></li><li><p><strong><span>Refactoring should support forward progress on product goals.</span></strong><span> Rather than attempting to clean up an entire codebase, teams should improve the parts they need to touch for upcoming work and make the necessary developer experience improvements along the way.</span></p></li></ul><h3><strong><span>AI readiness depends on how far left rigor extends</span></strong></h3><ul><li><p><strong><span>Fixing an existing software development lifecycle is much harder than building a good one from the beginning.</span></strong><span> Organizations with weak engineering practices often have to start with production problems and work backward through incident management, observability, deployment, testing, and earlier stages of development.</span></p></li><li><p><strong><span>How far left rigor extends is a useful signal of AI readiness.</span></strong><span> Organizations without strong controls around production, code review, and testing may introduce significant risk by giving engineers tools that allow them to move much faster.</span></p></li><li><p><strong><span>Leaders should evaluate the organization they actually have rather than following the AI hype cycle.</span></strong><span> Max is bullish on AI adoption, but argues that organizations need the engineering foundations to support the additional velocity it creates.</span></p></li></ul><h3><strong><span>The industry needs a better way to develop senior engineers</span></strong></h3><ul><li><p><strong><span>We still know surprisingly little about what reliably turns junior engineers into senior engineers.</span></strong><span> Mentorship and apprenticeship are widely considered important, but the practices that actually produce experienced engineers have not been deeply studied.</span></p></li><li><p><strong><span>AI makes understanding that development path more urgent.</span></strong><span> Senior engineers rely on experience to recognize failure patterns, which raises questions about how newer engineers will acquire that judgment as AI takes on more of the implementation work.</span></p></li><li><p><strong><span>AI may ultimately increase the need for engineering expertise rather than reduce it.</span></strong><span> As hundreds of millions more people gain the ability to build software and the rate of change accelerates, Max believes the world will need more experienced engineers to manage that complexity.</span></p></li></ul><h2><strong>In this episode, we cover:</strong></h2><p>(<a href="https://www.youtube.com/watch?v=gEuD4bP17uc">00:00</a>) Intro</p><p>(<a href="https://www.youtube.com/watch?v=gEuD4bP17uc&amp;t=114s">01:54</a>) Max&#8217;s role at Capital One</p><p>(<a href="https://www.youtube.com/watch?v=gEuD4bP17uc&amp;t=172s">02:52</a>) Where to invest in engineering organizations</p><p>(<a href="https://www.youtube.com/watch?v=gEuD4bP17uc&amp;t=396s">06:36</a>) The new entry-level engineering skills to pay attention to</p><p>(<a href="https://www.youtube.com/watch?v=gEuD4bP17uc&amp;t=639s">10:39</a>) Why deepening your understanding still matters</p><p>(<a href="https://www.youtube.com/watch?v=gEuD4bP17uc&amp;t=749s">12:29</a>) The bottlenecks around code review</p><p>(<a href="https://www.youtube.com/watch?v=gEuD4bP17uc&amp;t=1180s">19:40</a>) Why human code reviews still have value</p><p>(<a href="https://www.youtube.com/watch?v=gEuD4bP17uc&amp;t=1520s">25:20</a>) Why not all PRs need human review</p><p>(<a href="https://www.youtube.com/watch?v=gEuD4bP17uc&amp;t=1571s">26:11</a>) The vicious cycle of AI-driven development</p><p>(<a href="https://www.youtube.com/watch?v=gEuD4bP17uc&amp;t=1813s">30:13</a>) Using LLMs for refactoring</p><p>(<a href="https://www.youtube.com/watch?v=gEuD4bP17uc&amp;t=2038s">33:58</a>) AI readiness and why fixing engineering systems is so hard</p><p>(<a href="https://www.youtube.com/watch?v=gEuD4bP17uc&amp;t=2322s">38:42</a>) Why research is needed on creating good senior engineers</p><p>(<a href="https://www.youtube.com/watch?v=gEuD4bP17uc&amp;t=2460s">41:00</a>) Why AI will increase the need for engineers</p><p><strong><span>Where to find Max Kanat-Alexander:</span></strong></p><p><span>&#8226; LinkedIn: </span><a href="https://www.linkedin.com/in/mkanat"><span>https://www.linkedin.com/in/mkanat</span></a></p><p><span>&#8226; X: </span><a href="https://x.com/mkanat"><span>https://x.com/mkanat</span></a></p><p><span>&#8226; Blog: </span><a href="https://www.codesimplicity.com">https://www.codesimplicity.com</a></p><p><strong><span>Where to find Brian Houck:</span></strong></p><p><span>&#8226; LinkedIn: </span><a href="https://www.linkedin.com/in/brianhouck"><span>https://www.linkedin.com/in/brianhouck</span></a></p><h2><strong>Referenced:</strong></h2><p><span>&#8226; </span><a href="https://getdx.com/corefour"><span>DX Core 4 Productivity Framework</span></a></p><p><span>&#8226; </span><a href="https://www.capitalone.com/"><span>Capital One</span></a></p><p><span>&#8226; </span><a href="https://google.github.io/eng-practices/review/"><span>Code Review Guidelines at Google</span></a></p><p><span>&#8226; </span><a href="https://www.amazon.com/dp/1449313892?lv=shuf&amp;channelId=500&amp;plpRedirect=mhFallback"><span>Code Simplicity by Max Kanat-Alexander</span></a></p><p><span>&#8226; </span><a href="https://getdx.com/podcast/how-microsoft-sees-engineering-bottlenecks-changing-with-ai/"><span>How Microsoft sees engineering bottlenecks changing with AI</span></a></p>]]></content:encoded></item><item><title><![CDATA[Can “Predictable Delivery” be measured?]]></title><description><![CDATA[Five statistical techniques for turning delivery history into forecasting confidence.]]></description><link>https://newsletter.getdx.com/p/can-predictable-delivery-be-measured</link><guid isPermaLink="false">https://newsletter.getdx.com/p/can-predictable-delivery-be-measured</guid><dc:creator><![CDATA[Brian Houck]]></dc:creator><pubDate>Fri, 21 Aug 2026 10:03:23 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/32476bde-2e45-4b1f-8301-94cff44d0a13_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em><strong><span>Welcome to the latest issue of Engineering Enablement,</span></strong><span> a weekly newsletter sharing research and perspectives on developer productivity.</span></em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p><span>An engineering leader recently asked me how to measure whether their team is predictable in their software delivery. While organizations collect many engineering metrics (cycle time, throughput, review latency, deployment frequency, etc.), there is rarely a single metric that directly measures predictability.</span></p><p><span>The central question is:</span></p><blockquote><p><strong><span>Can we use the metrics we already collect to quantify delivery predictability?</span></strong></p></blockquote><p><span>Higher delivery predictability enables more accurate release planning, resource allocation, dependency management, and stakeholder communication. Improving predictability is therefore not simply about increasing throughput; it is about increasing confidence in engineering plans.</span></p><h3><span>Key observation</span></h3><p><span>Delivery predictability is not another engineering metric; it is a statistical property of a delivery process.</span></p><p><span>Traditional metrics tell us how much work teams complete or how long work takes. Predictability tells us, given historical performance, how confidently can we forecast future delivery? Predictability is a measure of uncertainty. For example, a team that consistently delivers 20 work items each sprint is highly predictable. A team that alternates between delivering 5 and 35 work items may have the same average throughput, but is far less predictable. The distinction is not average performance. It is variation.</span></p><p><span>A note on two lenses. &#8220;Delivery predictability&#8221; can mean two related but distinct things. The first is flow stability: how consistent and low-variance a team&#8217;s delivery is over time. The second is commitment reliability: how closely actual delivery matches what was committed (a ratio of committed vs. completed work). This article focuses on flow stability, because it can be derived directly from the metrics most organizations already collect.</span></p><h3><span>Example</span></h3><p><span>Let&#8217;s walk through a practical example of two hypothetical teams&#8217; count of completed work items, by sprint:</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ztij!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7df4f5-980e-4ffc-b5f5-5c0194466eeb_1722x562.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ztij!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7df4f5-980e-4ffc-b5f5-5c0194466eeb_1722x562.png 424w, https://substackcdn.com/image/fetch/$s_!Ztij!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7df4f5-980e-4ffc-b5f5-5c0194466eeb_1722x562.png 848w, https://substackcdn.com/image/fetch/$s_!Ztij!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7df4f5-980e-4ffc-b5f5-5c0194466eeb_1722x562.png 1272w, https://substackcdn.com/image/fetch/$s_!Ztij!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7df4f5-980e-4ffc-b5f5-5c0194466eeb_1722x562.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ztij!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7df4f5-980e-4ffc-b5f5-5c0194466eeb_1722x562.png" width="1456" height="475" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f7df4f5-980e-4ffc-b5f5-5c0194466eeb_1722x562.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:475,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:30221,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.getdx.com/i/210658582?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7df4f5-980e-4ffc-b5f5-5c0194466eeb_1722x562.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ztij!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7df4f5-980e-4ffc-b5f5-5c0194466eeb_1722x562.png 424w, https://substackcdn.com/image/fetch/$s_!Ztij!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7df4f5-980e-4ffc-b5f5-5c0194466eeb_1722x562.png 848w, https://substackcdn.com/image/fetch/$s_!Ztij!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7df4f5-980e-4ffc-b5f5-5c0194466eeb_1722x562.png 1272w, https://substackcdn.com/image/fetch/$s_!Ztij!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7df4f5-980e-4ffc-b5f5-5c0194466eeb_1722x562.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>Both teams deliver exactly the same average throughput. The difference is that Team A is predictable while Team B is not. The remainder of this article describes several statistical techniques that quantify this difference.</span></p><h3><span>What different statistical techniques tell us</span></h3><p><span>The following statistical techniques each answer a different question about delivery predictability using the Team A and Team B example.</span></p><h4><span>Standard deviation</span></h4><p><span>Standard deviation measures how much a team&#8217;s delivery typically varies from its average. A low standard deviation means delivery is consistent from sprint to sprint, while a high standard deviation indicates greater volatility.</span></p><p><span>In our example, both teams average 20 completed work items per sprint. However, Team A&#8217;s delivery stays tightly clustered around that average, while Team B swings between 10 and 30. Team B therefore has a much larger standard deviation, despite identical average throughput.</span></p><p><strong><span>Leadership takeaway:</span></strong><em><span> </span></em><span>Standard deviation answers the question, &#8220;How much does this team&#8217;s delivery naturally fluctuate?&#8221; It is often the simplest way to quantify delivery consistency.</span></p><h4><span>Coefficient of variation</span></h4><p><span>Standard deviation alone can be misleading when comparing teams of different sizes. A team delivering 80 &#177; 5 work items is more variable in absolute terms than Team A (20 &#177; 1.3), but proportionally it is just as predictable.</span></p><p><span>The coefficient of variation normalizes the standard deviation by the team&#8217;s average throughput, allowing comparisons across teams regardless of scale.</span></p><p><span>Although Teams A and B have the same average in our example, this measure becomes valuable when comparing organizations with very different delivery volumes.</span></p><p><strong><span>Leadership takeaway:</span></strong><em><span> </span></em><span>Which teams are most predictable relative to the amount of work they deliver?</span></p><h4><span>Percentiles and distribution shape</span></h4><p><span>The sections above use throughput per sprint. Percentiles are most illuminating on a per-item measure such as cycle time, the number of days a work item takes to go from </span><em><span>started</span></em><span> to </span><em><span>done</span></em><span>, so this section shifts to that lens.</span></p><p><span>Averages describe the typical case, but predictability is usually broken by the atypical case. Percentiles, rather than the mean, show how often delivery runs long and by how much.</span></p><p><span>Consider two teams that both have a median (P50) cycle time of 4 days. If the first team&#8217;s 95th percentile (P95) is 7 days while the second team&#8217;s P95 is 21 days, they are not equally predictable. The first team&#8217;s slowest work is only modestly slower than its typical work. The second team&#8217;s slowest work takes three weeks, even though half its items finish in under four days.</span></p><p><span>The gap between P50 and P95 is, in effect, a predictability measure of its own. A tight gap means most work behaves like the typical case. A wide gap means the typical case tells you little about the work that actually puts a commitment at risk.</span></p><p><span>This is why a healthy median can still mask an unpredictable process: it is the tail, not the middle, that causes missed forecasts.</span></p><p><strong><span>Leadership takeaway</span></strong><span>: When we commit to a date, are we planning against the typical case or the realistic worst case? Percentiles let us answer, &#8220;X% of work of this type finishes within N days,&#8221; a far more honest basis for a forecast than an average.</span></p><h4><span>Statistical process control (control charts)</span></h4><p><span>Control charts answer a different question. Rather than measuring overall variability, they determine whether a delivery process has fundamentally changed.</span></p><p><span>Suppose Team A suddenly delivered 9 work items in Sprint 4 instead of its usual ~20. While the average throughput might not change much immediately, a control chart would likely flag Sprint 4 as outside the team&#8217;s normal operating range.</span></p><p><span>This often indicates that something meaningful occurred, such as a production incident, staffing change, organizational restructuring, or dependency bottleneck.</span></p><p><strong><span>Leadership takeaway:</span></strong><span> Did something change that warrants investigation, or is this simply normal variation?</span></p><h4><span>Prediction intervals</span></h4><p><span>Prediction intervals translate historical variability into forward-looking planning confidence. Rather than forecasting that Team A will complete exactly 20 work items next sprint, we estimate the range it is likely to land in.</span></p><p><span>Using a 95% prediction interval, Team A is forecast to deliver roughly 17 to 23 work items next sprint. Team B, with the identical average, is forecast at 0 to 40.</span></p><p><span>That second range deserves a moment. Team B&#8217;s forecast spans from delivering nothing to delivering twice its average. It is technically correct and completely useless for planning, which is precisely the point. Team B does not have a throughput problem. It has a forecasting problem, and no average will ever surface it. Notice that neither team&#8217;s average changed. Only the confidence around that average did.</span></p><p><span>The practical implication is that interval width, maybe more than the forecast itself, is the thing worth tracking over time. A team whose range narrows is becoming more predictable, even if its average never moves.</span></p><p><strong><span>Leadership takeaway</span></strong><span>: How confidently can we forecast future delivery, and how wide is the range we should plan against?</span></p><h3><span>Beyond the spreadsheet: machine learning</span></h3><p><span>Everything above can be done in a spreadsheet. That&#8217;s deliberate. But if you have the data volume and the appetite, traditional machine learning (not LLMs) extends three of these techniques in genuinely useful ways.</span></p><p><strong><span>Conditional forecasting</span></strong><span>. The prediction intervals above are team-level, with one range for everything the team does. Quantile regression forests and conformal prediction produce intervals conditioned on the specific item. Given its size, component, and the current queue depth, this work finishes in 3 to 12 days with 90% confidence. That&#8217;s a better input to a release plan than a team-wide average.</span></p><p><strong><span>Survival analysis </span></strong><span>for work in flight. Cycle time statistics only describe items that have already finished, which quietly biases the picture toward work that went well. Survival models handle still-open items correctly and answer the question planners actually ask: what is the probability this item ships before the release date?</span></p><p><strong><span>Driver attribution</span></strong><span>. Identifying what explains variation is hard, and the place modeling can really earn its keep. A gradient-boosted model with SHAP values can rank which operational signals (review latency, WIP, incident load, dependency count) account for the most variance in delivery. Treat the output as associational and as a hypothesis generator, not as evidence of cause.</span></p><p><span>Two caveats. Many teams don&#8217;t have enough history for any of this. Eight sprints is a worked example, not a training set. And the second caveat is that you need good workflow data hygiene. A model trained on tickets that sat in &#8220;In Review&#8221; for three weeks after they were actually merged will confidently forecast fiction.</span></p><p><span>Start with the spreadsheet.</span></p><h3><span>Recommendation: Avoid a single predictability score</span></h3><p><span>While it may be tempting to distill delivery predictability into a single score, I recommend against doing so. A single number simplifies reporting, but it can also obscure important differences between teams and make it difficult to identify the underlying causes of delivery risk.</span></p><p><span>For example, teams may all receive similar scores while exhibiting fundamentally different delivery characteristics:</span></p><ul><li><p><strong><span>Consistently fast</span></strong><span> &#8211; High throughput with low variability.</span></p></li><li><p><strong><span>Consistently slow</span></strong><span> &#8211; Lower throughput, but reliable and predictable.</span></p></li><li><p><strong><span>Highly variable</span></strong><span> &#8211; Similar average performance, but large sprint-to-sprint fluctuations.</span></p></li><li><p><strong><span>Steadily improving</span></strong><span> &#8211; Predictability changing over time as the team&#8217;s delivery process matures, which a point-in-time score hides entirely.</span></p></li></ul><p><span>Rather than reducing predictability to a single KPI, I recommend reporting three complementary views:</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Vz2E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd679f649-1997-42f8-91ff-9134fb68df08_2400x858.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Vz2E!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd679f649-1997-42f8-91ff-9134fb68df08_2400x858.png 424w, https://substackcdn.com/image/fetch/$s_!Vz2E!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd679f649-1997-42f8-91ff-9134fb68df08_2400x858.png 848w, https://substackcdn.com/image/fetch/$s_!Vz2E!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd679f649-1997-42f8-91ff-9134fb68df08_2400x858.png 1272w, https://substackcdn.com/image/fetch/$s_!Vz2E!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd679f649-1997-42f8-91ff-9134fb68df08_2400x858.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Vz2E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd679f649-1997-42f8-91ff-9134fb68df08_2400x858.png" width="1456" height="521" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d679f649-1997-42f8-91ff-9134fb68df08_2400x858.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:521,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:213647,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.getdx.com/i/210658582?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd679f649-1997-42f8-91ff-9134fb68df08_2400x858.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Vz2E!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd679f649-1997-42f8-91ff-9134fb68df08_2400x858.png 424w, https://substackcdn.com/image/fetch/$s_!Vz2E!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd679f649-1997-42f8-91ff-9134fb68df08_2400x858.png 848w, https://substackcdn.com/image/fetch/$s_!Vz2E!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd679f649-1997-42f8-91ff-9134fb68df08_2400x858.png 1272w, https://substackcdn.com/image/fetch/$s_!Vz2E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd679f649-1997-42f8-91ff-9134fb68df08_2400x858.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>This approach preserves the information leaders need for planning while providing engineering teams with actionable insights into where process improvements will have the greatest impact.</span></p><h3><span>Recommendation: Use a multi-step approach</span></h3><p><span>I recommend measuring delivery predictability in four steps:</span></p><ol><li><p><strong><span>Select a delivery outcome</span></strong><span>. Choose a metric that represents delivery performance, such as throughput, completed work items, cycle time, or PR completion time.</span></p></li><li><p><strong><span>Measure historical variability</span></strong><span>. Quantify how consistently that outcome is achieved over time using techniques such as standard deviation, percentiles, and control charts.</span></p></li><li><p><strong><span>Forecast future delivery</span></strong><span>. Use prediction intervals to estimate a range of likely outcomes rather than relying on a single point estimate.</span></p></li><li><p><strong><span>Identify the drivers of variation</span></strong><span>. Use existing engineering metrics, such as review latency, incident load, build reliability, focus time, or team composition, to explain changes in predictability and surface opportunities for improvement.</span></p></li></ol><p><span>The goal is not to eliminate variation, but to understand it well enough to plan around it.</span></p><div><hr></div><p>That&#8217;s it for this week. Thanks for reading.</p><p>-Brian</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/p/can-predictable-delivery-be-measured?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/p/can-predictable-delivery-be-measured?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[Is there a relationship between cycle time and PR throughput?]]></title><description><![CDATA[There&#8217;s a closer relationship between the two in high-throughput organizations. In low-throughput organizations, there are other variables at play.]]></description><link>https://newsletter.getdx.com/p/is-there-a-relationship-between-cycle</link><guid isPermaLink="false">https://newsletter.getdx.com/p/is-there-a-relationship-between-cycle</guid><dc:creator><![CDATA[Brian Houck]]></dc:creator><pubDate>Wed, 19 Aug 2026 10:01:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b634985d-db98-4738-ae3d-aa1c5eccd060_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em><strong><span>Welcome to the latest issue of Engineering Enablement, </span></strong><span>a weekly newsletter sharing research and perspectives on developer productivity.</span></em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/subscribe?"><span>Subscribe now</span></a></p><p><span>DX&#8217;s Q2 AI Impact Report is now available with the latest research on AI&#8217;s impact across engineering organizations. </span><a href="https://getdx.com/resources/?utm_source=newsletter">Read the full report.</a></p><div><hr></div><p><span>When teams reduce the time it takes to complete a pull request, it&#8217;s natural to assume they&#8217;ll be able to deliver more work, but this relationship is rarely quantified at scale. A customer recently brought this question to DX&#8217;s Research team, asking us to look into the relationship between PR cycle time and PR throughput.</span></p><blockquote><p><strong><span>Key takeaway: </span></strong><span>High-throughput organizations are highly sensitive to long cycle times, potentially indicating that bottlenecks like review wait times are particularly acute for these orgs. For lower-throughput teams, there is no meaningful relationship between cycle time and throughput, suggesting bottlenecks exist elsewhere.</span></p></blockquote><h3><span>Queuing theory behind cycle time and throughput</span></h3><p><a href="https://en.wikipedia.org/wiki/Little%27s_law"><span>Little&#8217;s Law</span></a><span>, a theorem from queuing theory, helps explain the relationship between three things: how much work is in progress (WIP), how quickly work gets completed, and how long each piece of work takes. For software teams, we can think of these as:</span></p><ul><li><p><span>WIP: the number of pull requests currently open,</span></p></li><li><p><span>Pull Request (PR) Throughput: number of pull requests merged over a period of time, and</span></p></li><li><p><span>PR cycle time: how long a pull request takes to move from development through review and merge.</span></p></li></ul><p><span>The equation is straightforward. When the amount and type of work stay relatively consistent, work that moves through the process faster can help a team complete more work over time. This relationship is commonly used to explain how software teams improve flow but it hasn&#8217;t yet been quantified in the developer productivity space.</span></p><p><a href="https://dl.acm.org/doi/10.1145/3544791"><span>Research by Maddila et al.</span></a><span> shows that pull requests often spend significant amounts of time waiting, not being actively coded or reviewed, and implies that cycle time isn&#8217;t a fixed metric. Teams can recover some of that waiting time by improving the workflow around development and review, without changing the process of writing code.</span></p><p><span>To understand how PR cycle time relates to throughput, we looked at the relationship between median PR cycle time and average PR throughput per developer across organizations using data from 500+ DX customers from January-July 2026, inclusive.</span></p><h3><span>Cycle time matters more for high-throughput organizations than it does low-throughput organizations</span></h3><p><span>Our analysis suggests that PR cycle time is not a reliable standalone predictor of throughput. In the raw data, organizations with similar review speeds show a wide range of throughput levels, indicating that other factors, like PR size and organizational context, likely play an important role in determining output.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dNMV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F447a4744-154e-4ccc-b7d5-575359cb2d8c_4200x2654.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dNMV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F447a4744-154e-4ccc-b7d5-575359cb2d8c_4200x2654.png 424w, https://substackcdn.com/image/fetch/$s_!dNMV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F447a4744-154e-4ccc-b7d5-575359cb2d8c_4200x2654.png 848w, https://substackcdn.com/image/fetch/$s_!dNMV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F447a4744-154e-4ccc-b7d5-575359cb2d8c_4200x2654.png 1272w, https://substackcdn.com/image/fetch/$s_!dNMV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F447a4744-154e-4ccc-b7d5-575359cb2d8c_4200x2654.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dNMV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F447a4744-154e-4ccc-b7d5-575359cb2d8c_4200x2654.png" width="1456" height="920" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/447a4744-154e-4ccc-b7d5-575359cb2d8c_4200x2654.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:920,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1201873,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.getdx.com/i/211734214?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F447a4744-154e-4ccc-b7d5-575359cb2d8c_4200x2654.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dNMV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F447a4744-154e-4ccc-b7d5-575359cb2d8c_4200x2654.png 424w, https://substackcdn.com/image/fetch/$s_!dNMV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F447a4744-154e-4ccc-b7d5-575359cb2d8c_4200x2654.png 848w, https://substackcdn.com/image/fetch/$s_!dNMV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F447a4744-154e-4ccc-b7d5-575359cb2d8c_4200x2654.png 1272w, https://substackcdn.com/image/fetch/$s_!dNMV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F447a4744-154e-4ccc-b7d5-575359cb2d8c_4200x2654.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>The median trend is relatively flat across most of the distribution, with throughput beginning to decline more noticeably only at longer cycle times. This indicates that reducing cycle time may not automatically increase throughput for every organization, particularly when teams are already operating within a typical throughput range.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IacL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73faa85b-8f8c-4c75-a8b1-4fcf57632255_4200x2884.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IacL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73faa85b-8f8c-4c75-a8b1-4fcf57632255_4200x2884.png 424w, https://substackcdn.com/image/fetch/$s_!IacL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73faa85b-8f8c-4c75-a8b1-4fcf57632255_4200x2884.png 848w, https://substackcdn.com/image/fetch/$s_!IacL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73faa85b-8f8c-4c75-a8b1-4fcf57632255_4200x2884.png 1272w, https://substackcdn.com/image/fetch/$s_!IacL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73faa85b-8f8c-4c75-a8b1-4fcf57632255_4200x2884.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IacL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73faa85b-8f8c-4c75-a8b1-4fcf57632255_4200x2884.png" width="1456" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/73faa85b-8f8c-4c75-a8b1-4fcf57632255_4200x2884.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1397532,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.getdx.com/i/211734214?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73faa85b-8f8c-4c75-a8b1-4fcf57632255_4200x2884.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IacL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73faa85b-8f8c-4c75-a8b1-4fcf57632255_4200x2884.png 424w, https://substackcdn.com/image/fetch/$s_!IacL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73faa85b-8f8c-4c75-a8b1-4fcf57632255_4200x2884.png 848w, https://substackcdn.com/image/fetch/$s_!IacL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73faa85b-8f8c-4c75-a8b1-4fcf57632255_4200x2884.png 1272w, https://substackcdn.com/image/fetch/$s_!IacL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73faa85b-8f8c-4c75-a8b1-4fcf57632255_4200x2884.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>Because median results can obscure differences across the performance distribution, we also used quantile regression to look at this relationship at the 25th, 50th, 75th, and 90th percentiles of throughput. This approach allows us to look at whether the association between cycle time and throughput changes for lower-, median-, and higher-throughput organizations.</span></p><p><span>The results show that the relationship between cycle time and throughput is concentrated among higher-performing organizations.</span></p><ul><li><p><span>At the 25th percentile, there is no statistically significant relationship between cycle time and throughput (p=0.366, &#946;=-1.1).</span></p></li><li><p><span>At the median, there is a modest but statistically significant negative relationship (p=0.0008, &#946;=-4.0).</span></p></li><li><p><span>At the 75th and 90th percentiles, the negative relationship becomes substantially stronger and remains statistically significant (p=0.000, &#946;=-11.7; p=0.000, &#946;=-12.8).</span></p></li></ul><p><span>In practical terms, high-throughput teams are the most sensitive to cycle time slowdowns. For teams already in the bottom 25% of throughput, cycle time barely matters. For teams in the top 10%, it matters quite a bit.</span></p><h2><span>Final thoughts: Speed is a safeguard but not a universal solution</span></h2><p><span>Across most organizations, throughput stays fairly steady as PR cycle time increases. The relationship between the two becomes more noticeable around 17 hours. Beyond that point, median throughput starts to decline. This makes 17 hours a useful inflection point, not a universal target. For teams below that point, reducing cycle time may not lead to a meaningful increase in throughput. But once cycle times go beyond it, longer review cycles may start to limit teams that have the capacity to deliver more.</span></p><p><span>Think of the 17-hour mark as a warning sign and not a productivity cutoff. Teams with longer cycle times may benefit from looking more closely at review queues, reviewer availability, PR size, and other sources of waiting. These results show an association, not proof that longer cycle times directly cause lower throughput. Cycle time is most useful when considered alongside quality, work complexity, team structure, and other developer-experience measures, not as a standalone productivity target.</span></p><div><hr></div><p><span>This week&#8217;s featured DevProd job openings. See more </span><a href="https://getdx.com/resources/devex-jobs/">open roles here</a><span>.</span></p><ul><li><p><strong>Ashby</strong><span> is hiring an </span><a href="https://jobs.ashbyhq.com/Ashby/0f5dbf59-687b-4d88-88a7-73ee0a66b48d?utm_source=PRgMeEgv1Z">Staff Platform Engineer</a><span> | Remote</span></p></li><li><p><strong>Carta</strong><span> is hiring a </span><a href="https://www.linkedin.com/jobs/view/4404135082">Sr. Software Engineer II, Developer Experience</a><span> | Santa Clara, CA; San Francisco, CA; New York, NY</span></p></li><li><p><strong>Figma</strong><span> is hiring a </span><a href="https://job-boards.greenhouse.io/figma/jobs/5790627004?gh_jid=5790627004&amp;gh_src=db0ijm3x4us">Staff Software Engineer, Developer Experience</a><span> | Remote; US</span></p></li><li><p><strong>Mastercard</strong> is hiring a <a href="https://mastercard.wd1.myworkdayjobs.com/CorporateCareers/job/New-York-City-New-York/Vice-President--Software-Engineering_R-286632">Vice President, Software Engineering</a> | New York</p></li><li><p><strong>Notion</strong><span> is hiring a </span><a href="https://jobs.ashbyhq.com/notion/49bdf081-6e20-4323-8c73-6d6b19544ff5">Software Engineer, Developer Experience</a><span> | Hybrid; Hyderabad, India</span></p></li></ul><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/p/is-there-a-relationship-between-cycle?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/p/is-there-a-relationship-between-cycle?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[AI in engineering: Q2 2026 benchmarks & research readout]]></title><description><![CDATA[Brian Houck and Justin Reock unpack DX&#8217;s latest AI Impact Report, exploring where AI is improving engineering velocity and where those gains are failing to translate into better outcomes.]]></description><link>https://newsletter.getdx.com/p/ai-in-engineering-q2-2026-benchmarks</link><guid isPermaLink="false">https://newsletter.getdx.com/p/ai-in-engineering-q2-2026-benchmarks</guid><dc:creator><![CDATA[Brian Houck]]></dc:creator><pubDate>Fri, 14 Aug 2026 16:00:48 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/210943019/2e9703b85b75b80db162b7168468cc74.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Listen and watch now on <strong><a href="https://youtu.be/Bf44cPeNPjg">YouTube</a>, <a href="https://podcasts.apple.com/us/podcast/engineering-enablement-by-abi-noda/id1619140476">Apple</a>, and <a href="https://open.spotify.com/show/3NxjyIsuxeDMQtisDqBy7D">Spotify</a></strong>.</p><p><span>AI adoption among software developers is approaching 100%, AI-authored code now makes up more than half of merged code, and developers report saving more time with AI every quarter. But those gains aren&#8217;t translating evenly into better outcomes.</span></p><p><span>In this episode of Engineering Enablement, I sit down with Justin Reock, Deputy CTO at DX, to unpack findings from our latest AI Impact Report. We explore where AI is improving engineering velocity and developer experience, where concerns are emerging around PR size, change confidence, and failure rates, and why rising AI spend has yet to produce a comparable increase in innovation.</span></p><p><span>We also discuss how AI is changing the meaning of code maintainability and where developers&#8217; AI-driven time savings may actually be going.</span></p><div id="youtube2-Bf44cPeNPjg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Bf44cPeNPjg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Bf44cPeNPjg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2><strong>Some takeaways: </strong></h2><h3><strong><span>AI adoption is no longer the interesting question</span></strong></h3><ul><li><p><strong><span>AI adoption is approaching 100%, making adoption itself a less useful measure of success.</span></strong><span> DX sees 95% adoption through telemetry, and even developers outside that group are merging AI-generated code into production.</span></p></li><li><p><strong><span>The more important question is how effectively developers are using AI.</span></strong><span> As adoption becomes nearly universal, organizations need to look beyond usage and understand how sophisticated their AI usage is and whether or not it is producing meaningful outcomes.</span></p></li></ul><h3><strong><span>AI is increasing engineering velocity, but the gains need context</span></strong></h3><ul><li><p><strong><span>Developers report saving more time with AI each quarter, while PR throughput and deployment frequency are also increasing.</span></strong><span> Recent causal research gives additional evidence that AI is contributing to the increase in throughput.</span></p></li><li><p><strong><span>More than half of merged code is now AI-authored.</span></strong><span> But metrics like time saved, code generated, and PR throughput don&#8217;t tell us on their own whether teams are creating more customer value.</span></p></li></ul><h3><strong><span>Larger PRs create risks that extend beyond code review</span></strong></h3><ul><li><p><strong><span>Average PR size has increased from 42 to 72 lines of code, raising concerns about quality and code understanding.</span></strong><span> Larger PRs are harder to review and revert, more likely to be rubber-stamped, and can move more slowly through the development system.</span></p></li><li><p><strong><span>Code bloat can also create a vicious cycle of rising AI costs.</span></strong><span> As agents generate larger codebases, future agents have more code to read into context, consuming additional tokens repeatedly rather than creating only a one-time cost.</span></p></li></ul><h3><strong><span>Developers can change code more easily while trusting it less</span></strong></h3><ul><li><p><strong><span>Code maintainability is improving while change confidence is declining, even though those measures have historically been closely correlated.</span></strong><span> AI may make code easier to understand and modify while leaving developers less confident that their changes won&#8217;t break something in production.</span></p></li><li><p><strong><span>AI may be changing what &#8220;maintainable&#8221; code actually means.</span></strong><span> If developers increasingly rely on agents to understand and modify code, traditional measures of maintainability and ownership may no longer capture the same things they once did.</span></p></li></ul><h3><strong><span>AI is amplifying differences between engineering organizations</span></strong></h3><ul><li><p><strong><span>Change failure rates are becoming more volatile rather than moving uniformly in one direction.</span></strong><span> Some organizations continue to perform well while others are seeing higher failure rates, suggesting that AI can amplify existing strengths and weaknesses.</span></p></li><li><p><strong><span>Developer experience is also showing concerning signals despite clear improvements in areas like documentation.</span></strong><span> DX&#8217;s Developer Experience Index has fallen about 2% over two quarters, with declines in drivers such as incremental delivery outweighing some of AI&#8217;s benefits.</span></p></li></ul><h3><strong><span>AI spending is growing much faster than measurable innovation</span></strong></h3><ul><li><p><strong><span>AI spend has risen dramatically, reaching roughly 28 times year-ago levels among the largest companies in the dataset.</span></strong><span> At the same time, developer ramp-up has improved, but the innovation ratio has increased by only about one percentage point.</span></p></li><li><p><strong><span>Time saved by AI can easily be absorbed by existing organizational friction.</span></strong><span> Meeting-heavy days, interruptions, build and test wait times, developer environment toil, and review delays remain major sources of lost time. In one real-world case study, reducing unnecessary meetings produced roughly twice the PR-throughput gains achieved through AI.</span></p></li><li><p><strong><span>Ultimately, AI efficiency only matters if it translates into customer value.</span></strong><span> Removing friction and increasing throughput are useful, but the larger question is whether those gains allow organizations to ship more valuable software.</span></p></li></ul><h2><strong>In this episode, we cover:</strong></h2><p>(<a href="https://www.youtube.com/watch?v=Bf44cPeNPjg">00:00</a>) Intro</p><p>(<a href="https://www.youtube.com/watch?v=Bf44cPeNPjg&amp;t=105s">01:45</a>) How the current AI impact report is tied to Core 4</p><p>(<a href="https://www.youtube.com/watch?v=Bf44cPeNPjg&amp;t=204s">03:24</a>) The state of AI adoption</p><p>(<a href="https://www.youtube.com/watch?v=Bf44cPeNPjg&amp;t=312s">05:12</a>) How much time AI is saving developers and percentage of AI-authored code</p><p>(<a href="https://www.youtube.com/watch?v=Bf44cPeNPjg&amp;t=467s">07:47</a>) AI&#8217;s impact on PR throughput and deployment frequency</p><p>(<a href="https://www.youtube.com/watch?v=Bf44cPeNPjg&amp;t=669s">11:09</a>) How EMs are shipping more code</p><p>(<a href="https://www.youtube.com/watch?v=Bf44cPeNPjg&amp;t=782s">13:02</a>) Why larger PRs may be problematic</p><p>(<a href="https://www.youtube.com/watch?v=Bf44cPeNPjg&amp;t=1101s">18:21</a>) The growing gap between code maintainability and change confidence</p><p>(<a href="https://www.youtube.com/watch?v=Bf44cPeNPjg&amp;t=1308s">21:48</a>) How perceived code quality varies by organization size</p><p>(<a href="https://www.youtube.com/watch?v=Bf44cPeNPjg&amp;t=1429s">23:49</a>) The growing volatility in change failure rates</p><p>(<a href="https://www.youtube.com/watch?v=Bf44cPeNPjg&amp;t=1687s">28:07</a>) What the Developer Experience Index reveals</p><p>(<a href="https://www.youtube.com/watch?v=Bf44cPeNPjg&amp;t=1940s">32:20</a>) Cost, dev ramp-up, and innovation ratio</p><p>(<a href="https://www.youtube.com/watch?v=Bf44cPeNPjg&amp;t=2138s">35:38</a>) Where AI time savings are getting lost</p><p>(<a href="https://www.youtube.com/watch?v=Bf44cPeNPjg&amp;t=2231s">37:11</a>) Questions and wrap-up</p><p><strong><span>Where to find Justin Reock:</span></strong></p><p><span>&#8226; LinkedIn: </span><a href="https://www.linkedin.com/in/justinreock"><span>https://www.linkedin.com/in/justinreock</span></a></p><p><strong><span>Where to find Brian Houck:</span></strong></p><p><span>&#8226; LinkedIn: </span><a href="https://www.linkedin.com/in/brianhouck"><span>https://www.linkedin.com/in/brianhouck</span></a></p><h2><strong>Referenced:</strong></h2><p><span>&#8226; </span><a href="https://getdx.com/corefour"><span>DX Core 4 Productivity Framework</span></a></p><p><span>&#8226; </span><a href="https://getdx.com/report/State-of-AI-Impact-in-Engineering-Q2-Report/"><span>AI Impact report</span></a></p><p><span>&#8226; </span><a href="https://newsletter.getdx.com/p/the-ai-native-developer"><span>The AI-native developer - by Brian Houck</span></a></p><p><span>&#8226; </span><a href="https://arxiv.org/pdf/2606.00438"><span>GitHub Copilot and Developer Productivity: An Observational Dose-Response Analysis</span></a></p><p><span>&#8226; </span><a href="https://www.nber.org/papers/w35275"><span>Writing Code vs. Shipping Code: Productivity Effects Across Generations of AI Coding Tools | NBER</span></a></p><p><span>&#8226; </span><a href="https://annievella.com/posts/the-productivity-experience-paradox/"><span>The Productivity-Experience Paradox - Annie Vella</span></a></p><p><span>&#8226; </span><a href="https://arxiv.org/abs/2605.04259"><span>EngThrive: Make It Fast and Easy to Do Great Work</span></a></p><p><span>&#8226; </span><a href="https://newsletter.getdx.com/p/the-ai-efficiency-plateau"><span>The AI efficiency plateau - by Brian Houck</span></a></p><p><span>&#8226; </span><a href="https://martinfowler.com/bliki/TradableQualityHypothesis.html"><span>Tradable Quality Hypothesis</span></a></p>]]></content:encoded></item><item><title><![CDATA[“Your benchmarks don't apply to us"]]></title><description><![CDATA[Why benchmark trends matter more than you think.]]></description><link>https://newsletter.getdx.com/p/your-benchmarks-dont-apply-to-us</link><guid isPermaLink="false">https://newsletter.getdx.com/p/your-benchmarks-dont-apply-to-us</guid><dc:creator><![CDATA[Brian Houck]]></dc:creator><pubDate>Fri, 14 Aug 2026 10:06:04 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/75569f0c-76b2-48a4-a27c-f05caba4b8b4_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em><span>Welcome to the latest issue of Engineering Enablement, a weekly newsletter sharing research and perspectives on developer productivity.</span></em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/subscribe?"><span>Subscribe now</span></a></p><p><span>DX&#8217;s updated 2026 engineering benchmarks are now available to all customers, with new Core 4 data across industries and geographies. </span><a href="https://getdx.com/research/benchmarks/"><span>See 2026 benchmarks here.</span></a></p><div><hr></div><p><span>Many engineering leaders are right when they tell me that industry benchmarks don&#8217;t apply to them. They&#8217;re just wrong about what that means.</span></p><p><span>Most have already looked at a benchmark, compared it to their own numbers, and concluded the comparison isn&#8217;t useful. The mistake isn&#8217;t recognizing that their organization is different&#8212;it&#8217;s expecting a benchmark to answer a question it was never designed to answer.</span></p><p><span>Organizational context genuinely matters. Smaller engineering organizations consistently outperform larger ones on many metrics. Technology companies spend more time on new features than traditional enterprises. Mobile engineering has sufficiently different workflows that it warrants its own benchmark segment. Even survey response styles differ systematically across regions, making some absolute comparisons misleading. </span></p><p><span>The mix of factors goes far beyond things we can easily segment. Every engineering organization has its own governance model, release process, architecture, regulatory requirements, engineering culture, and history. Some require five approvals before deployment; others deploy continuously. Some invest heavily in internal platforms;others rely on commercial tooling. These choices can dramatically affect developer metrics, making two organizations within the same industry or size cohort look very different from each other.</span></p><p><span>Those differences are real, but they don&#8217;t make benchmarking useless. They simply mean we&#8217;ve been asking benchmarks to answer the wrong question.</span></p><p><strong><span>Exec summary</span></strong></p><ul><li><p><span>Engineering leaders are often right that benchmark values don&#8217;t directly apply to them, but they are wrong to dismiss benchmarks entirely.</span></p></li><li><p><span>Benchmarks, internal trends, and benchmark trends each answer a different question:</span></p><ul><li><p><strong><span>Benchmark levels </span></strong><span>&#8594; </span><em><span>Are we normal?</span></em></p></li><li><p><strong><span>Internal trends</span></strong><span> &#8594; </span><em><span>Are we improving?</span></em></p></li><li><p><strong><span>Benchmark trends</span></strong><span> &#8594; </span><em><span>Are we improving faster than everyone else?</span></em></p></li></ul></li><li><p><span>The third question (&#8220;Are we improving faster than everyone else?&#8221;) is often the most important when evaluating investments like AI tools or process changes.</span></p></li><li><p><span>Benchmark trends help separate your results from broader industry tailwinds (e.g., AI adoption, economic shifts)</span></p></li><li><p><span>Benchmark values are still useful for identifying unusual performance and areas worth investigating.</span></p></li><li><p><span>DX data shows metrics consistently move in the same direction across very different organizations year over year, suggesting organizations are less unique than they may believe.</span></p></li><li><p><span>Changing metrics, survey instruments, or org structure mid-window makes it challenging to use benchmarks to measure change</span></p></li><li><p><span>Benchmark trends won&#8217;t prove causation, but they meaningfully reduce uncertainty about what would have happened anyway.</span></p></li><li><p><span>The real value of benchmarks isn&#8217;t knowing if you&#8217;re average, it&#8217;s reasoning more carefully about change.</span></p></li></ul><h2><span>Benchmarks and trends answer different questions</span></h2><p><span>Benchmarks and trends answer fundamentally different questions.</span></p><ul><li><p><span>A benchmark answers: Is this normal? That question is often more valuable than we give it credit for. Knowing that your review latency or deployment frequency is unusual can help identify where deeper investigation is warranted, even if the benchmark itself doesn&#8217;t explain why. It tells you where you sit within a distribution. That&#8217;s a question about </span><strong><span>levels</span></strong><span>, and levels are influenced by things you may never be able to change like your industry, your size, your regulatory environment, your architecture, and the countless organizational decisions that shape how engineering gets done.Your own historical trend answers a different question: Are we improving? That&#8217;s a question about </span><strong><span>change</span></strong><span>. Because you&#8217;re comparing yourself to yourself, most of the differences that make your organization unique simply cancel out.</span></p></li></ul><p><span>Both questions are valuable, but neither is the question engineering leaders usually care about most. The question they really want answered is:</span><em><span> Are we improving faster or slower than everyone else?</span></em><span>That&#8217;s a fundamentally different question, and it&#8217;s one that neither a benchmark nor an internal trend can answer on its own.</span></p><p><span>Suppose your deployment frequency improves by 15% over the next year. Is that good? If the rest of the industry improved by only 5%, you&#8217;re pulling ahead. If everyone else improved by 30%, you&#8217;re falling behind. In other words,improvement alone can&#8217;t tell you whether you&#8217;re pulling ahead or just keeping pace. Likewise, a benchmark can&#8217;t answer it by itself either. Knowing you&#8217;re at the 60th percentile today doesn&#8217;t tell you whether you&#8217;ve been gaining ground or losing it.</span></p><p><span>To answer the question leaders actually care about, you need both.That&#8217;s where benchmarks show their value, even for organizations that genuinely are unique. They don&#8217;t require your absolute metrics to be directly comparable to another company&#8217;s. They simply show you that the change in your organization can be interpreted alongside the change in everyone else&#8217;s.</span></p><p><span>And that, it turns out, is a far easier condition to satisfy.</span></p><h3><span>Benchmark trends as an observational control group</span></h3><p><span>The reason I find benchmark trends so valuable has very little to do with benchmarking. It has to do with causal inference.</span></p><p><span>Now suppose that 15% improvement in deployment frequency followed an investment in an internal developer platform. Was the platform responsible? Maybe. But maybe AI coding assistants became dramatically better during the same period. Maybe developer workflows improved across the industry. Maybe a slowing economy reduced feature work and increased engineering capacity everywhere.</span></p><p><span>A simple before-and-after comparison can&#8217;t distinguish between those explanations. That&#8217;s where benchmark trends really begin to shine. They don&#8217;t tell you what your metrics should have been; they tell you what happened to comparable organizations over the same period. They become an observational control group, a way of estimating the background improvement that would likely have occurred even if you had done nothing.</span></p><p><span>They&#8217;re not perfect. Organizations aren&#8217;t randomly assigned to different engineering strategies, and no benchmark population is identical to yours. My point is that they don&#8217;t have to be. If your deployment frequency improves 15% while comparable organizations improve 5%, that&#8217;s evidence that something beyond the broader industry trend may be happening inside your organization.</span></p><p><span>This is actually how measurement teams already communicate internally, even if they don&#8217;t describe it this way. </span><a href="https://queue.acm.org/detail.cfm?id=3819080"><span>When one engineering organization</span></a><span> of roughly 3,000 developers adopted an AI agent to reduce live-site toil, the result wasn&#8217;t reported as the absolute changes in incident mitigation time. It was reported that mitigation time improved </span><strong><span>2.4x faster than the company as a whole</span></strong><span>.</span></p><p><span>Nobody cared whether that organization&#8217;s services looked like the company average. The claim wasn&#8217;t about absolute performance. It was about relative improvement.</span></p><h3><span>Your organization is less unusual than you think</span></h3><p><span>At this point, there is still a reasonable objection.</span></p><p><span>Organizations don&#8217;t just differ in their absolute metrics, they also respond differently to new tools, new processes, and new ways of working. If every company has its own architecture, engineering culture, governance model, and technical debt, why should we expect benchmark trends to tell us anything useful at all?</span></p><p><span>I don&#8217;t think there&#8217;s a complete answer to that question, but I do think there is strong evidence that benchmark trends are more transferable than we expect.</span></p><p><span>Part of the reason is psychological. </span><a href="https://hbr.org/2025/03/the-uniqueness-trap"><span>Researchers have studied</span></a><span> our tendency to believe that our own situation is more unusual than it actually is. It&#8217;s called uniqueness</span><em><span> </span></em><span>bias. Organizations can fall into the same trap. Every company has a list of reasons why their engineering organization is unlike everyone else&#8217;s, and many of those reasons are legitimate. Organizational theorists </span><a href="https://doi.org/10.2307/2095101"><span>have argued for decades</span></a><span> that organizations facing similar environments tend to converge in their structures and practices, despite many local differences.</span></p><p><span>I&#8217;ve seen this in DX&#8217;s own benchmark data, and the pattern keeps repeating year after year. </span><a href="https://getdx.com/blog/introducing-2025-dx-benchmarks/"><span>In our 2025 benchmarks</span></a><span>, change confidence improved across every segment, with the median rising more than 12 points. Cross-team collaboration declined across every segment. </span><a href="https://getdx.com/blog/2026-dx-benchmarks-are-now-available/"><span>In 2026</span></a><span>, different metrics told the same kind of story. Documentation improved across every segment and customer focus rose across all of them, while review turnaround and incremental delivery declined across most.</span></p><p><span>These segments differ by size, by sector, and by geography, and their absolute values differ substantially. Yet year after year they move in the same direction at roughly the same time. If organizational context dominated the way the uniqueness objection assumes, we would expect these trajectories to diverge. Mostly they don&#8217;t. Those organizations weren&#8217;t identical, but they were responding to many of the same underlying forces.</span></p><p><span>It should be noted that direction and timing are shared, magnitude isn&#8217;t. Segments improved on the same metrics in the same years without improving by the same amounts, and individual organizations within a segment vary more still. Benchmark trends need both properties. Shared direction is what makes the baseline trustworthy. Dispersion around it is where your own signal lives. A control group is useful precisely because it behaves predictably, and the same is true here. Co-movement isn&#8217;t evidence that there&#8217;s nothing left to detect. It&#8217;s what makes detection possible.</span></p><p><span>This isn&#8217;t unique to engineering metrics, either. Economists routinely compare countries with different political systems, cultures, and industrial structures. Healthcare researchers compare hospitals serving very different patient populations. Education researchers compare schools with very different student demographics. None of these comparisons are randomized experiments, and none produce perfect control groups. Yet they&#8217;re still valuable because the alternative is to assume that nothing else in the world changed while your intervention took place.</span></p><p><span>I don&#8217;t think benchmark trends eliminate that uncertainty, but I do think they substantially reduce it. They&#8217;re not a replacement for understanding your own organization. They&#8217;re a way of putting your organization&#8217;s improvement into context.</span></p><h3><span>You can&#8217;t trend against a moving ruler</span></h3><p><span>Aligning to this way of thinking does change some of the advice </span><a href="https://newsletter.getdx.com/p/2024-benchmarks-for-the-dx-core-4"><span>we&#8217;ve historically given</span></a><span>. We&#8217;ve encouraged organizations to improve their benchmark position over time, and I still think that&#8217;s good advice. Absolute benchmark values provide valuable context. They help answer whether your organization looks unusual relative to similar organizations, identify potential areas of opportunity, and highlight where deeper investigation might be worthwhile.</span></p><p><span>But once you understand where you stand today, the more interesting question becomes whether you&#8217;re improving faster than the background trend.</span></p><p><span>That distinction matters because organizations don&#8217;t improve in isolation. New tools, changing engineering practices, AI adoption, and broader industry shifts all influence engineering metrics over time. Benchmark trends help separate improvements that are happening everywhere from improvements that may reflect something unique about your organization.</span></p><p><span>This also explains why organizations that don&#8217;t trust absolute benchmark values shouldn&#8217;t dismiss benchmark data entirely. Even if your architecture, culture, or regulatory environment makes direct comparisons difficult, organizations facing similar external forces can still provide valuable context for understanding how quickly the world around you is changing.</span></p><p><span>That said, comparing changes only works for the things that hold still. If you reorganized, acquired a company, or changed how you count engineers during the same window, those differences don&#8217;t cancel either, and your trend becomes as hard to interpret as your levels were. Changing a metric definition or a survey instrument partway through does the same damage. You can&#8217;t trend against a moving ruler, which is why, for trend analysis, consistency in how you measure matters more than precision in what you measure.</span></p><p><span>None of this makes benchmark cohorts less important. The better your comparison group, the better your estimate of that background trend.</span></p><p><span>Absolute benchmarks tell you where you are. Internal trends tell you whether you&#8217;re improving. Benchmark trends help answer whether you&#8217;re improving faster than you would reasonably have expected.</span></p><h3><span>What we still don&#8217;t know</span></h3><p><span>I can&#8217;t yet prove that benchmark trends consistently produce better decisions than benchmark levels alone. I also don&#8217;t know which comparison groups produce the most useful estimates of background improvement, or how similar two organizations need to be before their trends become informative.</span></p><p><span>Those are empirical questions, and I think they&#8217;re worth studying.</span></p><p><span>My intuition is that benchmark trends won&#8217;t eliminate uncertainty. They simply provide another source of evidence. Like any observational control, they&#8217;re imperfect. But imperfect evidence can still improve decision making when it&#8217;s interpreted appropriately.</span></p><h2><span>Final thoughts</span></h2><p><span>Benchmark trends aren&#8217;t a replacement for internal metrics, experiments, or randomized trials. Whenever we can run controlled experiments, we should.</span></p><p><span>But most engineering organizations don&#8217;t make decisions under laboratory conditions. We launch AI coding assistants to everyone at once. We reorganize teams. We change review processes. We invest in developer platforms. We rarely have the luxury of a true control group.</span></p><p><span>That means engineering leaders spend much of their time making decisions from imperfect evidence.</span></p><p><span>Benchmark trends make that evidence meaningfully stronger. They don&#8217;t eliminate uncertainty. They don&#8217;t prove causation. They don&#8217;t guarantee that one intervention caused another outcome. They simply provide a better estimate of what might have happened anyway.</span></p><p><span>To me, that&#8217;s the real value of benchmarks. Not because they tell us whether we&#8217;re average. But because they help us reason more carefully about change.</span></p><div><hr></div><p>That&#8217;s it for this week. Thanks for reading.</p><p>-Brian</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/p/your-benchmarks-dont-apply-to-us?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/p/your-benchmarks-dont-apply-to-us?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[DX Annual 2027: San Francisco and London]]></title><description><![CDATA[Next year DX Annual is returning to San Francisco and heading to London for the first time. Here's what to expect and how to register your interest.]]></description><link>https://newsletter.getdx.com/p/dx-annual-2027-san-francisco-and</link><guid isPermaLink="false">https://newsletter.getdx.com/p/dx-annual-2027-san-francisco-and</guid><dc:creator><![CDATA[Justin Reock]]></dc:creator><pubDate>Tue, 11 Aug 2026 15:03:28 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/384d549a-7522-4640-bef4-1bcfdfe3a768_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dys8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d360bc4-ecc3-4488-8542-48adb0705fba_3240x1020.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dys8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d360bc4-ecc3-4488-8542-48adb0705fba_3240x1020.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dys8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d360bc4-ecc3-4488-8542-48adb0705fba_3240x1020.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dys8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d360bc4-ecc3-4488-8542-48adb0705fba_3240x1020.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dys8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d360bc4-ecc3-4488-8542-48adb0705fba_3240x1020.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dys8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d360bc4-ecc3-4488-8542-48adb0705fba_3240x1020.jpeg" width="1456" height="458" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0d360bc4-ecc3-4488-8542-48adb0705fba_3240x1020.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:458,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2226212,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.getdx.com/i/210621976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d360bc4-ecc3-4488-8542-48adb0705fba_3240x1020.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dys8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d360bc4-ecc3-4488-8542-48adb0705fba_3240x1020.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dys8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d360bc4-ecc3-4488-8542-48adb0705fba_3240x1020.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dys8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d360bc4-ecc3-4488-8542-48adb0705fba_3240x1020.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dys8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d360bc4-ecc3-4488-8542-48adb0705fba_3240x1020.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>Building on this year&#8217;s </span><a href="https://getdx.com/dxannual/2026/"><span>inaugural event</span></a><span>, which brought together 500 senior engineering leaders from companies like Microsoft, Airbnb, Uber, Vanguard, Dell, and BNY, we&#8217;re expanding to two cities for 2027.</span></p><p><span>In both San Francisco and London, DX Annual will be a single-day event with keynotes, fireside chats, and peer roundtables built around how organizations are rethinking developer productivity and how software is delivered with AI. The event will once again focus on curated attendance, meaningful peer connections, and sessions led by practitioners.</span></p><p><strong><span>Save the dates &#8595;</span></strong></p><ul><li><p><span>San Francisco &#8212; May 6, 2027</span></p></li><li><p><span>London &#8212; September 23, 2027</span></p></li></ul><div class="callout-block" data-callout="true"><p><span>Attendance is curated and space will be limited. Register your interest at </span><a href="https://getdx.com/dxannual/"><span>dxannual.com</span></a><span> and we&#8217;ll be in touch with details.</span></p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://getdx.com/dxannual/&quot;,&quot;text&quot;:&quot;Register your interest&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://getdx.com/dxannual/"><span>Register your interest</span></a></p><div><hr></div><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/df0be96f-10d1-46c7-9565-61de76b7c202_2738x1825.jpeg&quot;},{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e3e8a85b-af79-412e-8834-a09d63aa7844_2738x1825.jpeg&quot;},{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c68a2197-ae33-44ac-b5ff-649592780c61_2738x1825.jpeg&quot;},{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/066d86a3-1b7f-4632-abab-81b606e1a520_2738x1825.jpeg&quot;},{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/925dbcb9-703b-4d06-bc4f-a22e1f263ba3_2738x1825.jpeg&quot;},{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/67c69cf7-ff87-475b-b213-8f46c4dde7a9_2738x1825.jpeg&quot;}],&quot;caption&quot;:&quot;&quot;,&quot;alt&quot;:&quot;&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4f1cc3cf-be1a-4284-b9cd-5d0d18910665_1456x964.png&quot;}},&quot;isEditorNode&quot;:true}"></div>]]></content:encoded></item><item><title><![CDATA[How Microsoft sees engineering bottlenecks changing with AI]]></title><description><![CDATA[Tim Bozarth, Microsoft CoreAI CVP, explains how AI is changing engineering productivity, why outcomes matter more than output, and what engineering leaders should measure instead.]]></description><link>https://newsletter.getdx.com/p/how-microsoft-sees-engineering-bottlenecks</link><guid isPermaLink="false">https://newsletter.getdx.com/p/how-microsoft-sees-engineering-bottlenecks</guid><dc:creator><![CDATA[Brian Houck]]></dc:creator><pubDate>Fri, 07 Aug 2026 15:47:36 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/209296274/1135b2a44ce3e5af0cd78de10f17d202.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Listen and watch now on <strong><a href="https://youtu.be/fdofQkhpgDE">YouTube</a>, <a href="https://podcasts.apple.com/us/podcast/engineering-enablement-by-abi-noda/id1619140476">Apple</a>, and <a href="https://open.spotify.com/show/3NxjyIsuxeDMQtisDqBy7D">Spotify</a></strong>.</p><p><span>In this episode of Engineering Enablement, I sit down with Tim Bozarth, Corporate Vice President in Microsoft CoreAI and leader of Microsoft&#8217;s Engineering Thrive initiative. We discuss Engineering Thrive, Microsoft&#8217;s framework for measuring and improving engineering productivity, and why AI makes outcome-based metrics more important than ever.</span></p><p><span>Tim shares how AI is reshaping the software development lifecycle, where new bottlenecks are emerging, and why verification and confidence may become more valuable than code generation itself. We also explore why the purpose of engineering remains the same despite rising levels of abstraction, the skills that remain durable in an AI-driven world, and why engineering leaders should focus on outcomes rather than activity metrics.</span></p><div id="youtube2-fdofQkhpgDE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;fdofQkhpgDE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/fdofQkhpgDE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2><strong>Some takeaways: </strong></h2><h3><strong><span>Engineering Thrive gives Microsoft a common language for improving productivity</span></strong></h3><ul><li><p><strong><span>Engineering Thrive defines productivity through speed, ease, and quality.</span></strong><span> Its goal is to make it fast and easy to do great work by identifying friction across the developer experience rather than optimizing isolated activities.</span></p></li><li><p><strong><span>Speed, ease, and quality should not be treated as opposing goals.</span></strong><span> Engineering Thrive applies a &#8220;do no harm&#8221; principle: an improvement in one dimension should not be celebrated if it makes another materially worse.</span></p></li><li><p><strong><span>The framework helps Microsoft identify bottlenecks and invest where they will have the greatest impact.</span></strong><span> Tim argues that developer time is one of the company&#8217;s most valuable resources, making productivity improvements a strategic investment.</span></p></li></ul><h3><strong><span>AI makes outcome-based metrics more important, not obsolete</span></strong></h3><ul><li><p><strong><span>The industry is returning to activity metrics it rejected years ago.</span></strong><span> Tim sees renewed attention to lines of code, pull request counts, and similar measures as a search for easy answers to how AI is affecting productivity.</span></p></li><li><p><strong><span>More engineering activity does not necessarily mean more value.</span></strong><span> Engineering Thrive instead measures outcomes such as product quality, end-to-end speed, and the amount of time engineers can devote to innovation.</span></p></li><li><p><strong><span>A web of outcome metrics is harder to game than any individual measure.</span></strong><span> Looking across speed, ease, quality, and innovation time creates a more durable picture of whether an organization is actually improving.</span></p></li></ul><h3><strong><span>Planning and validation are becoming the new bottlenecks</span></strong></h3><ul><li><p><strong><span>Before AI, most engineering time was spent creating and operating software.</span></strong><span> Tim estimates that those phases historically accounted for more than 90% of engineering time, with operations alone consuming roughly 70% to 80%.</span></p></li><li><p><strong><span>On frontier teams, the bottlenecks have already shifted to planning and validation.</span></strong><span> Code creation is taking dramatically less time, while deciding what to build and determining whether the result is trustworthy are consuming a greater share of the work.</span></p></li><li><p><strong><span>The create phase may continue to shrink as models and agent harnesses improve.</span></strong><span> Tim expects planning and validation to remain durable constraints over the next several years, even as other parts of the software development lifecycle become increasingly automated.</span></p></li></ul><h3><strong><span>The code review bottleneck is really a confidence bottleneck</span></strong></h3><ul><li><p><strong><span>Higher PR throughput has increased the amount of change humans must evaluate.</span></strong><span> Enterprise software still requires a level of trust that teams cannot achieve by simply accepting AI-generated code without review.</span></p></li><li><p><strong><span>Code review is only one way to establish confidence.</span></strong><span> Testing, continuous rollouts, feature flags, canaries, and deployment practices all contribute signals about whether a change is reliable.</span></p></li><li><p><strong><span>The next generation of verification should help humans ask higher-level questions.</span></strong><span> Rather than inspecting every branch or class, engineers should be able to assess the scope, complexity, impact, and fundamental purpose of a change.</span></p></li></ul><h3><strong><span>More abstraction does not change the purpose of engineering</span></strong></h3><ul><li><p><strong><span>AI will reduce the time engineers spend on low-level implementation details.</span></strong><span> Tim sees that as another step in the long history of abstractions that allow engineers to spend more time describing system behavior and intended outcomes.</span></p></li><li><p><strong><span>Great engineers have never been defined by their ability to write a line of code.</span></strong><span> Their value comes from systems thinking, understanding objectives, and expressing functional and nonfunctional requirements coherently.</span></p></li><li><p><strong><span>Producing more software increases the need for strong engineering judgment.</span></strong><span> The faster organizations can build, the more important it becomes to ensure that their systems remain coherent, valid, and reliable.</span></p></li></ul><h3><strong><span>A maker&#8217;s mindset and ability to experiment effectively remain durable advantages</span></strong></h3><ul><li><p><strong><span>The maker&#8217;s mindset is relentlessly oriented toward producing a valuable final outcome.</span></strong><span> It combines a clear vision of what should be built with the ability to understand the needs of the customer using it.</span></p></li><li><p><strong><span>Engineers will need to continuously experiment and evaluate changes in outcomes.</span></strong><span> Tim argues that this discipline is no longer limited to model trainers; everyone using AI tools must determine whether a new approach actually improves the result.</span></p></li><li><p><strong><span>Using AI is not itself the goal.</span></strong><span> The goal is to accomplish more, and sometimes the best way to do that will be not to use AI at all.</span></p></li></ul><h3><strong><span>Engineering leaders should measure idea-to-value, not PR velocity</span></strong></h3><ul><li><p><strong><span>PR velocity says little about the success of an engineering organization.</span></strong><span> Tim urges leaders to stop evaluating teams through activity measures the industry already recognized as inadequate years ago.</span></p></li><li><p><strong><span>Idea-to-value connects engineering work to meaningful outcomes.</span></strong><span> Leaders should also examine how much time engineers spend innovating compared with keeping the lights on or handling corporate overhead.</span></p></li><li><p><strong><span>Product quality and business results should remain the ultimate measures of success.</span></strong><span> Focusing on outcomes can improve developer happiness, productivity, margins, and the value delivered by the organization.</span></p></li></ul><h2><strong>In this episode, we cover:</strong></h2><p>(<a href="https://www.youtube.com/watch?v=fdofQkhpgDE">00:00</a>) Intro</p><p>(<a href="https://www.youtube.com/watch?v=fdofQkhpgDE&amp;t=133s">02:13</a>) What Engineering Thrive is and the problem it solves</p><p>(<a href="https://www.youtube.com/watch?v=fdofQkhpgDE&amp;t=286s">04:46</a>) Why Engineering Thrive isn&#8217;t specific to Microsoft</p><p>(<a href="https://www.youtube.com/watch?v=fdofQkhpgDE&amp;t=550s">09:10</a>) The impact of Engineering Thrive at Microsoft</p><p>(<a href="https://www.youtube.com/watch?v=fdofQkhpgDE&amp;t=871s">14:31</a>) Why AI makes outcome-based productivity metrics more important</p><p>(<a href="https://www.youtube.com/watch?v=fdofQkhpgDE&amp;t=1102s">18:22</a>) Where AI is creating new bottlenecks in the SDLC</p><p>(<a href="https://www.youtube.com/watch?v=fdofQkhpgDE&amp;t=1477s">24:37</a>) Why more abstraction doesn&#8217;t change the purpose of engineering</p><p>(<a href="https://www.youtube.com/watch?v=fdofQkhpgDE&amp;t=1645s">27:25</a>) The durable skills of good engineers</p><p>(<a href="https://www.youtube.com/watch?v=fdofQkhpgDE&amp;t=1983s">33:03</a>) The changing economics of software development</p><p>(<a href="https://www.youtube.com/watch?v=fdofQkhpgDE&amp;t=2216s">36:56</a>) Advice for leaders: measure outcomes, not activity</p><p><strong><span>Where to find Tim Bozarth:</span></strong></p><p><span>&#8226; LinkedIn: </span><a href="http://linkedin.com/in/tbozarth"><span>linkedin.com/in/tbozarth</span></a></p><p><strong><span>Where to find Brian Houck:</span></strong></p><p><span>&#8226; LinkedIn: </span><a href="https://www.linkedin.com/in/brianhouck"><span>https://www.linkedin.com/in/brianhouck</span></a></p><h2><strong>Referenced:</strong></h2><p><span>&#8226; </span><a href="https://getdx.com/corefour"><span>DX Core 4 Productivity Framework</span></a></p><p><span>&#8226; </span><a href="https://spawn-queue.acm.org/doi/10.1145/3819080"><span>EngThrive: Make It Fast and Easy to Do Great Work: Building a durable model for outcome-oriented engineering measurement</span></a></p><p><span>&#8226; </span><a href="https://www.goodreads.com/quotes/10278659-tell-me-how-you-measure-me-and-i-ll-tell-you"><span>Quote by Eliyahu M. Goldratt: &#8220;Tell me how you measure me and...&#8221;</span></a></p><p><span>&#8226; </span><a href="https://en.wikipedia.org/wiki/Jevons_paradox"><span>Jevons paradox - Wikipedia</span></a></p>]]></content:encoded></item><item><title><![CDATA[What are code reviews even for?]]></title><description><![CDATA[AI didn't break code review. It just made the parts we'd been ignoring impossible to ignore.]]></description><link>https://newsletter.getdx.com/p/what-are-code-reviews-even-for</link><guid isPermaLink="false">https://newsletter.getdx.com/p/what-are-code-reviews-even-for</guid><dc:creator><![CDATA[Brian Houck]]></dc:creator><pubDate>Wed, 05 Aug 2026 10:40:18 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f4489e75-06a9-44a8-98bb-ea29694f42e9_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em><strong>Welcome to the latest issue of Engineering Enablement,</strong><span> a weekly newsletter sharing research and perspectives on developer productivity.</span></em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/subscribe?"><span>Subscribe now</span></a></p><p>DX&#8217;s Q2 AI Impact Report is now available with the latest research on AI&#8217;s impact across engineering organizations. <a href="https://getdx.com/resources/?utm_source=newsletter">Read the full report.</a></p><div><hr></div><p><span>Something is straining in the review queue.</span></p><p><a href="https://arxiv.org/abs/2605.30208"><span>Over the past year at Meta</span></a><span>, significant lines of code per human-landed diff increased by 106%. Diffs per developer per month rose 51%. More than 80% of that growth came from agentic AI. Meanwhile, the percentage of diffs reviewed within 24 hours is declining. In some large groups, reviewers are staring down thousands of pending reviews.</span></p><p><span>This isn&#8217;t a Meta-specific problem. Across the industry, AI coding tools are producing code faster than humans can meaningfully evaluate it. </span><a href="https://newsletter.getdx.com/p/ai-authored-code-has-nearly-doubled"><span>Our own DX analysis</span></a><span> found that AI is increasing both the number of pull requests and the size of each one (median pull request size grew by 64%). Without a corresponding increase in reviewer capacity, the review process will eventually buckle under its own weight.</span></p><p><span>Unfortunately, we don&#8217;t have more hours in the day, and even if we did, we wouldn&#8217;t want to spend them reviewing code written by AI. </span><a href="https://www.microsoft.com/en-us/research/publication/time-warp-the-gap-between-developers-ideal-vs-actual-workweeks-in-an-ai-driven-era/?msockid=15af30cf0f0662a5037e27800ec7634a"><span>In previous research</span></a><span>, we found developers ideally only want to spend about 7% of their time reviewing code. Asking developers to review more isn&#8217;t a sustainable answer.</span></p><p><span>The math doesn&#8217;t work.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Mu5k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5710e33-dbf6-468c-8f44-b7159744f561_4200x2884.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Mu5k!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5710e33-dbf6-468c-8f44-b7159744f561_4200x2884.png 424w, https://substackcdn.com/image/fetch/$s_!Mu5k!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5710e33-dbf6-468c-8f44-b7159744f561_4200x2884.png 848w, https://substackcdn.com/image/fetch/$s_!Mu5k!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5710e33-dbf6-468c-8f44-b7159744f561_4200x2884.png 1272w, https://substackcdn.com/image/fetch/$s_!Mu5k!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5710e33-dbf6-468c-8f44-b7159744f561_4200x2884.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Mu5k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5710e33-dbf6-468c-8f44-b7159744f561_4200x2884.png" width="1456" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c5710e33-dbf6-468c-8f44-b7159744f561_4200x2884.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:225359,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.getdx.com/i/204342182?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5710e33-dbf6-468c-8f44-b7159744f561_4200x2884.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Mu5k!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5710e33-dbf6-468c-8f44-b7159744f561_4200x2884.png 424w, https://substackcdn.com/image/fetch/$s_!Mu5k!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5710e33-dbf6-468c-8f44-b7159744f561_4200x2884.png 848w, https://substackcdn.com/image/fetch/$s_!Mu5k!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5710e33-dbf6-468c-8f44-b7159744f561_4200x2884.png 1272w, https://substackcdn.com/image/fetch/$s_!Mu5k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5710e33-dbf6-468c-8f44-b7159744f561_4200x2884.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>But before we ask AI to solve this problem, it&#8217;s worth asking a different question:</span></p><blockquote><p><strong><span>What problem was code review solving before AI arrived?</span></strong></p></blockquote><p><span>If the answer were as simple as &#8220;finding defects,&#8221; then a fully automated review starts to sound inevitable (and appealing).</span></p><p><span>But if code review was also how teams shared knowledge, built collective ownership, spread architectural understanding, and taught junior engineers how experienced developers think, then the answer becomes much less obvious.</span></p><p><span>That&#8217;s the mistake I think many organizations are about to make, and the reason we need to rethink what code review is actually for.</span></p><h3><span>We&#8217;ve known better for years</span></h3><p><span>Here&#8217;s an uncomfortable truth: a significant portion of the review burden we&#8217;re feeling right now is self-inflicted.</span></p><p><span>The frustrating part is that none of this is new. The research on what makes code review effective has been unambiguous. Keep changes small. Write a meaningful description of what changed and why. Run automated checks before asking a human to look. Review frequently, in bounded sessions, focused on substance over style. Select reviewers who actually know the code, but avoid concentrating review responsibility on the same small group of experts whenever possible.</span></p><p><a href="https://ieeexplore.ieee.org/document/7950877"><span>A 2016 Microsoft study</span></a><span> of 911 developers found that timely feedback, review size, and understanding the motivation for a change were the top three challenges in code review. Those challenges should sound familiar. The research had already identified many of the practices that improve review quality, yet only 26% of developers said they always wrote a detailed description of the code being reviewed. &#8220;Bikeshedding&#8221;&#8212;disputing minor issues while more serious ones went unexamined&#8212;remained one of the most common review failures. We didn&#8217;t need new guidance. We needed to consistently apply what we already knew.</span></p><p><span>AI didn&#8217;t create this situation. It inherited it, and then amplified it. Larger PRs, higher review volume, less context per change, these aren&#8217;t new symptoms. They&#8217;re old ones, scaled up.</span></p><p><span>Before asking AI to fix your code review process, ask whether your team has built the habits that make code review effective in the first place. Small, well-explained changes. Protected reviewer time. Automated routine checks so humans can focus on judgment.</span></p><p><span>AI can absolutely improve code review. But it can&#8217;t compensate for a review culture that was already struggling. It doesn&#8217;t eliminate bad review habits. It amplifies them.</span></p><h3><span>AI can help, if we use it wisely</span></h3><p><span>Once the fundamentals are in place, AI has a real role to play in code review. That&#8217;s exactly what we found in our </span><a href="https://www.microsoft.com/en-us/research/publication/ai-where-it-matters-where-why-and-how-developers-want-ai-support-in-daily-work/"><span>AI Where It Matters</span></a><span> research. Developers don&#8217;t want code review to disappear. They want AI to remove the parts of review that don&#8217;t require human judgment so reviewers can spend more time on the parts that do.</span></p><p><span>What they want AI to do: catch security and compliance issues, flag high-risk changes, generate test scaffolding, surface the impact of a change across the codebase, and handle the high-volume routine so human attention can go where it matters. As one developer put it: </span><em><span>&#8220;Should be able to detect high risk changes and derisk them.&#8221;</span></em></p><p><span>What they explicitly don&#8217;t want: AI that auto-merges, auto-commits, or takes final accountability. </span><em><span>&#8220;I don&#8217;t want AI to just act as a red-light / green-light. It should raise issues&#8230; and still require human review.&#8221;</span></em><span> Developers aren&#8217;t asking for a replacement, they&#8217;re asking for a better collaborator.</span></p><p><span>Interestingly, one of the most sophisticated production deployments I&#8217;ve seen tries to walk that line.</span></p><p><a href="https://arxiv.org/abs/2605.30208"><span>Meta&#8217;s RADAR</span></a><span> (Risk Aware Diff Auto Review) system automates review for a carefully selected subset of low-to-medium risk changes while routing higher-risk diffs to human reviewers. It combines static analysis, machine learning, LLM-based review, and deterministic validation before anything lands.</span></p><p><span>The results are striking: more than 535,000 diffs reviewed, over 331,000 landed, a revert rate roughly one-third that of non-RADAR diffs, a production incident rate one-fiftieth as high, and a 3.3x faster median time to close (roughly a 70% reduction).</span></p><p><span>RADAR isn&#8217;t simply &#8220;AI reviewing code.&#8221; It&#8217;s a carefully engineered system built around the principle that scarce human attention should be reserved for changes where human judgment and accountability matter most.</span></p><p><span>Just as importantly, the RADAR team also acknowledges a trade-off. Automated review can dramatically improve efficiency, but as automation expands, the knowledge transfer provided by human review could suffer. They identify this as something engineering organizations should actively monitor.</span></p><p><span>That&#8217;s the distinction I think many organizations miss. AI shouldn&#8217;t eliminate human review. It should make human review more valuable. AI-enabled review should have discipline around it: clear eligibility criteria, thoughtful risk stratification, and a deliberate decision about which changes deserve human attention, and why.</span></p><p><span>If you&#8217;re evaluating an AI review system, don&#8217;t start by asking, </span><em><span>&#8220;Does it work?&#8221;</span></em><span> Start by asking, </span><em><span>&#8220;How does it maximize the time and value of human judgment?&#8221;</span></em></p><h3><span>Don&#8217;t lose what review was actually doing</span></h3><p><span>Here&#8217;s the part that gets left out of the AI review conversation: code review was never just about finding defects.</span></p><p><a href="https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/ICSE202013-codereview.pdf?msockid=15af30cf0f0662a5037e27800ec7634a"><span>A landmark Microsoft study</span></a><span> found that while most developers identified defect detection as a primary motivation for code review, defect-related comments made up only 14% of actual review comments. In practice, code review serves many other purposes. More than half of developers said they use reviews to explore alternative solutions, while many also pointed to knowledge transfer and gaining awareness of what their teammates are building.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5YOe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d57450-a491-4dcf-a1c1-3ad706041cea_3604x2884.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5YOe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d57450-a491-4dcf-a1c1-3ad706041cea_3604x2884.png 424w, https://substackcdn.com/image/fetch/$s_!5YOe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d57450-a491-4dcf-a1c1-3ad706041cea_3604x2884.png 848w, https://substackcdn.com/image/fetch/$s_!5YOe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d57450-a491-4dcf-a1c1-3ad706041cea_3604x2884.png 1272w, https://substackcdn.com/image/fetch/$s_!5YOe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d57450-a491-4dcf-a1c1-3ad706041cea_3604x2884.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5YOe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d57450-a491-4dcf-a1c1-3ad706041cea_3604x2884.png" width="1456" height="1165" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5d57450-a491-4dcf-a1c1-3ad706041cea_3604x2884.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1165,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:181227,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.getdx.com/i/204342182?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d57450-a491-4dcf-a1c1-3ad706041cea_3604x2884.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5YOe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d57450-a491-4dcf-a1c1-3ad706041cea_3604x2884.png 424w, https://substackcdn.com/image/fetch/$s_!5YOe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d57450-a491-4dcf-a1c1-3ad706041cea_3604x2884.png 848w, https://substackcdn.com/image/fetch/$s_!5YOe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d57450-a491-4dcf-a1c1-3ad706041cea_3604x2884.png 1272w, https://substackcdn.com/image/fetch/$s_!5YOe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d57450-a491-4dcf-a1c1-3ad706041cea_3604x2884.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">&#8220;Modern Code Review&#8221; (Bacchelli &amp; Bird, ICSE 2013)</figcaption></figure></div><p><strong><span>The visible output of code review is better code. The invisible output is a better engineering organization.</span></strong></p><p><span>Code review is how teams build shared understanding of a system. It&#8217;s how junior developers learn from experienced ones. It&#8217;s how architectural intent gets surfaced, questioned, and refined. It&#8217;s how one engineer&#8217;s mental model gradually becomes the team&#8217;s mental model. Organizations don&#8217;t become resilient because one person understands a subsystem. They become resilient because many people do.</span></p><p><span>This is why the stakes around AI review are so high. Automate the review of a diff, and you may have successfully reviewed that diff. But you haven&#8217;t transferred any knowledge. You haven&#8217;t built shared ownership. You haven&#8217;t given a newer engineer a window into how a more experienced teammate reasons about trade-offs. You haven&#8217;t surfaced the design rationale that someone will need six months from now when they&#8217;re trying to respond to customer feedback.</span></p><p><span>Developers in our </span><em><span>AI Where It Matters</span></em><span> research understood this instinctively. One participant wrote, </span><em><span>&#8220;I can&#8217;t fully delegate the final code review to AI&#8212;my approval puts my name on it.&#8221;</span></em><span> Another warned, </span><em><span>&#8220;Intellectual offloading can result in errors that eventually no one understands.&#8221;</span></em><span> That&#8217;s the slow-moving risk. The gradual erosion of a team&#8217;s ability to reason about its own software.</span></p><p><span>Margaret-Anne Storey&#8217;s </span><a href="https://queue.acm.org/detail.cfm?id=3807966"><span>recent work</span></a><span> gives this phenomenon a name. As AI accelerates software development, teams don&#8217;t just accumulate technical debt. They accumulate cognitive and intent debt&#8212;a growing gap between what the system does and what the organization collectively understands about why it does it. Those debts don&#8217;t appear on a dashboard. They surface months later, during an outage, a handoff, or a redesign, when nobody remembers the reasoning that once lived inside a code review conversation. By then, recovering that understanding is far more expensive than preserving it would have been.</span></p><p><span>This future isn&#8217;t inevitable. But it also won&#8217;t arrive all at once. It will emerge through a series of individually reasonable decisions: this change is low risk, this review can be automated, this approval can be skipped. Each decision saves a little time. Taken together, they may slowly eliminate one of the primary ways engineering teams build shared understanding.</span></p><p><span>The challenge isn&#8217;t choosing between AI and human review. It&#8217;s deciding which parts of code review are too valuable to automate away.</span></p><h2><span>What to actually do</span></h2><p><span>Three things, in order.</span></p><p><strong><span>Fix the basics first.</span></strong><span> Audit your current review process. Are pull requests small enough to review meaningfully? Do change descriptions explain </span><em><span>why</span></em><span>, not just </span><em><span>what</span></em><span>? Are reviewers protected from overload? Are automated tools already handling the routine work they should (e.g. formatting, linting, and obvious style issues)?</span></p><p><strong><span>Design AI around human judgment.</span></strong><span> Developers consistently describe code review as high-value, high-accountability work. They don&#8217;t want AI making the decision; they want AI helping them make better ones. That means risk stratification instead of blanket automation. It means AI that surfaces issues, not AI that silently resolves them. It means conservative eligibility thresholds, auditability, and clear human accountability.</span></p><p><strong><span>Protect what review is actually building.</span></strong><span> The easiest thing to measure about code review is defects. The most valuable thing it produces is shared understanding. Measure review health beyond throughput. Are junior developers learning? Is architectural knowledge spreading across the team? Are reviewers engaging with substance or simply rubber-stamping? Design your AI review strategy so automation absorbs the routine while humans spend more time on the conversations that create understanding, ownership, and better engineering judgment.</span></p><p><span>Code review is one of the highest-leverage practices in software engineering, and right now it&#8217;s under pressure from every direction. The answer isn&#8217;t to make it faster by making it shallower. It&#8217;s to get serious about doing it well&#8212;with or without AI&#8212;and then use AI deliberately, in the places where it earns trust and preserves what the practice was accomplishing all along.</span></p><p><strong><span>AI should absolutely reduce the time we spend reviewing code. It just shouldn&#8217;t reduce the amount we learn from it.</span></strong></p><div><hr></div><p>That&#8217;s it for this week. Thanks for reading.</p><p>-Brian</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/p/what-are-code-reviews-even-for?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/p/what-are-code-reviews-even-for?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[The unexpected things developer metrics can measure]]></title><description><![CDATA[We built metrics to evaluate developer tools. They turned out to explain everything from office design to Daylight Saving Time.]]></description><link>https://newsletter.getdx.com/p/the-unexpected-things-developer-metrics</link><guid isPermaLink="false">https://newsletter.getdx.com/p/the-unexpected-things-developer-metrics</guid><dc:creator><![CDATA[Brian Houck]]></dc:creator><pubDate>Fri, 31 Jul 2026 10:45:41 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/61bbaac1-db67-4e66-a5fa-19896e84c651_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em><strong>Welcome to the latest issue of Engineering Enablement</strong><span>, a weekly newsletter sharing research and perspectives on developer productivity.</span></em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/subscribe?"><span>Subscribe now</span></a></p><p><span>DX&#8217;s Q2 AI Impact Report is now available with the latest research on AI&#8217;s impact across engineering organizations. </span><a href="https://getdx.com/resources/?utm_source=newsletter">Read the full report.</a></p><div><hr></div><p><em><span>A quick heads-up: this issue is a little different from our usual format. Instead of sharing a finding from our research and conversations, this issue is more of a reframe of how to think about what developer metrics are actually for.</span></em></p><p><span>Here is a sentence I never expected to write: Developer-experience metrics can measure the impact of Daylight Saving Time.</span></p><p><span>Not a survey asking developers how they feel about the time change. An actual, measurable shift in engineering behavior, detected using the same kinds of outcome metrics we use to evaluate AI coding assistants, build systems, and code review workflows.</span></p><p><span>That sounds like an absurd thing to measure. And yet, </span><a href="https://www.linkedin.com/posts/brianhouck_developerexperience-daylightsavingtime-productivity-activity-7305671070206869504-VNgj?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAbL-CEB_GIa71OGfWkh-nZOd86fsAhsAZc"><span>that&#8217;s exactly what we found</span></a><span>.</span></p><p><span>When Daylight Saving Time begins, developers in Seattle (one of the highest-latitude major cities in the continental United States) show a measurable shift relative to developers closer to the equator, where seasonal daylight changes are much smaller. Across three years of data, active coding time increased by roughly 6%, while pull requests completed about 8% faster, driven largely by quicker code reviews.</span></p><p><span>The most plausible explanation is also the simplest: an extra hour of evening daylight appears to keep people engaged with their work a little longer.</span></p><p><span>I&#8217;d resist reading that as purely good news. More engagement isn&#8217;t automatically healthier. If some of that extra time is coming at the expense of sleep or recovery, that&#8217;s a trade-off worth measuring, not celebrating.</span></p><p><span>At first glance, this has nothing to do with software engineering. After all, developer metrics are supposed to measure developer things: faster builds, better IDEs, improved code reviews, AI-assisted coding.</span></p><p><span>Or so I thought.</span></p><p><span>The more I&#8217;ve worked with developer-experience metrics, the more I&#8217;ve come to believe we&#8217;ve been thinking about them too narrowly. We often describe them as a way to evaluate developer tools and engineering workflows. But that&#8217;s not really what they&#8217;re measuring. They&#8217;re measuring the experience of doing software engineering. And that experience is shaped by far more than software.</span></p><h3><span>Measuring outcomes, not interventions</span></h3><p><span>When people think about developer-experience metrics, they naturally think about the interventions we introduce: a new AI coding assistant, a faster build system, a different code review process, a new deployment pipeline.</span></p><p><span>But those aren&#8217;t actually what the metrics care about.</span></p><p><span>Good developer-experience metrics measure outcomes. They tell us whether developers are able to do focused, meaningful, high-quality work. Once you measure outcomes instead of interventions, something interesting happens.</span></p><p><span>The intervention no longer has to be software. It can be an office redesign. A meeting policy. The weather. Even Daylight Saving Time.</span></p><p><span>That doesn&#8217;t mean engineering leaders suddenly own the weather, facilities, or company policy. But measurement doesn&#8217;t have to imply ownership. Sometimes it helps explain why an outcome changed. Other times it gives you evidence to influence the people who </span><em><span>do</span></em><span> own the lever.</span></p><p><span>That realization changed how I think about developer metrics. They&#8217;re still excellent for evaluating developer tools. They just turn out to be useful for much more.</span></p><p><span>Once I started looking through this lens, examples kept appearing, not just in my own research, but across entirely different disciplines. And they weren&#8217;t limited to software engineering. Researchers have found that </span><a href="https://docs.iza.org/dp12632.pdf"><span>higher indoor air pollution</span></a><span> correlates to more errors by chess players, </span><a href="https://www.aeaweb.org/articles?id=10.1257/pol.20180612"><span>warmer classrooms</span></a><span> are associated with lower student performance, and </span><a href="https://www.sciencedirect.com/science/article/abs/pii/S0272494411000429"><span>high-noise environments</span></a><span> measurably degrade memory and motivation. Different domains, different outcomes, but the same underlying lesson: our environment shapes performance.</span></p><p><span>The difference is that developer-experience metrics give us a language for asking the same kinds of questions about software engineering.</span></p><p><span>Some of those influences are things organizations can change. Others aren&#8217;t. Both leave measurable fingerprints on the developer experience.</span></p><h3><span>The spaces your developers work in</span></h3><p><span>Daylight Saving Time is an unusual example because there isn&#8217;t much an engineering leader can do about it. Office space is different. Organizations make decisions about where and how developers work all the time, yet those decisions are often driven by cost, convenience, or intuition rather than evidence.</span></p><p><a href="https://www.microsoft.com/en-us/research/publication/the-best-of-both-worlds-unlocking-the-potential-of-hybrid-work-for-software-engineers/"><span>When we asked developers</span></a><span> what they actually value about coming into the office, the answers were overwhelmingly human. The top response, by a wide margin, was other people: seeing colleagues face to face, the conversations that get sparked, the camaraderie. Office design came next (whiteboards, rooms to hash out problems), followed by food and coffee. This isn&#8217;t just a list of office perks. It&#8217;s a window into the parts of the developer experience that still depend on the physical world.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HIkS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957195e1-477c-46bd-bb32-9ddfbd19e1ef_2788x2000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HIkS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957195e1-477c-46bd-bb32-9ddfbd19e1ef_2788x2000.png 424w, https://substackcdn.com/image/fetch/$s_!HIkS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957195e1-477c-46bd-bb32-9ddfbd19e1ef_2788x2000.png 848w, https://substackcdn.com/image/fetch/$s_!HIkS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957195e1-477c-46bd-bb32-9ddfbd19e1ef_2788x2000.png 1272w, https://substackcdn.com/image/fetch/$s_!HIkS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957195e1-477c-46bd-bb32-9ddfbd19e1ef_2788x2000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HIkS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957195e1-477c-46bd-bb32-9ddfbd19e1ef_2788x2000.png" width="1456" height="1044" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/957195e1-477c-46bd-bb32-9ddfbd19e1ef_2788x2000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1044,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:219849,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.getdx.com/i/208387583?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957195e1-477c-46bd-bb32-9ddfbd19e1ef_2788x2000.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HIkS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957195e1-477c-46bd-bb32-9ddfbd19e1ef_2788x2000.png 424w, https://substackcdn.com/image/fetch/$s_!HIkS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957195e1-477c-46bd-bb32-9ddfbd19e1ef_2788x2000.png 848w, https://substackcdn.com/image/fetch/$s_!HIkS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957195e1-477c-46bd-bb32-9ddfbd19e1ef_2788x2000.png 1272w, https://substackcdn.com/image/fetch/$s_!HIkS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F957195e1-477c-46bd-bb32-9ddfbd19e1ef_2788x2000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>The specifics ranged from the practical to the personal. One developer&#8217;s entire reason for coming in: &#8220;I don&#8217;t have to fight with my cats.&#8221; However they phrased it, the pattern was the same. What draws developers to the office is overwhelmingly human, and largely physical, the parts of the experience that software still hasn&#8217;t managed to replace.</span></p><p><span>Those findings explain </span><em><span>why</span></em><span> the office matters. Developer metrics can help answer the next question: </span><strong><span>how much does it matter?</span></strong></p><p><span>In a previously unpublished analysis, I looked at teams relocating between office spaces. The building itself moved the numbers.</span></p><p><span>One team relocated into a well-designed, high-performance office and saw developer engagement, measured through active coding time, increase by roughly 13% relative to comparable peer teams. The really interesting part came later. When that same team eventually moved back into their original office, their active coding time returned almost exactly to its previous level.</span></p><p><span>I also saw the opposite pattern. Teams moving into poorly designed office spaces experienced productivity declines on the order of 10%.</span></p><p><span>This is observational, not a controlled experiment, so we should be cautious about claiming causality. Office moves often coincide with organizational changes, new teammates, and countless other confounding factors. But the pattern is still striking. The same outcome metrics we might use to evaluate a new AI coding assistant also measured the impact of an office redesign. The intervention changed. The measurement didn&#8217;t.</span></p><p><span>That changes the conversation. Office space is usually treated as a facilities expense to be minimized. But if a better workspace meaningfully improves the developer experience, it becomes a productivity investment instead. A useful rule of thumb is that facilities costs are roughly 10% of payroll. That means an improvement in developer effectiveness on the order of 10% has the potential to offset the entire cost of the workspace, before considering any additional benefits such as hiring, retention, or collaboration.</span></p><p><span>Interestingly, our earlier hybrid-work research found another version of the same idea. Developers who chose whether to work from home or the office based on the type of work they planned to do reported higher productivity than those choosing primarily for personal convenience. Different environments appear to support different kinds of work, and developer metrics give us a way to test those assumptions rather than simply debate them.</span></p><h3><span>When the weather is a variable</span></h3><p><span>Daylight Saving Time at least has policy debates attached to it. Weather is even simpler. No engineering leader can change it.</span></p><p><span>And yet </span><a href="https://queue.acm.org/detail.cfm?id=3819080"><span>it still shows up in the data</span></a><span>.</span></p><p><span>In Seattle, you can often identify winter snow days simply by looking at engineering activity. Active coding time drops by roughly 18%. The reasons are easy to imagine: disrupted commutes, childcare, school closures, or simply the irresistible pull of a rare Pacific Northwest snow day. Untangling those mechanisms is difficult, and I wouldn&#8217;t claim a clean causal story.</span></p><p><span>But the mechanism isn&#8217;t really the point.</span></p><p><span>The point is that the measurement detected the change.</span></p><p><span>At first glance, measuring something you can&#8217;t control might seem pointless. I think the opposite is true. If a team&#8217;s delivery slows during a snowstorm, that isn&#8217;t necessarily a performance problem to solve. It&#8217;s the context that helps explain what happened.</span></p><p><span>That&#8217;s one of the underappreciated benefits of developer-experience metrics. Sometimes their greatest value isn&#8217;t telling you what to change. It&#8217;s telling you what not to blame.</span></p><p><span>Knowing that a metric moved because of external circumstances prevents organizations from chasing the wrong explanations, setting unrealistic expectations, or concluding that a team suddenly became less effective when nothing about the team actually changed.</span></p><h3><span>The durable part</span></h3><p><span>There is a reason I keep coming back to these examples, and it is not just that they are fun to share at a dinner party.</span></p><p><span>It is tempting to think of developer-experience metrics as a way to evaluate developer tools. But that is too narrow. Good developer metrics measure outcomes, not interventions. They tell us whether developers can do focused, meaningful, high-quality work. The intervention itself might be a faster build, a better office, a meeting policy, or even something as unexpected as Daylight Saving Time.</span></p><p><span>That distinction is what makes these measurement systems durable.</span></p><p><span>Five years ago, organizations were asking different questions than they are today. Five years from now, they&#8217;ll ask different questions again. AI is the dominant topic today, just as cloud development environments, CI/CD, or code review tooling were at other points in time. The interventions evolve. The outcomes we care about&#8212;Speed, Ease, Quality, and Thriving&#8212;do not.</span></p><p><span>That&#8217;s why I don&#8217;t think AI is a special case. It is simply the latest intervention whose impact we want to understand. The questions remain the same: Does it help developers do better work? Does it reduce friction? Does it improve quality? Does it help people thrive?</span></p><p><span>The tools will continue to change. The interventions will continue to change. The measurement doesn&#8217;t have to.</span></p><p><span>It also leaves an interesting question for another day: if these ideas apply so well to software engineering, how much further do they extend?</span></p><div><hr></div><p>That&#8217;s it for this week. Thanks for reading.</p><p>-Brian</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/p/the-unexpected-things-developer-metrics?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/p/the-unexpected-things-developer-metrics?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[Measuring the impact of AI coding tools: Capacity, not horsepower]]></title><description><![CDATA[Separate what to measure from how, then measure across dimensions.]]></description><link>https://newsletter.getdx.com/p/measuring-the-impact-of-ai-coding</link><guid isPermaLink="false">https://newsletter.getdx.com/p/measuring-the-impact-of-ai-coding</guid><dc:creator><![CDATA[Brian Houck]]></dc:creator><pubDate>Wed, 29 Jul 2026 10:42:16 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/e0058d22-6461-4cf5-995b-bcecb2f63961_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em><strong>Welcome to the latest issue of Engineering Enablement</strong><span>, a weekly newsletter sharing research and perspectives on developer productivity.</span></em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/subscribe?"><span>Subscribe now</span></a></p><p><span>DX&#8217;s Q2 AI Impact Report is now available with the latest research on AI&#8217;s impact across engineering organizations. </span><a href="https://getdx.com/resources/?utm_source=newsletter">Read the full report.</a></p><div><hr></div><p><span>When an organization invests in an AI coding tool, the next question is almost always some version of &#8220;How do we prove it&#8217;s working?&#8221; It&#8217;s a fair question, and one many organizations are wrestling with today.</span></p><p><span>I was recently asked to weigh in on one such proposal: a metric called &#8220;Developer Horsepower,&#8221; defined as useful work per day and calculated by multiplying AI-assisted pull requests by an estimate of the human effort each would have required. It&#8217;s an intuitive idea, and a genuinely thoughtful attempt at a hard problem. But I think it starts one step too early.</span></p><p><span>Rather than asking how much human work the AI replaced, I&#8217;d ask whether AI has increased the organization&#8217;s capacity to deliver innovation (and whether that additional capacity is sustainable). That framing leads to a very different measurement strategy, and one that I believe is both easier to defend and more actionable.</span></p><h3><span>First, separate &#8220;what&#8221; from &#8220;how&#8221;</span></h3><p><span>Two different questions get tangled together in most measurement conversations. The first is what to measure. The second is how: not just how you collect the data (surveys versus telemetry) but how strong your evidence needs to be. Is a correlation enough, or do you need a full causal study?</span></p><p><span>Proving causation is genuinely valuable, and I&#8217;d never talk someone out of it. If you&#8217;re doing something novel, or you want to publish in a peer-reviewed journal, there are good approaches available, from difference-in-differences designs to dose-response studies. But for most organizations, a full causal study is overkill. There is now </span><a href="https://newsletter.getdx.com/p/five-studies-that-are-changing-how"><span>substantial causal evidence</span></a><span> that AI coding tools can improve coding throughput under many conditions. You don&#8217;t need to re-prove that AI increases coding throughput; the field has done that work. In most cases you can measure the correlations in your own environment and lean on the existing causal literature to interpret them. That&#8217;s a far lighter lift, and it&#8217;s honest (as long as you&#8217;re not claiming something the literature doesn&#8217;t support).</span></p><p><span>With that settled, the interesting question is what to measure.</span></p><h3><span>What to measure: innovation capacity, across dimensions</span></h3><p><span>The goal isn&#8217;t to isolate the tool. It&#8217;s to answer whether your engineering system now has more capacity to deliver innovation, and whether that capacity is sustainable. I&#8217;d build that up in layers.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!luT0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085238b0-c071-4870-b15b-8de6ffb5c961_2400x1586.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!luT0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085238b0-c071-4870-b15b-8de6ffb5c961_2400x1586.png 424w, https://substackcdn.com/image/fetch/$s_!luT0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085238b0-c071-4870-b15b-8de6ffb5c961_2400x1586.png 848w, https://substackcdn.com/image/fetch/$s_!luT0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085238b0-c071-4870-b15b-8de6ffb5c961_2400x1586.png 1272w, https://substackcdn.com/image/fetch/$s_!luT0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085238b0-c071-4870-b15b-8de6ffb5c961_2400x1586.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!luT0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085238b0-c071-4870-b15b-8de6ffb5c961_2400x1586.png" width="1456" height="962" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/085238b0-c071-4870-b15b-8de6ffb5c961_2400x1586.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:962,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:416952,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.getdx.com/i/208356729?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085238b0-c071-4870-b15b-8de6ffb5c961_2400x1586.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!luT0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085238b0-c071-4870-b15b-8de6ffb5c961_2400x1586.png 424w, https://substackcdn.com/image/fetch/$s_!luT0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085238b0-c071-4870-b15b-8de6ffb5c961_2400x1586.png 848w, https://substackcdn.com/image/fetch/$s_!luT0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085238b0-c071-4870-b15b-8de6ffb5c961_2400x1586.png 1272w, https://substackcdn.com/image/fetch/$s_!luT0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085238b0-c071-4870-b15b-8de6ffb5c961_2400x1586.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong><span>Throughput: Is more total work happening?</span></strong><span> PR throughput is a perfectly valid system-level signal for whether more work, in aggregate, is moving through your engineering system. It gets criticized, and rightly so, as a measure of any individual developer, because not all PRs are equal in size or complexity. But at the system level it holds up well. If you can normalize for PR complexity, that&#8217;s better still (</span><a href="https://getdx.com/truethroughput/"><span>TrueThroughput</span></a><span> is one approach to doing that). But even without normalization, aggregate throughput remains a useful directional indicator. I explore this in more depth in the recent article: </span><a href="https://newsletter.getdx.com/p/revisiting-the-dx-core-4"><span>Revisiting the DX Core 4 in the age of AI</span></a></p><p><strong><span>Deployments: Does the work survive to shipped software?</span></strong><span> This is the step most teams skip, and it&#8217;s the most important one. Recent research shows that AI increases coding activity far more than it increases shipped software. In </span><a href="https://www.nber.org/papers/w35275"><span>one large study of over 100,000 developers</span></a><span>, coding agents raised commit volume by up to 180%, yet the effect on actual releases attenuated to roughly 20-30%. The authors attribute the gap to a &#8220;weak link&#8221;: the upstream speedup runs into human bottlenecks downstream, in review, integration, and release.</span></p><p><span>Counting merged PRs alone may overstate impact, because a large share of that activity attenuates before it reaches production. Tracing your throughput increase all the way through to deployments tells you how much of the upstream gain actually survives.</span></p><p><span>I&#8217;d frame the result as innovation capacity: the organization&#8217;s realized capacity to deliver innovation. Note the deliberate boundary. Whether that additional capacity translates into business value is a separate question, and often not an engineering one. Deployment frequency is the practical proxy for delivered work; business impact is the true north if you can reach it. Conflating the two is how measurement programs lose credibility.</span></p><p><strong><span>Innovation Time Ratio: Are the savings being reinvested?</span></strong><span> AI only creates organizational value if the time it saves is reinvested in higher-value work. This is exactly what a metric like </span><a href="https://queue.acm.org/detail.cfm?id=3819080"><span>Innovation Time Ratio</span></a><span> captures: the share of developer time spent creating new value versus running the business or carrying administrative load. For most organizations, survey data is the logical place to start, unless you already have robust calendar and development telemetry. And self-report is less of a concern here than it first appears, because you&#8217;re looking at change over time. Whatever reporting bias exists tends to stay consistent across measurements, so it largely cancels out in the delta.</span></p><p><strong><span>Quality: A guardrail, not an afterthought.</span></strong><span> More work moving faster is only progress if it isn&#8217;t just churn. A quality signal such as change failure rate or incident mitigation time keeps the speed gains honest. If throughput climbs while failure rates climb with it, you haven&#8217;t gained capacity. You&#8217;ve moved the cost somewhere less visible.</span></p><p><strong><span>Satisfaction: The sustainability guardrail.</span></strong><span> Finally, watch developer satisfaction. Throughput and experience can decouple, and gains bought by burning out your engineers aren&#8217;t gains you get to keep. Sustainable capacity requires healthy developers. If higher throughput comes at the expense of satisfaction, you&#8217;ve likely borrowed from future capacity rather than increased it.</span></p><p><span>Taken together, those layers answer the question leadership is actually asking: not &#8220;how much code did the tool produce?&#8221; but &#8220;does our system have more capacity to deliver innovation, and can we sustain it?&#8221;</span></p><h3><span>&#8220;Developer Horsepower&#8221;</span></h3><p><span>Which brings me back to the proposal I was asked about. I understand the appeal of a single &#8220;horsepower&#8221; number, but ultimately I&#8217;d recommend a different approach.</span></p><p><span>To be clear, my aim isn&#8217;t to single out this particular metric. It&#8217;s a reasonable attempt at a real problem, and the team that proposed it is asking exactly the right question. I want to use it as a worked example of the kind of probing I do whenever someone hands me a composite score: what is the unit actually measuring, and how much variation is it hiding? Those questions apply to any single-figure productivity metric, not just this one.</span></p><p><span>My concern isn&#8217;t that &#8220;Developer Horsepower&#8221; is impossible to calculate. It&#8217;s that I&#8217;m not sure it is answering the question that really needs answering. Leadership doesn&#8217;t ultimately care how many &#8220;human-equivalent hours&#8221; an AI system replaced. They care whether their engineering organization can deliver more innovation, more reliably, and more sustainably than before.</span></p><p><span>The core problem is that it tries to collapse a multidimensional question into one figure. That runs against a principle the field has largely converged on: </span><a href="https://www.microsoft.com/en-us/research/publication/the-space-of-developer-productivity-theres-more-to-it-than-you-think/"><span>engineering productivity can&#8217;t be captured by a single metric</span></a><span>. A single number simplifies reporting, but it obscures the tradeoffs that matter and makes it difficult to understand what&#8217;s actually driving change.</span></p><p><span>The specific construction compounds this in several ways.</span></p><p><span>First, the normalization itself is non-standard and difficult to interpret. &#8220;Human-equivalent hours&#8221; isn&#8217;t an industry term, and a figure built on a bespoke conversion is difficult for anyone outside the team to trust or reason about.</span></p><p><span>More fundamentally, it&#8217;s not obvious what those hours are supposed to represent.</span></p><p><span>One of the more surprising findings from our </span><em><a href="https://queue.acm.org/detail.cfm?id=3807961"><span>AI Native Developer</span></a></em><span> research was that developers spend only about 14% of their work week actively writing code. The rest is spread across activities like design, code review, debugging, learning, meetings, planning, documentation, and coordinating with teammates. AI doesn&#8217;t simply replace coding time; it changes how engineers spend time across many of those activities. Some work disappears, some shifts, and entirely new work (like reviewing AI-generated code or managing context) emerges.</span></p><p><span>Trying to convert an AI-assisted pull request into a fixed number of &#8220;human hours saved&#8221; assumes those relationships are stable and additive. In practice, they&#8217;re neither.</span></p><p><span>Even if &#8220;human-equivalent hours&#8221; were the right unit, a flat estimate is almost certainly inaccurate. Eight hours per PR treats every pull request as identical, but PRs vary enormously in size, complexity, and review effort.</span></p><p><span>The research also increasingly suggests that AI and human effort remain largely </span><a href="https://www.nber.org/papers/w35275"><span>complements rather than substitutes</span></a><span>. Engineers still spend substantial time reviewing, integrating, validating, testing, and coordinating around AI-generated code. A clean &#8220;hours replaced&#8221; conversion assumes substitution where the evidence points toward augmentation.</span></p><h3><span>Where to start</span></h3><p><span>If this sounds like more than you can measure today, start anyway. You do not need to be able to measure all of this with a mature telemetry stack in order to begin.</span></p><p><span>Don&#8217;t have the telemetry? Use surveys. If you have precise, telemetry-driven data for every commit, review, build, and deployment, you&#8217;re in an uncommonly good position. Most organizations aren&#8217;t, and that&#8217;s fine. Targeted surveys will get you moving quickly, and they&#8217;re better suited to some of these dimensions than telemetry is anyway (reinvested time and satisfaction, for instance). The usual objection is self-report bias, but it matters less than people expect here, because you&#8217;re watching change over time. Whatever bias exists tends to stay consistent across measurements, so it largely cancels out in the delta. The measure only has to be directionally correct to be useful.</span></p><p><span>Don&#8217;t feel lost if you can only start with a couple of metrics. You don&#8217;t need all five dimensions on day one. Pick one or two metrics per dimension, balancing an objective signal with a subjective one, and add more as your instrumentation matures. A speed metric from telemetry paired with a satisfaction question from a survey tells you more than five telemetry metrics alone. Too many metrics dilute focus and make it harder to see what&#8217;s actually changing. Start small, learn what moves, and expand deliberately.</span></p><p><span>As your instrumentation matures, work toward the full picture. The richer your measurement, the more confidently you can answer whether your capacity to deliver innovation is real and sustainable.</span></p><h2><span>The bottom line</span></h2><p><span>The pressure to produce one clean number that proves an AI tool&#8217;s horsepower is understandable, but it answers the wrong question. The better question is whether your engineering system has more capacity to deliver innovation, and whether that capacity is sustainable. Measure that across a few well-chosen dimensions, lean on the causal work the field has already done, and you&#8217;ll have something far more defensible than any single horsepower figure, and far more useful for deciding what to do next. AI shouldn&#8217;t be judged by how much human work it appears to replace. It should be judged by whether it gives your engineering organization a greater and more sustainable capacity to deliver innovation.</span></p><div><hr></div><p><span>This week&#8217;s featured DevProd job openings. See more </span><a href="https://getdx.com/resources/devex-jobs/">open roles here</a><span>.</span></p><ul><li><p><strong>Ashby</strong><span> is hiring an </span><a href="https://jobs.ashbyhq.com/Ashby/0f5dbf59-687b-4d88-88a7-73ee0a66b48d?utm_source=PRgMeEgv1Z">Staff Platform Engineer</a><span> | Remote</span></p></li><li><p><strong>Cart</strong><span> is hiring a </span><a href="https://www.linkedin.com/jobs/view/4404135082">Sr. Software Engineer II, Developer Experience</a><span> | </span>Santa Clara, CA; San Francisco, CA; New York, NY</p></li><li><p><strong>Cashea</strong><span> is hiring an </span><a href="https://cashea.na.teamtailor.com/jobs/579773-infrastructure-developer-productivity-platform-engineering-manager">Infrastructure &amp; Developer Productivity Platform Engineering Manager</a><span> | Remote</span></p></li><li><p><strong>Figma</strong><span> is hiring a </span><a href="https://job-boards.greenhouse.io/figma/jobs/5790627004?gh_jid=5790627004&amp;gh_src=db0ijm3x4us">Staff Software Engineer, Developer Experience</a><span> | Remote; US</span></p></li><li><p><strong>Morgan Stanely </strong><span>is hiring an </span><a href="https://www.linkedin.com/jobs/view/4393043964/">AI Platform Engineer - Vice President</a><span> | New York</span></p></li><li><p><strong>Notion</strong> is hiring a <a href="https://jobs.ashbyhq.com/notion/49bdf081-6e20-4323-8c73-6d6b19544ff5">Software Engineer, Developer Experience</a> | Hybrid; Hyderabad, India</p></li></ul><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/p/measuring-the-impact-of-ai-coding?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/p/measuring-the-impact-of-ai-coding?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[Research briefing with Brian Houck: Measuring AI agents and revisiting the Core 4]]></title><description><![CDATA[Justin Reock and Brian Houck explore how AI coding agents are reshaping engineering metrics and what leaders need to measure in the age of AI.]]></description><link>https://newsletter.getdx.com/p/research-briefing-with-brian-houck</link><guid isPermaLink="false">https://newsletter.getdx.com/p/research-briefing-with-brian-houck</guid><dc:creator><![CDATA[Justin Reock]]></dc:creator><pubDate>Fri, 24 Jul 2026 13:50:33 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/207581348/14162e401718c8fcc01f420bcb2cbc98.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Listen and watch now on <strong><a href="https://youtu.be/U3p-rqOrAts">YouTube</a>, <a href="https://podcasts.apple.com/us/podcast/engineering-enablement-by-abi-noda/id1619140476">Apple</a>, and <a href="https://open.spotify.com/show/3NxjyIsuxeDMQtisDqBy7D">Spotify</a></strong>.</p><p><span>AI coding agents are changing how software gets built, but they&#8217;re also forcing us to rethink how we measure engineering effectiveness. Traditional developer experience metrics were designed for humans, not AI agents, so how should engineering leaders adapt?</span></p><p><span>In this webinar, I&#8217;m joined by Brian Houck, Distinguished Scientist at DX and co-author of the SPACE framework, to explore the emerging field of agent experience and how it builds on developer experience rather than replacing it. We discuss how organizations can prepare for AI-assisted software development, how the DX Core 4 applies in the age of AI, why metrics like token usage and PR throughput don&#8217;t tell the whole story, and the growing importance of documentation. We also examine the impact AI-driven pressure is having on burnout and cognitive overload.</span></p><p><span>Throughout the conversation, we share practical guidance for building engineering organizations where both developers and AI agents can do their best work.</span></p><div id="youtube2-U3p-rqOrAts" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;U3p-rqOrAts&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/U3p-rqOrAts?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2><strong>Some takeaways: </strong></h2><h2><strong><span>Agent experience builds on developer experience</span></strong></h2><ul><li><p><strong><span>Agent experience focuses on creating the conditions for AI agents to succeed.</span></strong><span> Brian defines agent experience as the environment surrounding AI agents, including the quality of context, documentation, validation, and feedback they receive. As agents become part of software teams, improving those conditions becomes increasingly important.</span></p></li><li><p><strong><span>Model quality is only one part of successful AI adoption.</span></strong><span> Organizations often focus on choosing the best model, but Brian argues that context, clear intent, and effective workflows often have a greater impact on outcomes than incremental improvements in model capability.</span></p></li><li><p><strong><span>The same systems that help developers often help AI agents.</span></strong><span> Investments in documentation, development workflows, and engineering platforms create a stronger foundation for both humans and AI to produce high-quality work.</span></p></li></ul><h2><strong><span>Developer experience and agent experience don&#8217;t always align</span></strong></h2><ul><li><p><strong><span>Many improvements benefit both developers and AI agents.</span></strong><span> Better documentation, clearer context, and stronger engineering practices improve outcomes across the board, making existing developer experience investments even more valuable.</span></p></li><li><p><strong><span>Optimizing for one doesn&#8217;t automatically optimize for the other.</span></strong><span> Brian explains that organizations will increasingly encounter situations where workflows that help AI agents introduce friction for developers, or vice versa.</span></p></li><li><p><strong><span>Organizations should measure both independently.</span></strong><span> Rather than assuming every AI optimization improves the developer experience, engineering leaders should evaluate where the two reinforce each other and where they diverge.</span></p></li></ul><h2><strong><span>Preparing for AI requires organizational change</span></strong></h2><ul><li><p><strong><span>Successful AI adoption requires more than coding tools.</span></strong><span> Justin and Brian describe AI readiness as a combination of developer tooling, engineering platforms, and organizational practices rather than a single technology decision.</span></p></li><li><p><strong><span>The DX Core 4 still provides a useful foundation.</span></strong><span> Instead of abandoning existing engineering metrics, organizations should reinterpret them for AI-assisted development while continuing to focus on business outcomes rather than activity.</span></p></li><li><p><strong><span>Validation becomes more important as generation becomes easier.</span></strong><span> As AI produces more code, engineering organizations need stronger review, testing, and verification processes to ensure quality keeps pace with productivity.</span></p></li></ul><h2><strong><span>Documentation becomes infrastructure for AI agents</span></strong></h2><ul><li><p><strong><span>Documentation is no longer just for people.</span></strong><span> AI agents rely on high-quality documentation to understand systems, follow conventions, and complete work accurately, making documentation a core engineering asset rather than an afterthought.</span></p></li><li><p><strong><span>Not all documentation delivers equal value.</span></strong><span> Brian highlights that the biggest returns come from documenting information that helps agents understand systems, architecture, and engineering intent rather than simply producing more documentation.</span></p></li><li><p><strong><span>Capturing organizational knowledge improves both human and AI performance.</span></strong><span> Teams that make important context explicit reduce repeated questions, improve onboarding, and enable AI agents to work more effectively.</span></p></li></ul><h2><strong><span>Engineering metrics need to evolve with AI</span></strong></h2><ul><li><p><strong><span>Token usage is a cost metric, not a productivity metric.</span></strong><span> Brian cautions against treating token consumption as a measure of engineering effectiveness because it reflects AI usage rather than business value or software quality.</span></p></li><li><p><strong><span>PR throughput tells only part of the story.</span></strong><span> Larger pull requests and faster code generation may indicate increased AI adoption, but they can also increase review complexity and cognitive load if organizations measure throughput in isolation.</span></p></li><li><p><strong><span>Outcome metrics matter more than activity metrics.</span></strong><span> Justin emphasizes measuring whether engineering teams deliver value, improve quality, and create better developer experiences instead of rewarding raw AI utilization.</span></p></li></ul><h2><strong><span>AI changes how engineering work feels&#8212;not just how it&#8217;s done</span></strong></h2><ul><li><p><strong><span>AI pressure is contributing to burnout and cognitive overload.</span></strong><span> Brian describes growing pressure to move faster with AI while simultaneously reviewing larger code changes and maintaining confidence in increasingly AI-generated systems.</span></p></li><li><p><strong><span>Software engineering is much more than writing code.</span></strong><span> Even as AI accelerates code generation, engineers remain responsible for judgment, communication, system design, validation, and building trust in what gets shipped.</span></p></li><li><p><strong><span>The long-term challenge is balancing speed with confidence.</span></strong><span> Organizations that move faster than their ability to verify AI-generated work risk increasing technical debt, developer stress, and uncertainty rather than creating sustainable productivity gains.</span></p></li></ul><h2><strong>In this episode, we cover:</strong></h2><p>(<a href="https://www.youtube.com/watch?v=U3p-rqOrAts">00:00</a>) Intro</p><p>(<a href="https://www.youtube.com/watch?v=U3p-rqOrAts&amp;t=86s">01:26</a>) Justin&#8217;s new role at DX</p><p>(<a href="https://www.youtube.com/watch?v=U3p-rqOrAts&amp;t=233s">03:53</a>) What agent experience is and why engineering leaders should care</p><p>(<a href="https://www.youtube.com/watch?v=U3p-rqOrAts&amp;t=535s">08:55</a>) How to improve agent experience at the platform level</p><p>(<a href="https://www.youtube.com/watch?v=U3p-rqOrAts&amp;t=685s">11:25</a>) How agent experience and developer experience influence each other</p><p>(<a href="https://www.youtube.com/watch?v=U3p-rqOrAts&amp;t=881s">14:41</a>) Preparing engineering teams for agentic work</p><p>(<a href="https://www.youtube.com/watch?v=U3p-rqOrAts&amp;t=1298s">21:38</a>) Why the DX Core 4 still matters in the age of AI</p><p>(<a href="https://www.youtube.com/watch?v=U3p-rqOrAts&amp;t=1643s">27:23</a>) What PR throughput actually measures</p><p>(<a href="https://www.youtube.com/watch?v=U3p-rqOrAts&amp;t=1967s">32:47</a>) The limits of token metrics</p><p>(<a href="https://www.youtube.com/watch?v=U3p-rqOrAts&amp;t=2230s">37:10</a>) What the data shows about documentation and developer experience</p><p>(<a href="https://www.youtube.com/watch?v=U3p-rqOrAts&amp;t=2372s">39:32</a>) Improving documentation for AI agents</p><p>(<a href="https://www.youtube.com/watch?v=U3p-rqOrAts&amp;t=2443s">40:43</a>) AI-washing, burnout, and cognitive overload</p><p>(<a href="https://www.youtube.com/watch?v=U3p-rqOrAts&amp;t=2735s">45:35</a>) Brian&#8217;s upcoming research on agent experience</p><p><strong><span>Where to find Brian Houck:</span></strong></p><p><span>&#8226; LinkedIn: </span><a href="https://www.linkedin.com/in/brianhouck"><span>https://www.linkedin.com/in/brianhouck</span></a></p><p><strong><span>Where to find Justin Reock:</span></strong></p><p><span>&#8226; LinkedIn: </span><a href="https://www.linkedin.com/in/justinreock"><span>https://www.linkedin.com/in/justinreock</span></a></p><h2><strong>Referenced:</strong></h2><p><span>&#8226; </span><a href="https://getdx.com/corefour"><span>DX Core 4 Productivity Framework</span></a></p><p><span>&#8226; </span><a href="https://spawn-queue.acm.org/doi/10.1145/3807964"><span>The SPACE of AI | Queue</span></a></p><p><span>&#8226; </span><a href="https://www.linkedin.com/in/sarachizari/"><span>Sara Chizari on LinkedIn</span></a></p><p><span>&#8226; </span><a href="https://annievella.com/posts/the-middle-loop/"><span>The Middle Loop - Annie Vella</span></a></p><p><span>&#8226; </span><a href="https://github.com/gastownhall/gastown"><span>gastownhall/gastown: Gas Town - multi-agent workspace manager &#183; GitHub</span></a></p><p><span>&#8226; </span><a href="https://getdx.com/guide/dora-space-devex/"><span>DORA, SPACE, and DevEx: Which framework should you use?</span></a></p><p><span>&#8226; </span><a href="https://getdx.com/blog/ai-impact-report-q1-2026/"><span>AI Impact Report: Q1 2026</span></a></p><p><span>&#8226; </span><a href="https://newsletter.getdx.com/p/ai-authored-code-has-nearly-doubled"><span>AI-authored code has nearly doubled, but so has PR size</span></a></p><p><span>&#8226; </span><a href="https://spawn-queue.acm.org/doi/10.1145/3819080"><span>EngThrive: Make It Fast and Easy to Do Great Work: Building a durable model for outcome-oriented engineering measurement</span></a></p><p><span>&#8226; </span><a href="https://psychsafety.com/googles-project-aristotle/"><span>Google&#8217;s Project Aristotle - Psychological Safety</span></a></p><p><span>&#8226; </span><a href="https://zapier.com"><span>Zapier</span></a></p>]]></content:encoded></item><item><title><![CDATA[The State of AI Impact in Engineering: Q2 2026]]></title><description><![CDATA[Data from 500+ teams reveals that AI is delivering measurable velocity gains, but velocity alone isn't the story.]]></description><link>https://newsletter.getdx.com/p/the-state-of-ai-impact-in-engineering</link><guid isPermaLink="false">https://newsletter.getdx.com/p/the-state-of-ai-impact-in-engineering</guid><dc:creator><![CDATA[Justin Reock]]></dc:creator><pubDate>Wed, 22 Jul 2026 10:02:58 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/28554c65-1e7d-432a-9e62-b017f371f383_2400x1254.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em><strong><span>Welcome to the latest issue of Engineering Enablement,</span></strong><span> a weekly newsletter sharing research and perspectives on developer productivity.</span></em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/subscribe?"><span>Subscribe now</span></a></p><p><span>&#128467; </span><a href="https://getdx.com/webinar/ai-in-engineering-q2-2026-benchmarks-research-readout/?utm_source=newsletter"><span>Join me and Brian Houck on July 23</span></a><span> for a readout of this report, where we&#8217;ll discuss new findings from DX&#8217;s data on AI tool usage, spend, and impact across 500+ organizations. Register </span><a href="https://getdx.com/webinar/ai-in-engineering-q2-2026-benchmarks-research-readout/?utm_source=newsletter"><span>here.</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!i6Pp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F471c6aab-292d-4e15-b164-5be4355550ce_2400x1254.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!i6Pp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F471c6aab-292d-4e15-b164-5be4355550ce_2400x1254.png 424w, https://substackcdn.com/image/fetch/$s_!i6Pp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F471c6aab-292d-4e15-b164-5be4355550ce_2400x1254.png 848w, https://substackcdn.com/image/fetch/$s_!i6Pp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F471c6aab-292d-4e15-b164-5be4355550ce_2400x1254.png 1272w, https://substackcdn.com/image/fetch/$s_!i6Pp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F471c6aab-292d-4e15-b164-5be4355550ce_2400x1254.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!i6Pp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F471c6aab-292d-4e15-b164-5be4355550ce_2400x1254.png" width="1456" height="761" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/471c6aab-292d-4e15-b164-5be4355550ce_2400x1254.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:761,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1634649,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.getdx.com/i/205958887?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F471c6aab-292d-4e15-b164-5be4355550ce_2400x1254.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!i6Pp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F471c6aab-292d-4e15-b164-5be4355550ce_2400x1254.png 424w, https://substackcdn.com/image/fetch/$s_!i6Pp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F471c6aab-292d-4e15-b164-5be4355550ce_2400x1254.png 848w, https://substackcdn.com/image/fetch/$s_!i6Pp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F471c6aab-292d-4e15-b164-5be4355550ce_2400x1254.png 1272w, https://substackcdn.com/image/fetch/$s_!i6Pp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F471c6aab-292d-4e15-b164-5be4355550ce_2400x1254.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>We are excited to announce our Q2 2026 AI impact report.</span></p><p><span>When we first began tracking the impact of AI on engineering teams, our primary goal was to measure AI cohorts against historical baselines to answer the question of what happens to software output after adoption. With industry-wide AI adoption exceeding 90%, comparing AI users against a non-user control group is no longer a viable measurement strategy.</span></p><p><span>Engineering leaders are now under immense pressure to justify exponentially-increasing AI budgets. The data from our Q2 report reveals that while AI is delivering objective gains in velocity, those gains are highly uneven.</span></p><p><span>Download the full analysis </span><strong><a href="https://getdx.com/report/state-of-ai-impact-in-engineering-q2-report/?utm_source=newsletter"><span>here.</span></a></strong></p><p><span>In the new report, we&#8217;ve uncovered a number of critical trends, including:</span></p><p><strong><span>1. Over 50% of code is now generated by AI. </span></strong><span> This metric has accelerated rapidly, increasing from 34% in Q1 2026 to 52% in Q2 2026. This steep trajectory indicates that once AI tools are deployed, the code they generate rapidly scales across codebases, frequently moving through reviews, dependencies, and shared workflows.</span></p><p><strong><span>2. Quality may be declining. </span></strong><span>During the same period that AI adoption has increased, median pull request sizes have nearly doubled. Increases in PR size can serve as an early indicator of technical debt, as higher code volumes generally correlate with increased complexity and potential for bugs. This trend can also introduce additional friction in the review process, as more lines of code generated means more lines of code to review.</span></p><p><strong><span>3. Some aspects of developer experience are declining.</span></strong><span> The Developer Experience Index (DXI) dropped from 67 to 65 over four quarters. AI is improving some aspects of the developer experience&#8212;documentation quality, code maintainability, onboarding speed&#8212;while creating new friction in others: larger PRs, slower reviews, less incremental delivery. In aggregate, the net effect is currently negative. Velocity metrics alone will tell you things are improving. Developer experience metrics will tell you whether that&#8217;s actually true</span><strong><span>.</span></strong></p><p><strong><span>4. AI is making codebases easier to understand, but it&#8217;s also making the code it generates harder to trust. </span></strong><span>The Q2 data highlights a striking divergence between two historically correlated software quality metrics. Specifically, from Q1 2026, Code Maintainability improved by 3.8%, whereas Change Confidence decreased by 6.1%. Code Maintainability indicates how easily developers can understand the codebase, while Change Confidence measures their trust that modifications won&#8217;t cause production failures. Traditionally, highly maintainable code results in higher confidence when making changes. However, this data reveals a new tension: although AI helps developers understand the code in front of them, they exhibit less trust in the code they are pushing to production.</span></p><p><strong><span>5. Saved time isn&#8217;t converting into innovation. </span></strong><span>AI users are now saving an estimated 4 to 6 hours per week. However, the innovation ratio, defined as the percentage of time spent on building new features versus maintenance and overhead, has remained flat over the same period of study. This flat trend indicates that the time saved by AI is not currently converting into increased capacity for creating new value. Leaders should keep a close eye on this metric over time. Ideally, innovation ratio will increase as AI frees up engineers to work on more new features.</span></p><p><strong><span>6. AI spend is accelerating faster than outcomes.</span></strong><span> Median quarterly organizational AI spend climbed from ~$1.5K to ~$44K over four quarters. Tech-sector spend increased nearly 28x. These numbers will draw scrutiny. Leaders who cannot connect this investment to downstream outcomes (feature velocity, innovation ratio, quality) may face increasingly difficult budget conversations in the back half of 2026.</span></p><h3><span>What this means for leaders</span></h3><p><span>The Q2 2026 data indicates that the industry is shifting from base AI deployment to evaluating concrete return on investment. As AI expenditures accelerate, engineering leaders must shift their focus from simply acquiring AI tools to optimizing the surrounding development pipelines and resolving systemic bottlenecks. To achieve true ROI, leaders must ensure that saved hours are reinvested into product innovation rather than absorbed by existing organizational friction.</span></p><p><span>To explore the full data and benchmark your team against 500+ organizations on measures of throughput, quality, and AI tooling cost, </span><strong><a href="https://getdx.com/report/state-of-ai-impact-in-engineering-q2-report/"><span>download the full report here.</span></a></strong></p><div><hr></div><p>That&#8217;s it for this week. Thanks for reading.</p><p>-Justin</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/p/the-state-of-ai-impact-in-engineering?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/p/the-state-of-ai-impact-in-engineering?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[UKG’s system for driving effective AI use]]></title><description><![CDATA[How they created internal scorecards that managers could use to coach and guide their teams&#8217; AI use.]]></description><link>https://newsletter.getdx.com/p/ukgs-system-for-driving-effective-ai-use</link><guid isPermaLink="false">https://newsletter.getdx.com/p/ukgs-system-for-driving-effective-ai-use</guid><dc:creator><![CDATA[Abi Noda]]></dc:creator><pubDate>Wed, 15 Jul 2026 10:03:30 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/cb3e2bb4-e068-4186-8d86-44ec3911e33a_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em><strong><span>Welcome to the latest issue of Engineering Enablement,</span></strong><span> a weekly newsletter sharing research and perspectives on developer productivity.</span></em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/subscribe?"><span>Subscribe now</span></a></p><p><span>&#128467; Join DX Deputy CTO, Justin Reock and Distinguished Scientist, Brian Houck on July 23 for a readout of the Q2 State of AI Impact in Engineering Report. Register </span><a href="https://getdx.com/webinar/ai-in-engineering-q2-2026-benchmarks-research-readout/?utm_source=newsletter"><span>here.</span></a></p><div><hr></div><p><span>I recently sat down with </span><a href="https://www.linkedin.com/in/thomas-newton-6821985/"><span>Thomas Newton</span></a><span>, VP of Engineering at UKG, to discuss how his team built a system to guide AI adoption and assess whether it&#8217;s translating into meaningful engineering outcomes. What was particularly interesting was how UKG provides teams with a metrics dashboard that managers can use to have better coaching conversations, and ultimately help developers become more effective with AI tools.</span></p><p><span>For this week&#8217;s newsletter, Thomas is describing how their approach works.</span></p><p><span>Here&#8217;s Thomas.</span></p><div><hr></div><p><strong><span>Thomas: </span></strong><span>As a leader in our industry, we previously faced a question that most engineering organizations are grappling with right now: how do you measure whether AI usage is translating into more meaningful work shipped?</span></p><p><span>This was a leadership priority with one goal from the start: make sure that the right data, in a digestible format, landed with the people closest to the work&#8212;the managers.</span></p><p><span>The result is what we call the Manager AI Adoption Dashboard: a set of visuals that combine AI usage patterns, delivery outcomes, and spend into a single picture that engineering managers can use to coach their teams, guide adoption, and have better conversations about how work is getting done.</span></p><h3><span>Starting with experimentation and adoption</span></h3><p><span>Our journey using AI tools in product development started the way most do. We experimented with several tools (GitHub Copilot, Windsurf, and others) before making a significant push toward Claude.</span></p><p><span>Giving our engineers access to these tools was a good place to start, but our managers needed visibility. They could feel the productivity gains anecdotally, but the data was missing. We wanted to better understand where AI was helping teams, and which workflows were creating the most impact.</span></p><p><span>The shift to a consumption-based model made this need even more urgent. Unlike fixed-cost seat licenses, consumption pricing means the meter is always running. Leaders needed to understand not just whether teams were using AI, but whether the investment was producing returns.</span></p><h3><span>Deciding what to measure</span></h3><p><span>One of the earliest decisions we made was to anchor the dashboard around TrueThroughput, a metric developed by DX that goes beyond raw pull request counts to account for the relative complexity and size of work delivered.</span></p><p><span>TrueThroughput uses AI to classify the complexity of different tasks, giving you a size-adjusted throughput number. Think of it like a weighted GPA versus an unweighted GPA. Both are useful, but the weighted version tells you whether someone is delivering meaningful work or just merging a lot of five-second fixes.</span></p><p><span>Instead of indexing on consumption, the dashboard creates a balanced view of AI impact by correlating consistent AI usage, measured in days of use, with TrueThroughput. These metrics help us answer whether consistent use of AI is helping teams deliver more meaningful work.</span></p><p><span>The dashboard combines three signals:</span></p><ul><li><p><span>AI usage: How consistently someone is using AI tools in their workflow.</span></p></li><li><p><span>TrueThroughput: The volume and complexity of work delivered.</span></p></li><li><p><span>Spend: Awareness of AI investment and consumption patterns.</span></p></li></ul><h3><span>Inside the dashboard</span></h3><p><span>The dashboard was built around a quadrant view. The horizontal axis tracks consistent days of AI use over a 30-day window: fewer than 15 days puts you on the left, more than 15 on the right. The vertical axis tracks TrueThroughput.</span></p><p><span>Example for illustration purpose only:</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OXcN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26504830-3b37-4cee-b44f-06f81eef7f26_2048x1611.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OXcN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26504830-3b37-4cee-b44f-06f81eef7f26_2048x1611.png 424w, https://substackcdn.com/image/fetch/$s_!OXcN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26504830-3b37-4cee-b44f-06f81eef7f26_2048x1611.png 848w, https://substackcdn.com/image/fetch/$s_!OXcN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26504830-3b37-4cee-b44f-06f81eef7f26_2048x1611.png 1272w, https://substackcdn.com/image/fetch/$s_!OXcN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26504830-3b37-4cee-b44f-06f81eef7f26_2048x1611.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OXcN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26504830-3b37-4cee-b44f-06f81eef7f26_2048x1611.png" width="1456" height="1145" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/26504830-3b37-4cee-b44f-06f81eef7f26_2048x1611.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1145,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OXcN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26504830-3b37-4cee-b44f-06f81eef7f26_2048x1611.png 424w, https://substackcdn.com/image/fetch/$s_!OXcN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26504830-3b37-4cee-b44f-06f81eef7f26_2048x1611.png 848w, https://substackcdn.com/image/fetch/$s_!OXcN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26504830-3b37-4cee-b44f-06f81eef7f26_2048x1611.png 1272w, https://substackcdn.com/image/fetch/$s_!OXcN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26504830-3b37-4cee-b44f-06f81eef7f26_2048x1611.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>That creates four zones:</span></p><ul><li><p><strong><span>Exploring (bottom left):</span></strong><span> Lower AI adoption, developing throughput. Teams discovering what problems AI might solve.</span></p></li><li><p><strong><span>Learning (bottom right):</span></strong><span> High AI adoption, building throughput. Expected pattern as teams explore different applications over 2-3 months.</span></p></li><li><p><strong><span>Efficient (top left):</span></strong><span> High throughput without heavy AI adoption. Some roles and workflows don&#8217;t need AI.</span></p></li><li><p><strong><span>Amplified (top right):</span></strong><span> High AI adoption, high throughput. Patterns here show which applications create real impact.</span></p></li></ul><p><span>Each dot on the chart represents an individual. Bubble size reflects spend. And the views are drillable: from the entire organization down to a business unit, a team, and ultimately an individual manager&#8217;s direct reports.</span></p><h3><span>What the data revealed</span></h3><p><span>Since rolling out the dashboard, the results have been striking. Initially, as one might expect with newly introduced tooling, the bottom-left quadrant was packed, meaning that a large portion of our engineering organization hadn&#8217;t touched AI tools at all. Within four months,, that quadrant was nearly empty; less than 1% of the organization remained in the low-AI, high-throughput zone. It&#8217;s been exciting to watch the whole organization shift on this.</span></p><blockquote><p>&#8220;Less than 1% of the organization remained in the low-AI, high-throughput zone.&#8221;</p></blockquote><p><span>We also saw some things in the data that confirmed what we&#8217;d hypothesized. For example, the group seeing the biggest throughput gains were our senior and principal engineers, at ~20-30% above what other roles saw. That&#8217;s intuitive, but it was interesting to see it in the data. Senior engineers already have strong instincts for where AI can help and where it can&#8217;t. They were often quicker to identify high-leverage opportunities and incorporate the tools into existing workflows.</span></p><p><span>One pattern caught us off guard: managers and directors started writing code again. Our leadership population started doing more direct hands-on coding. They have more assistants, they can multitask better, whatever the reason, it&#8217;s a clear trend. That pattern extends beyond engineering: our product managers and designers have started leaning into AI tools too, getting comfortable with the terminal, creating digital artifacts, and contributing in ways that show up in delivery metrics. When we started this, it wasn&#8217;t what we anticipated, but it&#8217;s a trend that is now more commonly observed and discussed.</span></p><h3><span>How managers use the dashboard</span></h3><p><span>The real value of the dashboard is the quality of the conversations the data enables.</span></p><p><span>For managers, the first question often focused on adoption: &#8220;How do we get you from left to right?&#8221; Are you using it daily, is it part of your workflow, or are you still finding your footing with it? But over time, the conversation became less about adoption itself and more about impact. Where is AI helping? Which workflows are working well? Where is it creating leverage, and where is it not?</span></p><p><span>When a manager saw an engineer with high AI usage but flat throughput, the right response wasn&#8217;t to question the spend. It was to ask what they were working on; maybe they were ramping up on new AI workflows, or in a role where their AI-assisted work didn&#8217;t produce code commits.  One example is heavy operation roles where productivity didn&#8217;t always result in commits into GitHub.</span></p><p><span>The best way to head off gaming or surveillance concerns is proactive communication. Don&#8217;t let people fill in the blanks on what the dashboards are for or why they exist. Be very clear. The dashboard is a conversation starter, not a performance management system. If teams interpret the dashboards as a tool for punishment or reward, they&#8217;ll have every incentive to game the numbers.</span></p><blockquote><p>&#8220;The dashboard is a conversation starter, not a performance management system.&#8221;</p></blockquote><p><span>At UKG, the framing has been consistent from day one: the dashboard exists to help managers empower their team, understand the work, understand how AI is being applied to that work, and help people lean into a new way of working.</span></p><h3><span>Keeping AI spend in check without leading with cost</span></h3><p><span>AI spend is visible on the dashboard, but it&#8217;s deliberately not the headline metric. It&#8217;s an awareness layer, something managers should be conscious of, not something that drives the conversation.</span></p><p><span>We use what I call &#8220;circuit breakers&#8221;; daily budget controls that flag when usage spikes above a threshold. But we haven&#8217;t yet landed on a firm benchmark for what reasonable per-engineer spend looks like.</span></p><p><span>The range is just too wide right now. Some teams are considering multi-agent orchestration and long-running loops that transform an entire codebase overnight. Others are using AI to finish a feature today. At this stage, it&#8217;s really hard to generalize.</span></p><p><span>I expect spending patterns will stabilize as the initial learning ramp flattens. Your first couple of prompts will probably be expensive. You&#8217;re still learning how to use the models correctly, you&#8217;re playing, you&#8217;re understanding how to use this radical new thing. But in as little as a few months, you will start to see averages form. We&#8217;re still in an experimentation phase, and for now, the approach is pragmatic: watch carefully, trust manager judgment, and make sure the investment is going toward the right outcomes.</span></p><h3><span>What comes next</span></h3><p><span>We&#8217;re already thinking about the limits of what the current dashboard captures. TrueThroughput is powerful for teams that ship code, but it misses productivity gains in operations, SRE, and other roles where AI is being used to correlate incidents, search logs, and accelerate incident resolution, work that never ends up in a pull request.</span></p><p><span>We have teams where an engineer uses AI to search past incidents during a live outage and correlate similar patterns to get to a resolution faster. That&#8217;s enormously productive, but it won&#8217;t show up in throughput. We&#8217;re trying to think through what the next level of digital footprints looks like, the metrics that capture the full picture of AI-enabled productivity, not just the code-commit slice of it.</span></p><p><span>The dashboard is a living system designed to evolve as we learn more about what effective AI-enabled engineering looks like.</span></p><h2><span>Final thoughts:</span></h2><p><span>For engineering leaders at other organizations who haven&#8217;t yet started measuring AI adoption, my advice is simple: Measure something. Metrics you have access to might differ, but collect some form of data, figure out what makes sense for your organization, and don&#8217;t make it a binary decision based on the data itself. The data should enable leaders to have further conversations.</span></p><p><span>That&#8217;s an important takeaway: The tools are powerful, and the data is illuminating, but the transformation happens in the conversations between managers and their teams.</span></p><div><hr></div><p><em><span>If you have questions about UKG&#8217;s approach, or just want to hear more from Thomas, make sure to follow or </span><a href="https://www.linkedin.com/in/thomas-newton-6821985/"><span>connect with him on LinkedIn</span></a><span>.</span></em></p><div><hr></div><p><span>That&#8217;s it for this week. Thanks for reading.</span></p><p><span>-Abi</span></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/p/ukgs-system-for-driving-effective-ai-use?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/p/ukgs-system-for-driving-effective-ai-use?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[Adopting the product operating model at Priceline]]></title><description><![CDATA[How Priceline used developer experience metrics, organizational change, and a product operating model to improve engineering effectiveness and prepare for AI-driven software development.]]></description><link>https://newsletter.getdx.com/p/adopting-the-product-operating-model</link><guid isPermaLink="false">https://newsletter.getdx.com/p/adopting-the-product-operating-model</guid><dc:creator><![CDATA[Justin Reock]]></dc:creator><pubDate>Fri, 10 Jul 2026 15:38:54 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/205653265/2adc0bae43ca43be00e7327ced84f67e.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Listen and watch now on <strong><a href="https://youtu.be/c-O1wrEjx6w">YouTube</a>, <a href="https://podcasts.apple.com/us/podcast/engineering-enablement-by-abi-noda/id1619140476">Apple</a>, and <a href="https://open.spotify.com/show/3NxjyIsuxeDMQtisDqBy7D">Spotify</a></strong>.</p><p><span>In this episode of the Engineering Enablement podcast, I sit down with Sejal Amin, Chief Technology Officer at Priceline, and Pedro Gutierrez, Senior Director of Software Engineering, to discuss how Priceline adopted a product operating model and the role developer experience played in making that transformation successful.</span></p><p><span>We explore why the company moved away from a project-based approach, how DX metrics and developer feedback helped uncover organizational bottlenecks, and why a phased rollout, clear communication, and empowered engineering managers were critical to building trust and improving developer experience. We also discuss creating a dedicated developer experience team, lessons learned throughout the transformation, and how Priceline&#8217;s product operating model has helped the organization adapt to AI-driven software development.</span></p><div id="youtube2-c-O1wrEjx6w" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;c-O1wrEjx6w&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/c-O1wrEjx6w?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2><strong>Some takeaways: </strong></h2><p><strong><span>Developer experience as a driver of organizational change</span></strong></p><ul><li><p><strong><span>Developer experience data can reveal organizational problems that traditional engineering metrics miss.</span></strong><span> At Priceline, DX signals uncovered organizational bottlenecks&#8212;including handoffs, dependencies, and team friction&#8212;that ultimately led the company to adopt a product operating model.</span></p></li><li><p><strong><span>Developer experience should be treated as a strategic capability, not just an engineering metric.</span></strong><span> Rather than measuring developer satisfaction in isolation, Priceline used DX insights to guide structural changes that improved autonomy, delivery, and engineering culture.</span></p></li></ul><p><strong><span>Adopting a product operating model</span></strong></p><ul><li><p><strong><span>Reducing dependencies gives teams greater ownership.</span></strong><span> Priceline shifted from a project-based organization to cross-functional product teams, reducing handoffs and giving teams the people and capabilities needed to own outcomes end to end.</span></p></li><li><p><strong><span>Autonomy requires visibility into team health.</span></strong><span> DX metrics gave engineering managers a clear view of the obstacles affecting their teams, allowing them to improve local workflows while staying aligned with broader organizational goals.</span></p></li></ul><p><strong><span>Turning developer feedback into action</span></strong></p><ul><li><p><strong><span>Developer experience surveys should lead to action&#8212;not just measurement.</span></strong><span> Managers reviewed survey results, completed a triage process, created quarterly action plans, and measured whether those improvements had an impact in the next survey cycle.</span></p></li><li><p><strong><span>Small workflow improvements can have an outsized impact.</span></strong><span> DX data helped teams reclaim focus time, identify tooling regressions after migrations, surface cross-team dependencies, and address day-to-day friction before it became systemic.</span></p></li></ul><p><strong><span>Building trust in developer experience metrics</span></strong></p><ul><li><p><strong><span>Clear communication is essential for adoption.</span></strong><span> Leaders consistently reinforced that DX metrics existed to improve teams rather than evaluate individuals, helping build confidence in the process from the outset.</span></p></li><li><p><strong><span>Trust grows when developers see meaningful change.</span></strong><span> Acting on feedback quarter after quarter encouraged greater participation, strengthened psychological safety, and made developer experience part of the organization&#8217;s culture.</span></p></li></ul><p><strong><span>The evolving role of engineering managers</span></strong></p><ul><li><p><strong><span>Engineering managers became owners of developer experience.</span></strong><span> Managers were expected to understand DX data, improve their team&#8217;s DXI each quarter, and make developer experience part of their regular operating rhythm.</span></p></li><li><p><strong><span>Developer experience became part of everyday engineering leadership.</span></strong><span> DX metrics were discussed openly in all-hands meetings and other forums, making developer experience a visible measure of organizational health rather than a one-time initiative.</span></p></li></ul><p><strong><span>Preparing engineering organizations for AI</span></strong></p><ul><li><p><strong><span>AI changes where bottlenecks occur&#8212;not whether they exist.</span></strong><span> As AI accelerated code generation, Priceline used its product operating model and developer experience data to identify where constraints had shifted and respond accordingly.</span></p></li><li><p><strong><span>A strong operating model helps organizations adapt to AI.</span></strong><span> Autonomous teams, continuous measurement, and visibility into developer workflows allowed Priceline to embrace AI while continuing to improve flow across the software development lifecycle.</span></p></li></ul><h2><strong>In this episode, we cover:</strong></h2><p>(<a href="https://www.youtube.com/watch?v=c-O1wrEjx6w">00:00</a>) Intro</p><p>(<a href="https://www.youtube.com/watch?v=c-O1wrEjx6w&amp;t=67s">01:07</a>) Meet Sejal Amin and Pedro Gutierrez</p><p>(<a href="https://www.youtube.com/watch?v=c-O1wrEjx6w&amp;t=107s">01:47</a>) How Priceline&#8217;s developer experience journey began</p><p>(<a href="https://www.youtube.com/watch?v=c-O1wrEjx6w&amp;t=295s">04:55</a>) Lessons from Priceline&#8217;s first developer experience surveys</p><p>(<a href="https://www.youtube.com/watch?v=c-O1wrEjx6w&amp;t=415s">06:55</a>) How DX improved Priceline&#8217;s developer experience surveys</p><p>(<a href="https://www.youtube.com/watch?v=c-O1wrEjx6w&amp;t=587s">09:47</a>) Identifying the causes of organizational slowness</p><p>(<a href="https://www.youtube.com/watch?v=c-O1wrEjx6w&amp;t=753s">12:33</a>) How the product operating model changed the way Priceline works</p><p>(<a href="https://www.youtube.com/watch?v=c-O1wrEjx6w&amp;t=850s">14:10</a>) Priceline&#8217;s phased rollout with DX</p><p>(<a href="https://www.youtube.com/watch?v=c-O1wrEjx6w&amp;t=1094s">18:14</a>) How DX insights drove organizational changes</p><p>(<a href="https://www.youtube.com/watch?v=c-O1wrEjx6w&amp;t=1173s">19:33</a>) Why Priceline improved developer experience before org change was complete</p><p>(<a href="https://www.youtube.com/watch?v=c-O1wrEjx6w&amp;t=1338s">22:18</a>) How clear communication builds trust</p><p>(<a href="https://www.youtube.com/watch?v=c-O1wrEjx6w&amp;t=1465s">24:25</a>) Early results from Priceline&#8217;s Core Four</p><p>(<a href="https://www.youtube.com/watch?v=c-O1wrEjx6w&amp;t=1538s">25:38</a>) Creating a culture of continuous feedback to build trust</p><p>(<a href="https://www.youtube.com/watch?v=c-O1wrEjx6w&amp;t=1660s">27:40</a>) What has changed in the engineering manager role</p><p>(<a href="https://www.youtube.com/watch?v=c-O1wrEjx6w&amp;t=1810s">30:10</a>) Resources for learning about the product operating model</p><p>(<a href="https://www.youtube.com/watch?v=c-O1wrEjx6w&amp;t=1960s">32:40</a>) What Pedro learned from implementing DX</p><p>(<a href="https://www.youtube.com/watch?v=c-O1wrEjx6w&amp;t=2091s">34:51</a>) The developer experience team</p><p>(<a href="https://www.youtube.com/watch?v=c-O1wrEjx6w&amp;t=2159s">35:59</a>) How AI tools have impacted Priceline&#8217;s teams</p><p>(<a href="https://www.youtube.com/watch?v=c-O1wrEjx6w&amp;t=2240s">37:20</a>) How the product operating model supports AI-driven development</p><p>(<a href="https://www.youtube.com/watch?v=c-O1wrEjx6w&amp;t=2353s">39:13</a>) Final advice for engineering leaders</p><p><strong><span>Where to find Sejal Amin:</span></strong></p><p><span>&#8226; LinkedIn: </span><a href="https://www.linkedin.com/in/sejal-amin"><span>https://www.linkedin.com/in/sejal-amin</span></a></p><p><strong><span>Where to find Pedro Gutierrez:</span></strong></p><p><span>&#8226; LinkedIn: </span><a href="https://www.linkedin.com/in/pedro-gutierrez-b6605422"><span>https://www.linkedin.com/in/pedro-gutierrez-b6605422</span></a></p><p><strong><span>Where to find Justin Reock:</span></strong></p><p><span>&#8226; LinkedIn: </span><a href="https://www.linkedin.com/in/justinreock"><span>https://www.linkedin.com/in/justinreock</span></a></p><h2><strong>Referenced:</strong></h2><p><span>&#8226; </span><a href="https://getdx.com/research/measuring-developer-productivity-with-the-dx-core-4/"><span>Measuring developer productivity with the DX Core 4</span></a></p><p><span>&#8226; </span><a href="https://www.amazon.com/dp/1119697336?lv=shuf&amp;channelId=500&amp;plpRedirect=mhFallback"><span>Transformed: Moving to the Product Operating Model (Silicon Valley Product Group)</span></a></p><p><span>&#8226; </span><a href="https://teamtopologies.com/"><span>Team Topologies</span></a></p><p><span>&#8226; </span><a href="https://flowframework.org/"><span>Flow Framework</span></a></p><p><span>&#8226; </span><a href="https://www.amazon.com/dp/1942788398?lv=shuf&amp;channelId=500&amp;plpRedirect=mhFallback"><span>Project to Product: How to Survive and Thrive in the Age of Digital Disruption with the Flow Framework</span></a></p>]]></content:encoded></item><item><title><![CDATA[Five studies changing how I think about AI in software engineering]]></title><description><![CDATA[AI compressed the upstream work. What does that mean for everything downstream?]]></description><link>https://newsletter.getdx.com/p/five-studies-that-are-changing-how</link><guid isPermaLink="false">https://newsletter.getdx.com/p/five-studies-that-are-changing-how</guid><dc:creator><![CDATA[Brian Houck]]></dc:creator><pubDate>Fri, 10 Jul 2026 13:04:17 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7a798890-bc91-4dc8-87f9-656e7f2f5f13_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em><strong><span>Welcome to the latest issue of Engineering Enablement,</span></strong><span> a weekly newsletter sharing research and perspectives on developer productivity.</span></em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/subscribe?"><span>Subscribe now</span></a></p><p><span>&#128467; </span><a href="https://getdx.com/webinar/ai-in-engineering-q2-2026-benchmarks-research-readout/?utm_source=newsletter"><span>Join me on July 23</span></a><span> for a readout of the upcoming </span>State of AI Impact in Engineering: Q2 Report<span>. We&#8217;ll discuss new findings from DX&#8217;s data on AI tool usage, spend, and impact across 500+ organizations. Register </span><a href="https://getdx.com/webinar/ai-in-engineering-q2-2026-benchmarks-research-readout/?utm_source=newsletter"><span>here.</span></a></p><div><hr></div><p><span>Every once in a while, several independent papers arrive at roughly the same time and collectively tell a bigger story than any one of them does alone. This week, I&#8217;m sharing five recent papers that have significantly influenced how I&#8217;m thinking about AI and software engineering.</span></p><p><span>Each paper tackles a different question. Some measure the productivity impact of AI coding assistants. Others examine how those gains propagate through the software delivery process, explore what developers actually want from future AI systems, or reconsider the kinds of debt we should be paying attention to in an AI-assisted world.</span></p><p><span>Despite coming from different research groups and using very different methodologies, they all seem to be converging on the same underlying story.</span></p><p><span>AI is compressing the upstream work of software engineering. The more I sat with these papers, the less I found myself asking, &#8220;Is AI making developers faster?&#8221; and the more I found myself asking, &#8220;What happens after the code is written?&#8221; Are we actually shipping more value? Where do the new bottlenecks emerge? And what are the costs if understanding can&#8217;t keep pace with generation?</span></p><p><span>After reading these five papers, I came away with one overarching conclusion: we&#8217;re generating code faster than we&#8217;re generating the systems needed to safely understand, verify, and deliver it.</span></p><p><span>A quick note on disclosure: three of these papers come from people I know and work with extensively. None of the papers are mine.</span></p><p><span>Here they are, in the order I&#8217;d recommend reading them.</span></p><h3><span>1. GitHub Copilot and Developer Productivity</span></h3><p><em><span>Paper: Heilman, A., Kyllo, A., Murphy-Hill, E. </span><a href="https://arxiv.org/abs/2606.00438"><span>GitHub Copilot and Developer Productivity: An Observational Dose-Response Analysis.</span></a></em></p><p><a href="https://arxiv.org/abs/2606.00438"><span>The first paper</span></a><span> I want to highlight tackles the familiar question of whether GitHub Copilot makes developers more productive, but it does so with one of the more clever research designs I&#8217;ve seen.</span></p><p><span>Rather than simply comparing Copilot users to non-users (which are getting harder and harder to find), the authors control for Active Coding Time (i.e., how much time developers spend actively engaging with development tools) and examine how productivity changes within the same engineer over 43 weeks across a population of 16,223 developers.</span></p><p><span>The payoff of this design is that it compares engineers to themselves rather than to one another. Using that approach, the authors found that weeks with the highest Copilot usage were associated with ~40% more completed PRs per hour of coding time than weeks with no usage.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aTuc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14c97306-fdec-49e1-9741-6da9e90a0745_2048x1142.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aTuc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14c97306-fdec-49e1-9741-6da9e90a0745_2048x1142.png 424w, https://substackcdn.com/image/fetch/$s_!aTuc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14c97306-fdec-49e1-9741-6da9e90a0745_2048x1142.png 848w, https://substackcdn.com/image/fetch/$s_!aTuc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14c97306-fdec-49e1-9741-6da9e90a0745_2048x1142.png 1272w, https://substackcdn.com/image/fetch/$s_!aTuc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14c97306-fdec-49e1-9741-6da9e90a0745_2048x1142.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aTuc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14c97306-fdec-49e1-9741-6da9e90a0745_2048x1142.png" width="1456" height="812" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/14c97306-fdec-49e1-9741-6da9e90a0745_2048x1142.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:812,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aTuc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14c97306-fdec-49e1-9741-6da9e90a0745_2048x1142.png 424w, https://substackcdn.com/image/fetch/$s_!aTuc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14c97306-fdec-49e1-9741-6da9e90a0745_2048x1142.png 848w, https://substackcdn.com/image/fetch/$s_!aTuc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14c97306-fdec-49e1-9741-6da9e90a0745_2048x1142.png 1272w, https://substackcdn.com/image/fetch/$s_!aTuc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14c97306-fdec-49e1-9741-6da9e90a0745_2048x1142.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>The relationship showed a clear dose-response pattern (a way to do a causal analysis, once everyone is already using the tools). More Copilot engagement was associated with more PR throughput, although the gains appeared to level off at very high usage.</span></p><p><span>The authors ran seven robustness and falsification tests to rule out alternative explanations (team-level effects, generic AI engagement, PR slicing, shifts toward easier work). The positive association remained remarkably consistent.</span></p><p><span>Interestingly, the gains were not concentrated in tiny PRs. The strongest effects were observed for larger PRs (7+ files), arguing against the idea that developers are simply breaking work into smaller units.</span></p><p><span>It&#8217;s a thoughtful analysis and shows that we&#8217;re not just coding more, we&#8217;re increasing coding efficiency as well. These findings anchor many of the studies that follow in this roundup.</span></p><h3><span>2. Writing Code vs. Shipping Code: Productivity Effects Across Generations of AI Coding Tools</span></h3><p><em><span>Paper: Demirer, M., Musolff, L., Yang, L. </span><a href="https://www.nber.org/papers/w35275"><span>Writing Code vs. Shipping Code: Productivity Effects Across Generations of AI Coding Tools.</span></a></em></p><p><a href="https://www.nber.org/papers/w35275"><span>The next paper</span></a><span> I&#8217;m highlighting was published by the National Bureau of Economic Research. It analyzes AI adoption across 100,000+ GitHub developers and asks a more nuanced question than Heilman&#8217;s: when AI makes individual coding steps faster, how much of that gain actually survives all the way to shipped software?</span></p><p><span>The authors examine how AI productivity gains propagate through a hierarchy of software development: lines of code &#8594; files &#8594; commits &#8594; pull requests &#8594; projects/repos &#8594; releases.</span></p><p><span>They found that AI is clearly increasing coding activity, and the gains grow with each generation of tools. They estimate roughly +40% more commits from autocomplete, growing to +140% from interactive coding agents, and finally +180% from autonomous agents.</span></p><p><span>However, those gains fall off significantly as work moves through the software delivery process. The largest effects are seen in code generation, but smaller effects appear in repos touched, small still in releases shipped, and ultimately software consumed by users. Even with very large increases in coding activity, the effect on shipped software is much smaller, topping out at roughly +30% more releases. This is illustrated in figure 2 below.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pzuI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59f761e2-1b48-472f-8aa8-8a3b33c0a4a0_2048x1330.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pzuI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59f761e2-1b48-472f-8aa8-8a3b33c0a4a0_2048x1330.png 424w, https://substackcdn.com/image/fetch/$s_!pzuI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59f761e2-1b48-472f-8aa8-8a3b33c0a4a0_2048x1330.png 848w, https://substackcdn.com/image/fetch/$s_!pzuI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59f761e2-1b48-472f-8aa8-8a3b33c0a4a0_2048x1330.png 1272w, https://substackcdn.com/image/fetch/$s_!pzuI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59f761e2-1b48-472f-8aa8-8a3b33c0a4a0_2048x1330.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pzuI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59f761e2-1b48-472f-8aa8-8a3b33c0a4a0_2048x1330.png" width="1456" height="946" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/59f761e2-1b48-472f-8aa8-8a3b33c0a4a0_2048x1330.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:946,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pzuI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59f761e2-1b48-472f-8aa8-8a3b33c0a4a0_2048x1330.png 424w, https://substackcdn.com/image/fetch/$s_!pzuI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59f761e2-1b48-472f-8aa8-8a3b33c0a4a0_2048x1330.png 848w, https://substackcdn.com/image/fetch/$s_!pzuI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59f761e2-1b48-472f-8aa8-8a3b33c0a4a0_2048x1330.png 1272w, https://substackcdn.com/image/fetch/$s_!pzuI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59f761e2-1b48-472f-8aa8-8a3b33c0a4a0_2048x1330.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>One of the findings I found most interesting is that they estimate a low elasticity of substitution (~0.25) between AI-generated output and human effort. That&#8217;s an economics concept that measures how replaceable human work is with AI output. As a methodology nerd, and someone with an economics degree, I found this particularly clever &#8212; they infer this elasticity from how AI productivity gains attenuate across the delivery process. Their estimate suggests AI and human work are still largely complements rather than substitutes, with substantial human effort still required to review, integrate, validate, and ship software.</span></p><p><span>One open question is whether the observed fall-off through the delivery process is some fundamental limit of software engineering, or simply the fact that organizations have not yet adapted their processes to an agentic world.</span></p><p><span>If Heilman tells you Copilot is making engineers measurably faster, this paper asks the harder question: faster at what, exactly?</span></p><h3><span>3. The Impact of AI Coding Assistants on Software Engineering</span></h3><p><em><span>Paper: Vella, A., Blincoe, K. </span><a href="https://arxiv.org/abs/2605.23135"><span>The Impact of AI Coding Assistants on Software Engineering: A Longitudinal Study.</span></a></em></p><p><span>The next study I want to highlight is unique because it isn&#8217;t just a snapshot in time, it&#8217;s a six-month </span><a href="https://arxiv.org/abs/2605.23135"><span>longitudinal study</span></a><span> of 95 professional software engineers. It also calls into question a relationship that we&#8217;ve long believed to be a bedrock of developer experience.</span></p><p><span>The study was done using two questionnaires six months apart, mixed-methods, with reflexive thematic analysis on the open-ended responses.</span></p><p><span>Vella found that productivity perceptions were stable and strongly positive over time. 84% of study participants reported improvement at both time points. Consistent with the first two studies in this round-up, the story of accelerated throughput is real and persistent.</span></p><p><span>The really striking finding is what the authors call the productivity-experience paradox. Among the matched cohort, the share of engineers reporting worse DevEx on at least one dimension nearly doubled in just six months, from 14% to 27%. Flow state was the most vulnerable; cognitive load eroded modestly; feedback loops actually improved.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tdUU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b1042a-4a2c-405f-9a4d-cb3fde714fb5_2048x1065.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tdUU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b1042a-4a2c-405f-9a4d-cb3fde714fb5_2048x1065.png 424w, https://substackcdn.com/image/fetch/$s_!tdUU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b1042a-4a2c-405f-9a4d-cb3fde714fb5_2048x1065.png 848w, https://substackcdn.com/image/fetch/$s_!tdUU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b1042a-4a2c-405f-9a4d-cb3fde714fb5_2048x1065.png 1272w, https://substackcdn.com/image/fetch/$s_!tdUU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b1042a-4a2c-405f-9a4d-cb3fde714fb5_2048x1065.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tdUU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b1042a-4a2c-405f-9a4d-cb3fde714fb5_2048x1065.png" width="1456" height="757" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43b1042a-4a2c-405f-9a4d-cb3fde714fb5_2048x1065.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:757,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tdUU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b1042a-4a2c-405f-9a4d-cb3fde714fb5_2048x1065.png 424w, https://substackcdn.com/image/fetch/$s_!tdUU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b1042a-4a2c-405f-9a4d-cb3fde714fb5_2048x1065.png 848w, https://substackcdn.com/image/fetch/$s_!tdUU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b1042a-4a2c-405f-9a4d-cb3fde714fb5_2048x1065.png 1272w, https://substackcdn.com/image/fetch/$s_!tdUU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43b1042a-4a2c-405f-9a4d-cb3fde714fb5_2048x1065.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>More importantly: while the cross-sectional correlations between DevEx and productivity were strong, the change scores didn&#8217;t correlate. Productivity and developer experience appear to be decoupling over time in AI-assisted workflows. For those of us who&#8217;ve spent years working with the SPACE and DevEx frameworks, that&#8217;s worth sitting with.</span></p><p><span>While this study didn&#8217;t have a particularly large population, the findings were significant and rigorously validated, proving that a study doesn&#8217;t have to be massive if the strength of results is strong enough. This longitudinal design is rare and valuable, and the productivity-experience decoupling is the kind of finding worth replicating in larger populations.</span></p><h3><span>4. To Copilot and Beyond: 22 AI Systems Developers Want Built</span></h3><p><em><span>Paper: Choudhuri, R., Badea, C., Bird, C., Butler, J., DeLine, R., Houck, B. </span><a href="https://arxiv.org/abs/2510.00762"><span>AI Where It Matters: Where, Why, and How Developers Want AI Support in Daily Work.</span></a></em></p><p><span>Last year I published a paper called </span><a href="https://arxiv.org/abs/2510.00762"><span>AI Where It Matters</span></a><span>, and my co-authors ended up writing a 2nd paper based on the original survey responses (860 Microsoft developers across roles, domains, and geographies). The paper outlines a roadmap of 22 AI tools that developers want beyond just code generation, centered around a concept they call &#8220;bounded delegation.&#8221; A lot of this echoes what the rest of this round-up is circling:</span></p><ul><li><p><span>The &#8220;right-shift&#8221; burden. Because AI is speeding up code generation, it&#8217;s creating a massive bottleneck downstream. Devs are getting flooded with more code to review, more production incidents to debug, and documentation that falls behind faster than ever.</span></p></li><li><p><span>The move to verification. Developers don&#8217;t want more code-generation assistants; they want AI embedded into verification tasks &#8212; tools that automatically assemble log/trace &#8220;case files&#8221; for on-call incidents, PR reviewers that catch complex business logic flaws before human review, change-aware test generation that knows which assertions actually matter.</span></p></li><li><p><span>&#8220;Bounded delegation.&#8221; There is a strict boundary around where developers want AI to stop. Developers want AI to absorb the tedious &#8220;assembly work&#8221; surrounding their craft (updating docs, writing edge-case unit tests), but never the core logic, architecture, or critical decision-making. Notably, developers drew this line even for tasks they acknowledged AI could plausibly handle &#8212; suggesting it&#8217;s not just about capability gaps and won&#8217;t move just because models improve.</span></p></li><li><p><span>Four non-negotiable guardrails. For future AI tools to be adopted, developers say they must enforce explicit authority scoping (no auto-approvals), clear data provenance, explicit uncertainty signaling (the AI must admit when it doesn&#8217;t know something), and least-privilege security access.</span></p></li></ul><p><span>You can check out both papers and an interactive website here: </span><a href="http://aka.ms/ai-where-it-matters"><span>aka.ms/ai-where-it-matters</span></a></p><h3><span>5. From Technical Debt to Cognitive and Intent Debt</span></h3><p><em><span>Paper: Storey, M. </span><a href="https://queue.acm.org/detail.cfm?id=3807966"><span>From Technical Debt to Cognitive and Intent Debt: Rethinking software health in the age of AI</span></a></em></p><p><span>I&#8217;ve saved this for last because I think this is the </span><a href="https://queue.acm.org/detail.cfm?id=3807966"><span>most important paper I&#8217;ve read in a long time.</span></a><span> Margaret-Anne Storey makes a generational argument: the metaphor we&#8217;ve used for decades to think about software health&#8212;technical debt&#8212;is no longer sufficient. AI is reducing technical debt (through refactoring, test generation, automated review) while quietly accelerating the accumulation of two other forms of debt that matter more in this era.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7Aa3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7a2f5d-cca4-4a2e-b3de-06fe4f27af36_2048x1069.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7Aa3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7a2f5d-cca4-4a2e-b3de-06fe4f27af36_2048x1069.png 424w, https://substackcdn.com/image/fetch/$s_!7Aa3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7a2f5d-cca4-4a2e-b3de-06fe4f27af36_2048x1069.png 848w, https://substackcdn.com/image/fetch/$s_!7Aa3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7a2f5d-cca4-4a2e-b3de-06fe4f27af36_2048x1069.png 1272w, https://substackcdn.com/image/fetch/$s_!7Aa3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7a2f5d-cca4-4a2e-b3de-06fe4f27af36_2048x1069.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7Aa3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7a2f5d-cca4-4a2e-b3de-06fe4f27af36_2048x1069.png" width="1456" height="760" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5b7a2f5d-cca4-4a2e-b3de-06fe4f27af36_2048x1069.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:760,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7Aa3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7a2f5d-cca4-4a2e-b3de-06fe4f27af36_2048x1069.png 424w, https://substackcdn.com/image/fetch/$s_!7Aa3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7a2f5d-cca4-4a2e-b3de-06fe4f27af36_2048x1069.png 848w, https://substackcdn.com/image/fetch/$s_!7Aa3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7a2f5d-cca4-4a2e-b3de-06fe4f27af36_2048x1069.png 1272w, https://substackcdn.com/image/fetch/$s_!7Aa3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7a2f5d-cca4-4a2e-b3de-06fe4f27af36_2048x1069.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong><span>Technical debt</span></strong><span> lives in code. It accumulates when implementation decisions compromise future changeability. AI is genuinely helping here.</span></p><p><strong><span>Cognitive debt </span></strong><span>lives in people. It accumulates when a team&#8217;s shared understanding of a system erodes faster than it&#8217;s replenished. When AI generates the code, developers may accept it without building the same mental model they would have built by writing it themselves. Multiply that across a team and over time, and you get &#8220;an accumulation of not knowing.&#8221;</span></p><p><strong><span>Intent debt</span></strong><span> lives in artifacts. It accumulates when the goals, constraints, and rationale that guide a system&#8212;the things both humans and AI agents need to work safely&#8212;are unclear, unwritten, or forgotten. As more development is AI-assisted, intent debt becomes a first-order constraint on what AI can actually do for you.</span></p><p><span>The three debts interact and compound. Intent debt causes cognitive debt; cognitive debt causes technical debt; technical debt amplifies cognitive debt. Managing software system health requires attention to all three layers, not just the one easiest to measure.</span></p><p><span>The four practical implications Storey draws are worth reading in full, but the headline is: treat understanding as a deliverable. Just as working code is a product of software development, shared understanding should be treated as a first-class deliverable, not something that happens as a side effect of writing code.</span></p><h2><span>Final thoughts</span></h2><p><span>Read together, these five papers say something stronger than any of them say individually. AI is genuinely making code generation faster, and the per-engineer efficiency gains are real (Heilman). But those gains don&#8217;t survive the trip to shipped software at anywhere near the same magnitude (Demirer). The bottleneck has moved downstream  to review, integration, verification, and understanding. Developers feel it, they&#8217;re explicitly asking for tools to address those bottlenecks while refusing to delegate the parts of the job they consider craft (Choudhuri). The lived experience of working this way is more uneven than the productivity numbers suggest, with flow and cognitive load eroding even as throughput holds (Vella). And the deepest cost may be one we don&#8217;t yet measure: the slow erosion of shared understanding, which is what makes any system safe to change (Storey).</span></p><p><span>The bottleneck has moved. Our tools, metrics, and team designs haven&#8217;t moved with it yet. That&#8217;s where the next several years of work in our field are going to happen.</span></p><div><hr></div><p><span>That&#8217;s it for this week. And make sure to sign up for my </span><a href="https://getdx.com/webinar/ai-in-engineering-q2-2026-benchmarks-research-readout/?utm_source=newsletter"><span>upcoming live research readout</span></a><span> covering new findings on AI&#8217;s impact, where we&#8217;ll discuss data from both DX and the broader industry.</span></p><p><span>-Brian</span></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/p/five-studies-that-are-changing-how?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/p/five-studies-that-are-changing-how?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[From dashboards to decisions]]></title><description><![CDATA[What three real-world case studies taught us about productivity measurement that works.]]></description><link>https://newsletter.getdx.com/p/from-dashboards-to-decisions</link><guid isPermaLink="false">https://newsletter.getdx.com/p/from-dashboards-to-decisions</guid><dc:creator><![CDATA[Brian Houck]]></dc:creator><pubDate>Wed, 08 Jul 2026 10:03:57 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/71b865b4-6cb2-4173-ae09-2899db922b0a_2400x1148.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em><strong>Welcome to the latest issue of Engineering Enablement,</strong> a weekly newsletter sharing research and perspectives on developer productivity.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://newsletter.getdx.com/subscribe?"><span>Subscribe now</span></a></p><p>&#128467; <a href="https://getdx.com/webinar/ai-in-engineering-q2-2026-benchmarks-research-readout/?utm_source=newsletter">Join me on July 23</a> for a readout of the upcoming State of AI Impact in Engineering: Q2 Report. We&#8217;ll discuss new findings from DX&#8217;s data on AI tool usage, spend, and impact across 500+ organizations. Register <a href="https://getdx.com/webinar/ai-in-engineering-q2-2026-benchmarks-research-readout/?utm_source=newsletter">here.</a></p><div><hr></div><p><span>I&#8217;ve spent a lot of time over the years thinking about developer productivity metrics. The longer I do this work, the more convinced I become that the hardest part isn&#8217;t measuring software engineering. It&#8217;s improving it.</span></p><p><span>That&#8217;s where I think the best measurement systems distinguish themselves. They don&#8217;t just tell you whether things are getting better or worse. They guide you to interventions that actually improve how developers work. If your dashboard isn&#8217;t changing decisions, it&#8217;s not creating value.</span></p><p><span>That idea sits at the heart of </span><em><a href="https://queue.acm.org/detail.cfm?id=3819080"><span>EngThrive: Make It Fast and Easy to Do Great Work</span></a></em><span>, a paper I recently co-authored with Tim Bozarth, David Liu, and Dean Carignan. The paper describes the measurement and improvement system I helped build at Microsoft, but what has stuck with me most aren&#8217;t the dashboards or the framework. They&#8217;re the stories.</span></p><p><span>One team intentionally &#8220;gamed&#8221; a productivity metric and improved onboarding for an entire year. Another protected developers&#8217; focus time and discovered that the biggest gains came from work they weren&#8217;t even trying to improve. A third gave every developer two unexpected days off and found that the lost &#8220;productivity&#8221; disappeared within weeks while the wellbeing benefits lasted for months.</span></p><p><span>Three different organizations. Three different problems. Three different interventions. Yet they all taught the same lesson: the best measurement systems don&#8217;t just tell you what&#8217;s happening. They help you figure out what to do next.</span></p><p><span>Before we get to those stories, though, it&#8217;s worth remembering how easy it is to measure confidently and be wrong.</span></p><p><span>In the first two months of mandatory remote work at Microsoft in early 2020, pull requests per developer jumped more than 20%, and the company&#8217;s stock price rose more than 15%. By those measures, things looked great. During that same period, however, 78% of developers reported feeling burned out. Three signals from the same quarter, pointing in two different directions. Any one of them on its own would have told a confident but completely misleading story.</span></p><p><span>That is the trap EngThrive was built to avoid. Organizations often measure activities&#8212;pull requests, commits, tasks completed&#8212;and quietly treat them as proxies for outcomes like delivery speed, software quality, or developer effectiveness. The two are not the same.</span></p><p><span>EngThrive instead organizes measurement around outcome dimensions like Speed, Ease, and Quality, with Thriving serving as a guardrail: if an intervention makes developers faster but leaves them burned out, we don&#8217;t consider it a success. We use a handful of outcome-oriented North Star metrics supported by diagnostic metrics that help explain why those outcomes move.</span></p><p><span>With that frame in mind, here are three case studies that fundamentally changed how I think about measuring, and improving, developer productivity.</span></p><h3><span>Case one: Improving one outcome changed four</span></h3><p><span>&#8220;Too many meetings&#8221; is one of the most frequently cited workplace challenges among software engineers. So in late 2025, Microsoft&#8217;s CoreAI organization launched an initiative to protect developers&#8217; focus time. Rather than simply banning meetings, leaders set an explicit target: lift the bottom 20% of developers to at least 25 hours of focus time per week.</span></p><p><span>To achieve this goal, teams did a handful of sensible things. They removed low-quality meetings, they clustered meetings together to form larger uninterrupted blocks of time, and they explicitly blocked time on their calendars to do focus work.</span></p><p><span>Within eight weeks, the results showed up across multiple dimensions. Focus time increased by 2.1 hours per developer per week, roughly twice the improvement seen in the control group. Bad Developer Days, a composite measure of daily developer friction, fell by 25%. PR velocity increased by 13%, about four times the control group. Taken together, the productivity gains were roughly equivalent to adding the output of 350 developers.</span></p><p><span>What surprised me wasn&#8217;t that focus time improved. It was that improving focus time seemed to improve things we weren&#8217;t directly trying to change.</span></p><p><span>Only about half of the reduction in Bad Developer Days could be explained by the additional focus time itself. Teams appeared to be using their newly protected capacity to pay down technical debt and eliminate other sources of friction that had been generating bad days in the first place. Creating focus time didn&#8217;t just help developers concentrate. It gave teams the space to improve the system that had been interrupting them.</span></p><p><span>That&#8217;s exactly why I think outcome-oriented measurement matters. If we had only measured focus time, we would have concluded that developers gained two extra hours each week. Looking across multiple dimensions revealed something much more interesting: the intervention triggered improvements well beyond its original goal.</span></p><p><span>One team lead summarized the lesson better than I could:</span><em><span> </span></em></p><blockquote><p><em><span>Metrics led to questions, questions led to improvements, improvements reinforced the metric&#8217;s value.</span></em></p></blockquote><h3><span>Case two: When gaming the metric is the right answer</span></h3><p><span>One of the most common objections to productivity metrics is that people will game them. I worry about that too, but I increasingly think it&#8217;s also one of the best tests of whether a metric is well designed. The best metrics are ones where gaming them is indistinguishable from genuine improvement.</span></p><p><span>Time-to-First-PR is my favorite example.</span></p><p><span>One organization of roughly 4,000 developers decided to &#8220;game&#8221; the metric on purpose by assigning every new hire a trivial pull request on their first day. As a gaming exercise, it worked exactly as intended. Time-to-First-PR improved by 30%.</span></p><p><span>The surprise came later.</span></p><p><span>Those same developers went on to complete 23% more pull requests over their first year than the control group. Interviews explained why. The first pull request was never really about the code. It was about setting up the development environment, learning the team&#8217;s tools and review process, and becoming comfortable contributing. By forcing all of that to happen in the first week, the organization didn&#8217;t just improve a metric. It accelerated onboarding.</span></p><p><span>A separate AI-assisted onboarding tool, FirstMate, arrived at the same conclusion from a different direction. By automating environment setup and helping new hires navigate an unfamiliar codebase, it reduced Time-to-First-PR by 65%.</span></p><p><span>That&#8217;s the lesson I keep coming back to:</span></p><blockquote><p><em><span>A well-designed metric shouldn&#8217;t be easy to game. It should be difficult to improve without doing something genuinely valuable. When that happens, gaming the metric and improving the system become the same thing.</span></em></p></blockquote><h3><span>Case three: A cost that turned out to be free</span></h3><p><span>During the burnout crisis of 2020, one organization tried something that looked reckless on a Speed dashboard: it gave every developer two unexpected days off, called Health Days.</span></p><p><span>At first, the metric behaved exactly as you would expect. Pull request output dropped during those two days.</span></p><p><span>Then something surprising happened.</span></p><p><span>Within two weeks, the &#8220;lost&#8221; pull requests had all been made up. The apparent productivity cost disappeared. The burnout relief, however, lasted another 14 weeks.</span></p><p><span>To me, this is the clearest example of why we treat Thriving as a guardrail rather than just another metric. If we had only looked at Speed, Health Days would have appeared to be a costly intervention and might never have been attempted again. Looking across multiple dimensions told a completely different story. The intervention was effectively free from a Speed perspective while delivering a sustained improvement in developer wellbeing.</span></p><p><span>I&#8217;ll also acknowledge an important limitation. This wasn&#8217;t a controlled experiment; it was one organization&#8217;s experience. But it&#8217;s consistent with a pattern we&#8217;ve seen repeatedly: leaders often assume wellbeing and productivity exist in tension, when in practice the trade-off is frequently much smaller than expected (or doesn&#8217;t exist at all).</span></p><blockquote><p><em><span>The lesson isn&#8217;t that every organization should schedule Health Days. It&#8217;s that looking across outcome dimensions gives leaders permission to try interventions that a single productivity metric would immediately reject.</span></em></p></blockquote><h2><span>Why this matters for engineering leaders</span></h2><p><span>The common thread across all three stories isn&#8217;t focus time, onboarding, or Health Days. It&#8217;s that none of those interventions came from optimizing a single activity metric. They came from measuring outcomes, looking across dimensions, and using supporting metrics to understand </span><em><span>why</span></em><span> those outcomes changed.</span></p><p><span>That&#8217;s the distinction I hope readers take away from the EngThrive work. A good measurement system isn&#8217;t just a reporting system. It&#8217;s a learning system. It doesn&#8217;t simply tell leaders whether things are getting better or worse. It helps them discover interventions they wouldn&#8217;t have tried otherwise, understand why they worked, and build confidence in repeating them.</span></p><p><span>Activity metrics still have an important role to play, but not as the destination. They&#8217;re clues. They help explain </span><em><span>why</span></em><span> an outcome changed, not whether it mattered in the first place.</span></p><p><span>Ultimately, I think that&#8217;s the shift engineering organizations need to make. Stop asking, </span><em><span>&#8220;What should we measure?&#8221;</span></em><span> Start asking, </span><em><span>&#8220;What decisions are we trying to make, and what measurements would help us make them better?&#8221;</span></em><span> The metrics should serve the intervention, not become the intervention.</span></p><p><span>None of this is the work of one person, or even four. EngThrive is the product of a large team that has spent years building the platform, the research, the surveys, and the discipline behind these results. If these stories are useful, the credit belongs to them.</span></p><div><hr></div><p><span>This week&#8217;s featured DevProd job openings. See more </span><a href="https://getdx.com/resources/devex-jobs/">open roles here</a><span>.</span></p><ul><li><p><strong>Ashby</strong><span> is hiring an </span><a href="https://jobs.ashbyhq.com/Ashby/0f5dbf59-687b-4d88-88a7-73ee0a66b48d?utm_source=PRgMeEgv1Z">Staff Platform Engineer</a><span> | Remote</span></p></li><li><p><strong>Carta</strong> is hiring a <a href="https://www.linkedin.com/jobs/view/4404135082">Senior Software Engineer II, Developer Experience</a> | Santa Clara, CA; San Francisco, CA; New York, NY</p></li><li><p><strong>Figma</strong><span> is hiring a </span><a href="https://job-boards.greenhouse.io/figma/jobs/5790627004?gh_jid=5790627004&amp;gh_src=db0ijm3x4us">Staff Software Engineer, Developer Experience</a><span> | Remote; US</span></p></li><li><p><strong>GM</strong> is hiring a <a href="https://generalmotors.wd5.myworkdayjobs.com/Careers_GM/job/Austin-Technical-Center---Austin-Technical-Center/Principal-Software-Engineer---Developer-Experience_JR-202610217">Principal Software Engineer, Developer Experience</a>  | Austin, Texas</p></li><li><p><strong>Morgan Stanley </strong><span>is hiring an </span><a href="https://www.linkedin.com/jobs/view/4393043964/">AI Platform Engineer - Vice President</a><span> | New York</span></p></li><li><p><strong>Notion</strong> is hiring a <a href="https://jobs.ashbyhq.com/notion/49bdf081-6e20-4323-8c73-6d6b19544ff5">Software Engineer, Developer Experience</a> | Hybrid; Hyderabad, India</p></li><li><p><strong>Vercel </strong>is hiring a<strong> </strong><a href="https://vercel.com/careers/sr-engineering-manager-platform-5461002004">Sr. Engineering Manager, Platform</a> | New York City, San Francisco</p></li></ul><div><hr></div><p>That&#8217;s it for this week. Thanks for reading.</p><p>-Brian</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.getdx.com/p/from-dashboards-to-decisions?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.getdx.com/p/from-dashboards-to-decisions?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item></channel></rss>