<?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[The Delivery Playbook]]></title><description><![CDATA[For tech delivery leaders in engineering, support, and operations who fix the system behind the numbers. One diagnosis, one countermeasure, one real case, every week.]]></description><link>https://newsletter.leantechpro.com</link><image><url>https://substackcdn.com/image/fetch/$s_!Bzne!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a2d42d3-03fb-4bb4-b0cc-340f09160fee_512x512.png</url><title>The Delivery Playbook</title><link>https://newsletter.leantechpro.com</link></image><generator>Substack</generator><lastBuildDate>Tue, 22 Sep 2026 10:30:20 GMT</lastBuildDate><atom:link href="https://newsletter.leantechpro.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Jean-Luc COSSI]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[thedeliveryplaybook@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[thedeliveryplaybook@substack.com]]></itunes:email><itunes:name><![CDATA[Jean-Luc COSSI]]></itunes:name></itunes:owner><itunes:author><![CDATA[Jean-Luc COSSI]]></itunes:author><googleplay:owner><![CDATA[thedeliveryplaybook@substack.com]]></googleplay:owner><googleplay:email><![CDATA[thedeliveryplaybook@substack.com]]></googleplay:email><googleplay:author><![CDATA[Jean-Luc COSSI]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Non-RFT Is Eating Your Team's Capacity]]></title><description><![CDATA[Eight of ten defect corrections came back for another round. One team eliminated the rework in three months. No new tests, no new reviewers, same team.]]></description><link>https://newsletter.leantechpro.com/p/non-right-first-time</link><guid isPermaLink="false">https://newsletter.leantechpro.com/p/non-right-first-time</guid><dc:creator><![CDATA[Jean-Luc COSSI]]></dc:creator><pubDate>Thu, 17 Sep 2026 19:57:30 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b5febbdb-4095-4aef-9a15-0f73665b70e9_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Non Right First Time (NRFT) refers to work already done that requires rework, correction, or remediation after the initial attempt. It is a quality problem.</p><p>Defects are a typical form of NRFT in software development. I see them like receipts because it is like paying twice for something you already knew. When that happens in engineering teams, we typically point to insufficient testing, insufficient review, or a lack of experienced devs.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>For me, NRFT occurrences and costs are still hidden within engineering teams. They rarely show up on dashboards. They are difficult to measure. Typically, teams rework about a quarter of their code before shipping.</p><p>I believe AI in software development is making NRFT cheaper to create and easier to miss at the same time. Change failure rate looks fine because in most of the cases, engineers catch AI&#8217;s errors before production. But they still burn many hours on rework, even if they avoid the failure. The waste now happens in review queues and rewrites, since those rework hours never touch production, so no delivery metric records them.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mWQm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0304045-8f67-47bb-93d3-d6b721ed6421_1200x560.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mWQm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0304045-8f67-47bb-93d3-d6b721ed6421_1200x560.png 424w, https://substackcdn.com/image/fetch/$s_!mWQm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0304045-8f67-47bb-93d3-d6b721ed6421_1200x560.png 848w, https://substackcdn.com/image/fetch/$s_!mWQm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0304045-8f67-47bb-93d3-d6b721ed6421_1200x560.png 1272w, https://substackcdn.com/image/fetch/$s_!mWQm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0304045-8f67-47bb-93d3-d6b721ed6421_1200x560.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mWQm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0304045-8f67-47bb-93d3-d6b721ed6421_1200x560.png" width="1200" height="560" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a0304045-8f67-47bb-93d3-d6b721ed6421_1200x560.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:560,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:103835,&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.leantechpro.com/i/216203155?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0304045-8f67-47bb-93d3-d6b721ed6421_1200x560.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_!mWQm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0304045-8f67-47bb-93d3-d6b721ed6421_1200x560.png 424w, https://substackcdn.com/image/fetch/$s_!mWQm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0304045-8f67-47bb-93d3-d6b721ed6421_1200x560.png 848w, https://substackcdn.com/image/fetch/$s_!mWQm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0304045-8f67-47bb-93d3-d6b721ed6421_1200x560.png 1272w, https://substackcdn.com/image/fetch/$s_!mWQm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0304045-8f67-47bb-93d3-d6b721ed6421_1200x560.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>In addition, the NRFT compounds across the queue. Every bounce-back costs more than a rewrite. It re-enters the workflow and waits in line again, behind everything else that arrived while it was being fixed. That&#8217;s one reason your lead time creeps up, even when everyone is busy.</p><h2>Diagnosis: Four conditions that guarantee rework</h2><p>In tech, when work comes back wrong, we add tests, reviewers, or, if required, we hire seniors. But every time we tightened inspection, the rework just changed shape. The reason is that inspection treats symptoms.</p><p>Here are the four systemic reasons I observe:</p><p><strong><span>Work arrives ambiguous:</span></strong> a development task arrives with vague acceptance criteria. For example, we may have undefined edge cases or unstated assumptions. So the engineer fills the gaps with their best reasonable guess, which is wrong. The reviewer finds out a week later. So the defect you see in review is often a translation problem that happened upstream, two handoffs earlier.</p><p><strong><span>Feedback arrives too late: </span></strong>a rework exists as soon as you discover the mistake. The repair might be expensive, but you also incur compounding costs between the mistake and its discovery date. Unfortunately, when a reviewer takes two days to respond, the engineer has already moved on mentally. By the time the comments arrive, reconstructing the context costs more than the fix. So the longer the delay, the higher the bounce rate. The delay is a property of the system.</p><p><strong><span>Batches are too big:</span></strong> honestly, nobody truly reviews a 900-line pull request. You skim it. Big batches also amplify the previous cause. Indeed, the larger the change, the longer the review queue, so the slower the feedback.</p><p><strong><span>AI inverted the ratio between generating and checking: </span></strong>AI output is generous and mostly free, but the verification still runs at human speed. That imbalance guarantees NRFT. You can generate five implementations faster than you can review one. Errors pile up in the gap.</p><p>I am not saying that some engineers are lazy and hence approve bad code. In my opinion, regarding NRFT, they&#8217;re approving code that disguises its wrongness.</p><p>Those four causes together lead to the pattern I see in teams with a stalled lead time: ambiguous work in, slow feedback loops around it, oversized batches flowing through, and an AI engine amplifying the volume.</p><h2>Countermeasure: Keep Work Visible and Small</h2><p>The fix is one rule with three consequences: work enters the flow clear, moves in small pieces, and stops the moment something is wrong.</p><p><strong><span>Work enters clear: </span></strong>a development task doesn&#8217;t enter the flow unless it has explicit acceptance criteria. Edge cases are properly listed, and the dev team has had the right discussions with the requirements owner. Recall that when an engineer fills gaps with guesses, the defect is created before the first line of code. So the gate is to keep ambiguous work outside the system.</p><p><strong><span>Work moves in small pieces: </span></strong>cap the size of what flows through review. The principle: small enough that a reviewer actually reads all of it in one sitting. Small pieces are cheap to fix. Smallness is also what makes AI output survivable. A 100-line piece has better chances of being verified instead of skimmed.</p><p><strong><span>Work stops when something is wrong: </span></strong>the moment a defect appears, anywhere, by anyone, the item it belongs to stops moving. It gets fixed immediately while the context is fresh, with all dependencies on sight. It can also be returned to the person who created the ambiguity while they still remember. That stop has only one objective: learn and avoid the same mistake going forward.</p><p>The whole point is the distance between the mistake and its discovery. Every mechanism above exists to collapse that distance to minutes.</p><p>Clear entries mean fewer wrong first attempts. Small pieces mean mistakes surface fast. Stopping means you fix mistakes where they were made. The team that applied this rebuilt the conditions the code flowed through.</p><p>These three are a system to build.</p><p><a href="https://leantechpro.com/the-pdca-cycle-deming-cycle-a-complete-guide-with-examples/">Problem-solving</a> keeps them alive. For that purpose, it has to be the team&#8217;s reflex for every bounce-back. When work comes back wrong, the collective question is always &#8220;why,&#8221; so which condition failed us.</p><h2>Real Case: Twenty Percent Right First Time</h2><p>Thirty developers had a defect backlog that refused to shrink despite weeks of correction sprints.</p><p>So together with the tech lead, we followed the full lifecycle of ten consecutive defect corrections to see whether the fix held the first time or came back.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AyVk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5effc1f-99c5-4d75-8dc8-3e42dad8a568_720x330.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AyVk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5effc1f-99c5-4d75-8dc8-3e42dad8a568_720x330.png 424w, https://substackcdn.com/image/fetch/$s_!AyVk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5effc1f-99c5-4d75-8dc8-3e42dad8a568_720x330.png 848w, https://substackcdn.com/image/fetch/$s_!AyVk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5effc1f-99c5-4d75-8dc8-3e42dad8a568_720x330.png 1272w, https://substackcdn.com/image/fetch/$s_!AyVk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5effc1f-99c5-4d75-8dc8-3e42dad8a568_720x330.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AyVk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5effc1f-99c5-4d75-8dc8-3e42dad8a568_720x330.png" width="720" height="330" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5effc1f-99c5-4d75-8dc8-3e42dad8a568_720x330.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:330,&quot;width&quot;:720,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:32547,&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.leantechpro.com/i/216203155?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5effc1f-99c5-4d75-8dc8-3e42dad8a568_720x330.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_!AyVk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5effc1f-99c5-4d75-8dc8-3e42dad8a568_720x330.png 424w, https://substackcdn.com/image/fetch/$s_!AyVk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5effc1f-99c5-4d75-8dc8-3e42dad8a568_720x330.png 848w, https://substackcdn.com/image/fetch/$s_!AyVk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5effc1f-99c5-4d75-8dc8-3e42dad8a568_720x330.png 1272w, https://substackcdn.com/image/fetch/$s_!AyVk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5effc1f-99c5-4d75-8dc8-3e42dad8a568_720x330.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>Eight out of ten came back, so the team corrected the issue right the first time only 20% of the time. They spent 80% of their bug-fixing capacity fixing their own fixes.</p><p>Diving into the ten&#8217;s lifecycle told us why:</p><p><strong><span>The analysis was only partly implemented.</span></strong> The person doing the correction implemented what they understood of the diagnosis. Those devs were genuinely trying to close their tickets. But when the root cause touches something outside your comfort zone, you fix the part you can reach and hope it covers the rest.</p><p><strong><span>Unit tests were minimized.</span></strong> Developers wanted to get to the code and treated the tests as the tax. Rushed tests, written after the fact, verify almost nothing. So the fix was &#8220;done&#8221; before anyone knew whether it worked.</p><p><strong><span>Nobody identified the root cause before correcting.</span></strong> Several fixes addressed symptoms. If you don&#8217;t know why the bug exists, your correction is a guess with a ticket number. Guesses bounce.</p><p><strong><span>One defect took six re-tests.</span></strong> Each re-test was run on incorrect data. Nobody had sat with the business to understand what the real cases looked like, so the team validated its fixes against invented ones.</p><p><strong><span>Requirements were misinterpreted.</span></strong> Same root, different branch: nobody had gone through the requirement with the people who wrote it. The team was working from its own reading of the document. Plausible reading, wrong one.</p><p>In those five, a pattern emerges. One is about competence. The other four are about the same missing ingredient: conversation. With the system, the tests, the business, the requirements. The team was working alone against bugs that lived in shared understanding.</p><p>We applied the countermeasure exactly as described above, plus one thing this team needed: before touching any defect, identify and write down the root cause, then sit with the business to confirm the data and expected behavior before correcting. No fix started without that. The first reaction was &#8220;we don&#8217;t have time for this.&#8221; Within two weeks, they had time. The re-testing loops disappeared.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tWmx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f6cf9c-3661-4360-9bdd-81e918bc69b1_720x380.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tWmx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f6cf9c-3661-4360-9bdd-81e918bc69b1_720x380.png 424w, https://substackcdn.com/image/fetch/$s_!tWmx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f6cf9c-3661-4360-9bdd-81e918bc69b1_720x380.png 848w, https://substackcdn.com/image/fetch/$s_!tWmx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f6cf9c-3661-4360-9bdd-81e918bc69b1_720x380.png 1272w, https://substackcdn.com/image/fetch/$s_!tWmx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f6cf9c-3661-4360-9bdd-81e918bc69b1_720x380.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tWmx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f6cf9c-3661-4360-9bdd-81e918bc69b1_720x380.png" width="720" height="380" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/52f6cf9c-3661-4360-9bdd-81e918bc69b1_720x380.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:380,&quot;width&quot;:720,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:31799,&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.leantechpro.com/i/216203155?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f6cf9c-3661-4360-9bdd-81e918bc69b1_720x380.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_!tWmx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f6cf9c-3661-4360-9bdd-81e918bc69b1_720x380.png 424w, https://substackcdn.com/image/fetch/$s_!tWmx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f6cf9c-3661-4360-9bdd-81e918bc69b1_720x380.png 848w, https://substackcdn.com/image/fetch/$s_!tWmx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f6cf9c-3661-4360-9bdd-81e918bc69b1_720x380.png 1272w, https://substackcdn.com/image/fetch/$s_!tWmx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f6cf9c-3661-4360-9bdd-81e918bc69b1_720x380.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>Three months later, NRFT was at zero. Defects dropped from 92 to 8 per month. All that happened with the same thirty people and no additional tooling.</p><p>Now, let me be clear and honest here. Defects are still a problem. Eight per month is still painful. Eliminating those means working on the defect root causes, design, architecture, etc.</p><p>The same pattern is spreading. Teams whose change failure rate looks fine while their developers burn half a day correcting model output. You&#8217;ve now seen how one team stopped paying twice. It&#8217;s time to look for yours.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Why Engineers Don't Act on Cloud Costs]]></title><description><![CDATA[Instead of the usual training and dashboards, you need standards and weekly rituals]]></description><link>https://newsletter.leantechpro.com/p/why-engineers-dont-act-on-cloud-costs</link><guid isPermaLink="false">https://newsletter.leantechpro.com/p/why-engineers-dont-act-on-cloud-costs</guid><dc:creator><![CDATA[Jean-Luc COSSI]]></dc:creator><pubDate>Mon, 07 Sep 2026 18:27:22 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/9888a523-f111-4655-94ba-7574b23cdb05_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>FinOps teams struggle to get engineers to take action. This isn&#8217;t new. In a <a href="https://www.finops.org/wg/encouraging-engineers-to-take-action/"><span>FinOps Foundation survey</span></a>, 40% of respondents rated this issue as their top challenge. The diagnosis was that engineers are unaware of costs. They feel cost is not their responsibility. In addition, they work in environments where delivery deadlines drive effort. The conclusion was that it is an awareness and motivation problem.</p><p>In every team I&#8217;ve coached so far, I&#8217;ve observed the same thing. It is not only about FinOps. Testers, for example, who don&#8217;t file clean defects. Or tech who don&#8217;t respect a 24-hour SLA. Or even developers who don&#8217;t run the required root cause analysis.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>The question is not why people don&#8217;t act. It is what in their work makes acting the obvious next step.</p><h2>The diagnosis: no target means no gap</h2><p>44% of the defects declared by a team of software testers I observed were false. They were not lazy or unaware. They just had no &#8220;standard&#8221; for completing a defect report. That standard would have included a check or verification against specs, which would reduce false defects. Instead, testers had no way to spot their own deviations, and nobody noticed.</p><p>The causes there are the same for cost tracking and actions regarding FinOps:</p><ul><li><p>No target, so no gap is visible. A cost is just a number until there is an expected value next to it.</p></li><li><p>The related actions aren&#8217;t specified anywhere. They are vague and belong to everyone, so, as usual, to nobody.</p></li><li><p>No manager has a cadence and a structure for reviewing the gap with team members. It means there is no specified know-how for them.</p></li><li><p>Feedback arrives weeks after the decision, aggregated and sent to the wrong person, so nobody can connect the cost to the choice that caused it.</p></li></ul><p>So, the consequence is the monthly bill you want to avoid. By then, it is usually too late to change course.</p><p>The FinOps Foundation diagnosis highlights awareness and motivation. That vision leads to tactics focused on information and encouragement. But information without a standard (a way to act) is just meaningless. The same goes for encouragement without a ritual to see and understand the situation: it&#8217;s just a message. No one in the team will remember that message in a few weeks.</p><h2>The countermeasure: standards to act and learn</h2><p>In a team, a &#8220;standard&#8221; is the current best way to do a task, written by the people who do it. It is short and visible to everyone. A standard helps to reduce variability. Using it leads to predictable results, creating a baseline so deviations become visible and improvement becomes possible. To be clear, the standard is not a policy. It is the procedure that sets the point you compare reality to.<br>You can use it in two ways here. The first is the team&#8217;s standard for achieving the desired cost outcome. The other is the manager standard. It is how he hands the problem to the team and ensures learning.<span> </span>For example, it covers what he checks, with whom, and at what cadence; what he does when it&#8217;s red. It&#8217;s the routine he follows to make a problem visible and put a person in front of it, on a schedule.</p><ul><li><p>No target means no gap. So engineers need a written target per team for what &#8220;normal&#8221; cost looks like, especially for what they run. For example, expected monthly range, cost per deploy or per thousand requests, tag coverage. Write it with the team, keep it short, and revise it as they learn. From that, a cost is a deviation an engineer can explain.</p></li><li><p>Cost belongs to everyone, but means nothing without ownership. Each team needs a named FinOps champion, with a standard for the role: what they check, when, and what counts as red. It is a routine role, revised like any other standard.</p></li><li><p>No cadence means no habit. The engineering manager and the champion have a weekly improvement ritual, and it has a standard. This is the manager&#8217;s standard work. It includes how to set up the ritual, the intro, how to run it precisely, and the why behind each step.</p></li><li><p>The real cost feedback arrives too late to learn from. In an enterprise context, it takes a long time for finance to aggregate costs, among other things, and get back to tech teams. By then, engineers are on other work, and the context is gone. The reported numbers cover many things. That kills learning. So, your engineers, using their dashboard, have to raise deviations immediately. The dashboard works here only because the target defines what&#8217;s normal. Then the engineer raises the deviation the day he sees it.</p></li></ul><p>Let&#8217;s be clear: guidelines and policies don&#8217;t work because a central team owns them and enforces them. A team owns a standard and revises it as it evolves.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cQ0V!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8826495-8510-4111-9ad5-01c4df7f0b0a_1600x700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cQ0V!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8826495-8510-4111-9ad5-01c4df7f0b0a_1600x700.png 424w, https://substackcdn.com/image/fetch/$s_!cQ0V!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8826495-8510-4111-9ad5-01c4df7f0b0a_1600x700.png 848w, https://substackcdn.com/image/fetch/$s_!cQ0V!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8826495-8510-4111-9ad5-01c4df7f0b0a_1600x700.png 1272w, https://substackcdn.com/image/fetch/$s_!cQ0V!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8826495-8510-4111-9ad5-01c4df7f0b0a_1600x700.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cQ0V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8826495-8510-4111-9ad5-01c4df7f0b0a_1600x700.png" width="1456" height="637" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d8826495-8510-4111-9ad5-01c4df7f0b0a_1600x700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:637,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:83472,&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.leantechpro.com/i/214612412?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8826495-8510-4111-9ad5-01c4df7f0b0a_1600x700.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_!cQ0V!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8826495-8510-4111-9ad5-01c4df7f0b0a_1600x700.png 424w, https://substackcdn.com/image/fetch/$s_!cQ0V!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8826495-8510-4111-9ad5-01c4df7f0b0a_1600x700.png 848w, https://substackcdn.com/image/fetch/$s_!cQ0V!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8826495-8510-4111-9ad5-01c4df7f0b0a_1600x700.png 1272w, https://substackcdn.com/image/fetch/$s_!cQ0V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8826495-8510-4111-9ad5-01c4df7f0b0a_1600x700.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><h2>The case</h2><p>The four moves became three documents - standards - and one KPI set.</p><p>We were in a big services organization. That tech department had roughly 60 engineers.</p><p>We had three engineering managers. Each of them managed two tech teams. On top of that, a director of engineering who raised the cloud costs issue in the first place. Cloud costs had never been in scope there, so putting that on the table wasn&#8217;t well received by the tech teams.</p><p>From an organizational perspective, we created one FinOps champion per tech team. A team member voluntarily took the role. On the cost matter, he worked with the engineering manager he reported to. In addition, each tech team&#8217;s FinOps champions had the same single FinOps point of contact from the central organization&#8217;s FinOps initiative. That relationship was informative and focused more on awareness of new directions or lessons learned at the company level.</p><p>In liaison with the director, we created standards for everything.</p><ul><li><p>First, onboarding: how an engineering manager onboarded himself to the FinOps initiative. It covers the full process, roles, and stakeholders. It includes how to bootstrap the initiative with a tech team until you identify a FinOps champion. Then it includes a standard for onboarding a new FinOps champion on a tech team.</p></li><li><p>The role of a FinOps champion: it covers what he does within his team about FinOps. It includes evangelization, cost KPI management, a problem-solving approach (PDCA), and cost-optimization techniques.</p></li><li><p>How to drive the initiative: one part covers the weekly ritual the engineering manager had with each FinOps champion. Then there was a continuous improvement dimension covering both the approach and the optimization techniques. Engineering managers run continuous improvement (PDCA) autonomously on FinOps and raise it in their weekly meeting with the director.</p></li></ul><p>Now, the mechanism is that engineering managers run it weekly. After initial onboarding, they enable tech teams to drive costs through a structured problem-solving approach. On the other side, they run a continuous learning loop among themselves and with the director. This lets them learn cost-optimization techniques and adapt in real time.</p><p>The rituals ran on one global cost KPI with its target, and one per tech team.</p><p>Here is how I implemented it. I built the system in liaison with the director. Then I bootstrapped it by onboarding one engineering manager. He then ran the whole thing with his teams: he ran information sessions and identified and onboarded two FinOps champions. Onboarding a champion meant the team&#8217;s cost KPI was in place and managed within the team. Then we did a continuous improvement session together, where we updated the standards he used based on what happened in reality with the teams. From that first improvement iteration, we got a new version of everything and agreed he would then onboard another colleague engineering manager. Then I left them to it. My part of building that was done. Whether the loop held is not mine to claim.</p><p>Standards reduce variability in task outcomes, regardless of who uses them. Standards trigger the right problem-solving at the right time for the right reasons.</p><p>This champion program runs on standards. Organizations meter their token billing daily, so the feedback can be same-day. With a target, a standard, and a ritual, you tackle the deviation the day it appears, not on the bill.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Year Nobody Could See]]></title><description><![CDATA[I could have mapped it alone and handed over a report. It would have sat in a folder.]]></description><link>https://newsletter.leantechpro.com/p/value-stream-mapping-delivery-flow</link><guid isPermaLink="false">https://newsletter.leantechpro.com/p/value-stream-mapping-delivery-flow</guid><dc:creator><![CDATA[Jean-Luc COSSI]]></dc:creator><pubDate>Fri, 28 Aug 2026 16:57:13 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/64abf5b8-414c-427e-9b4f-44ccce8bc8d8_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A consultant cuts a number by 30%, presents the slides, and leaves. Three months later, the number is back where it started.</p><p>I have watched that version many times, and I have been the consultant in it. I have also been the one whose fix was still running long after I was gone. The difference showed up in how the fix got built.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The diagnosis: leadership was reading status, not time</h2><p>The team ran the path to production at a large enterprise. As usual, the process involved other specialized teams such as security, infrastructure, and cloud. One application took more than a year to get through it. Nobody inside the pipeline knew that, and everybody was doing their job.</p><p>No single step was wrong. Whoever you asked had a good reason for their part. The time went somewhere else: the application sat, finished with one step, waiting for the next team to pick it up. Some of it also sat after somebody had taken it, before anything actually moved. Nothing followed it across the whole journey. Each team&#8217;s tools showed their own steps. The waiting between them belonged to no one, so no one measured it.</p><p>Leadership saw boards full of work in progress and read it as fine. There was nothing saying &#8220;in progress, blocked nine days, because two teams each think the other one moves next.&#8221;</p><h2>The countermeasure: build the seeing, do not deliver the map</h2><p>I could have mapped that alone and handed in a report. Faster for me. It would have just ended up buried in a folder.</p><p>So I built the map with the team. We walked one real application from inception to go-live. For each step, we collected when the request arrived in the queue, when somebody actually started, and when it was done. Nobody could hand me those numbers. I assembled them from tickets, old email threads, and conversations at people&#8217;s desks. The year disappeared between arrival and start, and inside the steps themselves.</p><p>The data was incomplete, and I said so loudly. You do not need perfect numbers to redesign a process. You just need enough to see the shape of the waste. That was already obvious to everyone.</p><p>The first morning of that workshop was resistance. Plan for that. Nobody enjoys a chart that says their work took a year, so they explain, then justify, then somebody says it could not have gone another way. Do not argue with the explanations. Arguing hardens them. Instead, ask what the step would look like if you designed it from scratch today.</p><p>The situation turns when one person stops defending the old flow and starts drawing the new one.</p><h2>The case: what changed in the room</h2><p>They got rid of redundant checks. The approval step no longer waited for architecture review: it started at intake and ran alongside everything else.</p><p>They gave each handoff a clear owner, and they wrote their own definitions of &#8216;ready&#8217; and &#8216;done&#8217; for every stage.</p><p>Then they set their own target: cut lead time by at least half.</p><p>That is the part everyone quotes back at me, and it is the least interesting thing that happened.</p><p>By the end, the question had moved from who is busy to how long this takes. Blockers stopped hiding inside &#8220;in progress&#8221; and surfaced where a leader could act on them. People who had argued for months about better communication started talking about handoffs and dependencies. All because they finally saw the flow drawn on a digital wall.</p><p>I left instruments behind. A board that shows waiting, not just status. Indicators with a name against each one. The habit of walking to the actual work when something breaks. Those are not the fix. They keep the seeing alive once I am gone.</p><p>On the last day, they were the ones pointing at the next thing to fix. A fix is a number that improved while you were in the room. A capability is a team that spots and clears its own next bottleneck once you are not. What I can tell you is what changes when the team builds the map instead of receiving it, and it is not subtle.</p><p>Your AI tools made the coding faster. They did nothing to help anyone see where the work actually waits. You cannot buy that capability. You build it in a room, with the people who do the work.</p><p>Try this question on your last transformation. Who noticed what was wrong next, and could they say it out loud? Do not ask whether the number moved. Everybody&#8217;s number moves while the money is being spent.</p><p>Reply and tell me what you found.</p><p><em><span>A longer version of this case was published on LeadDev in August 2026: </span><a href="https://leaddev.com/technical-direction/how-to-redesign-a-broken-delivery-flow"><span>How to redesign a broken delivery flow</span></a></em>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Twenty Minutes That Never Came Up]]></title><description><![CDATA[Productivity was low and nobody could explain it. The answer was hiding inside a task nobody thought worth mentioning.]]></description><link>https://newsletter.leantechpro.com/p/what-your-dashboard-misses</link><guid isPermaLink="false">https://newsletter.leantechpro.com/p/what-your-dashboard-misses</guid><dc:creator><![CDATA[Jean-Luc COSSI]]></dc:creator><pubDate>Thu, 20 Aug 2026 15:52:39 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/80708b65-f141-4a6d-8f49-da9192828f4f_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Most of what a manager knows about the work arrives through two filters.</p><p>The dashboard drops everything that never became a number. It records events, and most of a workday happens between them. For example, a ticket moves to &#8220;In Progress&#8221; at 9 and to &#8220;Done&#8221; at 16. In those seven hours, the tester spent twenty minutes figuring out which environment was current and waiting while it rebuilt. So the tool records two events, and the day happened between them.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>The retro drops everything nobody thought to mention. Naturally, people tell you what they remember, and they edit while they remember. I am not saying they hide things. Weeks are long, and our minds keep what felt like an issue and throw away what felt normal.</p><p>I believe the second filter, which most managers trust more, is worse than the first.</p><h2>The diagnosis: 20 minutes looking for the right environment</h2><p>I saw this in a testing team working on an insurance platform. Productivity was low, and nobody could explain why. When I sat and watched them work, much of the answer was the time spent figuring out what environment they were actually in, and the time spent waiting for one.</p><p>None of that was in any tool. Cycle time would have caught a ticket sitting in a state. Here, it was twenty minutes inside a task that was officially in progress, and it happened several times a day to several people.</p><p>The last time I went and looked at a delivery flow, the wait was sitting in one approval step nobody in the room had mentioned. It was not hidden. Nobody owned that step, so it never appeared in a report.</p><p>Ask that team in a retro whether anything blocked them, and they say no, honestly. It had been that way for months. That is how it stopped being an event and became the conditions.</p><h2>The countermeasure: one hour watching one activity, unprepared</h2><p>Pick the one team whose number looks strange.</p><p>Watch one activity for an hour. Focus on the work itself, as it happens. This is not a status conversation, nor a demo. Be clear about that. You might ask questions occasionally, but it&#8217;s better to wait until the end for a conversation based on what you are seeing.</p><p>Tell them you are coming and ask them to prepare nothing. The latter matters because if they prepare, you create overhead for them, and you will see the prepared version. So if nothing is prepared, the overhead lands on you, which is where it belongs.</p><p>Bring the reporting chain with you. When the manager is in the room, the layer above the team wants to be there too. You have to brief them; they are there to listen and learn from the way you act.</p><p>Now here are the rules, which are the whole difference between this working and this being an audit:</p><ul><li><p>Announce it. A surprise visit gets you one hour of the real thing; then the team knows you turn up unannounced, and you never see the real thing again.</p></li><li><p>Ask to see the actual thing. Then ask again. The second showing is usually where the workaround appears.</p></li><li><p>Do not solve anything in the room. The moment you fix something, you become the person who fixes things, and they stop showing you problems.</p></li><li><p>Do not look for someone to blame. Keep a straight face when it gets uncomfortable.</p></li><li><p>Say thank you before you leave. Give one thing you saw that was good, and one question you left with.</p></li><li><p>Debrief with the chain at the end. Don&#8217;t do it in front of the team.</p></li></ul><p>You are there to understand, not to confirm. What you will realize: an hour of watching gives you more than an hour of people remembering.</p><h2>The case: a monthly hour on the floor for productivity</h2><p>Let&#8217;s go back to the testing team. The client was unhappy: they missed deadlines, and test execution couldn&#8217;t keep up.</p><p>The manager started because a number would not explain itself. It became monthly because it worked. He sat next to a tester and watched them run test cases for an hour. His point was to see and understand what the productivity numbers he knew were made of. That is where he saw for himself the twenty minutes I had found in the diagnostic. Reading it in my report had not moved him. Watching it did. After an hour of watching, he started asking.</p><p>He asked what she was doing and what she needed to finish it. She was waiting on an environment. He asked how she knew which one was current, and she said she asks a colleague, or she tries it and finds out. He asked what had just happened when she went looking. Then how many times that had happened today. Four, she said, and it was not a bad day.</p><p>Then the two that hand it back: what would have to be true for that not to happen at all, and what would you try next time?</p><p>The last question is the turn. Up to that point, he is understanding but, most of all, leading the tester to acknowledge the real problem. At that point, he hands it back.</p><p>He did not solve anything. The team worked out what to try and what they thought it was worth, and one of them said a waiting reduction number out loud. He asked them to show him next time.</p><p>The month after, they showed him during another visit. Then they picked the next thing.</p><p>The first visits didn&#8217;t go smoothly. Half the team was skeptical about such a visit from management. The team leader was openly doubtful. Being watched reads like an audit until the manager proves otherwise, and the only proof is what he does. He does not solve their problem for them. He doesn&#8217;t even look for someone to blame; that wasn&#8217;t the point. He comes back the following month, which is what convinces them.</p><p>A manager who watches and leaves is a tourist. Here, he watches, asks until they see it, then steps back and lets them prove it to him next time he comes in.</p><p>That manager did his hour every month, and the team saved him the thing they want him to see. If you try it, the first visit will feel awkward for everyone. Move on to the second one. You will start to find out whether they believed you.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Your Support Queue Is a Defect Report]]></title><description><![CDATA[A support team escalates 20% of its tickets. We took it to 11% with support-side fixes alone. Nobody sorted what was left. That residual is the interesting part.]]></description><link>https://newsletter.leantechpro.com/p/escalation-rate-defect-report</link><guid isPermaLink="false">https://newsletter.leantechpro.com/p/escalation-rate-defect-report</guid><dc:creator><![CDATA[Jean-Luc COSSI]]></dc:creator><pubDate>Fri, 14 Aug 2026 15:35:40 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/69ba547e-ad4d-4168-bacb-200eea383501_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>From what I saw, the escalation rate is the most misunderstood metric in tech operations. Every escalation is one of two things:</p><ol><li><p>Someone in support could have resolved it. For example: missing access rights, missing knowledge, no written standard for what a complete answer contains. Another situation I saw was that the ticket landed with the wrong person because the routing ran on assumed specialty, instead of actual skills and workload. Those are defects in the support system, so the support manager is responsible for them.</p></li><li><p>Nobody in support could have resolved it because the software produced it. The answer lies in the code, in the data, or in a design decision made years ago. So the ticket climbs, level one to level two, then to level three. At the top of that ladder sits a maintenance team or a squad that inherited the codebase. Sometimes, it is nobody at all. Those are defects in the delivery system. You own them, and you almost never see them.</p></li></ol><h2>The diagnosis: 20%, filed as one team&#8217;s problem</h2><p>A director looks at 20% escalation rate for his support team and reads competence. So, for him, it is time to put money into training, a tenth technician, or a better ticketing tool. But tickets from software issues keep coming in. They get answered, but they keep arriving. The critical point is that, in most of the cases, nobody upstream, in the development team, ever learns they existed.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I&#8217;ve learned this in banks, in energy, in public services. The support team absorbs a defect the builders never receive. That absorption even looks like a service. It is actually a broken feedback loop. It holds because the people who could close it are looking at a dashboard that does not contain it.</p><h2>The countermeasure: two bins, then walk to the team that wrote it</h2><p>Sort one month of escalations into two bins.</p><p>Bin one: fixable inside support. After a root cause analysis for each ticket, fix it with two things. First, a written standard for what a response must contain before a ticket closes. Then, within the team, ticket routing based on real skills and current workload instead of assumptions.</p><p>Bin two: what survives. Take it to the team that wrote the code. It has to land on their board as their own number; otherwise it reads as support complaining.</p><p>Do not treat bin one as the win. You clear it so you can see what is underneath. You cannot clearly read your support queue as a defect report (on your product) while that queue is still full of escalations about your support process. Clear bin one first. Then you will see that unglamorous, continuously updating list of things your software does to people. Most organizations have never produced that list once.</p><h2>The case: what nine points bought, and what stayed</h2><p>At an energy company, nine technicians handled billing software issues for business teams.</p><p>During the diagnostic, I found the following numbers: on-time resolution: 40%, escalation rate: 20%, client satisfaction: 7 out of 10. Looking at the actual ticket replies, I saw that 36% were unclear, incomplete, or missed the question. One client said he had explained his problem three times. Forty-four tickets sat unassigned, some for over a month. During an observation, I discovered that assignment ran on a supposed specialty, and nobody could see the queue ageing.</p><p>Everything we did was on the support side. We created quality standards for the responses. We ran a pull system instead of pushing tickets to people. We set up a visible board with every ticket, its age, and its owner. The one rule was that nothing sits unassigned for more than 24 hours (per our SLAs).</p><p>Three months later, the on-time resolution reached 68%. Escalations fell to 11%. Satisfaction moved to 8 out of 10. There was no headcount change.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Os26!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdbe0ad-1761-4a10-86f5-0747120e56f6_1600x760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Os26!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdbe0ad-1761-4a10-86f5-0747120e56f6_1600x760.png 424w, https://substackcdn.com/image/fetch/$s_!Os26!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdbe0ad-1761-4a10-86f5-0747120e56f6_1600x760.png 848w, https://substackcdn.com/image/fetch/$s_!Os26!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdbe0ad-1761-4a10-86f5-0747120e56f6_1600x760.png 1272w, https://substackcdn.com/image/fetch/$s_!Os26!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdbe0ad-1761-4a10-86f5-0747120e56f6_1600x760.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Os26!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdbe0ad-1761-4a10-86f5-0747120e56f6_1600x760.png" width="1456" height="692" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2fdbe0ad-1761-4a10-86f5-0747120e56f6_1600x760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:692,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:69533,&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.leantechpro.com/i/211187428?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdbe0ad-1761-4a10-86f5-0747120e56f6_1600x760.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_!Os26!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdbe0ad-1761-4a10-86f5-0747120e56f6_1600x760.png 424w, https://substackcdn.com/image/fetch/$s_!Os26!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdbe0ad-1761-4a10-86f5-0747120e56f6_1600x760.png 848w, https://substackcdn.com/image/fetch/$s_!Os26!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdbe0ad-1761-4a10-86f5-0747120e56f6_1600x760.png 1272w, https://substackcdn.com/image/fetch/$s_!Os26!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdbe0ad-1761-4a10-86f5-0747120e56f6_1600x760.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>Now, let me share the part I would do differently today.</p><p>Nine escalation points came out with the support-side work. So eleven points survived everything we did to that support system. Nobody sorted that residual. That was the defect report. Everyone was happy with 8 out of 10. Nobody asked what was left.</p><p>One caution before you go pull your own numbers. A support queue only shows you what customers bothered to report. It is not your whole quality picture. It is just the part that arrives already paid for by customers, in their own time.</p><p>In a tiered organization, a bin two escalation goes to a third line or a maintenance team. They didn&#8217;t build it. The builders never receive their own defects, so the behavior that produced it never changes. Tiers rebuilt the old wall between the people who write software and the ones who live with it. You build it, you run it was one answer to that wall.</p><p>Sort one month of your escalations into the two bins. If the second one is bigger than you expected, reply and tell me what you found.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[44% of their defects were not defects]]></title><description><![CDATA[Almost half of what one team reported was not a bug. The six causes behind it, and the one rule that stopped testers from guessing.]]></description><link>https://newsletter.leantechpro.com/p/false-defect-rate-root-causes</link><guid isPermaLink="false">https://newsletter.leantechpro.com/p/false-defect-rate-root-causes</guid><dc:creator><![CDATA[Jean-Luc COSSI]]></dc:creator><pubDate>Wed, 05 Aug 2026 23:55:54 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/50db9454-15e1-4a4d-8e7c-6d2cc9c19852_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I observe engineering teams at work. It is the way I see where the work actually breaks. Here, I was in the room but could not tell who was working on what.</p><p>A team of fifteen testers was working on an insurance claims platform. There was nothing anywhere to say which delivery or feature was behind or where the work had stalled. The client had just returned a version carrying seven regressions that were supposedly fixed months earlier, and the manager wanted to know why his team could not keep pace.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I pulled the defect data. Of every hundred defects the team sent back to development, forty-four came back rejected. Almost half of what that team produced created work for other people and closed nothing.</p><p>I continued to watch testers at work for a few days. Some ran the same test again and again without reaching a conclusion. One spent two hours investigating before telling anyone.</p><p>I needed to dive into the defect data. I took ten rejected reports and read them one by one.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!f8RJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3180aa6d-30db-4ec4-9b98-9105eded3643_1800x980.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f8RJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3180aa6d-30db-4ec4-9b98-9105eded3643_1800x980.png 424w, https://substackcdn.com/image/fetch/$s_!f8RJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3180aa6d-30db-4ec4-9b98-9105eded3643_1800x980.png 848w, https://substackcdn.com/image/fetch/$s_!f8RJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3180aa6d-30db-4ec4-9b98-9105eded3643_1800x980.png 1272w, https://substackcdn.com/image/fetch/$s_!f8RJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3180aa6d-30db-4ec4-9b98-9105eded3643_1800x980.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!f8RJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3180aa6d-30db-4ec4-9b98-9105eded3643_1800x980.png" width="1456" height="793" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3180aa6d-30db-4ec4-9b98-9105eded3643_1800x980.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:793,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:106041,&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.leantechpro.com/i/210000165?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3180aa6d-30db-4ec4-9b98-9105eded3643_1800x980.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_!f8RJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3180aa6d-30db-4ec4-9b98-9105eded3643_1800x980.png 424w, https://substackcdn.com/image/fetch/$s_!f8RJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3180aa6d-30db-4ec4-9b98-9105eded3643_1800x980.png 848w, https://substackcdn.com/image/fetch/$s_!f8RJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3180aa6d-30db-4ec4-9b98-9105eded3643_1800x980.png 1272w, https://substackcdn.com/image/fetch/$s_!f8RJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3180aa6d-30db-4ec4-9b98-9105eded3643_1800x980.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>Thirty percent were real bugs, already fixed in a version the tester did not have. Twenty percent were duplicates of reports nobody could see. Twenty percent came from testers who did not know the expected behavior and had no quick way to confirm it. The rest was smaller: a thin knowledge of one subsystem, a misread result, a browser serving pages from cache.</p><p>Every cause on that list is a missing piece of shared information.</p><p>The usual countermeasure here is a review gate: someone senior checks each report before it is filed. But here, it fails, because it puts a queue in front of a problem that was never about carelessness.</p><p>With the team manager, the move we made is an &#8220;andon&#8221;. It is a signal that stops the work and calls for help. For that, we set one basic rule: when you are unsure something is a bug, you do not file it. Instead, you raise the signal, and the functional expert walks to your desk and looks at the screen with you. The typical resolution we observed was five minutes.</p><p>Two design choices decide whether this holds or becomes one more interruption.</p><p>Raising the signal is a requirement. Permission is not enough, because filing a ticket is free, but saying &#8220;I am not sure&#8221; might not be.</p><p>The expert also treats every call as twenty minutes of teaching. He shows the expected behavior and why. Then he shows you how you verify it yourself next time. So the same doubt stops coming back.</p><p>The andon reaches three of those six causes, roughly forty percent of the false reports. Asking an expert cannot refresh a stale environment or reveal a duplicate. The other sixty percent closed because the team built a visual management system. Every lot, delivery date, and problem already reported sat in one place anyone could read, with a target for the day. When the actual fell short of the target, that gap started a problem-solving cycle. That wall was empty the day I arrived.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ixhc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F980a40f7-685c-497d-b4b2-891dc7053f1b_1800x820.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ixhc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F980a40f7-685c-497d-b4b2-891dc7053f1b_1800x820.png 424w, https://substackcdn.com/image/fetch/$s_!ixhc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F980a40f7-685c-497d-b4b2-891dc7053f1b_1800x820.png 848w, https://substackcdn.com/image/fetch/$s_!ixhc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F980a40f7-685c-497d-b4b2-891dc7053f1b_1800x820.png 1272w, https://substackcdn.com/image/fetch/$s_!ixhc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F980a40f7-685c-497d-b4b2-891dc7053f1b_1800x820.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ixhc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F980a40f7-685c-497d-b4b2-891dc7053f1b_1800x820.png" width="1456" height="663" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/980a40f7-685c-497d-b4b2-891dc7053f1b_1800x820.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:663,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:42412,&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.leantechpro.com/i/210000165?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F980a40f7-685c-497d-b4b2-891dc7053f1b_1800x820.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_!ixhc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F980a40f7-685c-497d-b4b2-891dc7053f1b_1800x820.png 424w, https://substackcdn.com/image/fetch/$s_!ixhc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F980a40f7-685c-497d-b4b2-891dc7053f1b_1800x820.png 848w, https://substackcdn.com/image/fetch/$s_!ixhc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F980a40f7-685c-497d-b4b2-891dc7053f1b_1800x820.png 1272w, https://substackcdn.com/image/fetch/$s_!ixhc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F980a40f7-685c-497d-b4b2-891dc7053f1b_1800x820.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>April, 44%. May, 8%. June, 4%. There was no new headcount over those three months. The one thing added was the functional expert&#8217;s time, and he did not stay for the whole run.</p><p>The full root cause analysis and the problem-solving cycles behind these numbers are in the <a href="https://leantechpro.com/lean-testing-in-action-how-we-tripled-testing-productivity-in-3-months/"><span>case study</span></a>.</p><p>What your team reports is not a measure of how carefully they work. It is a measure of what they can see at the moment they have to decide. Fix what they can see, and the number moves on its own.</p><p>If you want to see where your own system leaks, the <a href="https://jlcossi.activehosted.com/f/59"><span>Delivery Scorecard</span></a> takes two minutes. Ten questions, and you know where to look first.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[+45% satisfaction from 30 phone calls]]></title><description><![CDATA[AI made building cheap. Knowing what's worth building didn't follow. The discipline that survives: go by what customers do, not what they say.]]></description><link>https://newsletter.leantechpro.com/p/voice-of-customer-45-satisfaction</link><guid isPermaLink="false">https://newsletter.leantechpro.com/p/voice-of-customer-45-satisfaction</guid><dc:creator><![CDATA[Jean-Luc COSSI]]></dc:creator><pubDate>Thu, 23 Jul 2026 00:14:01 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/0749aef7-4504-45b2-8e3a-d1523f228ccf_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>One question has trailed the AI wave into every product conversation this year: why bother with customer discovery when you can build the thing in a weekend?</p><p>The answer got clearer, and it points somewhere most teams are not looking. AI multiplied every team&#8217;s capacity to act. We get more code shipped, and more tickets closed. It added nothing to our capacity to know where to act. Over half of new features still fail to deliver the value teams expected. Mostly because they aim at the wrong problem, faster.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>The scarce skill moved from acting to aiming. Aiming has one discipline that survives everything: never ask customers what they want or what they would do. People answer politely and imagine a better version of themselves. The answers mislead you without a single lie in them. Instead, ask what they did the last time the problem actually hit. Observe it if you can. Past or present behavior is the only evidence that holds up.</p><p>I have applied that discipline inside engineering and operations teams for over 15 years. This one engagement here shows exactly how it plays out.</p><h2>The diagnosis</h2><p>An IT operations manager at a financial institution ran 17 technicians across a dozen office buildings, handling phone and printer incidents. Clients were unhappy and he knew it. Complaints reached him through directors, forwarded emails, hallway remarks. But he had no data on what exactly was broken and no way to prioritize. There was frustration everywhere, but he did not see any leverage.</p><p>I&#8217;ve met support and platform teams living that situation. Feedback reaches them constantly. They never get a signal they can act on.</p><h2>The countermeasure</h2><p>We built a <a href="https://leantechpro.com/voice-of-customer-voc-a-complete-guide-for-tech-teams/">structured Voice of Customer collection</a> with the team. It contained eight questions, asked by phone, each anchored to one specific incident that had just closed:</p><ol><li><p>What did you ask for, and what did you get in the end?</p></li><li><p>Where and how did the exchanges happen on this incident? What would have suited you better?</p></li><li><p>What has happened since the fix?</p></li><li><p>Walk me through the timing, from when you reported it to when it was solved. How did that fit what you needed?</p></li><li><p>What did you have to do yourself to get this resolved?</p></li><li><p>Rate this resolution, 1 to 10.</p></li><li><p>If under 10, what was missing to reach 10?</p></li><li><p>From your side, how should this ideally have been resolved?</p></li></ol><p>Let&#8217;s focus on the design of the questions. There is nothing that asks for an opinion about &#8220;our service&#8221; in general. Question 6 rates one resolution, at one moment. Questions 7 and 8 pull out the hidden need behind the stated one: a client who asked for a faster printer fix actually wanted to know his ticket was not lost.</p><p>The mechanic matters as much as the questions. I called clients the same day their incident closed. I reached thirty of them over a few days. Same-day memory gives you concrete detail and zero recall bias. For me, it&#8217;s interviewing while the truth is still warm.</p><h2>The case</h2><p>The calls produced the first real baseline: satisfaction at 6.4 out of 10, 17% of incidents resolved within two hours (which was the SLA), 19 incidents per day (the volume). Two issues dominated the verbatims: clients never knew where their ticket stood; and too many incidents should never have happened in the first place.</p><p>Each fix answered one of the two findings. Clients didn&#8217;t know where their ticket stood, so the team put up a <a href="https://leantechpro.com/project-obeya-room-case-study/">live board showing the status of every open incident,</a> visible to technicians and managers at all times. Repeated calls stopped. Too many incidents were happening, so a <a href="https://leantechpro.com/the-pdca-cycle-deming-cycle-a-complete-guide-with-examples/">structured root-cause cycle (PDCA)</a> traced a large slice of the daily volume back to cabling problems. The team put preventive measures in place. On top of that, technicians started assigning work by impact instead of arrival order, and trained themselves on a &#8220;standard&#8221; diagnosis routine so resolution quality stopped depending on who picked up the ticket.</p><p>Three months later, client satisfaction stood at 8.7, a 45% jump. The two numbers underneath explain why it moved: two-hour resolution climbed from 17% to 31%, and daily incidents fell from 19 to 12. Those are exactly the two frustrations the calls had surfaced, and they were pushed in the right direction. All that happened with zero new hires, and zero new tools.</p><p>That engagement predates the AI wave. The manager&#8217;s constraint was not capacity. He had 17 technicians and no shortage of effort. His constraint was signal: he could not see where the system leaked, so he could not aim. Today&#8217;s teams have more capacity than he ever did, and more telemetry too. They have the same missing signal. Seven questions and thirty phone calls still beat any dashboard at that job.</p><p>If you want to see where your own system leaks, the <a href="https://jlcossi.activehosted.com/f/59"><span>Delivery Scorecard</span></a> takes two minutes. Ten questions, and you know where to look first. And if defining value from your customer&#8217;s side is the wall your team keeps hitting, I run a half-day working session with leadership teams. Reply to this email, or message me directly on Substack, and I&#8217;ll send you the outline.</p><p>P.S. AI made acting cheap. It did nothing to the cost of acting on the wrong problem. Voice of Customer is how you find the right one.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Release Failures Hit Zero. Then They Bounced Back]]></title><description><![CDATA[Four months of release data, and the month the gains slipped back.]]></description><link>https://newsletter.leantechpro.com/p/release-failure-root-cause</link><guid isPermaLink="false">https://newsletter.leantechpro.com/p/release-failure-root-cause</guid><dc:creator><![CDATA[Jean-Luc COSSI]]></dc:creator><pubDate>Wed, 15 Jul 2026 17:10:07 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f1e7b72f-61f2-4e4c-8c41-98d843cf5545_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The number had just hit zero.</p><p>For the first time in months, the number of release failures reaching production was zero. Three months of digging had gotten the team there. I could have written up the win that same afternoon and gone home.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>One month later, it was back up.</p><p>I have watched this shape play out on enough teams to trust it. A team fixes the real thing, the number falls, everyone breathes out, and then it drifts back. Here is the story of one team that lived exactly that, and the part that finally held.</p><h2>Where the failures came from</h2><p>The team was tracking one number, month by month: release failures that reached production. In the first month I was there, it sat at its high point. Let&#8217;s call that the baseline. A release failure here means a change that had to be applied again because the first attempt broke something. For example, a piece of code that would not compile, a script that failed, or a step that was wrong.</p><p>Then it started to fall. By the second month, it was under a fifth of the baseline. By the third, zero. The number showed the team started fixing things.</p><p>Under that number sat a second one nobody watched as closely. Over that same stretch, fourteen releases failed in the lower environments before they ever reached production. Six in the acceptance environment, the rest spread across three integration environments. Those failures were the early warning. The impact line in the analysis said it plainly: more failures below meant more risk above.</p><p>So when the production number climbed back in the fourth month, I sat with the team and <a href="https://leantechpro.com/5-whys-root-cause-analysis-guide/">we ran a root cause analysis on the confirmed failures</a>. It was not a blame round. For each failure, we clarified what broke, why, and whether the dev team confirmed it by observation.</p><p>More than half traced to one thing. A database upgrade that had fallen behind. Some environments had it, one did not, and the same code passed where the upgrade was done and failed where it was behind.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KK8i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b04e9f-3ac6-47c9-9bc1-125a8335e2b7_2000x1100.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KK8i!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b04e9f-3ac6-47c9-9bc1-125a8335e2b7_2000x1100.png 424w, https://substackcdn.com/image/fetch/$s_!KK8i!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b04e9f-3ac6-47c9-9bc1-125a8335e2b7_2000x1100.png 848w, https://substackcdn.com/image/fetch/$s_!KK8i!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b04e9f-3ac6-47c9-9bc1-125a8335e2b7_2000x1100.png 1272w, https://substackcdn.com/image/fetch/$s_!KK8i!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b04e9f-3ac6-47c9-9bc1-125a8335e2b7_2000x1100.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KK8i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b04e9f-3ac6-47c9-9bc1-125a8335e2b7_2000x1100.png" width="1456" height="801" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/76b04e9f-3ac6-47c9-9bc1-125a8335e2b7_2000x1100.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:801,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:113934,&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.leantechpro.com/i/207180329?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b04e9f-3ac6-47c9-9bc1-125a8335e2b7_2000x1100.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_!KK8i!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b04e9f-3ac6-47c9-9bc1-125a8335e2b7_2000x1100.png 424w, https://substackcdn.com/image/fetch/$s_!KK8i!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b04e9f-3ac6-47c9-9bc1-125a8335e2b7_2000x1100.png 848w, https://substackcdn.com/image/fetch/$s_!KK8i!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b04e9f-3ac6-47c9-9bc1-125a8335e2b7_2000x1100.png 1272w, https://substackcdn.com/image/fetch/$s_!KK8i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b04e9f-3ac6-47c9-9bc1-125a8335e2b7_2000x1100.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>The rest came from somewhere else. None of them was a developer being careless. Each of them was a gap that no single person owned.</p><h2>Why &#8220;roll it back and move on&#8221; doesn&#8217;t work</h2><p>Search how to handle a run of release failures, and you will see the advice converge fast. Roll back to the last good version. Tell the users. Automate the pipeline so people touch it less. Add health checks and gates that stop a bad build. Put the change failure rate on a dashboard and watch it fall. Run a post-mortem on the ones that hurt.</p><p>Most of it is sound. It still would not have found this problem.</p><p>It fails because it does not go beyond the fix that gets production working again. Recompile the tag, rerun the script. The service is restored, and the cause untouched. The next release stays exposed.</p><p>Every one of those standard moves makes survival faster: roll back sooner, detect earlier, shrink the blast radius. All of it is worth having. None of it asks why the failure was born. A rollback turns production green again and says nothing about the version gap between the two environments that caused the code break. A dashboard tells you the release failed. It will not tell you the same code compiled fine one environment over.</p><p>The post-mortem gets closer, and the good teams run one. But most run it only on the failures that reach production and hurt someone, then stop once the incident is closed. The failures on this team were not all in production. Fourteen of them sat in the release path, across four environments, and never reached a user. You do not find those by watching production only. You find them by watching the whole path and treating every failure as a question rather than focusing only on the loud ones.</p><h2>Build the root-cause reflex</h2><p>The fix was a habit, not a tool. Take every failure back to its root, and to do that, watch the entire release path rather than focusing just on the end.</p><p>So the team lead sat with the confirmed failures, one at a time, and refused to stop at the symptom. &#8220;The tag failed&#8221; is a symptom. The real work was the next question down. Why.</p><p>The first tag would not compile. Why? It used database functions that existed only in the newer version. Why did that matter? One environment&#8217;s upgrade had fallen behind, so the same code met two different databases. The cause was not the tag. It was version drift across environments.</p><p>The second failed on a variable declared in a form that the older version did not accept. It is the same family: code written for one version, run against another.</p><p>The third was a grant command with the wrong syntax in a table script. Trace it down, and the cause was a script that was never validated against the environment it would actually run in.</p><p>The fourth ran against incorrect information during a post-install step. The cause: the deployment instructions were trusted and never checked against reality.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3ukT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f293579-df82-4f1e-bb69-d30a47597aef_2000x1200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3ukT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f293579-df82-4f1e-bb69-d30a47597aef_2000x1200.png 424w, https://substackcdn.com/image/fetch/$s_!3ukT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f293579-df82-4f1e-bb69-d30a47597aef_2000x1200.png 848w, https://substackcdn.com/image/fetch/$s_!3ukT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f293579-df82-4f1e-bb69-d30a47597aef_2000x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!3ukT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f293579-df82-4f1e-bb69-d30a47597aef_2000x1200.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3ukT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f293579-df82-4f1e-bb69-d30a47597aef_2000x1200.png" width="1456" height="874" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f293579-df82-4f1e-bb69-d30a47597aef_2000x1200.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:874,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:120758,&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.leantechpro.com/i/207180329?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f293579-df82-4f1e-bb69-d30a47597aef_2000x1200.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_!3ukT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f293579-df82-4f1e-bb69-d30a47597aef_2000x1200.png 424w, https://substackcdn.com/image/fetch/$s_!3ukT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f293579-df82-4f1e-bb69-d30a47597aef_2000x1200.png 848w, https://substackcdn.com/image/fetch/$s_!3ukT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f293579-df82-4f1e-bb69-d30a47597aef_2000x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!3ukT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f293579-df82-4f1e-bb69-d30a47597aef_2000x1200.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>Four failures, and under them two causes: the test and production environments were on different database versions, and some release work shipped without a check against where it would run. Trace those down one more step, and they meet in the same place. Nobody owned the release path between environments, so nothing verified that the environments matched, and nothing validated the work against its target. That gap was the root. You see it only when you line the failures up and trace each one past the fix, down to the reason. Every cause was confirmed through observation with the dev team before anyone built a countermeasure for it. There was no guessing.</p><p>Out of that analysis came the changes that stuck.</p><p><strong><span>Fixed the drift at the source.</span></strong> The late upgrade got done, and code that needed the newer version was compiled and validated against the version it would actually run on.</p><p><strong><span>Front-loaded the slow work.</span></strong> Anything with a known wait, an upgrade or an access right, now gets requested at the start of a deployment. It runs in parallel instead of blocking the release at the end.</p><p><strong><span>Put the whole path under watch.</span></strong> Every environment, not just production. A failure below production now counts as signal, not noise, which is how the fourteen quiet ones became visible in the first place.</p><p><strong><span>Made the analysis mandatory.</span></strong> In any month when the failure count is not zero, the team systematically conducts root cause analysis on all issues.</p><p>Watch a professional tennis player return a serve. They do not decide to move. The reflex fires before the conscious thought, trained by ten thousand repetitions until it runs on its own. Root cause analysis is the same muscle. The first one this team ran was slow, deliberate, and a little awkward. By the fifth, they were tracing a failure to its root without being asked. That reflex is the countermeasure. The tracking, the rule, the front-loading, all of it is scaffolding around the one thing that matters: a<a href="https://leantechpro.com/the-pdca-cycle-deming-cycle-a-complete-guide-with-examples/"> team that meets a failure with &#8220;why,&#8221; automatically</a>.</p><h2>Four months later</h2><p>Here is what the four months looked like.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vg_B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12e8c9-0140-43a0-a0df-264a46082611_2000x1250.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vg_B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12e8c9-0140-43a0-a0df-264a46082611_2000x1250.png 424w, https://substackcdn.com/image/fetch/$s_!vg_B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12e8c9-0140-43a0-a0df-264a46082611_2000x1250.png 848w, https://substackcdn.com/image/fetch/$s_!vg_B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12e8c9-0140-43a0-a0df-264a46082611_2000x1250.png 1272w, https://substackcdn.com/image/fetch/$s_!vg_B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12e8c9-0140-43a0-a0df-264a46082611_2000x1250.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vg_B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12e8c9-0140-43a0-a0df-264a46082611_2000x1250.png" width="1456" height="910" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7c12e8c9-0140-43a0-a0df-264a46082611_2000x1250.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:132818,&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.leantechpro.com/i/207180329?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12e8c9-0140-43a0-a0df-264a46082611_2000x1250.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_!vg_B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12e8c9-0140-43a0-a0df-264a46082611_2000x1250.png 424w, https://substackcdn.com/image/fetch/$s_!vg_B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12e8c9-0140-43a0-a0df-264a46082611_2000x1250.png 848w, https://substackcdn.com/image/fetch/$s_!vg_B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12e8c9-0140-43a0-a0df-264a46082611_2000x1250.png 1272w, https://substackcdn.com/image/fetch/$s_!vg_B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12e8c9-0140-43a0-a0df-264a46082611_2000x1250.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>The first month is the baseline. By month two, the team had cleared more than 80% of the failures. By month three, all of them. The reduction read 100%. If we had stopped then, this would have looked like a clean win.</p><p>Month four handed half of it back.</p><p>The reduction fell from 100% to 50%. Not all the way, but far enough to count as a miss again. The gain did not hold on its own.</p><p>A number that touches zero once is not a system that holds zero. The month-three zero was real. It was also fragile. The moment a fresh batch of changes went out against the same version gaps, some of them came back as failures.</p><p>But the reflex held. A miss meant the dev team ran the analysis, and they did. That fourth-month spike is not the story failing. It is the story working, because the spike triggered exactly the response it was built to trigger.</p><p>50% removed and holding by the fourth month, with a peak in the middle, and a slip that taught the team more than the peak ever could. Improvement is not a line sliding down. It is a number that climbs back, a team that runs the analysis again, and a countermeasure that holds a little better each pass.</p><h2>The pattern</h2><p>Four failures came down to two causes, and both of them came from the same place. The path between the environments was not on sight, so nobody checked that they matched.</p><p>No AI wrote any of those four failed releases. Put AI in that pipeline and the same gap between environments gets hit more often. <a href="https://leantechpro.com/ai-tools-not-delivering/">AI does not know your environments are out of sync</a>. It writes against whatever version it is handed and uses the newest feature it can, whether or not the environment next door can run it. It does not just send more releases at the gap between your environments. It widens the gap faster than a human would, and the failure still shows up late, when the date is already close.</p><p>There is a harder truth, and the fourth-month bounce carries it. Fixing a number is easier than holding it. You can cut release failures in a quarter. Keeping them down is a different job, and it&#8217;s the team&#8217;s responsibility. The tracking and the rule are what you set up in an afternoon. The reflex that meets every failure with &#8220;why&#8221; is what takes months, and it is the only thing that keeps the number down after I leave.</p><p>On month four, they ran the analysis on their own without anyone asking. That habit is the real result. The zero in month three was just a good month. If you want to start, take your last failed release and keep asking why until you reach something nobody owns.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Engagement Is a Performance Signal, Not an HR Survey]]></title><description><![CDATA[The same instrument, run twice. The score moved, but some of the problems it surfaced are still open.]]></description><link>https://newsletter.leantechpro.com/p/voice-of-the-employee</link><guid isPermaLink="false">https://newsletter.leantechpro.com/p/voice-of-the-employee</guid><dc:creator><![CDATA[Jean-Luc COSSI]]></dc:creator><pubDate>Tue, 07 Jul 2026 21:37:12 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2d1d1055-521f-48a2-9a5a-6b391215d30e_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>An infrastructure team ran production across four time zones. I was there for the delivery numbers: production incidents, alarm volume, backlog.</p><p>The delivery board told one story. The team, asked one by one, told another. The NPS was minus 15.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The first measurement</h2><p>I brought an instrument I run on my engagements: the Voice of Employees. It takes the same discipline I apply to customers, pointed at the team itself, once at the start of the project and once at the end. I ran it with an internal coach I was training to carry the method.</p><p>We ran individual conversations with every engineer, anonymous by contract, scored the way you score customers: promoters minus detractors.</p><h2>Why &#8220;boost morale&#8221; doesn&#8217;t work</h2><p>The standard response to a number like that is a program: the annual HR survey, an offsite, a recognition scheme.</p><p>All of them aim at the wrong layer. Morale is an output, not a mood you can lift directly. Behind a negative team NPS, you will find system defects wearing an emotional costume: no onboarding standard, no handover design, no priority rules, no shared hours across time zones. You cannot team-build your way out of a broken handover. The instrument&#8217;s job is to make those defects speakable, then fixable.</p><h2>The instrument</h2><p>Define the themes first, before writing a single question. The themes are what you commit to hearing about, including the answers you will not like. Here are the five I use, and what each one listens for.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CK6W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f314943-52e2-4caa-8fae-4fdf29326ea7_2160x2700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CK6W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f314943-52e2-4caa-8fae-4fdf29326ea7_2160x2700.png 424w, https://substackcdn.com/image/fetch/$s_!CK6W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f314943-52e2-4caa-8fae-4fdf29326ea7_2160x2700.png 848w, https://substackcdn.com/image/fetch/$s_!CK6W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f314943-52e2-4caa-8fae-4fdf29326ea7_2160x2700.png 1272w, https://substackcdn.com/image/fetch/$s_!CK6W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f314943-52e2-4caa-8fae-4fdf29326ea7_2160x2700.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CK6W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f314943-52e2-4caa-8fae-4fdf29326ea7_2160x2700.png" width="1456" height="1820" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f314943-52e2-4caa-8fae-4fdf29326ea7_2160x2700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1820,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:220511,&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.leantechpro.com/i/205955680?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f314943-52e2-4caa-8fae-4fdf29326ea7_2160x2700.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_!CK6W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f314943-52e2-4caa-8fae-4fdf29326ea7_2160x2700.png 424w, https://substackcdn.com/image/fetch/$s_!CK6W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f314943-52e2-4caa-8fae-4fdf29326ea7_2160x2700.png 848w, https://substackcdn.com/image/fetch/$s_!CK6W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f314943-52e2-4caa-8fae-4fdf29326ea7_2160x2700.png 1272w, https://substackcdn.com/image/fetch/$s_!CK6W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f314943-52e2-4caa-8fae-4fdf29326ea7_2160x2700.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>Interactions.</span></strong> Where the work rubs between people: other teams, users, or project managers. Friction here is almost never personal; it is structural, and this theme is where handover and boundary problems surface first.</p><p><strong><span>Training.</span></strong> The gap between what the company expects of someone and what it has actually given them. Onboarding debt lives here, and it is invisible on every delivery dashboard.</p><p><strong><span>Work and life.</span></strong> The overtime, the weekend interventions, or the always-running feeling. This theme counts what the job spills into people&#8217;s evenings and weekends, which no delivery dashboard will ever show you.</p><p><strong><span>The rating.</span></strong> The score itself, 1 to 10, computed as an NPS. Then the question that matters more than the score: what would it take to make it a 10? The answers to that question are your improvement plan, written by the team.</p><p><strong><span>The ideal.</span></strong> The magic wand: the one thing they would change, and to what level. It reveals priorities no ranking exercise will give you.</p><p>Now the methodology hint that decides whether the instrument works: assess every theme with open questions. Open means no question that a yes or a no can answer, and no question that suggests its own answer. You are fishing for real examples and stories, because examples carry the system defect with them, and opinions do not. Two questions I used on that engagement, verbatim from my guide: &#8220;Who were the last five people you interacted with? Were any of those interactions complicated? Walk me through one.&#8221; And on work and life: &#8220;How much overtime did you do last week?&#8221; Last week, specifically. Ask about overtime in general, and you get a shrug. Narrow it to last week, and the shrug becomes a number.</p><p>Run the same questions with every engineer, one-to-one, with anonymity guaranteed. A team of twenty means twenty conversations. Do not use a survey link, it is not the same instrument.</p><p>Consolidate the verbatims into weighted themes, positive and negative both, and compute the NPS from the ratings. Share the whole board with the whole team, names removed, nothing softened. Then put the top negative themes on the delivery board as problems, next to incidents and lead time, and run them through the same problem-solving cycles as everything else.</p><p>At the end of the project, re-measure, keeping the themes, the questions, and the method identical to the first round, because changing anything breaks the comparison. The instrument earns trust the day people see their words turn into countermeasures.</p><h2>The second measurement</h2><p>At the end of the project, we ran the same conversations again. The NPS had moved 65 points, from minus 15 to plus 50. On the delivery board, the delivery numbers I was there for had moved too. Production incidents had halved.</p><p>The why is not a mystery. What moved was, almost line for line, what the team had said would make them a 10. Their answers had been posted as the improvement plan, and the plan had been worked on like any other problem on the delivery board. Nobody shipped a rewards scheme or organized an offsite. The system got fixed, and the number that looks like a feeling moved with it.</p><p>The second measurement still carried negative themes. Knowledge transfer had broken when a senior engineer left, and the team said so bluntly. The asks that remained were structural: coverage, knowledge, and workload. Recognition came last.</p><p>Read that carefully. At plus 50 NPS, the team did not go quiet. It got more precise. A trusted voice sharpens, it does not soften. Plus 50 is not a happy team. It is a team that tells you exactly where the next problem is.</p><h2>The pattern</h2><p>That minus 15 was a list of things broken in how the team worked, and every engineer could name them the day someone asked. They can describe that system with precision the day you ask individually, anonymously, and show them what you heard. The description is not the result here. It is the raw material of the improvement plan.</p><p>In 2026, the tools make your team faster while the burnout number stands still, exactly as DORA measured. So measure the voice of the engineer next to the lead time. It reads the system from the side your dashboards cannot see.</p><p>If you want to try this, sit down with each engineer before your next big delivery push and put what they tell you next to your lead time numbers.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Your Backlog Isn't a Headcount Problem]]></title><description><![CDATA[Hiring won't clear it. A support team cut its backlog 94% with the same six people, by switching how work flows in. Here's the one move.]]></description><link>https://newsletter.leantechpro.com/p/your-backlog-isnt-a-headcount-problem</link><guid isPermaLink="false">https://newsletter.leantechpro.com/p/your-backlog-isnt-a-headcount-problem</guid><dc:creator><![CDATA[Jean-Luc COSSI]]></dc:creator><pubDate>Tue, 30 Jun 2026 10:35:48 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/bb733f45-61d5-496a-967c-52ba1962b387_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The bugs, the incidents, the &#8220;can you look at this,&#8221; all come back to the people who built it. AI clears the easy ones in seconds, and the queue looks like it is moving. Then a request that has been waiting a week surfaces, and half the queue turns out to be work nobody ever opened.</p><p>I watched this break in a support team for a set of online services, years before AI was in the room, which is why I trust the pattern. Six people, one shared queue, a 24-hour promise. Here is what I saw, and what works.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong><span>Where the backlog came from</span></strong></h2><p>I called the last ten whose requests had been closed. The message was the same from almost all of them: too slow. Most had waited more than two days. Some waited a full week. Half had never received a reply at all.</p><p>Then I shadowed the team. With the team leader, we counted 320 pending requests. Some were over a year old, sitting untouched in a queue nobody opened.</p><p>The problem was never the headcount. Each tech pulled work from whichever corner of the queue they happened to know, whenever they thought it was right. Routing rules were broken, so requests landed wherever. The 24-hour target lived in nobody&#8217;s eyeline. The team worked in isolation, and no one could say who was handling what. Work was pushed at people who could not see the whole flow, so the oldest, quietest requests simply aged in the dark.</p><h2><strong><span>More agents, same backlog</span></strong></h2><p>Buried under tickets, every instinct says hire. It fails for one reason. It treats a backlog as a capacity problem, and it isn&#8217;t.</p><p>Drop a seventh person into a queue nobody can see, picking work in no order, and you get a faster way to bury requests. I have watched a company hire three agents, then three more, then three more. The backlog grew with the team every time. More hands on a push system push harder. They don&#8217;t decide what matters.</p><h2><strong><span>Set the rate, not the headcount</span></strong></h2><p>First, we made the incoming flow visible. One simple table: incoming, waiting, processed, where everyone could see the numbers. We built it with paper, not a tool.</p><p>Then the one move that changed everything. We switched the team from push to pull. The team leader became the dispatcher, assigning by expertise and taking the simple cases herself. And we set a rate. We knew the daily volume and the backlog target, so we knew exactly how many requests to clear each day, and each hour, to dig out and stay out.</p><p>The rest held that move in place. The 24-hour SLA went on the wall and into her daily language. When the team missed the day&#8217;s number, they ran a short problem-solving cycle the next morning instead of moving on. One person called five requesters a day to keep the outside view in the room. Nothing here needed a new tool or another hire.</p><h2><strong><span>Three months later</span></strong></h2><p>The backlog went from 320 to 92 to 20. A 94% drop, with the same six people.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NrMd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fac75bb-c89b-4daf-bf5d-9efd73052dd0_2400x1400.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NrMd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fac75bb-c89b-4daf-bf5d-9efd73052dd0_2400x1400.png 424w, https://substackcdn.com/image/fetch/$s_!NrMd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fac75bb-c89b-4daf-bf5d-9efd73052dd0_2400x1400.png 848w, https://substackcdn.com/image/fetch/$s_!NrMd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fac75bb-c89b-4daf-bf5d-9efd73052dd0_2400x1400.png 1272w, https://substackcdn.com/image/fetch/$s_!NrMd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fac75bb-c89b-4daf-bf5d-9efd73052dd0_2400x1400.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NrMd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fac75bb-c89b-4daf-bf5d-9efd73052dd0_2400x1400.png" width="1456" height="849" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9fac75bb-c89b-4daf-bf5d-9efd73052dd0_2400x1400.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:849,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:137242,&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.leantechpro.com/i/204251225?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fac75bb-c89b-4daf-bf5d-9efd73052dd0_2400x1400.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_!NrMd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fac75bb-c89b-4daf-bf5d-9efd73052dd0_2400x1400.png 424w, https://substackcdn.com/image/fetch/$s_!NrMd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fac75bb-c89b-4daf-bf5d-9efd73052dd0_2400x1400.png 848w, https://substackcdn.com/image/fetch/$s_!NrMd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fac75bb-c89b-4daf-bf5d-9efd73052dd0_2400x1400.png 1272w, https://substackcdn.com/image/fetch/$s_!NrMd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fac75bb-c89b-4daf-bf5d-9efd73052dd0_2400x1400.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>One thing didn&#8217;t come for free, and it is the part most case studies cut. Clearing the backlog was the fast part. Holding it is the part no system installs. The pull rate and the morning problem-solving only hold while the team owns them. The day the team stops working the rate, the queue starts refilling. That ownership took longer to build than the number took to move, <a href="https://leantechpro.com/support-backlog-reduction-case-study/">and it was still being built the day I left</a>.</p><h2><strong><span>The pattern</span></strong></h2><p>Support teams don&#8217;t have a capacity problem. They have a push system that hides what matters and buries the rest.</p><p>The same push system runs your bug intake, your incident follow-ups, your <a href="https://leantechpro.com/devops-lead-time-reduction-case-study/">on-call queue</a>. Nobody decides what gets worked next, so the oldest, hardest items sink.</p><p>That team had no AI in its toolchain. Yours does. <a href="https://leantechpro.com/ai-tools-not-delivering/">AI clears the easy tickets fast</a>, which sounds like relief. What stays in the human queue is the dense, bouncing work AI can&#8217;t close, and the tickets it marked &#8220;resolved&#8221; that quietly come back through another channel. A push system handles that harder mix worse, and now half of it is invisible, hidden behind a dashboard that says the volume dropped. AI didn&#8217;t empty the queue. It hid the part that was always the problem.</p><p>Pull the work, don&#8217;t push it. The backlog follows.</p><p>If you suspect your backlog is hiding what matters, start with the <a href="https://jlcossi.activehosted.com/f/59"><span>Delivery Scorecard</span></a>. Two minutes, ten questions, and you know where to look first. And when AI tooling is part of the picture, I run a half-day working session with leadership teams on exactly this. Reply to this email, or message me directly on Substack, and I&#8217;ll send you the outline.</p><p><em><span>P.S. The team that hired three agents, then three more, then three more, still had a backlog. The team that set a rate cleared 94% of it with the same six people. Headcount was never the lever.</span></em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Your Team Doesn’t Have a Defect Problem]]></title><description><![CDATA[Defects down 91% in two months, on legacy banking software. The fix was upstream, in what reached the developers before code existed.]]></description><link>https://newsletter.leantechpro.com/p/your-team-doesnt-have-a-defect-problem</link><guid isPermaLink="false">https://newsletter.leantechpro.com/p/your-team-doesnt-have-a-defect-problem</guid><dc:creator><![CDATA[Jean-Luc COSSI]]></dc:creator><pubDate>Tue, 23 Jun 2026 12:21:08 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/9f047b02-ceeb-42ac-8e03-33acaae89be4_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I sat with the team and we took the last 25 defects, one by one, to find where each one was really born. More than half never reached a line of code before they were broken. The analysis handed to the developers was already wrong.</p><p>This was a bank's engineering team, years before AI was in anyone's toolchain.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>What the flow was doing to them</h2><p>Developers worked hard, and the system around them produced defects faster than they could clear them. In a single month, they logged more than they could fix.</p><p>The deeper pattern was uglier. The same code was being patched by several people in turn, each correction degrading it further. Analyses kept changing mid-build, drifting from the original client&#8217;s request. When a developer received a faulty analysis, there was no way to stop it. They built from it anyway, and it came back as a defect. Each fix created the next defect.</p><p>The developers were doing their job. The work reaching them was broken, and nobody could see where it broke.</p><h2>Why &#8220;add more QA&#8221; doesn&#8217;t work</h2><p>The standard response to a team drowning in defects is to add testers, tighten the gate at the end, run a bug bash, buy a defect-tracking tool.</p><p>This approach fails because it treats defects as something to catch at the developer&#8217;s desk. They were born upstream, in the analysis, before code existed. Add testers at the end, and you end up inspecting more rework. A new tool full of tickets nobody reads is the same blindness with a license fee. You cannot test quality back into work that arrived broken.</p><h2>Rebuild the intake, not the team</h2><p>The point was not to teach developers to code more carefully. The team rebuilt what reached the developers, and where quality got checked. They moved the control point from the end of the work to the start.</p><p>Most defects traced back to a faulty analysis, so no analysis entered development on its own anymore. The analyst and the developer sat down together and turned it into a test plan before a line of code was written. That became a fixed step in the flow, not a favor asked when someone had time.</p><p>When an analysis came in wrong or unclear, it stopped being quietly worked around. It went into a red bin, in the open, and back to whoever wrote it. Sending bad work back became normal and visible instead of awkward. And because analyses kept changing after work began, any change now triggered a fresh review before the work moved on.</p><p>One more thing kept the defects coming. The analysts who wrote the specs kept getting pulled onto new projects, so when a developer needed to check something, the one person who could answer had moved on. The developer guessed instead, and the guess came back as a defect. The dev team made it a standing rule to escalate to the project manager and keep the analyst on until the work shipped. The person who owned the spec stayed reachable.</p><p>None of this was a new tool or a reorg. It was a handful of standing rituals at the front of the line, all of it tracked on one visual board the team stood in front of each morning, reading a single number: how many new defects had come in the day before. They stopped catching defects at the end and started refusing them at the start.</p><h2>Two months later</h2><p>Two months later, the team had cut its defects by 91%. Right-first-time fixes went from fewer than one in ten to nearly all of them. They did it without new people, new tools, or a single line of AI, on legacy banking software written and maintained by hand.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ct-h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae7f91d7-08bc-43b5-9aba-6619e178de57_1200x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ct-h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae7f91d7-08bc-43b5-9aba-6619e178de57_1200x720.png 424w, https://substackcdn.com/image/fetch/$s_!Ct-h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae7f91d7-08bc-43b5-9aba-6619e178de57_1200x720.png 848w, https://substackcdn.com/image/fetch/$s_!Ct-h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae7f91d7-08bc-43b5-9aba-6619e178de57_1200x720.png 1272w, https://substackcdn.com/image/fetch/$s_!Ct-h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae7f91d7-08bc-43b5-9aba-6619e178de57_1200x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ct-h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae7f91d7-08bc-43b5-9aba-6619e178de57_1200x720.png" width="1200" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ae7f91d7-08bc-43b5-9aba-6619e178de57_1200x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:96435,&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.leantechpro.com/i/203234943?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae7f91d7-08bc-43b5-9aba-6619e178de57_1200x720.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_!Ct-h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae7f91d7-08bc-43b5-9aba-6619e178de57_1200x720.png 424w, https://substackcdn.com/image/fetch/$s_!Ct-h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae7f91d7-08bc-43b5-9aba-6619e178de57_1200x720.png 848w, https://substackcdn.com/image/fetch/$s_!Ct-h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae7f91d7-08bc-43b5-9aba-6619e178de57_1200x720.png 1272w, https://substackcdn.com/image/fetch/$s_!Ct-h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae7f91d7-08bc-43b5-9aba-6619e178de57_1200x720.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>The numbers moved fast. The first root-cause analysis started within a week. But the number is not what matters most. It is what I saw on the wall on the second month.</p><p>By the second month, something shifted that I did not install. Developers started walking to the board during the day, unprompted. They moved their own work. Handwritten problem-solving sheets appeared on the wall, some half-finished, that nobody had asked them to post. When managers visited, the developers walked them through the metrics and the open problems themselves. They were not doing that to impress anyone. It was because the board was theirs now.</p><p>That ownership is the part no framework installs. You can copy the board and the intake rule in an afternoon. You cannot copy the two months it takes a team to learn to solve and own its own work, and that is the only thing that keeps the number down after I leave.</p><h2>The pattern</h2><p>More than half of those 25 defects were already wrong before a developer saw them. Nobody was checking the analysis before it went into development.</p><p>Every line of that code was written by hand. Now imagine the same analysts sending the same broken specs to a team with AI coding tools. AI tools accelerate whatever your system already does. If your system lets bad analysis through, <a href="https://leantechpro.com/ai-tools-not-delivering/">AI helps you turn it into code faster</a>. More volume means more rework, and more defects moving through the same blind flow. The slip arrives before anyone sees it coming.</p><p>Seeing the defects was not the fix. What fixed it was the team digging into its own defects, finding the cause, and building the countermeasure itself. The intake gate was this team&#8217;s answer to its own cause. Yours will be different, and only a team that can solve its own problems will find it. AI will not do that for you.</p><p>The 91% is the quick part. The one that lasts is a team that runs its own board and solves its own problems. That took the full two months.</p><p>If you want to check your own team, take the last 25 defects and find out where each one started. You may be surprised how many never reached the code.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[AI Put More Work in Flight. You Won't See the Slip Coming.]]></title><description><![CDATA[A BI team went from 24% to 55% on-time in three months. One target stayed red the whole way, and that was the useful part.]]></description><link>https://newsletter.leantechpro.com/p/ai-put-more-work-in-flight</link><guid isPermaLink="false">https://newsletter.leantechpro.com/p/ai-put-more-work-in-flight</guid><dc:creator><![CDATA[Jean-Luc COSSI]]></dc:creator><pubDate>Mon, 15 Jun 2026 20:03:38 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/29ffff2d-b0e8-4716-94be-2354b4b8b40d_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>More work is in flight than a year ago, and every project looks like it is moving. Then a date is missed. Nobody saw it coming.</p><p>I watched this break before AI was in the room, which is why I trust the pattern. It is about two project managers I was working with. They were managing nearly 20 BI projects across several continents. The on-time delivery rate was 24%.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>When I arrived, I asked one question: where can I see the status of all the projects together? Nobody could point to a single view. Each manager tracked their own work in spreadsheets and email threads. Neither could say how their timelines overlapped or identify a potential delivery issue risk.</p><p>Here is the pattern I see, and what works.</p><p>The division head was not short on reporting. He had plenty of it. But, status reports arrived late, told different stories depending on who wrote them, and never showed a milestone collision until the damage was done. Client satisfaction sat at 5.5 out of 10, trending down. One of four projects hit its deadline.</p><p>The standard response to this situation is more reporting: a new PMO tool, a weekly steering deck, a dashboard pulling from Jira.</p><p>It fails for one reason: it treats visibility as a data problem, which it isn&#8217;t.</p><p>The data existed. It lived in a dozen places, formatted in many different ways; each one true and none of them whole. What was missing was visibility into milestones, dependencies, and potential projects&#8217; collisions. That visibility only appears when everything sits on one surface. These project managers lacked the ability to see a problem before it became a crisis.</p><p>So we built an Obeya. It is a room where the whole portfolio lives on the walls. It has three zones. A strategy wall tying every project to the CIO&#8217;s targets; a performance dashboard, six handwritten charts updated weekly: on-time delivery, defects per delivery, satisfaction, pace, risk, budget; and a macro planning wall, the whole portfolio on one timeline, planned milestones marked, actual progress in sticky notes.</p><p>Building the first version took a two-day workshop, paper, and markers. No software was bought.</p><p>The wall paid for itself in the first week. Projects were competing for the same testing resources in the same weeks. Go-lives piled up at quarter end because nobody had ever seen the full picture. One project manager said it out loud: &#8220;Now I understand why we keep missing dates.&#8221;</p><p>The conversations changed too. Before, &#8220;are we on track&#8221; depended on who you asked. After, the division head stood at the defect chart, saw the trend laid out week by week, and asked a different question: what is causing this?</p><p>Visibility alone fixes nothing, though. The wall surfaced the problems; structured problem-solving closed them. Three PDCA cycles ran in that room. One rescued a major go-live that the math said would slip. One fixed a defect-quality problem in testing, after I sat next to a developer and watched him mark a broken PDF export &#8220;OK&#8221; because the test script only said, &#8220;verify PDF export.&#8221; One turned a client complaint about a local project into a checklist the team still uses.</p><p>Three months later, with the same people in place, on-time delivery increased from 24% to 55%. Defects per delivery dropped from 38 to 19. Client satisfaction climbed from 5.5 to 9.4. Delivery pace tripled, from 9 projects delivered in October to 27 by December.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!M_kR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf314e20-3434-44e2-90cf-31256c72213b_1360x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!M_kR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf314e20-3434-44e2-90cf-31256c72213b_1360x800.png 424w, https://substackcdn.com/image/fetch/$s_!M_kR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf314e20-3434-44e2-90cf-31256c72213b_1360x800.png 848w, https://substackcdn.com/image/fetch/$s_!M_kR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf314e20-3434-44e2-90cf-31256c72213b_1360x800.png 1272w, https://substackcdn.com/image/fetch/$s_!M_kR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf314e20-3434-44e2-90cf-31256c72213b_1360x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!M_kR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf314e20-3434-44e2-90cf-31256c72213b_1360x800.png" width="1360" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/df314e20-3434-44e2-90cf-31256c72213b_1360x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:1360,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:39707,&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.leantechpro.com/i/202183906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf314e20-3434-44e2-90cf-31256c72213b_1360x800.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_!M_kR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf314e20-3434-44e2-90cf-31256c72213b_1360x800.png 424w, https://substackcdn.com/image/fetch/$s_!M_kR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf314e20-3434-44e2-90cf-31256c72213b_1360x800.png 848w, https://substackcdn.com/image/fetch/$s_!M_kR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf314e20-3434-44e2-90cf-31256c72213b_1360x800.png 1272w, https://substackcdn.com/image/fetch/$s_!M_kR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf314e20-3434-44e2-90cf-31256c72213b_1360x800.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>One number on that chart is still a miss. The strategy wall set the on-time target at 60%. The team reached 55. That chart was still red when I left, visible to everyone who walked in every week. I count that as a feature. A system that keeps your remaining gap on the wall beats one that lets you declare victory early.</p><p>Those two project managers were good at their jobs. They did not had a single place to see twenty projects at once, so the collisions stayed hidden until a date got bumped.</p><p>That team team worked with spreadsheets and emails. If you add AI to a portfolio like that, the only thing that changes is how many projects you have in flight. The collisions are the same; there are just more of them, and they stay invisible until a date is already gone.</p><p>The 60% target, that was still red, is a good thing. You probably have more projects running today than that team ever did. I would guess you still have no wall, even digital. Building one takes two days, some paper and a few markers.</p><p>The three cycles that produced those numbers are written out in full in the <a href="https://leantechpro.com/project-obeya-room-case-study/">case study</a>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Half Your Lead Time Hides Between Teams]]></title><description><![CDATA[From two months to under thirty days. The time was sitting in the handoffs.]]></description><link>https://newsletter.leantechpro.com/p/software-delivery-lead-time-between-teams</link><guid isPermaLink="false">https://newsletter.leantechpro.com/p/software-delivery-lead-time-between-teams</guid><dc:creator><![CDATA[Jean-Luc COSSI]]></dc:creator><pubDate>Mon, 08 Jun 2026 10:47:11 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d5965b07-fb61-46c7-9edf-b12599b3628b_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I followed one deployment request from the moment it was submitted until the environment was ready. The official process had a handful of steps. What I watched had dozens of places it could stall.</p><p>The team ran Scrum well. Two-week sprints, standups, retrospectives, and stable velocity. None of it could see where the request was actually sitting.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>The framework you are using is not the problem. Neither is the tooling. Your symptom is the gap: the teams look fine, the delivery does not. The slow part lives between teams, in places no standups or ceremonies reveal.</p><h2>Where the time went</h2><p>A deployment was never this team&#8217;s alone. The request crossed four or five teams before any developer could begin.</p><p>The business wanted environments in thirty days. Their infrastructure deployments took roughly two months. Development teams waited that long for an environment to build on. Projects stalled. The DevOps team blamed external dependencies. Networking, security, architecture validation, the usual suspects. Retrospectives produced action items about improving communication with other teams and better planning. It was the same items, sprint after sprint, and nothing moved.</p><p>Here is what the request actually ran into.</p><p>A team member needed access rights to proceed. The only person who could grant them was unavailable. Days lost. A team unfamiliar with a recently introduced process inadvertently removed a resource. Re-validation from architecture. More days lost. A request for access controls bounced between two teams because neither knew which ticket to create or where to route it. Over a week, on a single request. A document template for a critical provisioning step was wrong. The replacement template was wrong too. Nobody knew the correct process.</p><p>None of these problems appeared in standups. None showed up on the visual board. The ceremonies captured &#8220;waiting on networking&#8221; as a blocker, but never revealed why.</p><p>Then I put the whole thing on one sheet. The map showed something the team had never seen.</p><p>About half the lead time disappeared in one queue.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BVgk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8dc2035-490f-40a1-8883-f034518ffa3d_1456x870.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BVgk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8dc2035-490f-40a1-8883-f034518ffa3d_1456x870.png 424w, https://substackcdn.com/image/fetch/$s_!BVgk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8dc2035-490f-40a1-8883-f034518ffa3d_1456x870.png 848w, https://substackcdn.com/image/fetch/$s_!BVgk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8dc2035-490f-40a1-8883-f034518ffa3d_1456x870.png 1272w, https://substackcdn.com/image/fetch/$s_!BVgk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8dc2035-490f-40a1-8883-f034518ffa3d_1456x870.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BVgk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8dc2035-490f-40a1-8883-f034518ffa3d_1456x870.png" width="1456" height="870" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c8dc2035-490f-40a1-8883-f034518ffa3d_1456x870.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:870,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:152865,&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.leantechpro.com/i/201121113?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8dc2035-490f-40a1-8883-f034518ffa3d_1456x870.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_!BVgk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8dc2035-490f-40a1-8883-f034518ffa3d_1456x870.png 424w, https://substackcdn.com/image/fetch/$s_!BVgk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8dc2035-490f-40a1-8883-f034518ffa3d_1456x870.png 848w, https://substackcdn.com/image/fetch/$s_!BVgk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8dc2035-490f-40a1-8883-f034518ffa3d_1456x870.png 1272w, https://substackcdn.com/image/fetch/$s_!BVgk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8dc2035-490f-40a1-8883-f034518ffa3d_1456x870.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>That queue was the access control and network provisioning step. Requests sat there for weeks. Nobody was working on them. The team had assumed the time was spread across the whole flow. It was concentrated in one place.</p><p>The value stream map was the moment everything shifted. Up to that point, the conversation had been about effort and commitment, about who wasn&#8217;t talking to whom. Once the map appeared on the Miro board, the conversation became about routing, templates, and handoffs. These are tangible and fixable things. Every department head who opened the map asked the same question. Why is that queue so long? That was the start of the change.</p><h2>Why &#8220;improve communication&#8221; doesn&#8217;t work</h2><p>The standard advice for a team with long deployment lead time is always the same. Communicate better. Plan earlier. Add a Scrum of Scrums. Maybe a coordination ceremony.</p><p>This advice fails for one reason. It treats coordination as a willingness problem. It isn&#8217;t.</p><p>People want to coordinate. They just don&#8217;t know which ticket to create, where to route it, which template to use, or who has the access they need. &#8220;Better communication&#8221; between teams who don&#8217;t share a vocabulary, a routing convention, or a template library is two people talking past each other more often.</p><p>The deeper problem is in the workflow that crosses four or five teams, where each crossing is a chance for something to bounce, sit, or get re-done. Scrum makes one team&#8217;s work visible. It cannot see the seams between teams.</p><p>Across engagements, the root causes consistently fall into four groups.</p><p>Access and permissions stall the flow. The people who can grant the access needed to move forward are a bottleneck of one. When they are unavailable, the work waits.</p><p>A process exists that not everyone knows. Something changed, and not every team got the memo. Teams act on outdated assumptions and break things that need to be rebuilt.</p><p>The handoffs are not documented. Entry points for cross-team requests live in someone&#8217;s head. Routing decisions are tribal knowledge. New people, or people new to that boundary, lose days figuring out what should take minutes.</p><p>Templates and resource definitions are wrong or unclear. The team trying to do the right thing fills in the wrong template, or creates the wrong resource type, because the boundary between systems was never made explicit.</p><p>None of these are team problems. They are system gaps that produce team problems. Add up four small structural holes at four different handoffs. You get a team whose two-month lead time is invisible to every ceremony it runs.</p><h2>Rebuild the handoffs, not the team</h2><p>The team I traced made five moves. Together they cut the lead time by more than half.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Bzxr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd507a18-d8a5-4219-b279-89b93c2a9cdf_1456x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Bzxr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd507a18-d8a5-4219-b279-89b93c2a9cdf_1456x900.png 424w, https://substackcdn.com/image/fetch/$s_!Bzxr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd507a18-d8a5-4219-b279-89b93c2a9cdf_1456x900.png 848w, https://substackcdn.com/image/fetch/$s_!Bzxr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd507a18-d8a5-4219-b279-89b93c2a9cdf_1456x900.png 1272w, https://substackcdn.com/image/fetch/$s_!Bzxr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd507a18-d8a5-4219-b279-89b93c2a9cdf_1456x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Bzxr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd507a18-d8a5-4219-b279-89b93c2a9cdf_1456x900.png" width="1456" height="900" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bd507a18-d8a5-4219-b279-89b93c2a9cdf_1456x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:900,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:182530,&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.leantechpro.com/i/201121113?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd507a18-d8a5-4219-b279-89b93c2a9cdf_1456x900.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_!Bzxr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd507a18-d8a5-4219-b279-89b93c2a9cdf_1456x900.png 424w, https://substackcdn.com/image/fetch/$s_!Bzxr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd507a18-d8a5-4219-b279-89b93c2a9cdf_1456x900.png 848w, https://substackcdn.com/image/fetch/$s_!Bzxr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd507a18-d8a5-4219-b279-89b93c2a9cdf_1456x900.png 1272w, https://substackcdn.com/image/fetch/$s_!Bzxr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd507a18-d8a5-4219-b279-89b93c2a9cdf_1456x900.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>Mapped the value stream.</strong> Before anything else, the team needed to see what they couldn&#8217;t see from inside a sprint. The map showed exactly where the time went. The department heads stopped arguing once they could point at a queue. The map became the team&#8217;s first piece of shared truth.</p><p><strong>Documented the handoffs.</strong> Every cross-team boundary got a written description. Which ticket type goes where, which template applies, who owns the routing decision. Tribal knowledge became standard work. New people stopped losing days at boundaries.</p><p><strong>Front-loaded the long lead-time requests.</strong> The team established a rule. Anything with a known long wait time, access controls, service accounts, or security validation, gets requested at the start of the deployment, not when it&#8217;s needed. Those requests now run in parallel with the rest of the work instead of extending the critical path.</p><p><strong>Built an infrastructure-as-code pipeline.</strong> One pipeline, customized per environment. The team stopped setting them up by hand. The errors that used to eat days disappeared, because the configuration was now code, reviewed and reproducible.</p><p><strong>Moved the handovers earlier.</strong> Handovers used to happen at the end of deployment, when the receiving team discovered what was missing. The team moved them before completion, so missing access rights or unclear configurations surfaced while there was still time to act.</p><p>None of these required a new tool. None required a reorganization. The team kept running Scrum. What changed was the work between the teams, which had never been anyone&#8217;s job to look at.</p><h2>Three months later</h2><p>Back to the team we started with. Three months after the interventions were in place, the deployment I had traced was tracking under thirty days. Down from roughly two months. More than halved.</p><p>They were inside the target the business had set. Development teams stopped waiting for environments to start their projects. The constraint that had been the loudest complaint across the organization quieted down.</p><p>There is one thing I need to say about this team, because it became a problem once the lead time dropped.</p><p>The gain was real. Holding the gain is harder. The team that built the checklists, the pipeline, the handover rhythm, and the documentation knows the system because they built it. The next person who joins doesn&#8217;t. The team across the wall who handles access controls knows the new routing convention. The next person on that team doesn&#8217;t. Onboarding into the new way of working isn&#8217;t standard yet. Turnover, even ordinary turnover, threatens what&#8217;s been built.</p><p>None of this is a failure of the intervention. It&#8217;s the next problem the system surfaces, made visible only because the first one was solved. A team that delivers in two months can&#8217;t even see this problem. A team that delivers in under thirty days has to.</p><p>The lead time number moved. The capability to keep it there is still being built.</p><h2>The pattern</h2><p>Scrum showed this team everything that happened inside the sprint. It showed them nothing about the weeks a request spent waiting in someone else&#8217;s queue. That is where half the lead time was.</p><p>Sprint dashboards make team-level work visible. They show what one team is doing. They cannot show what happens when work crosses a boundary, sits in someone else&#8217;s queue, bounces back because of a wrong template, or waits for an access right that one person can grant.</p><p>The fastest way to find where delivery actually breaks is not to optimize what you can see. It&#8217;s to trace one real request, end to end, through every team it touches. Map the wait time, not just the work time. The numbers on that map have started more conversations in my engagements than any retrospective ever has.</p><p>The lead time is under thirty days today. Whether it stays there depends on how well the next new hire on the access team learns the routing. Nodody has written that down yet. If you want to try this, pick one real request and follow it across every team it touches. Write down how long it waits at each step, not only how long someone works on it.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Engineering Managers Don't Have a Time Problem]]></title><description><![CDATA[A diagnosis, a countermeasure, and one real case. Six weeks of system work, and what it actually changed.]]></description><link>https://newsletter.leantechpro.com/p/engineering-managers-time-problem</link><guid isPermaLink="false">https://newsletter.leantechpro.com/p/engineering-managers-time-problem</guid><dc:creator><![CDATA[Jean-Luc COSSI]]></dc:creator><pubDate>Fri, 29 May 2026 12:01:24 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/17540dd1-fd81-4d13-a30c-60c1d46696d2_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Engineering managers running multiple teams keep asking me the same question. How do they get their time back?</p><p>Here is the pattern I see, and what works.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>The calendar is the symptom. The fix is not productivity hacks. It starts with auditing where the hours actually go.</p><h2>Where the hours went</h2><p>Running this audit with one manager, three teams under him, five buckets emerged.</p><ul><li><p><strong>Direct management:</strong> time spent supporting the tech teams.</p></li><li><p><strong>Alignment:</strong> time with the wider organization, including upper management.</p></li><li><p><strong>Personal work:</strong> time for the manager&#8217;s own job &#8212; thinking, planning, learning.</p></li><li><p><strong>Bookable time:</strong> time available to work with others, including the tech teams.</p></li><li><p><strong>Code reviews:</strong> time spent reviewing the team&#8217;s code.</p></li></ul><p>The manager&#8217;s free time lived in two of those buckets: bookable and personal.</p><p>For one observed week, direct management ate 8 hours. Bookable time, another 9. Code reviews, 3. Alignment, 5. Personal work, the hours he needed to think, to write, to plan, to learn: only 4. The smallest bucket was the one his growth depended on.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yTt9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeaa5a6a-993b-45f2-8049-50b658d3d2ea_1456x870.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yTt9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeaa5a6a-993b-45f2-8049-50b658d3d2ea_1456x870.png 424w, https://substackcdn.com/image/fetch/$s_!yTt9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeaa5a6a-993b-45f2-8049-50b658d3d2ea_1456x870.png 848w, https://substackcdn.com/image/fetch/$s_!yTt9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeaa5a6a-993b-45f2-8049-50b658d3d2ea_1456x870.png 1272w, https://substackcdn.com/image/fetch/$s_!yTt9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeaa5a6a-993b-45f2-8049-50b658d3d2ea_1456x870.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yTt9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeaa5a6a-993b-45f2-8049-50b658d3d2ea_1456x870.png" width="1456" height="870" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/beaa5a6a-993b-45f2-8049-50b658d3d2ea_1456x870.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:870,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:70081,&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.leantechpro.com/i/199728776?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeaa5a6a-993b-45f2-8049-50b658d3d2ea_1456x870.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_!yTt9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeaa5a6a-993b-45f2-8049-50b658d3d2ea_1456x870.png 424w, https://substackcdn.com/image/fetch/$s_!yTt9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeaa5a6a-993b-45f2-8049-50b658d3d2ea_1456x870.png 848w, https://substackcdn.com/image/fetch/$s_!yTt9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeaa5a6a-993b-45f2-8049-50b658d3d2ea_1456x870.png 1272w, https://substackcdn.com/image/fetch/$s_!yTt9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeaa5a6a-993b-45f2-8049-50b658d3d2ea_1456x870.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>The system around him had no other way to function. The teams brought every question, every blocker, every decision. He absorbed them. The calendar followed.</p><h2>Why &#8220;block your calendar&#8221; doesn&#8217;t work</h2><p>The standard advice for an engineering manager drowning in meetings is the same one I hear everywhere. Block focus time. Say no to meetings. Decline anything not urgent and important.</p><p>This advice fails for one reason. It treats time as a personal discipline problem. It isn&#8217;t.</p><p>If you block two hours of focus time on Tuesday morning and the team has no other way to unblock a deployment decision, what happens? Someone Slacks you. You context-switch. The block is broken. You either answer and lose the focus, or ignore and the team waits while delivery slips. The block doesn&#8217;t survive contact with the system that needs you.</p><p>The deeper problem isn&#8217;t on your calendar. It&#8217;s in the workflow that funnels every decision through the manager. You can refuse meetings all you want. The underlying demand doesn&#8217;t go away. It shows up as a 47-message Slack thread instead. AI compounds it. Your engineers produce more code and more decisions every week. Every one of them still routes through you.</p><p>When you audit the system underneath the calendar, four causes consistently show up.</p><p>Role expectations are fuzzy. Nobody on the teams knows exactly which decisions belong to them and which belong to the manager, so the safe move is to bring everything up.</p><p>There is no mechanism to see how the teams are actually doing. No clear flow metrics, no visible blockers, no shared signal. The only way to know is to ask. The only person to ask is the manager.</p><p>The teams have different needs from the manager, and nothing surfaces those needs. So the manager gives each team the same support. That means over-serving some and under-serving others.</p><p>And the manager&#8217;s time with each team isn&#8217;t tracked. The gap between perceived time and actual time is invisible until you measure it.</p><p>None of these are calendar problems. They are system gaps that produce calendar problems. Add up four small structural holes. You get a manager whose week is no longer his own.</p><h2>Rebuild the system, not the schedule</h2><p>Here is what works. The four moves I&#8217;ve seen implemented that reverse the situation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KKJm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59448e57-8aa7-4336-92d9-ff67894b5e7c_1360x1040.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KKJm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59448e57-8aa7-4336-92d9-ff67894b5e7c_1360x1040.png 424w, https://substackcdn.com/image/fetch/$s_!KKJm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59448e57-8aa7-4336-92d9-ff67894b5e7c_1360x1040.png 848w, https://substackcdn.com/image/fetch/$s_!KKJm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59448e57-8aa7-4336-92d9-ff67894b5e7c_1360x1040.png 1272w, https://substackcdn.com/image/fetch/$s_!KKJm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59448e57-8aa7-4336-92d9-ff67894b5e7c_1360x1040.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KKJm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59448e57-8aa7-4336-92d9-ff67894b5e7c_1360x1040.png" width="1360" height="1040" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/59448e57-8aa7-4336-92d9-ff67894b5e7c_1360x1040.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1040,&quot;width&quot;:1360,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:126472,&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.leantechpro.com/i/199728776?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59448e57-8aa7-4336-92d9-ff67894b5e7c_1360x1040.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_!KKJm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59448e57-8aa7-4336-92d9-ff67894b5e7c_1360x1040.png 424w, https://substackcdn.com/image/fetch/$s_!KKJm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59448e57-8aa7-4336-92d9-ff67894b5e7c_1360x1040.png 848w, https://substackcdn.com/image/fetch/$s_!KKJm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59448e57-8aa7-4336-92d9-ff67894b5e7c_1360x1040.png 1272w, https://substackcdn.com/image/fetch/$s_!KKJm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59448e57-8aa7-4336-92d9-ff67894b5e7c_1360x1040.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>Visual management and KPIs visible to you and to the team.</strong> It shows how work flows through each team, updated automatically. The team can see its own progression and blockers without booking a meeting. You become the leader who responds to signals instead of inbound noise.</p><p><strong>Clear role boundaries with each team.</strong> It is about what decisions stay yours and what belongs to the team. How to ask for help, and what help actually means. Thirty minutes per team, replacing months of fuzzy expectation.</p><p><strong>Delivery objectives, replacing recurring alignment slots.</strong> The objectives drive the meetings. The resulting performance gaps trigger problem-solving and learnings. No objective, no meeting.</p><p><strong>Sanctuary blocks defended on the calendar.</strong> Personal work and bookable time, both reserved as real appointments, declined when something tried to override them. Bookable time stays open for the team to book when they have a clear ask. Without one, it stays defended.</p><h2>Six weeks later</h2><p>Back to the manager we started with. Six weeks after the four moves were in place, his numbers had moved. Personal work more than doubled, from 4 hours to 9. Code reviews dropped from 3 to 1, because the team was unblocking itself. Alignment eased from 5 to 4 as recurring syncs gave way to purpose-driven ones. Across the week, he reclaimed about four hours outright.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nL0q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb01941-3ed4-4a8c-aad0-33c7ce84cd72_1400x940.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nL0q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb01941-3ed4-4a8c-aad0-33c7ce84cd72_1400x940.png 424w, https://substackcdn.com/image/fetch/$s_!nL0q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb01941-3ed4-4a8c-aad0-33c7ce84cd72_1400x940.png 848w, https://substackcdn.com/image/fetch/$s_!nL0q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb01941-3ed4-4a8c-aad0-33c7ce84cd72_1400x940.png 1272w, https://substackcdn.com/image/fetch/$s_!nL0q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb01941-3ed4-4a8c-aad0-33c7ce84cd72_1400x940.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nL0q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb01941-3ed4-4a8c-aad0-33c7ce84cd72_1400x940.png" width="1400" height="940" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0bb01941-3ed4-4a8c-aad0-33c7ce84cd72_1400x940.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:940,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:65971,&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.leantechpro.com/i/199728776?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb01941-3ed4-4a8c-aad0-33c7ce84cd72_1400x940.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_!nL0q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb01941-3ed4-4a8c-aad0-33c7ce84cd72_1400x940.png 424w, https://substackcdn.com/image/fetch/$s_!nL0q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb01941-3ed4-4a8c-aad0-33c7ce84cd72_1400x940.png 848w, https://substackcdn.com/image/fetch/$s_!nL0q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb01941-3ed4-4a8c-aad0-33c7ce84cd72_1400x940.png 1272w, https://substackcdn.com/image/fetch/$s_!nL0q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb01941-3ed4-4a8c-aad0-33c7ce84cd72_1400x940.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>Two numbers in the chart need a second look. The simple reading misses what they mean.</p><p>Bookable time fell, from 9 hours to 5. On paper that looks like a loss: the manager less available, the team less supported. In practice it was the opposite. The teams used less of his bookable time because they needed it less. Better autonomy showed up as a smaller number. Read only the chart, and you&#8217;d flag it as a problem. Read the system, and it&#8217;s one of the strongest signals in the data.</p><p>The opposite pattern shows up in direct management. It dropped from 8 hours to 6, far from solved. This is the part most case studies would quietly drop. I&#8217;m leaving it in, because it&#8217;s the truth. Six weeks rebuilt the system enough to reclaim his personal time and to let the teams carry their own load. It did not solve direct management. That bucket needs a different intervention, and it was still open when this snapshot was taken.</p><h2>The pattern</h2><p>His calendar was not the problem. Every hour he lost went through one of those four gaps. No amount of declining meetings closes a gap.</p><p>Real system work moves some things fast, some slowly, and some not at all in the first cycle. The manager who expects a clean win in six weeks is the manager who gives up in week three. This one didn&#8217;t get a clean win. He got his thinking time back, teams that needed him less, and one stubborn bucket still on the list. That&#8217;s what progress actually looks like.</p><p>Direct management is still at 6 hours a week, so this story is not finished. I will write about that bucket when it moves. In the meantime, count your own hours for one week and see which bucket is the smallest. I would bet it is the one you need most.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.leantechpro.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Delivery Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>