<?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[Software Design: Tidy First?]]></title><description><![CDATA[Software design is an exercise in human relationships. So are all the other techniques we use to develop software. How can we geeks get better at technique as one way of getting better at relationships?]]></description><link>https://tidyfirst.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!RtcJ!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Ftidyfirst.substack.com%2Fimg%2Fsubstack.png</url><title>Software Design: Tidy First?</title><link>https://tidyfirst.substack.com</link></image><generator>Substack</generator><lastBuildDate>Sun, 12 Apr 2026 13:20:14 GMT</lastBuildDate><atom:link href="https://tidyfirst.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Kent Beck]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[sponsorships@kentbeck.com]]></webMaster><itunes:owner><itunes:email><![CDATA[sponsorships@kentbeck.com]]></itunes:email><itunes:name><![CDATA[Kent Beck]]></itunes:name></itunes:owner><itunes:author><![CDATA[Kent Beck]]></itunes:author><googleplay:owner><![CDATA[sponsorships@kentbeck.com]]></googleplay:owner><googleplay:email><![CDATA[sponsorships@kentbeck.com]]></googleplay:email><googleplay:author><![CDATA[Kent Beck]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Run Out to Meet It]]></title><description><![CDATA[Charity Majors spent a year telling engineers they needed to learn to code to stay relevant.]]></description><link>https://tidyfirst.substack.com/p/run-out-to-meet-it</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/run-out-to-meet-it</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Wed, 08 Apr 2026 13:30:46 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/193499338/a8010973aa5687bf815573b1d2f1e240.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Charity Majors spent a year telling engineers they needed to learn to code to stay relevant. Then, in about three months, that advice became obsolete. In this conversation, she talks about why engineers who built careers on beautiful, readable code are struggling more than anyone else, why junior developers might have a hidden advantage right now, and what it means that nobody has a headstart anymore. Everybody&#8217;s ignorance has been reset to 100.<br><br>This season of Still Burning is sponsored by <a href="https://workos.com/?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=still-burning&amp;utm_content=charity-majors">WorkOS</a> and <a href="https://www.augmentcode.com/?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=still-burning&amp;utm_content=charity-majors">Augment Code</a>.</p>]]></content:encoded></item><item><title><![CDATA[Starving Genies]]></title><description><![CDATA[What 3X: Explore/Expand/Extract says about throttling]]></description><link>https://tidyfirst.substack.com/p/starving-genies</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/starving-genies</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Fri, 03 Apr 2026 13:37:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!a8Uv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2dd2470-3e8f-4e6d-861f-845a06bb88a1_2935x1893.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p>Since my genies seems to have all gone to rehab at the same time I have leisure (!?) to write this.</p></blockquote><p>In the Expand phase, growth isn&#8217;t a curve. it&#8217;s a staircase. You grow until you approach a ceiling&#8212;some rate-limiting resource.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!a8Uv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2dd2470-3e8f-4e6d-861f-845a06bb88a1_2935x1893.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!a8Uv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2dd2470-3e8f-4e6d-861f-845a06bb88a1_2935x1893.jpeg 424w, https://substackcdn.com/image/fetch/$s_!a8Uv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2dd2470-3e8f-4e6d-861f-845a06bb88a1_2935x1893.jpeg 848w, https://substackcdn.com/image/fetch/$s_!a8Uv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2dd2470-3e8f-4e6d-861f-845a06bb88a1_2935x1893.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!a8Uv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2dd2470-3e8f-4e6d-861f-845a06bb88a1_2935x1893.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!a8Uv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2dd2470-3e8f-4e6d-861f-845a06bb88a1_2935x1893.jpeg" width="1456" height="939" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f2dd2470-3e8f-4e6d-861f-845a06bb88a1_2935x1893.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:939,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1033893,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/192871728?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2dd2470-3e8f-4e6d-861f-845a06bb88a1_2935x1893.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!a8Uv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2dd2470-3e8f-4e6d-861f-845a06bb88a1_2935x1893.jpeg 424w, https://substackcdn.com/image/fetch/$s_!a8Uv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2dd2470-3e8f-4e6d-861f-845a06bb88a1_2935x1893.jpeg 848w, https://substackcdn.com/image/fetch/$s_!a8Uv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2dd2470-3e8f-4e6d-861f-845a06bb88a1_2935x1893.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!a8Uv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2dd2470-3e8f-4e6d-861f-845a06bb88a1_2935x1893.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" 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"><g><title></title><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"><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"><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>Either increase the supply of that resource or reduce the consumption until you get back to growth. Disaster averted!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Hq9k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af790c0-80ca-498a-96c4-c8b4757a20dd_2994x1833.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Hq9k!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af790c0-80ca-498a-96c4-c8b4757a20dd_2994x1833.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Hq9k!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af790c0-80ca-498a-96c4-c8b4757a20dd_2994x1833.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Hq9k!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af790c0-80ca-498a-96c4-c8b4757a20dd_2994x1833.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Hq9k!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af790c0-80ca-498a-96c4-c8b4757a20dd_2994x1833.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Hq9k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af790c0-80ca-498a-96c4-c8b4757a20dd_2994x1833.jpeg" width="1456" height="891" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7af790c0-80ca-498a-96c4-c8b4757a20dd_2994x1833.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:891,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:943601,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/192871728?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af790c0-80ca-498a-96c4-c8b4757a20dd_2994x1833.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Hq9k!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af790c0-80ca-498a-96c4-c8b4757a20dd_2994x1833.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Hq9k!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af790c0-80ca-498a-96c4-c8b4757a20dd_2994x1833.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Hq9k!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af790c0-80ca-498a-96c4-c8b4757a20dd_2994x1833.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Hq9k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af790c0-80ca-498a-96c4-c8b4757a20dd_2994x1833.jpeg 1456w" sizes="100vw"></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"><svg role="img" 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"><g><title></title><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"><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"><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>Then the next rate-limiting resource looms and you repeat it. Then the next one. Then the next.</p><p>Eventually you know (from bumping into them) what the rate-limiting resources are and how to keep the supply curve above the demand curve. Then you can shift into Extract mode.</p><p>(Successful companies often retcon all these near-death Expand experiences to make their success seem inevitable.)</p><h2>Genies</h2><p>Everybody cuts limits at once. Not a coincidence, a signal.</p><p>The genie is in Expand. Hard. Usage is growing faster than almost any product in history.</p><p>When you&#8217;re about to hit the ceiling, you have two choices. To bend the supply curve up&#8212;build more data centers, get more chips, make inference cheaper. To bend the demand curve down&#8212;slow the growth, ration the usage, make free/cheap tiers less attractive.</p><p>The model providers are doing both, but bending demand down is the surprise move, at least to me. Who shuts the rocket motor off mid-air?</p><p>The twist here is competitive dynamics. Normally, bending demand down in the face of competition is suicide. Users leave. They go to the competitor. You lose. Expand doesn&#8217;t forgive.</p><h2><strong>The Bottleneck?</strong></h2><p>In Expand, the first question is always: what&#8217;s the next rate-limiting resource?</p><p>Chips? Nvidia supply is constrained, H100s are scarce, everyone&#8217;s fighting for allocation. Except Google makes their own. Amazon makes their own. Anthropic has a preferential supply agreement. And all three still cut limits at the same time. Not chips.</p><p>Raw compute capacity? Data centers, cooling, power delivery. Real constraints, multi-year buildouts. But physical constraints hit different companies at different times &#8212; different footprints, different geographies. You&#8217;d see variation. You see synchrony. Not physical capacity.</p><p>The economics of inference? The ratio of what it costs to serve a query to what users pay. Broken at scale, especially for free users. This one feels right until&#8212;they have basically unlimited capital. The compute bill is large but fundable. They&#8217;re not cutting limits because they literally can&#8217;t afford to serve you.</p><p>So what is it?</p><p>The story. Specifically, how long investors will fund giving away expensive capability while waiting for profits to catch up. That story has a shelf life. At some point you have to demonstrate a path to profitability, not just assert one. Usage limits are evidence you&#8217;re managing toward that&#8212;it&#8217;s a signal to investors, not a &#8220;we&#8217;re running out of money&#8221; decision.</p><p>That&#8217;s why all three moved together. The same investor class, the same stage, the same moment when &#8220;trust us, it&#8217;ll work out&#8221; stops being enough.</p><p>The bottleneck isn&#8217;t engineering. It&#8217;s narrative.</p><h2>It&#8217;s a Race</h2><p>What breaks the model cartel? Someone bends the supply curve up. Fixes the narrative. Inference gets cheaper through distillation, caching, smarter routing to smaller models. Custom silicon matures. New data center capacity comes online. One company gets meaningfully ahead on unit economics and can afford to open the throttle while competitors can&#8217;t.</p><p>That company wins the next wave.</p><h2>What&#8217;s Next?</h2><p>I write about augmented coding&#8212;developers working with genies all day. Usage limits bite differently for us. A power user hitting a daily cap mid-flow isn&#8217;t mildly inconvenienced. Their work stops. They have to, I don&#8217;t know, write another blog post.</p><p>For developers, caps pressure them toward the API&#8212;explicit pricing, higher ceilings, no daily cliff. For everyone else, it&#8217;s just a wall.</p><p>Limits split the user base: casual users get free but capped, developers get metered but uncapped, and the middle&#8212;technical-but-not-API-savvy power users&#8212;gets squeezed into paid consumer tiers. That&#8217;s the conversion pressure the companies actually want, even if a bit more revenue isn&#8217;t going to change the global constraint.</p><p>Uncomfortable question: are the limits temporary&#8212;a bridge while supply catches up&#8212;or are they the beginning of a new equilibrium where heavy AI usage is a premium product, not a default?</p><p>In 3X terms: is this a brief pause on the way to the next Expand staircase, or the beginning of Extract&#8212;where growth slows, margins matter, and rationing becomes a feature?</p><p>I don&#8217;t know. But I&#8217;m watching which company bends supply up first. That tells you everything about where Expand goes next.</p>]]></content:encoded></item><item><title><![CDATA[Genie Sessions: TCR Skill]]></title><description><![CDATA[A recording from Kent Beck's live video]]></description><link>https://tidyfirst.substack.com/p/genie-sessions-tcr-skill</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/genie-sessions-tcr-skill</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Wed, 01 Apr 2026 13:35:29 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/192641476/859eb1b40f7706adc6545dab36aad142.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>TCR is a TDD variant where, if the tests fail, you reset automatically to the last known good state. Poof. If the tests pass, you commit.</p><p>Can we use Skills to get the genie to work TCR-style? (All the coolest ideas are blends of 2 or more existing ideas.)</p><p>Thank you <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Charles Wu&quot;,&quot;id&quot;:1589041,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:&quot;https://substack.com/@charleswu&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe528db5-6260-4f65-ae2e-7f8532411fe2_48x48.jpeg&quot;,&quot;uuid&quot;:&quot;fcb7766f-8ee2-4ec4-83c9-e65f7af7650a&quot;}" data-component-name="MentionToDOM"></span>, <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Rebar Hassan&quot;,&quot;id&quot;:109319717,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:&quot;https://substack.com/@rebar&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/24cd7b75-5523-4a7f-ac7f-35506b36fae1_400x400.png&quot;,&quot;uuid&quot;:&quot;58c84707-9aae-4da3-b960-c2bc9e273d23&quot;}" data-component-name="MentionToDOM"></span>, <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Nnenna Ndukwe&quot;,&quot;id&quot;:2354178,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:&quot;https://substack.com/@nnennahacks&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/551216f1-62ac-4bb8-92e2-5016a2baba30_861x861.jpeg&quot;,&quot;uuid&quot;:&quot;9e0e942b-a046-4d97-879d-15d7fa030fd6&quot;}" data-component-name="MentionToDOM"></span>, <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Oluwasegun Adeleye&quot;,&quot;id&quot;:1167044,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:&quot;https://substack.com/@segunadeleye&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f209597d-6170-4483-a340-effb1e607732_1170x1170.jpeg&quot;,&quot;uuid&quot;:&quot;d88e9d36-86c0-49ba-847a-21b23188c300&quot;}" data-component-name="MentionToDOM"></span>, <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Rangel Fernandes&quot;,&quot;id&quot;:301381288,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:&quot;https://substack.com/@rangelfernandes&quot;,&quot;photo_url&quot;:null,&quot;uuid&quot;:&quot;24c60098-a77c-4a04-b2ea-13e9608afda5&quot;}" data-component-name="MentionToDOM"></span>, and many others for tuning into my live video! Join me for my next live video in the app.</p><div class="install-substack-app-embed install-substack-app-embed-web" data-component-name="InstallSubstackAppToDOM"><img class="install-substack-app-embed-img" src="https://substackcdn.com/image/fetch/$s_!RtcJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Ftidyfirst.substack.com%2Fimg%2Fsubstack.png"><div class="install-substack-app-embed-text"><div class="install-substack-app-header">Get more from Kent Beck in the Substack app</div><div class="install-substack-app-text">Available for iOS and Android</div></div><a href="https://substack.com/app/app-store-redirect?utm_campaign=app-marketing&amp;utm_content=author-post-insert&amp;utm_source=tidyfirst" target="_blank" class="install-substack-app-embed-link"><button class="install-substack-app-embed-btn button primary">Get the app</button></a></div>]]></content:encoded></item><item><title><![CDATA[Tremors]]></title><description><![CDATA[A mystery]]></description><link>https://tidyfirst.substack.com/p/tremors</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/tremors</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Tue, 31 Mar 2026 13:32:14 GMT</pubDate><content:encoded><![CDATA[<p>When my pappy got old, his go-to topic of conversation was his health problems. I swore that would never be me. Yet here we are&#8230;</p><p>Several people watching <a href="https://tidyfirst.substack.com/p/nobody-knows">my first episode</a> of Still Burning asked about my shaking hands. Summary: I don&#8217;t know but it can&#8217;t be good.</p><p>About six months ago I was sitting playing poker (as I do) &amp; I noticed my legs were shaking. &#8220;Te&#8230;</p>
      <p>
          <a href="https://tidyfirst.substack.com/p/tremors">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Thinkie: Reinforcing Loop]]></title><description><![CDATA[Aka positive feedback loop]]></description><link>https://tidyfirst.substack.com/p/thinkie-reinforcing-loop-305</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/thinkie-reinforcing-loop-305</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Mon, 30 Mar 2026 13:27:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VLms!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e9f0278-1d5b-41fc-9620-467b6580cd23_1394x618.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Pattern: The worse things get, the worse things get. Every time you try to intervene, it gets even worse.</p><p>Transformation: Map the effects &amp; how they affect each other. Find the cycle with an even number of inhibitions. Go upstream &amp; push one of the effects the opposite direction.</p><p>Okay, that&#8217;s an abstract brainful. But this is the most powerful tool I have for making big changes with small efforts, so it&#8217;s worth it. I promise. We&#8217;ll start with an example.</p>
      <p>
          <a href="https://tidyfirst.substack.com/p/thinkie-reinforcing-loop-305">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Why Your Progress Is About The Same As Everyone Else's]]></title><description><![CDATA[But you aren't looking at every- everyone.]]></description><link>https://tidyfirst.substack.com/p/why-your-progress-is-about-the-same</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/why-your-progress-is-about-the-same</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Thu, 26 Mar 2026 13:10:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!G2bJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d85681-4b12-4139-8755-30e2d790942f_2736x1666.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I was on a large call the other day when someone came on &amp; said, &#8220;Whew! I&#8217;m so glad I&#8217;m not the only one having problems. Everybody else is about where I am.&#8221; And I thought, &#8220;Well, yes &amp; no.&#8221;</p>
      <p>
          <a href="https://tidyfirst.substack.com/p/why-your-progress-is-about-the-same">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Nobody Knows]]></title><description><![CDATA[Kent Beck kicks off Still Burning with a fireside manifest for geeks navigating a world that's shifted under their feet.]]></description><link>https://tidyfirst.substack.com/p/nobody-knows</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/nobody-knows</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Wed, 25 Mar 2026 12:15:52 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/192009562/516ed72bf2f17d95645f64b1b6a8643f.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Kent Beck kicks off Still Burning with a fireside manifest for geeks navigating a world that's shifted under their feet. Old skills are losing leverage, and nobody has the answers &#8212; not even the people who've been doing this for 30 years. So what do you do? You try things. You experiment cheaply. You bless and release what no longer matters. This one's for the geeks who still care and are still doing something about it.</p><div><hr></div><p>Brought to you in partnership with <a href="https://workos.com/">WorkOS </a>and <a href="https://www.augmentcode.com/product/intent">Augment Code</a>.</p>]]></content:encoded></item><item><title><![CDATA[Forest Thinning]]></title><description><![CDATA[An incentives approach]]></description><link>https://tidyfirst.substack.com/p/forest-thinning</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/forest-thinning</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Fri, 20 Mar 2026 17:17:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JoZP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f7e967-4f16-4ecb-9a12-dfac82995cc5_3708x2100.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JoZP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f7e967-4f16-4ecb-9a12-dfac82995cc5_3708x2100.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JoZP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f7e967-4f16-4ecb-9a12-dfac82995cc5_3708x2100.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JoZP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f7e967-4f16-4ecb-9a12-dfac82995cc5_3708x2100.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JoZP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f7e967-4f16-4ecb-9a12-dfac82995cc5_3708x2100.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JoZP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f7e967-4f16-4ecb-9a12-dfac82995cc5_3708x2100.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JoZP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f7e967-4f16-4ecb-9a12-dfac82995cc5_3708x2100.jpeg" width="1456" height="825" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5f7e967-4f16-4ecb-9a12-dfac82995cc5_3708x2100.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:825,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2489875,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/190737525?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f7e967-4f16-4ecb-9a12-dfac82995cc5_3708x2100.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JoZP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f7e967-4f16-4ecb-9a12-dfac82995cc5_3708x2100.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JoZP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f7e967-4f16-4ecb-9a12-dfac82995cc5_3708x2100.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JoZP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f7e967-4f16-4ecb-9a12-dfac82995cc5_3708x2100.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JoZP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f7e967-4f16-4ecb-9a12-dfac82995cc5_3708x2100.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" 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"><g><title></title><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"><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"><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>Why can&#8217;t tree-huggers &amp; forest destroyers get along?</p><p>I lived in the wilds of southern Oregon for 17 years. I enjoyed many things about life in the forest. One of the things I loved most was watching the politics. Our community was polarized before polarization was cool. Loggers versus environmentalists, sure, but also weird alliances. Open-carry fisherman cozying up to tree huggers to save the salmon &amp; steelhead. Rugged loggers cozying up to (relatively) soft townies with money.</p><p>My roots went deep in the area, one set of grandparents having moved there in 1943. The other grandparents (that grandfather was a former mayor &amp; city councilor) moved there in 1933. I felt connected &amp; invested, even if I didn&#8217;t usually stick my ideas out there.</p><h2>Gridlock</h2><p>The one time I did put my 2 cents in (this is back when we had cents) was when I tried to resolve the absolute hatred between environmentalists &amp; loggers using what I was studying about incentive structures. I think the system I came up with was cool but it quickly disappeared, so now I want to put it in public permanently here.</p><p>Here&#8217;s the setup:</p><ul><li><p>Only 5% of the old-growth forest was left.</p></li><li><p>Loggers wanted to harvest all of it.</p></li><li><p>Environmentalists wanted all logging to stop.</p></li><li><p>Second-growth forest was prone to catastrophic wild fires. (There&#8217;s a special kind of helpless feeling watching a fire approach your home.)</p></li><li><p>Loggers wanted to harvest second-growth.</p></li><li><p>Environmentalists wanted all logging to stop.</p></li></ul><p>The result was a complete impasse. Forests burning. Mills closing. Crime &amp; drugs up. Anybody with any ambition leaving. Nobody was getting what they wanted&#8212;loggers, environmentalists, workers.</p><p>(Or at least what they said they wanted&#8212;there seemed to be a bunch of psychodramas playing out.)</p><h2>Incentives</h2><p>I recast the forest tinning situation as an incentives problem (I was intensively studying incentives at the time). Once the loggers finally got permission to harvest a tract of second-growth, they were incentivized to take out every stick of wood with economic value, leaving further growth stunted, encouraging the growth of flammable underbrush.</p><p>Because environmentalists saw the loggers&#8217; incentives, they were ever more incentivized to block all logging &amp; put onerous restrictions on any activity that managed to sneak through. In Influence Diagram terms, more logging leads to more money &amp; more damage, but more damage leads to more resistance leads to less logging.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TU3v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e600d1-897a-4989-ae22-c5809bb3f938_2098x1142.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TU3v!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e600d1-897a-4989-ae22-c5809bb3f938_2098x1142.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TU3v!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e600d1-897a-4989-ae22-c5809bb3f938_2098x1142.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TU3v!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e600d1-897a-4989-ae22-c5809bb3f938_2098x1142.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TU3v!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e600d1-897a-4989-ae22-c5809bb3f938_2098x1142.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TU3v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e600d1-897a-4989-ae22-c5809bb3f938_2098x1142.jpeg" width="1456" height="793" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60e600d1-897a-4989-ae22-c5809bb3f938_2098x1142.jpeg&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;:357480,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/190737525?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e600d1-897a-4989-ae22-c5809bb3f938_2098x1142.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!TU3v!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e600d1-897a-4989-ae22-c5809bb3f938_2098x1142.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TU3v!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e600d1-897a-4989-ae22-c5809bb3f938_2098x1142.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TU3v!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e600d1-897a-4989-ae22-c5809bb3f938_2098x1142.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TU3v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e600d1-897a-4989-ae22-c5809bb3f938_2098x1142.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" 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"><g><title></title><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"><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"><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>Classic inhibiting loop. More logging leads to less logging. (We could go on &amp; on mapping this system, but this will do to illustrate my pr of the many interventions we can make in a system is to speed or slow feedback. What if, instead of getting paid for <em>this</em> harvest, the loggers got paid for the <em>next</em> harvest. Today they&#8217;d thin the forest, with any valuable material going to be turned into products, but it wasn&#8217;t until 10 years later that they would be paid the proceeds of the <em>next</em> forest thinning. You would get paid more if the forest thrived over the next 10 years, less if it grew less.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vhM3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe74fed46-4ee5-4408-8b0f-047967bd9039_2140x993.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vhM3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe74fed46-4ee5-4408-8b0f-047967bd9039_2140x993.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vhM3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe74fed46-4ee5-4408-8b0f-047967bd9039_2140x993.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vhM3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe74fed46-4ee5-4408-8b0f-047967bd9039_2140x993.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vhM3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe74fed46-4ee5-4408-8b0f-047967bd9039_2140x993.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vhM3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe74fed46-4ee5-4408-8b0f-047967bd9039_2140x993.jpeg" width="1456" height="676" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e74fed46-4ee5-4408-8b0f-047967bd9039_2140x993.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:676,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:267291,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/190737525?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe74fed46-4ee5-4408-8b0f-047967bd9039_2140x993.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vhM3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe74fed46-4ee5-4408-8b0f-047967bd9039_2140x993.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vhM3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe74fed46-4ee5-4408-8b0f-047967bd9039_2140x993.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vhM3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe74fed46-4ee5-4408-8b0f-047967bd9039_2140x993.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vhM3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe74fed46-4ee5-4408-8b0f-047967bd9039_2140x993.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" 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"><g><title></title><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"><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"><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>(I think I kind of made up the notation for delay.)</p><p>Now we have a reinforcing loop. More logging. <em>Less</em> damage (because the loggers get paid in a decade). Less resistance. More logging (in the form of forest thinning.)</p><h2>Priming the Pump</h2><p>That first logger, how do they get paid? They are paying for diesel, salaries, depreciation today &amp; won&#8217;t get money for 10 years. The right to be paid in 10 years can be turned into a financial instrument to be sold today (remember those soft townies with money?) Now you have monied interests who also care about the forest&#8217;s health.</p><p>And who is best suited to evaluate the health of the forest for future gain (and avoiding future loss from pests or fire)? Well, those environmentalists who care so about the forest are well positioned to act as consultants &amp; auditors.</p><p>Mill workers would be back at work. Local capital would have another way to extract rents. Environmentalists would have healthier forests. Loggers would have trees to cut.</p><h2>Chickening Out</h2><p>I wrote the above up as a letter to the editor of the local newspaper. That got me invited to a &#8220;summit&#8221; of conservationists &amp; loggers. When the microphone got around to me I had an attack of shyness, said something self-deprecating, and passed the mic on to the next person. So that was that.</p><p>Would it have worked? Maybe. Entrenched interests were more interested in staying entrenched than in making progress. That&#8217;s true today in many situations I see. It&#8217;s not as simple as &#8220;change the rules and the behavior will change&#8221;. But &#8220;don&#8217;t change the rules &amp; the behavior will definitely not change&#8221;.</p><div><hr></div><p style="text-align: center;"><em>Kent partners with a handful of companies each year on editorial collaborations, speaking, and workshops. If that's interesting,<strong> <a href="https://kentbeck.com/kent-beck-sponsorship.html#inquire">let's talk &#8594;</a></strong></em></p>]]></content:encoded></item><item><title><![CDATA[A few questions about what you're working on...]]></title><description><![CDATA[I write about what I find interesting.]]></description><link>https://tidyfirst.substack.com/p/a-few-questions-about-what-youre</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/a-few-questions-about-what-youre</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Wed, 04 Mar 2026 15:52:09 GMT</pubDate><content:encoded><![CDATA[<p>I write about what I find interesting. That works better when I have a sense of who's reading &amp; what problems you're actually dealing with. The results also help support the work. This shouldn&#8217;t take more than a few minutes.<br><br>Thanks in advanced. It helps more than you know.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tally.so/r/J92geJ&quot;,&quot;text&quot;:&quot;Take the survey&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tally.so/r/J92geJ"><span>Take the survey</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Genie: Death of the Iron Triangle?]]></title><description><![CDATA[Faster/cheaper/sooner & less?]]></description><link>https://tidyfirst.substack.com/p/genie-death-of-the-iron-triangle</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/genie-death-of-the-iron-triangle</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Mon, 02 Mar 2026 17:09:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!TgYf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff735c388-fd78-486e-838b-f385eca831d9_2691x1474.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#8220;Better, sooner, cheaper, your choice of any two&#8221;&#8212;while there are situations where this old chestnut fits, it doesn&#8217;t fit in software development.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!u-XO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f42717c-0243-403c-9527-3ff28fb590bb_2146x1049.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!u-XO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f42717c-0243-403c-9527-3ff28fb590bb_2146x1049.jpeg 424w, https://substackcdn.com/image/fetch/$s_!u-XO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f42717c-0243-403c-9527-3ff28fb590bb_2146x1049.jpeg 848w, https://substackcdn.com/image/fetch/$s_!u-XO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f42717c-0243-403c-9527-3ff28fb590bb_2146x1049.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!u-XO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f42717c-0243-403c-9527-3ff28fb590bb_2146x1049.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!u-XO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f42717c-0243-403c-9527-3ff28fb590bb_2146x1049.jpeg" width="1456" height="712" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f42717c-0243-403c-9527-3ff28fb590bb_2146x1049.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:712,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:619951,&quot;alt&quot;:&quot;Faster, cheaper, &amp; sooner are all connected&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/189544654?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f42717c-0243-403c-9527-3ff28fb590bb_2146x1049.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Faster, cheaper, &amp; sooner are all connected" title="Faster, cheaper, &amp; sooner are all connected" srcset="https://substackcdn.com/image/fetch/$s_!u-XO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f42717c-0243-403c-9527-3ff28fb590bb_2146x1049.jpeg 424w, https://substackcdn.com/image/fetch/$s_!u-XO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f42717c-0243-403c-9527-3ff28fb590bb_2146x1049.jpeg 848w, https://substackcdn.com/image/fetch/$s_!u-XO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f42717c-0243-403c-9527-3ff28fb590bb_2146x1049.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!u-XO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f42717c-0243-403c-9527-3ff28fb590bb_2146x1049.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" 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"><g><title></title><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"><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"><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 was one of the insights behind XP&#8212;fix quality at &#8220;high&#8221;, let scope vary, &amp; you&#8217;ll end up with sooner &amp; cheaper. Seems like magic to break the Iron Triangle, but it&#8217;s not.</p>
      <p>
          <a href="https://tidyfirst.substack.com/p/genie-death-of-the-iron-triangle">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Don't Accomplish Everything]]></title><description><![CDATA[P50 goals, the shift to exploration, & managing in spite of volatility]]></description><link>https://tidyfirst.substack.com/p/dont-accomplish-everything</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/dont-accomplish-everything</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Mon, 23 Feb 2026 14:25:18 GMT</pubDate><content:encoded><![CDATA[<p>&#8220;I&#8217;m sorry but I only accomplished 3 out of my 6 goals for the semester.&#8221;</p><p>&#8220;Excellent! You&#8217;re right on track.&#8221;</p><p>What the hell just happened? I was so confused. The setting was my first performance review at Facebook with my manager David Recordon (hi David &#128075;&#127995;). I walked in with dread. I had 6 goals for my first 6 months. No matter how hard I struggled, I just couldn&#8217;t get 3 of them done. I figured I was done for&#8212;Facebook at that stage was notoriously impatient with under-performers.</p><p>Instead, I got a pat on the back &amp; an &#8220;exceeds expectations&#8221;. Some of the work I&#8217;d picked up over the semester, work that distracted me from my initial goals, turned out to be particularly impactful.</p><h2>3X: Explore/Expand/Extract</h2><p>If you haven&#8217;t heard of 3X, it&#8217;s a framework for thinking about how Facebook in those fairly-early days (2011) managed to:</p><ul><li><p>Run reliably</p></li><li><p>Scale rapidly &amp;</p></li><li><p>Innovate</p></li></ul><p>All at the same time. The basic idea is that there are 3 very different games going on in software product development:</p><ul><li><p>Explore&#8212;in which we are searching for a new super-linear source of value</p></li><li><p>Expand&#8212;in which we&#8217;ve found such a source but struggle to scale</p></li><li><p>Extract&#8212;in which we harvest that value, maybe to pay investors, maybe to fund further exploration</p></li></ul><p>What&#8217;s confusing about software product development is that all 3 phases look similar&#8212;we are shipping increments of value frequently &amp; reliably&#8212;even though the goals &amp; tradeoffs are starkly different.</p><p>What Facebook at that time did well was adapt the management of projects to the stage they were in &amp; then manage the transitions between the stages:</p><ul><li><p>Explore&#8594;Expand&#8212;Wild, loosey-goosey creativity converts to intense focus</p></li><li><p>Expand&#8594;Extract&#8212;Back off on the intensity (which isn&#8217;t sustainable), institute multi-level management (required because of the number of people now involved), separate infrastructure from product</p></li></ul><h2>Managing Extract</h2><p>Software development management has been in Extract for at least a decade. We&#8217;ve known how to manage teams for excellence, even if folks often don&#8217;t.</p><p>Dependencies between teams imply the need for reliability. If my team only gets a cookie if your team delivers, then I want to be damn sure your team is going to deliver. If that means that schedule &amp; cost stretch out, that&#8217;s the price I&#8217;ll pay to keep the whole machine humming.</p><p>If you learned managing a few years ago &amp; manage through KPIs or OKRs, you probably learned in an Extract environment&#8212;inter-team dependencies, scale, roadmaps. All makes sense. All goes together.</p><h2>P50 Goals</h2><p>So, what was going on in the opening story? Was Facebook going soft? Ha! Not likely. We drove about as hard as I&#8217;ve ever driven. So why was accomplishing half of the goals considered good performance? Even stranger, why would accomplishing <em>all</em> of one&#8217;s goals be considered under-performance?</p><p>It&#8217;s the difference between Extract &amp; Explore. So much of what we did at early-to-mid Facebook was exploratory. We knew social media was going to create value but we didn&#8217;t know exactly how. In such an environment, six months is forever.</p><p>If I had accomplished all of my goals for the semester, that would have meant either:</p><ul><li><p>I hadn&#8217;t learned anything, &amp; learned nothing at a time when learning was hugely valuable.</p></li><li><p>I had sandbagged my goals, which limits the potential value I could have created.</p></li></ul><p>And so the policy was that you were supposed to achieve roughly half of your goals. This policy creates incentive to learn &amp; discover while also creating incentive not to coast.</p><h2>Dependencies</h2><p>Explorations should have as few dependencies as possible. They are small but extremely sensitive to delay. Extractions can &amp; should have dependencies because you&#8217;re shooting for economies of scale. This is a fundamental difference often missed by those who have spent the bulk of their careers in one mode or the other.</p><p>P50 goals don&#8217;t work when extracting&#8212;too many disappointing surprises. &#8220;What do you mean you didn&#8217;t get it done?!? We were counting on you.&#8221; But when the value of the surprises is greater than the potential economies of scale, P50 goals are a way to incentivize discovery.</p><p>We have all been forcibly relocated from Extractistan to Exploristan, whether the topic is software development, managing software development, or software product development. It&#8217;s time to adapt to the local customs.</p><p></p>]]></content:encoded></item><item><title><![CDATA[Earn *And* Learn]]></title><description><![CDATA[What Game Are We Playing?]]></description><link>https://tidyfirst.substack.com/p/earn-and-learn</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/earn-and-learn</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Wed, 18 Feb 2026 14:24:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tjaG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6161bd-15cb-4a94-b9e0-d11f8318f563_568x304.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Spec-driven or not spec-driven is <em>not</em> the question. The first question is, &#8220;What game are we playing?&#8221; Here&#8217;s the game I&#8217;m playing when I develop software, with or without the genie. I call it The Compounding Game:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mU_6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0699661f-15a0-4f55-b012-a5c86e904917_620x278.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mU_6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0699661f-15a0-4f55-b012-a5c86e904917_620x278.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mU_6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0699661f-15a0-4f55-b012-a5c86e904917_620x278.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mU_6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0699661f-15a0-4f55-b012-a5c86e904917_620x278.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mU_6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0699661f-15a0-4f55-b012-a5c86e904917_620x278.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mU_6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0699661f-15a0-4f55-b012-a5c86e904917_620x278.jpeg" width="620" height="278" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0699661f-15a0-4f55-b012-a5c86e904917_620x278.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:278,&quot;width&quot;:620,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:77418,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/187548418?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0699661f-15a0-4f55-b012-a5c86e904917_620x278.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mU_6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0699661f-15a0-4f55-b012-a5c86e904917_620x278.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mU_6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0699661f-15a0-4f55-b012-a5c86e904917_620x278.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mU_6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0699661f-15a0-4f55-b012-a5c86e904917_620x278.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mU_6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0699661f-15a0-4f55-b012-a5c86e904917_620x278.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" 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"><g><title></title><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"><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"><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 thing we finish will earn the resources for the next thing which will earn the resources for the next.</p><h2>Different Game, Different Rules</h2><p>Here&#8217;s The Finish Line Game, a different software development game:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tjaG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6161bd-15cb-4a94-b9e0-d11f8318f563_568x304.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tjaG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6161bd-15cb-4a94-b9e0-d11f8318f563_568x304.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tjaG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6161bd-15cb-4a94-b9e0-d11f8318f563_568x304.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tjaG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6161bd-15cb-4a94-b9e0-d11f8318f563_568x304.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tjaG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6161bd-15cb-4a94-b9e0-d11f8318f563_568x304.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tjaG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6161bd-15cb-4a94-b9e0-d11f8318f563_568x304.jpeg" width="568" height="304" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe6161bd-15cb-4a94-b9e0-d11f8318f563_568x304.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:304,&quot;width&quot;:568,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:66903,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/187548418?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6161bd-15cb-4a94-b9e0-d11f8318f563_568x304.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tjaG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6161bd-15cb-4a94-b9e0-d11f8318f563_568x304.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tjaG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6161bd-15cb-4a94-b9e0-d11f8318f563_568x304.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tjaG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6161bd-15cb-4a94-b9e0-d11f8318f563_568x304.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tjaG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6161bd-15cb-4a94-b9e0-d11f8318f563_568x304.jpeg 1456w" sizes="100vw"></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"><svg role="img" 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"><g><title></title><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"><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"><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>We want software that does X. Once we&#8217;ve reached X we&#8217;re done. It happens. I have some data. I need it munged. I write a munging script. Finito. I&#8217;ll never use that script again.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.linkedin.com/posts/kentbeck_the-descriptions-of-spec-driven-development-activity-7413956151144542208-EGMz?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAFlPOkBAAoncAIKYnP3lnFuMLTeYSAaR3s" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5gme!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87425f9f-d61d-4b95-a33a-97491362fa9e_517x579.png 424w, https://substackcdn.com/image/fetch/$s_!5gme!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87425f9f-d61d-4b95-a33a-97491362fa9e_517x579.png 848w, https://substackcdn.com/image/fetch/$s_!5gme!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87425f9f-d61d-4b95-a33a-97491362fa9e_517x579.png 1272w, https://substackcdn.com/image/fetch/$s_!5gme!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87425f9f-d61d-4b95-a33a-97491362fa9e_517x579.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5gme!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87425f9f-d61d-4b95-a33a-97491362fa9e_517x579.png" width="517" height="579" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/87425f9f-d61d-4b95-a33a-97491362fa9e_517x579.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:579,&quot;width&quot;:517,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:260127,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.linkedin.com/posts/kentbeck_the-descriptions-of-spec-driven-development-activity-7413956151144542208-EGMz?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAFlPOkBAAoncAIKYnP3lnFuMLTeYSAaR3s&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/187548418?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87425f9f-d61d-4b95-a33a-97491362fa9e_517x579.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_!5gme!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87425f9f-d61d-4b95-a33a-97491362fa9e_517x579.png 424w, https://substackcdn.com/image/fetch/$s_!5gme!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87425f9f-d61d-4b95-a33a-97491362fa9e_517x579.png 848w, https://substackcdn.com/image/fetch/$s_!5gme!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87425f9f-d61d-4b95-a33a-97491362fa9e_517x579.png 1272w, https://substackcdn.com/image/fetch/$s_!5gme!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87425f9f-d61d-4b95-a33a-97491362fa9e_517x579.png 1456w" sizes="100vw"></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"><svg role="img" 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"><g><title></title><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"><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"><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 hidden assumption behind this style of spec-driven development is that we&#8217;re playing The Finish Line Game. Get the spec right. Get the desired software. Done. No need to consider the future because there won&#8217;t be one.</p><h2>Failure &amp; Success in the Finish Line Game</h2><p>If you&#8217;re playing The Finish Line Game, you can still fail. Design can be so bad you don&#8217;t cross the finish line. Tests can be so bad that you don&#8217;t notice that you haven&#8217;t crossed the finish line. The &#8220;finish line&#8221; itself can shift without you noticing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pyxd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761f68b9-97d7-4dd7-9639-863b633d99aa_574x302.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pyxd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761f68b9-97d7-4dd7-9639-863b633d99aa_574x302.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pyxd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761f68b9-97d7-4dd7-9639-863b633d99aa_574x302.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pyxd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761f68b9-97d7-4dd7-9639-863b633d99aa_574x302.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pyxd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761f68b9-97d7-4dd7-9639-863b633d99aa_574x302.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pyxd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761f68b9-97d7-4dd7-9639-863b633d99aa_574x302.jpeg" width="574" height="302" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/761f68b9-97d7-4dd7-9639-863b633d99aa_574x302.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:302,&quot;width&quot;:574,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:73035,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/187548418?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761f68b9-97d7-4dd7-9639-863b633d99aa_574x302.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pyxd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761f68b9-97d7-4dd7-9639-863b633d99aa_574x302.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pyxd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761f68b9-97d7-4dd7-9639-863b633d99aa_574x302.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pyxd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761f68b9-97d7-4dd7-9639-863b633d99aa_574x302.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pyxd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761f68b9-97d7-4dd7-9639-863b633d99aa_574x302.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" 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"><g><title></title><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"><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"><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 the Tidy First world, we illustrate by contrasting &#8220;futures&#8221; &amp; &#8220;features&#8221;. Futures are what all you can implement next. The genie is no good at managing futures. If you&#8217;re playing The Finish Line Game, you&#8217;re betting that features will cross the finish line before futures run out.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VHRw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d34f516-2149-4bd2-8f13-c554a5790df7_536x320.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VHRw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d34f516-2149-4bd2-8f13-c554a5790df7_536x320.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VHRw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d34f516-2149-4bd2-8f13-c554a5790df7_536x320.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VHRw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d34f516-2149-4bd2-8f13-c554a5790df7_536x320.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VHRw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d34f516-2149-4bd2-8f13-c554a5790df7_536x320.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VHRw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d34f516-2149-4bd2-8f13-c554a5790df7_536x320.jpeg" width="536" height="320" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8d34f516-2149-4bd2-8f13-c554a5790df7_536x320.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:320,&quot;width&quot;:536,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:74739,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/187548418?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d34f516-2149-4bd2-8f13-c554a5790df7_536x320.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VHRw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d34f516-2149-4bd2-8f13-c554a5790df7_536x320.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VHRw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d34f516-2149-4bd2-8f13-c554a5790df7_536x320.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VHRw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d34f516-2149-4bd2-8f13-c554a5790df7_536x320.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VHRw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d34f516-2149-4bd2-8f13-c554a5790df7_536x320.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" 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"><g><title></title><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"><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"><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>This is &#8220;better agent.md file&#8221; territory. If we leave the genie autonomous, can we nudge its work to be good enough not to fail? Sometimes yes, sometimes no (in my experience). And the genie keeps getting better. But it&#8217;s still the same Finish Line Game.</p><h2>Playing The Compounding Game</h2><p>Just as football tactics won&#8217;t work on a baseball field, spec-driven development doesn&#8217;t work if you&#8217;re playing The Compounding Game. A better spec will never get you from dollar sign N to dollar sign N+1 forever. A better agent file won&#8217;t extend the lifespan of the system long enough to get from N to N+1. At some point the complexity will exceed the genie&#8217;s capacity &amp; it&#8217;s game over with lots of dollar signs left to play for.</p><p>Instead, playing The Compounding Game requires as much investment in futures as in features. The two alternate. (Hence the &#8220;tidy first&#8221; connection&#8212;tidying is part of investing in the future.)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hOSc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ce821-ec81-42d4-9819-d1ac82349efc_538x320.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hOSc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ce821-ec81-42d4-9819-d1ac82349efc_538x320.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hOSc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ce821-ec81-42d4-9819-d1ac82349efc_538x320.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hOSc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ce821-ec81-42d4-9819-d1ac82349efc_538x320.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hOSc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ce821-ec81-42d4-9819-d1ac82349efc_538x320.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hOSc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ce821-ec81-42d4-9819-d1ac82349efc_538x320.jpeg" width="538" height="320" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/878ce821-ec81-42d4-9819-d1ac82349efc_538x320.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:320,&quot;width&quot;:538,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:79040,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/187548418?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ce821-ec81-42d4-9819-d1ac82349efc_538x320.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hOSc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ce821-ec81-42d4-9819-d1ac82349efc_538x320.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hOSc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ce821-ec81-42d4-9819-d1ac82349efc_538x320.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hOSc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ce821-ec81-42d4-9819-d1ac82349efc_538x320.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hOSc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ce821-ec81-42d4-9819-d1ac82349efc_538x320.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" 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"><g><title></title><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"><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"><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>We&#8217;ll talk more about those vertical shifts more as we go along:</p><ul><li><p>What senior engineers do to shift vertically</p></li><li><p>What junior engineers do to shift vertically</p></li><li><p>What tools to write</p></li><li><p>What practices to apply</p></li><li><p>How to get the genie to help</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Genie Session: Codex for Mac/GPUSortedMap]]></title><description><![CDATA[A recording from Kent Beck's live video]]></description><link>https://tidyfirst.substack.com/p/genie-session-codex-for-macgpusortedmap</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/genie-session-codex-for-macgpusortedmap</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Fri, 13 Feb 2026 20:01:50 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/187889267/630ecd494a715f865dca5da4171b37cb.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Thank you <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Nicholas Lemay&quot;,&quot;id&quot;:29385669,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:&quot;https://substack.com/@nicholaslemay456999&quot;,&quot;photo_url&quot;:null,&quot;uuid&quot;:&quot;c471bb4e-966e-4d90-a74e-fbd0ef3510d8&quot;}" data-component-name="MentionToDOM"></span>, <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Muhammad Arif&quot;,&quot;id&quot;:20045633,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:&quot;https://substack.com/@goosed&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2e461ea-8e45-472a-ac7a-ab1b944be2a2_1024x1024.webp&quot;,&quot;uuid&quot;:&quot;df6c7306-ab19-4459-aec0-122e75067c75&quot;}" data-component-name="MentionToDOM"></span>, and many others for tuning into my live video! Join me for my next live video in the app.</p><div class="install-substack-app-embed install-substack-app-embed-web" data-component-name="InstallSubstackAppToDOM"><img class="install-substack-app-embed-img" src="https://substackcdn.com/image/fetch/$s_!RtcJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Ftidyfirst.substack.com%2Fimg%2Fsubstack.png"><div class="install-substack-app-embed-text"><div class="install-substack-app-header">Get more from Kent Beck in the Substack app</div><div class="install-substack-app-text">Available for iOS and Android</div></div><a href="https://substack.com/app/app-store-redirect?utm_campaign=app-marketing&amp;utm_content=author-post-insert&amp;utm_source=tidyfirst" target="_blank" class="install-substack-app-embed-link"><button class="install-substack-app-embed-btn button primary">Get the app</button></a></div>]]></content:encoded></item><item><title><![CDATA[Generation Gap or Just Rude?]]></title><description><![CDATA[This weekend I had the first experience talking to someone of a younger generation where I felt completely lost.]]></description><link>https://tidyfirst.substack.com/p/generation-gap-or-just-rude</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/generation-gap-or-just-rude</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Tue, 10 Feb 2026 16:02:39 GMT</pubDate><content:encoded><![CDATA[<p>This weekend I had the first experience talking to someone of a younger generation where I felt completely lost. I wasn&#8217;t just encountering a person with different values or different experiences making different tradeoffs with different resources, I was talking to a member of an alien species. We would never find common ground. The shock of it was enou&#8230;</p>
      <p>
          <a href="https://tidyfirst.substack.com/p/generation-gap-or-just-rude">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Labor Replacement is a Poison Pill]]></title><description><![CDATA[I just published publicly that when thinking about the economic value of AI, &#8220;replace human labor&#8221; is a narrow-minded perspective.]]></description><link>https://tidyfirst.substack.com/p/labor-replacement-is-a-poison-pill</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/labor-replacement-is-a-poison-pill</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Sat, 07 Feb 2026 14:57:05 GMT</pubDate><content:encoded><![CDATA[<p>I just published publicly that when thinking about the economic value of AI, &#8220;replace human labor&#8221; is a narrow-minded perspective. It&#8217;s worse than that.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;a0ebd421-419c-4219-916f-44bb35e3b17a&quot;,&quot;caption&quot;:&quot;Focusing only on headcount reduction is like saying the only value of a car is that you don&#8217;t have to pay for a horse.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Pinhole View of AI Value&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:24333739,&quot;name&quot;:&quot;Kent Beck&quot;,&quot;bio&quot;:&quot;Programmer, artist, coach coach, singer/guitarist, peripatetic. Learning to be me. Full-time content producer. Mailto:kentlbeck@gmail.com&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F000da410-0ed6-4a25-80b1-6a46e964ae0b_242x242.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-02-04T14:34:20.124Z&quot;,&quot;cover_image&quot;:null,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://tidyfirst.substack.com/p/the-pinhole-view-of-ai-value&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:182206958,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:65,&quot;comment_count&quot;:1,&quot;publication_id&quot;:256838,&quot;publication_name&quot;:&quot;Software Design: Tidy First?&quot;,&quot;publication_logo_url&quot;:&quot;&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>I like to work backwards from &#8220;the good of society&#8221;. Economic success, in my model, is an extremely rough proxy for doing good things for other people, individually &amp; collectively. (Yes, I know this is n&#8230;</p>
      <p>
          <a href="https://tidyfirst.substack.com/p/labor-replacement-is-a-poison-pill">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Is Source Code Going Away?]]></title><description><![CDATA[This is the very beginning of an idea.]]></description><link>https://tidyfirst.substack.com/p/is-source-code-going-away</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/is-source-code-going-away</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Fri, 06 Feb 2026 14:57:11 GMT</pubDate><content:encoded><![CDATA[<p>This is the very beginning of an idea. I usually iterate on these things in private or with my trusted inner circle, but what the hell, things are moving fast, you&#8217;re supporting me and my work, so here&#8217;s the idea.</p><p>All us Augmented Developers are working very hard to get the genie to create source code that, once run, will deliver the desired answers to o&#8230;</p>
      <p>
          <a href="https://tidyfirst.substack.com/p/is-source-code-going-away">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Pinhole View of AI Value]]></title><description><![CDATA[Focusing only on headcount reduction is like saying the only value of a car is that you don&#8217;t have to pay for a horse.]]></description><link>https://tidyfirst.substack.com/p/the-pinhole-view-of-ai-value</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/the-pinhole-view-of-ai-value</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Wed, 04 Feb 2026 14:34:20 GMT</pubDate><content:encoded><![CDATA[<div class="pullquote"><p>Focusing only on headcount reduction is like saying the only value of a car is that you don&#8217;t have to pay for a horse.</p></div><p>I&#8217;ve been listening to <a href="https://www.thetwentyminutevc.com/">20VC</a> since it appeared. When I want to understand how venture capitalists are thinking, Harry Stebbings is my go-to source. He asks the questions I&#8217;d want to ask, and he&#8217;s not afraid to push back on his guests. I&#8217;ve learned a lot.</p><p>However.</p><p>In recent episodes, Harry made a claim that the path to AI profitability runs through labor replacement. &#8220;Stop paying $1M in salaries by paying $100K for this AI-based service.&#8221; Simple. Clean. Measurable.</p><p>And woefully incomplete.</p><p>Labor replacement looks at value creation through a tiny pinhole. Yes, cost reduction is one way AI creates value. But it&#8217;s not the only way, and I&#8217;m not even sure it&#8217;s the most important way. Focusing only on headcount reduction is like saying the only value of a car is that you don&#8217;t have to pay for a horse.</p><h3>The NPV Framework</h3><p>If we momentarily take the naive view that a company&#8217;s value equals its net present value&#8212;the sum of all future cash flows discounted to today&#8212;then there are four fundamental levers:</p><ol><li><p>Smaller costs at the same time</p></li><li><p>Same costs but later</p></li><li><p>More revenue at the same time</p></li><li><p>Same revenue but sooner</p></li></ol><p>Harry&#8217;s labor-replacement thesis focuses on the first lever alone. That ignores many sources of value.</p><p>And even NPV doesn&#8217;t capture the full picture. Company value also encodes optionality&#8212;how many ways exist to improve NPV in the future. A company with more options is worth more than one with the same cash flows but fewer options. (If you haven&#8217;t read my material on options and software, the short version is: flexibility has value, especially in uncertain environments. And what environment is more uncertain than one being transformed by AI?)</p><p>Let me give you examples of each strategy.</p><h3>Higher Revenue (Same Timeline)</h3><p><strong>Expanded service capacity.</strong> Your support team of 10 people can now handle the inquiry volume that used to require 25. But here&#8217;s the thing&#8212;you don&#8217;t fire 15 people. You serve three times as many customers. Your addressable market just tripled without tripling your headcount. The humans are still there; they&#8217;re just handling the hard cases while AI handles the routine ones.</p><p><strong>Personalization at scale.</strong> A human salesperson can deeply understand say 50 accounts. An AI-augmented salesperson can maintain genuine, contextual on several times that many. The genie remembers that this customer&#8217;s CFO cares about security compliance and that customer&#8217;s CTO is skeptical of vendor lock-in. Higher conversion, higher retention, higher revenue per rep.</p><p><strong>Previously impossible features.</strong> Some product capabilities simply weren&#8217;t feasible before. Real-time translation. Intelligent search across unstructured data. Automated analysis of documents that would take humans hours. These aren&#8217;t cost savings&#8212;they&#8217;re new value propositions that customers will pay for.</p><h3>Earlier Revenue (Same Amount)</h3><p><strong>Faster time to market.</strong> If your development team can ship features in two weeks that used to take six, you start earning revenue on those features four weeks earlier. That&#8217;s not a cost reduction. That&#8217;s the same revenue arriving sooner&#8212;which, thanks to the time value of money, is worth more.</p><p><strong>Accelerated sales cycles.</strong> AI can generate proposals, customize demos, answer technical questions, and handle objections while the human salesperson is asleep. A deal that used to take 90 days now closes in 60. Same deal size, but you&#8217;re earning and compounding that revenue a month earlier.</p><p><strong>Compressed customer onboarding.</strong> New customers who used to take three months to reach full productivity now get there in one. They start generating the usage (and the fees) that justify the relationship two months sooner. Meanwhile, your customer success team can take on the next cohort.</p><h3>Costs Later (Same Amount)</h3><p>This one&#8217;s subtle, but it&#8217;s real.</p><p><strong>Deferred hiring.</strong> Your current team is handling growth that would normally require two new hires. You&#8217;ll probably still make those hires eventually&#8212;but six months from now instead of today. Those six months of salary stay in your pocket, earning interest, available for other investments.</p><p><strong>Delayed infrastructure.</strong> Better optimization and more efficient resource usage means you can push that major infrastructure investment into next year&#8217;s budget instead of this year&#8217;s. Even if the cost is the same it arrives later.</p><p><strong>Extended training runway.</strong> AI-assisted onboarding means new employees become productive faster with less senior-employee time. The training cost is spread out, and some of it shifts from expensive human time today to cheaper AI time tomorrow.</p><h3>Optionality</h3><p>Here&#8217;s where it gets interesting.</p><p><strong>New markets become accessible.</strong> Real-time translation and localization used to require a dedicated team for each market. Now you can experiment with entering new geographies without committing the full resources. The option to expand exists where it didn&#8217;t before. Even if you never exercise that option, its existence has value.</p><p><strong>New business models emerge.</strong> A professional services firm that couldn&#8217;t scale because every engagement required senior talent can now productize some of that expertise. A company that couldn&#8217;t offer a lower price tier because the unit economics didn&#8217;t work can now create an AI-assisted self-service option. These aren&#8217;t cost reductions&#8212;they&#8217;re entirely new ways to make money.</p><p><strong>Faster experimentation.</strong> If you can prototype, test, and iterate three times faster, you can run three times as many experiments. Most experiments fail, of course. But the ones that succeed create options you wouldn&#8217;t have discovered otherwise. The ability to try more things is itself valuable.</p><h3>The Bigger Picture</h3><p>I don&#8217;t want to be too hard on Harry here. The labor-replacement story is compelling because it&#8217;s legible. You can point at a budget line, point at an AI service, and do arithmetic. &#8220;We paid X, now we pay Y, the difference is Z.&#8221; Clean. Fundable.</p><p>But the other sources of value are just as real, even if they&#8217;re harder to measure. More revenue, earlier revenue, costs delayed, options created&#8212;these are all ways AI can make a company more valuable. </p><p>Software design is an exercise in human relationships. So is AI adoption. The question isn&#8217;t just &#8220;how do we do the same work with fewer people?&#8221; It&#8217;s &#8220;what can these people do now that they couldn&#8217;t do before? What becomes possible that wasn&#8217;t possible? What options do we create?&#8221;</p><p>The pinhole view sees one thing clearly. But there&#8217;s a whole landscape out there.</p><div><hr></div><blockquote><p>This post is sponsored by <a href="https://resolve.ai/?utm_source=kent-beck-tidy-first&amp;utm_medium=3p-newsletter&amp;utm_campaign=FY27Q1_funding_announcement&amp;utm_content=rotating">Resolve AI</a>.<br><br>AI has changed how software is built. With Resolve AI, customers like Coinbase, MongoDB, MSCI, Salesforce, and Zscaler are changing how software is run. </p><p>Resolve AI just announced its $125M Series A to accelerate how they deliver AI for prod&#8212;a first-class, programmable interface that enables engineering teams to operate fluently without being bottlenecked by tools, expertise, or context.<strong> <br><a href="https://resolve.ai/blog/series-a-funding?utm_source=kent-beck-tidy-first&amp;utm_medium=3p-newsletter&amp;utm_campaign=FY27Q1_funding_announcement&amp;utm_content=rotating">Learn more &#8594;</a></strong></p></blockquote>]]></content:encoded></item><item><title><![CDATA[Can Genies Break Down Silos?]]></title><description><![CDATA[I&#8217;m writing this in a creative storm, so it&#8217;s not polished.]]></description><link>https://tidyfirst.substack.com/p/can-genies-break-down-silos</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/can-genies-break-down-silos</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Tue, 03 Feb 2026 17:12:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MY1U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49bd3611-9448-4e52-90e0-651f2a5a5c9c_690x602.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p>I&#8217;m writing this in a creative storm, so it&#8217;s not polished. Thought it was worth getting out to y&#8217;all &amp; getting your feedback.</p></blockquote><p>The &#8220;natural&#8221; use of genies is to further isolate people who are already suffering (even if they enjoy it) from isolation. &#8220;Teams of one can now achieve infinite results!!!&#8221; Technical solution to a human problem. (There should be&#8230;</p>
      <p>
          <a href="https://tidyfirst.substack.com/p/can-genies-break-down-silos">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Genie Sessions: Optionality]]></title><description><![CDATA[A recording from Kent Beck's live video]]></description><link>https://tidyfirst.substack.com/p/genie-sessions-optionality</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/genie-sessions-optionality</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Fri, 30 Jan 2026 20:05:39 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/186332670/adc2ad9816f6a5354c329caadc6c848b.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p><strong>New Genie Session:</strong> Today I work through a GPU sorted map problem live &#8212; the kind of complicated code where AI can&#8217;t just copy known solutions. This one&#8217;s about optionality: maximizing your learning by trying a million different things and being prepared to throw away a bunch of results.<br><br>Paid subscribers can join these live and ask questions in real time.</p>]]></content:encoded></item><item><title><![CDATA[Tidy Together Reboot]]></title><description><![CDATA[I once warned here about the coming &#8220;blizzard&#8221; of book chapters for Tidy Together.]]></description><link>https://tidyfirst.substack.com/p/tidy-together-reboot</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/tidy-together-reboot</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Thu, 29 Jan 2026 22:47:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!PQpT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F686cdabe-ae14-4a47-b842-f6c3db2b0e9f_2116x2601.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I once warned here about the coming &#8220;blizzard&#8221; of book chapters for Tidy Together. I expected to finish the book quickly about a year ago. After all, I had a solid outline. All I had to do was write.</p><p>People plan &amp; God laughs.</p><p>As last year moved into its second half, it became clear that the material in Tidy Together was being overtaken by events. The chan&#8230;</p>
      <p>
          <a href="https://tidyfirst.substack.com/p/tidy-together-reboot">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>