<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Shape And Ship - EN</title>
        <link>https://en.shapeandship.ai</link>
        <description>  Practical frameworks for CTOs, CPOs, tech&amp;product leaders scaling teams, delivery, and AI adoption. From a  CTPO who ships with the teams she works with. Strategy, metrics, and field lessons from scale-ups of 20 to 120 people.</description>
        <lastBuildDate>Sat, 04 Jul 2026 17:23:35 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>Writizzy</generator>
        <language>en</language>
        <copyright>All rights reserved 2026, Shape And Ship - EN</copyright>
        <item>
            <title><![CDATA[Cheap to build, costly to keep]]></title>
            <link>https://en.shapeandship.ai/p/cheap-to-build-costly-to-keep</link>
            <guid>https://en.shapeandship.ai/p/cheap-to-build-costly-to-keep</guid>
            <pubDate>Sat, 04 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[AI has broken the cost of writing code. It hasn't touched the cost of owning it. How to measure what your velocity dashboards won't show you.]]></description>
            <content:encoded><![CDATA[<p>Over 40% of committed code is now AI-assisted (1). AI has broken the cost of writing code. It hasn&#39;t touched the cost of owning it.</p>
<p>Velocity metrics look great. We ship more, faster. Everything is green. That&#39;s worth questioning.</p>
<h2>There are two prices</h2>
<p>AI has collapsed the price of writing code to near zero. Features that used to take a week now ship in two days, a major lever for any scale-up.</p>
<p>But writing code was never the most expensive part. What costs is maintenance and evolution.</p>
<p>The first large-scale empirical studies converge on the same finding: AI-generated code introduces 1.7x more issues than human code. Without guardrails, that compounds: maintenance costs reach 4x traditional levels by the second year (1). These numbers come from an Ox Security report relayed by InfoQ. Ox sells application security tooling, so they have skin in the game. But other studies point in the same direction (4)(6), and the pattern matches what I observe in the field.</p>
<p>Why? Because AI is additive by default. Take a common case: an endpoint returns a badly formatted date. An experienced developer would trace back to the parser and fix the format at the source. AI adds a <code>.toISOString()</code> in the controller, a <code>sanitizeDate()</code> wrapper in the service, and a test that validates the workaround. The bug is &quot;fixed.&quot; Three layers of code added, zero lines removed. The root cause is still there.</p>
<p>A junior developer would make the same mistake. The difference is scale. AI produces this kind of palliative on every PR, in every module, without anyone systematically pushing back. What used to be a coaching moment becomes a systemic codebase problem.</p>
<p>GitClear&#39;s longitudinal study across millions of lines of code (6) quantifies the shift: the share of changed lines associated with refactoring dropped from 25% in 2021 to under 10% in 2024. In the same period, code duplication rose from 8.3% to 12.3%. AI amplifies the pattern: it generates new code rather than restructuring what exists. (On greenfield projects, high addition rates are expected. The signal matters on code in maintenance, over time.)</p>
<p>Another signal worth tracking: <strong>code churn</strong>, the percentage of code rewritten within two weeks of its creation. The same study (6) measured churn rising 84% between 2020 and 2024, from 3.1% to 5.7%. The period also covers post-COVID shifts and the Great Resignation, so AI adoption isn&#39;t the only factor. But the correlation is strong enough to warrant monitoring. A feature that ships in two days but gets rewritten the following sprint is not a velocity gain. It&#39;s a deferred cost wearing a speed label.</p>
<p>These are the indicators that separate teams where AI builds from teams where AI just adds.</p>
<h2>The code works. Nobody understands why.</h2>
<p>Addy Osmani named this phenomenon: comprehension debt (3). The code runs. Tests pass. Syntax is flawless. But no one on the team can explain how it works. The team merged code it didn&#39;t write, didn&#39;t truly read, and couldn&#39;t reproduce without AI.</p>
<p>This has nothing to do with classic technical debt. There&#39;s nothing to refactor. The code is clean. It&#39;s just that nobody carries it in their head.</p>
<p>When a production incident hits, resolution time increases. The team discovers the implementation in real time, under pressure. An empirical study of 304,000 commits confirms it (4): developers place excessive trust in AI-generated code and merge it without thorough validation. Issues frequently go unfixed.</p>
<p>This is where <strong>bus factor</strong> becomes a leading indicator. If AI writes code that only AI can explain, the bus factor of affected modules tends toward zero. Not because a single person holds the knowledge, but because no one does. In a post-mortem, this surfaces as &quot;nobody knew this code existed,&quot; which is worse than &quot;only one person knew.&quot;</p>
<p>One way to detect it: track the MTTR Drift (2), the deviation of Mean Time To Recovery from its pre-AI baseline:</p>
<pre><code class="language-javascript">MTTR Drift = (MTTR post-AI - MTTR pre-AI) / MTTR pre-AI
</code></pre>
<p>The proposed thresholds (2) are as follows. Between -10% and +10%, the team has internalized the generated code. Above +30%, it&#39;s a signal worth investigating. MTTR is a noisy indicator. A single major incident can skew a quarter, so measure it as a rolling median over at least three months. The drift can have other causes (turnover, infrastructure changes), but if it correlates with AI adoption and nothing else explains it, comprehension debt is a serious hypothesis.</p>
<p>If the drift is real, the intervention point is clear. Code review is the last moment where the team can take ownership of code it didn&#39;t write. Automating convention and pattern checks (via hooks or review bots) frees human attention for business logic and architecture decisions. A hook that blocks PRs over 400 lines unless the author provides a section-by-section breakdown helps keep reviews at a human scale.</p>
<h2>Measuring real impact, not velocity</h2>
<blockquote>
<p><em>&quot;The faster you go, the further ahead you need to look.&quot;</em><br>— Todd Gagne, The Barrels Paradox</p>
</blockquote>
<p>Lines of code generated, number of PRs, completion speed: these are production metrics. They measure volume. They say nothing about the cost of what we produce.</p>
<p>The obvious starting point is DORA metrics before and after AI adoption. If deployment frequency goes up but change failure rate does too, we&#39;re not going faster. We&#39;re breaking more often. One study measured a +30% increase in change failure rate within 90 days of AI adoption (1). Part of that may reflect the learning curve of new tooling rather than a structural problem.</p>
<p>Three questions to ask: does the AI produce code we keep? Can the review pipeline absorb the volume? Does the architecture hold?</p>
<p>On the review pipeline specifically: <strong>review cycle time</strong> on AI-assisted PRs versus manual ones is a revealing metric. A study of over 8,000 AI-agent PRs (7) shows that 35% are never merged, either closed or left to rot. Merge rates vary from 42% to 82% depending on the tool. If a third of AI-generated PRs never land, the velocity gain measured at commit time is absorbed downstream. The bottleneck moves from writing to reviewing.</p>
<p>In his paper (2), Nadarajah applies this reasoning to two scenarios with the same tool and the same team, over a one-month cycle. Without guardrails: net impact of -4,200. The team spends its time cleaning up. With the right safety nets: net impact of +5,780. Same tool, opposite outcome.</p>
<h2>The guardrails make the difference</h2>
<p>The numbers tell part of the story. There&#39;s also a human cost that metrics don&#39;t capture. Seniors spend their days reviewing code they didn&#39;t write and understand less and less. Experienced developers lose touch with their own codebase. In the teams I work with, that&#39;s often the first warning sign: not a metric going off, but a tech lead saying &quot;I don&#39;t recognize the code anymore.&quot;</p>
<p>theThe answer is to give AI the right context. With one of my clients, we formalized architecture conventions in tool-readable specs that the AI loads before generating code, set up pre-commit hooks to block known anti-patterns, and invested in building shared skills across the team so that everyone can evaluate what the AI produces. The hooks catch issues before they reach review; the shared understanding catches everything else.</p>
<p>It&#39;s too early to measure the impact. The setup is recent. But the logic holds: give AI the context to produce aligned code from the start, rather than fixing it after the fact. I&#39;ll detail the full pipeline (specs, hooks, task templates, review automation) in a follow-up article.</p>
<p>AI also reduces certain types of bugs, improves test coverage on boilerplate, and enables small teams to deliver what used to take months. The risks described here are real, but they exist alongside genuine gains.</p>
<h2>What to watch</h2>
<p>If you do one thing Monday morning: pull the insertion/deletion ratio on your three most active repos for the last quarter. If it exceeds 10:1, start asking which PRs contribute the most.</p>
<p>Signals to track over time:</p>
<ul>
<li><strong>Code churn</strong> within 14 days. Extractible from git, no vendor dependency. If AI code is rewritten more than human code, the speed is illusory. (Tagging AI vs. human commits requires convention: commit message tags or Copilot metadata.)</li>
<li><strong>Refactoring ratio</strong> on your repos. If it drops below 10% of changed lines, the codebase is bloating. The 10% threshold comes from GitClear&#39;s methodology (6). Your mileage may vary with different tooling.</li>
<li><strong>MTTR Drift</strong> (rolling median, 3+ months). Above +30%, the team understands less of what it ships. Threshold from (2), not an industry standard.</li>
<li><strong>Review cycle time</strong>, AI PRs vs. manual. If AI PRs take longer to merge, the bottleneck moved. Normalize by PR size to account for size differences.</li>
<li><strong>Change failure rate</strong> before and after AI. If it&#39;s going up after the adoption curve has stabilized, we&#39;re breaking faster than we&#39;re building.</li>
</ul>
<p>Today&#39;s acceleration becomes tomorrow&#39;s bottleneck when nobody looks beyond the velocity dashboards. That&#39;s a leadership choice.</p>
<hr>
<h2>Sources</h2>
<p>(1) <a href="https://www.infoq.com/news/2025/11/ai-code-technical-debt/">AI-Generated Code Creates New Wave of Technical Debt — InfoQ / Ox Security (Nov 2025)</a><br>(2) <a href="https://en.shapeandship.aiEtude_IA_Metrics.pdf">The Velocity Mirage: The Agentic Impact Framework — Mag-Stellon Nadarajah (March 2026)</a><br>(3) <a href="https://medium.com/@addyosmani/comprehension-debt-the-hidden-cost-of-ai-generated-code-285a25dac57e">Comprehension Debt: The Hidden Cost of AI-Generated Code — Addy Osmani (March 2026)</a><br>(4) <a href="https://arxiv.org/abs/2603.28592">Debt Behind the AI Boom: A Large-Scale Empirical Study of AI-Generated Code in the Wild — arXiv (March 2026)</a><br>(5) <a href="https://wildfirelabs.substack.com/p/the-barrels-paradox-why-ai-makes">The Barrels Paradox: Why AI Makes Leadership More Human, Not Less — Todd Gagne (Feb 2025)</a><br>(6) <a href="https://www.gitclear.com/ai_assistant_code_quality_2025_research">AI Copilot Code Quality: 2025 Data Suggests 4x Growth in Code Clones — GitClear (2025)</a><br>(7) <a href="https://arxiv.org/html/2602.00164">Why AI Agent-Involved Pull Requests Remain Unmerged — arXiv (Feb 2026)</a></p>
]]></content:encoded>
            <category>engineering-practices</category>
            <category>ai</category>
            <category>metrics</category>
        </item>
        <item>
            <title><![CDATA[Craft is dead, long live the craft]]></title>
            <link>https://en.shapeandship.ai/p/craft-is-dead-long-live-the-craft</link>
            <guid>https://en.shapeandship.ai/p/craft-is-dead-long-live-the-craft</guid>
            <pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA["Craft is outdated."

A candidate told me this during an interview after we flagged gaps in his engineering craft culture. His answer was blunt: with AI, what matters is speed.
Easy to dismiss. Except I hear the same thing in the teams I work with, just phrased differently.]]></description>
            <content:encoded><![CDATA[<p>&quot;Craft is outdated.&quot;</p>
<p>A candidate told me this during an interview after we flagged gaps in his engineering craft culture. His answer was blunt: with AI, what matters is speed.</p>
<p>Easy to dismiss. Except I hear the same thing in the teams I work with, just phrased differently.</p>
<h2>What the data already shows</h2>
<p>Faros measured the impact of AI adoption across 22,000 developers and 4,000 teams over two years.</p>
<p>Individual throughput is up 34%. Epics completed per developer, up 66%. AI accelerates code production. Nobody disputes that.</p>
<p>On the other side: bugs per developer are up 54%. The incident-to-PR ratio has tripled. Code churn is up 9x. Lead time, 5x. And 31% more PRs are being merged without any review at all.</p>
<p>Some of this can be explained by increased volume and more ambitious projects. You could also argue that higher churn reflects refactorings teams would never have tackled without AI. But that doesn&#39;t explain why teams are discovering their own implementations for the first time during production incidents.</p>
<p>The hardest finding in the report: organizations with strong pre-AI engineering practices are not protected. Teams with solid foundations, mature review processes and high DORA scores see the same degradation. Code generation has become so cheap that it overwhelms existing quality mechanisms.</p>
<p>Some CTOs I talk to are convinced their mature teams will absorb AI naturally. The data suggests otherwise.</p>
<p>That doesn&#39;t mean old practices should survive as-is.</p>
<h2>Craft was never about the code</h2>
<p>For years, we believed craft meant writing elegant code, applying patterns, maintaining clean architecture. AI is very good at producing all of that. Idiomatic code, well-named, stylistically consistent. If craft were just that, the candidate would be right: it&#39;s outdated.</p>
<p>Code was the observable surface of something else. A team&#39;s ability to build a shared mental model of its system and domain. Knowing which trade-offs were made and why. Knowing what deserves to be simplified and what needs to stay complex.</p>
<p>In a team I was in the process of structuring, I tried to introduce pairing. The response was immediate: &quot;we have Claude Code.&quot; Same thing with cross-reviewing technical specs: &quot;one review is enough.&quot;</p>
<p>No resistance. A rational shortcut. And not an absurd one. Pairing was expensive. Mob programming was slow. Nobody misses the days when a two-hour refactoring took a full day in a pair. You could even argue that Claude Code is a form of pairing, with a machine instead of a colleague.</p>
<p>Except a machine&#39;s challenge doesn&#39;t replace a human&#39;s. It improves an individual decision. It doesn&#39;t automatically build collective understanding. Pairing is about one developer understanding and challenging another&#39;s choices, not about writing code together. Spec review is about the team aligning on the problem before coding. TDD is about specifying expected behavior before writing a single line (Kent Beck goes as far as enforcing TDD in his agents&#39; system prompts, because without it, the agent deletes the test rather than fixing the code). Mob programming is about anchoring conventions through collective imitation.</p>
<p>Each of these practices produces a deliverable. And each builds, in parallel, a shared understanding of the system. AI produces the deliverable. Not the rest.</p>
<p>The gain is real. We deliver faster, we have more tests. But I observe that teams don&#39;t use the time saved to think. They use it to pick up the next ticket. Sometimes to improve overall quality, strengthening tests or documentation for instance. Often, practices like pair programming, mob programming, spec reviewing don&#39;t even get the chance to take hold. AI provides the shortcut before the practice has proved its value.</p>
<blockquote>
<p>This isn&#39;t a critique of AI. It&#39;s a critique of what AI amplifies. Dave Farley puts it bluntly: teams with good practices benefit massively from AI. The rest produce worse software, faster.</p>
</blockquote>
<h2>Craft is shifting</h2>
<p>Some teams delegate to AI. The spec, the tests, the code. AI produces, the team validates and moves on. Others use it to think. They specify expected behavior in TDD, then let AI code. They write the first draft of the spec themselves, then use AI to tear it apart: what could break, what case was missed. They read the generated tests asking what they don&#39;t cover.</p>
<p>Martin Fowler talks about &quot;letting go of the obsession with perfect code line by line to strengthen understanding of the domain and the overall architecture.&quot; Craft isn&#39;t disappearing. It&#39;s shifting. Execution matters less. Judgment and domain modeling matter more. This already separated good teams from the rest, but now the gap is visible.</p>
<p>The question for every team: are we using AI as a sparring partner that forces us to think, or as a competent colleague we delegate to?</p>
<h2>Craft isn&#39;t dead. Not yet.</h2>
<p>For twenty years, engineering practices served two purposes: producing software and building collective understanding. AI now produces much of the software.</p>
<p>We measure throughput, closed tickets, merged PRs. We almost never measure distributed understanding. Who knows what in the team. How long it takes to modify a system six months after building it. What it costs to explain an architectural decision to someone who just joined.</p>
<p>For a long time, production speed was a reasonable signal of a team&#39;s health. When writing code becomes nearly free, that signal gradually stops being reliable. If AI now produces the software, there&#39;s a question nobody is asking enough: how do we measure the quality of collective understanding that allows us to evolve it?</p>
<p>That candidate thought craft was dead. Execution craft is receding, yes. But craft was never really about the code. Craft is now about producing the understanding that allows the code to evolve.</p>
<p>AI makes code abundant. Understanding remains scarce.</p>
<h2>Sources and related articles</h2>
<p><strong>Data</strong></p>
<ul>
<li><a href="https://www.faros.ai/research/ai-acceleration-whiplash">Faros AI Engineering Report 2026, "The Acceleration Whiplash"</a> — 22,000 developers, 4,000 teams, two years of telemetry</li>
</ul>
<p><strong>Craft voices on AI</strong></p>
<ul>
<li><a href="https://newsletter.pragmaticengineer.com/p/tdd-ai-agents-and-coding-with-kent">Kent Beck — TDD, AI agents and coding</a> (The Pragmatic Engineer)</li>
<li><a href="https://tidyfirst.substack.com/p/augmented-coding-beyond-the-vibes">Kent Beck — Augmented Coding: Beyond the Vibes</a></li>
<li><a href="https://www.aviator.co/podcast/engineering-discipline-dave-farley">Dave Farley — The AI Shift is Bigger Than Internet and Agile</a> (Aviator podcast)</li>
<li><a href="https://www.youtube.com/watch?v=ii_rLjQfjp0">Martin Fowler &amp; Kent Beck — Tech Truth: Agile Evolution &amp; the Future of SW Engineering</a> (GOTO 2025)</li>
</ul>
<p><strong>Related articles (AI and Quality series)</strong></p>
<ul>
<li><a href="https://www.shapeandship.ai/p/cheap-to-build-costly-to-keep">Cheap to build, costly to keep</a> (comprehension debt)</li>
<li><a href="https://www.shapeandship.ai/p/historique-documentation-missing">"It's historical"</a> (organizational knowledge)</li>
<li><a href="https://www.shapeandship.ai/p/devs-produce-twice-as-many-prs-delivery-hasn-t-moved">Tokenmaxxing</a> (AI metrics and ROI)</li>
<li><a href="https://www.shapeandship.ai/p/ai-doesnt-replace-juniors-training">AI doesn't replace juniors</a> (training and knowledge transfer)</li>
</ul>
]]></content:encoded>
            <category>engineering-practices</category>
            <category>ai</category>
        </item>
        <item>
            <title><![CDATA[We doubled the team and nothing got faster - A story of perfomance]]></title>
            <link>https://en.shapeandship.ai/p/we-doubled-the-team-and-nothing-got-faster-a-story-of-perfomance</link>
            <guid>https://en.shapeandship.ai/p/we-doubled-the-team-and-nothing-got-faster-a-story-of-perfomance</guid>
            <pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Why doubling a team doesn't double its velocity. An organization's throughput depends on its barrels, the few people who can take a vague initiative and ship it end to end, not on   headcount. This article breaks down the "more people = more speed" reflex and explores what happens when you add AI to a team that lacks barrels.]]></description>
            <content:encoded><![CDATA[<p>A few years ago, at a scale-up where I was CTO, the engineering team was cut in half. Tough economic context, like many companies at the time. On paper, it was a disaster.</p>
<p>Except velocity didn&#39;t drop by half. It dropped by maybe 20%, possibly less. Standups got shorter. PRs moved faster. The people who stayed knew exactly what to do, and they finally had room to do it.</p>
<p>To be fair, what made the difference is partly that the right people had stayed. The ones actually driving projects forward hadn&#39;t left. Critical domains were still covered. Scope had shrunk. The headcount reduction didn&#39;t improve anything on its own. What mattered was who remained.</p>
<p>And that raises a broader question: why do some people weigh so much more than others in an organization&#39;s ability to ship?</p>
<h2>Barrels</h2>
<p>In any team, there are two or three people without whom nothing ships. The ones who take a vague topic, break it down, get others on board, and push it to production.</p>
<p>Keith Rabois put a name on this while observing PayPal: out of 254 people, 12 to 17 carried projects end to end. He calls them <em>barrels</em>. Everyone else is <em>ammunition</em>: the people who execute.</p>
<p>The ratio is striking. It&#39;s also a heuristic drawn from one specific company at one specific time. A 2000s fintech, a B2B SaaS platform, and an e-commerce scale-up don&#39;t have the same dynamics. But the intuition holds: in most organizations, a small number of people carry the bulk of the ability to ship.</p>
<p>And &quot;carrying&quot; doesn&#39;t look the same everywhere. The Staff Engineer who secures platform architecture carries. The EM who unblocks their team every week carries. The PM who makes priority calls and protects product focus carries, without writing a line of code. The SRE whose reliability lets everyone else build with confidence carries too. Very different profiles, same function: turning an initiative into a result.</p>
<p>An organization&#39;s real capacity is the number of these people. Not total headcount.</p>
<h2>More people, less speed</h2>
<p>When things slow down, the reflex is almost always the same: hire. Look at the roadmap, count the features, divide by estimated capacity per developer, conclude you need fifteen more people. Brooks showed the problem back in 1975: coordination cost grows at n(n-1)/2. Teams of 5-7 consistently outperform teams of 15-20 in per-capita productivity (QSM, across thousands of projects).</p>
<p>Sometimes headcount really is the bottleneck. An undersized platform team, 24/7 coverage to maintain, a multiplication of business domains requiring new expertise. In those cases, hiring is the right call.</p>
<p>But when the problem is &quot;we&#39;re not moving fast enough on existing work,&quot; it&#39;s rarely a staffing problem. Ten more developers with nobody to frame the project, break it down, unblock it when things get stuck: ten people waiting or heading in different directions. The bottleneck is the number of people able to carry a topic end to end.</p>
<h2>You can&#39;t hire into a broken system</h2>
<p>On another engagement, I faced strong pressure to hire into a struggling team. My stakeholder couldn&#39;t understand why I was pushing back. The team was struggling, so it needed more people. To him, it was obvious.</p>
<p>I saw the outcome of that logic in a different context: external hires added to a dysfunctional team. They didn&#39;t push back, didn&#39;t bring the fresh perspective everyone hoped for. Within weeks, they&#39;d adopted the same workarounds as the rest of the team, the same shortcuts in review, the same topics everyone avoids in standup. The resources were there, the goodwill too. But when the system has structural flaws, new hires don&#39;t fix them. They absorb them.</p>
<p>Will Larson calls this organizational debt. You don&#39;t hire into a broken system expecting the newcomers to fix it despite themselves.</p>
<h2>Find the bottleneck, not the headcount gap</h2>
<p>Goldratt laid it out in <em>The Goal</em>: a system&#39;s throughput is limited by a single bottleneck at a time. Optimizing anything else is waste. In <em>The Phoenix Project</em>, Brent is the one everything flows through, the one without whom nothing moves. Redistributing his load is the only lever. Hiring next to him does nothing.</p>
<p>In the team I watched shrink by half, that&#39;s what happened naturally. Fewer people, so fewer projects in parallel. Those who remained finally had the bandwidth to run their topics end to end, without being interrupted every hour to coordinate.</p>
<p>Skelton and Pais frame the same idea differently in <em>Team Topologies</em>: the real constraint is cognitive load, not headcount. When a team is overloaded, you need to reduce the surface area, the scope per person, the number of domains to keep in mind. Not add more heads.</p>
<p>And often, the bottleneck isn&#39;t even in engineering. It&#39;s in product decisions. Fuzzy priorities, calls that don&#39;t get made, business dependencies that nobody resolves. You can have all the technical barrels you want: if nobody on the product side holds the vision and protects focus, the team builds fast in directions that don&#39;t converge.</p>
<h2>Growing barrels</h2>
<p>Barrels don&#39;t stand out by their technical level. They stand out by how they react to ambiguity.</p>
<p>On a recent engagement, I needed barrels in a team that didn&#39;t have enough. Rather than hiring directly, I gave a leadership role to about ten people, in rotation. Same conditions, same scope, same expectations.</p>
<p>Within weeks, the difference was clear. Some grabbed the role: they broke down problems on their own, asked questions about the why not just the how. They felt accountable for outcomes beyond their own scope. Others still needed guidance, and that&#39;s fine. Not a judgment call, just a snapshot of readiness at a given point.</p>
<p>Where some waited for instructions or escalated, those few started moving.</p>
<p>It takes time. It&#39;s less dramatic than a senior hire showing up with an impressive resume. But people you grow internally know the context, the product, the debt. They don&#39;t need three months of onboarding. And above all, they have the team&#39;s trust. You can&#39;t mandate that.</p>
<h2>AI doesn&#39;t make barrels</h2>
<p>All of this was observed and theorized before every team had access to AI. AI doesn&#39;t change the equation. It makes it worse.</p>
<p>Todd Gagne offers an analogy that clarifies things. When electricity arrived in factories in the 19th century, the first industrialists simply replaced the steam engine with an electric motor while keeping the same production layout. The gains were marginal. It took a complete rethinking of factory organization for electricity to deliver on its promise.</p>
<p>AI is the same story. Deploying Copilot or Cursor on a team that lacks barrels is putting an electric motor in a steam-age factory. AI generates code, tests, documentation. But it doesn&#39;t know what to build, it doesn&#39;t know how to prioritize, and it doesn&#39;t push anything to production.</p>
<p>Using Rabois&#39;s heuristic: if 12 barrels drove 254 people at PayPal, AI lets those 254 produce ten times more code. But if the barrels are still 12, the bottleneck hasn&#39;t moved. It&#39;s gotten worse: there&#39;s now ten times more output to sort, validate, and carry to production.</p>
<p>A team without barrels armed with AI produces more code that nobody ships. The result is noise, not throughput.</p>
<hr>
<p>Barrels don&#39;t stand out by their technical level. They stand out by their ability to turn uncertainty into execution.</p>
<p>When an organization slows down, the first question isn&#39;t &quot;How many people are we missing?&quot; The first question is &quot;Who actually turns vague topics into concrete results?&quot;</p>
<p>As long as those people remain the bottleneck, hiring more doesn&#39;t change the trajectory.</p>
<hr>
<h2>Sources</h2>
<ol>
<li>Keith Rabois, <a href="https://startupclass.samaltman.com/courses/lec14/">How to Operate</a> — Stanford/YC, 2014. The barrels vs ammunition concept.</li>
<li>Fred Brooks, <em>The Mythical Man-Month</em>, 1975. Coordination cost at n(n-1)/2.</li>
<li>Will Larson, <a href="https://lethain.com/sizing-engineering-teams/">Sizing Engineering Teams</a> — and <em>An Elegant Puzzle</em>, 2019. Organizational debt and team sizing.</li>
<li>Eliyahu Goldratt, <em>The Goal</em>, 1984. Theory of Constraints.</li>
<li>Gene Kim et al., <em><a href="https://itrevolution.com/product/the-phoenix-project/">The Phoenix Project</a></em>, 2013. Brent as the human bottleneck.</li>
<li>Matthew Skelton &amp; Manuel Pais, <em><a href="https://teamtopologies.com/book">Team Topologies</a></em>, 2019. Cognitive load as the real constraint.</li>
<li>Todd Gagne, <a href="https://wildfirelabs.substack.com/p/the-barrels-paradox-why-ai-makes">The Barrels Paradox</a>, 2025. The electricity/AI analogy and why human judgment becomes the real bottleneck.</li>
</ol>
<h2>Further reading</h2>
<ul>
<li><a href="https://www.ravi-parikh.com/posts/barrels-and-ammunition">Barrels and Ammunition</a> — Ravi Parikh. How to identify barrels in an org.</li>
<li><a href="https://www.qsm.com/blog/2017/brooks-law-revisited">Brooks' Law Revisited</a> — QSM Associates, 2017. Empirical data on productivity by team size.</li>
<li><a href="https://lethain.com/identify-and-remove-bottlenecks/">Identifying and Removing Bottlenecks</a> — Will Larson. Applying the Theory of Constraints to engineering teams.</li>
<li>Charity Majors, <a href="https://charity.wtf/">charity.wtf</a> — On when hiring makes sense (and when it doesn&#39;t).</li>
<li>Kent Beck, <a href="https://tidyfirst.substack.com/">Tidy First?</a> — Efficiency vs throughput, and why fixing architecture comes before headcount.</li>
</ul>
]]></content:encoded>
            <category>leadership</category>
            <category>team-performance</category>
        </item>
    </channel>
</rss>