<?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?: Forest & Desert]]></title><description><![CDATA[Do we want to develop with the bare minimum of all necessary resources--feedback, time, courage, community, skills? This is the desert most development occupies. Or do we want to develop with abundance, in a lush forest?]]></description><link>https://tidyfirst.substack.com/s/forest-and-desert</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?: Forest &amp; Desert</title><link>https://tidyfirst.substack.com/s/forest-and-desert</link></image><generator>Substack</generator><lastBuildDate>Wed, 06 May 2026 06:06:41 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[Potpourri: Lessons from an AI Leadership Conference]]></title><description><![CDATA[This past week I attended Gene Kim&#8217;s Enterprise AI Summit.]]></description><link>https://tidyfirst.substack.com/p/potpourri-lessons-from-an-ai-leadership</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/potpourri-lessons-from-an-ai-leadership</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Mon, 13 Apr 2026 13:31:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-wPy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e48d389-9108-458d-889d-1fc45ba5eab3_1196x658.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This past week I attended Gene Kim&#8217;s Enterprise AI Summit. I&#8217;m not a big fan of sit-and-listen conferences, but they do give me a chance to think. I had a long list of topics I wanted to address in my closing keynote, of which I chose 3, but I also promised to survey all the topics here for you all. Here, then, is my potpourri of today&#8217;s topics in AI.</p><h2>Ha&#8230;</h2>
      <p>
          <a href="https://tidyfirst.substack.com/p/potpourri-lessons-from-an-ai-leadership">
              Read more
          </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[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[The Bet On Juniors Just Got Better]]></title><description><![CDATA[Why genies can make hiring juniors more profitable, & what you need to change to get there]]></description><link>https://tidyfirst.substack.com/p/the-bet-on-juniors-just-got-better</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/the-bet-on-juniors-just-got-better</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Fri, 12 Dec 2025 14:48:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-977!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c3bbe3e-f471-40ce-8fe9-c85d2137f050_2665x1531.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Junior developer&#8212;obsolete accessory or valuable investment? How does the genie change the analysis?</p><p>Folks are taking knee-jerk action around the advent of AI&#8212;slowing hiring, firing all the juniors, cancelling internship programs. Instead, let&#8217;s think about this a second.</p><p>The standard model says junior developers are expensive. You pay senior salaries for negative productivity while they learn. They ask questions. They break things. They need code review. In an augmented development world, the difference between juniors &amp; seniors is just too large &amp; the cost of the juniors just too high.</p><p>Wrongo. That&#8217;s backwards. Here&#8217;s why.</p><p>Oops, I buried my lede. Here&#8217;s my number one lesson&#8212;manage juniors for learning, not production.</p><h2><strong>The Valley of Regret</strong></h2><p>A junior developer is a bet. You&#8217;re paying money today for productivity tomorrow. The shape of that bet looks something like this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-977!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c3bbe3e-f471-40ce-8fe9-c85d2137f050_2665x1531.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-977!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c3bbe3e-f471-40ce-8fe9-c85d2137f050_2665x1531.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-977!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c3bbe3e-f471-40ce-8fe9-c85d2137f050_2665x1531.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-977!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c3bbe3e-f471-40ce-8fe9-c85d2137f050_2665x1531.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-977!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c3bbe3e-f471-40ce-8fe9-c85d2137f050_2665x1531.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-977!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c3bbe3e-f471-40ce-8fe9-c85d2137f050_2665x1531.jpeg" width="1456" height="836" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c3bbe3e-f471-40ce-8fe9-c85d2137f050_2665x1531.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:836,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:357829,&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/179873134?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c3bbe3e-f471-40ce-8fe9-c85d2137f050_2665x1531.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_!-977!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c3bbe3e-f471-40ce-8fe9-c85d2137f050_2665x1531.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-977!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c3bbe3e-f471-40ce-8fe9-c85d2137f050_2665x1531.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-977!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c3bbe3e-f471-40ce-8fe9-c85d2137f050_2665x1531.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-977!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c3bbe3e-f471-40ce-8fe9-c85d2137f050_2665x1531.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><figcaption class="image-caption"><em>The classic junior developer curve: you pay now, you get paid back later. Maybe.</em></figcaption></figure></div><p>That red zone&#8212;the &#8220;valley of regret&#8221;&#8212;is where things go wrong. You&#8217;re spending money. You&#8217;re investing senior attention. And every month the junior is in that valley, something can happen: they get a better offer, they decide engineering isn&#8217;t for them, your startup runs out of runway, there&#8217;s a layoff.</p><p>The longer &amp; deeper the valley, the more likely you never reach the other side.</p><p>This is why, when I talk to engineering managers, I hear the same thing: &#8220;We&#8217;d love to hire juniors, but we can&#8217;t afford the ramp time right now.&#8221;</p><h2><strong>Shrinking the Valley</strong></h2><p>I&#8217;ve been watching junior developers use AI coding assistants well. Not vibe coding&#8212;not accepting whatever the AI spits out. Augmented coding: using AI to accelerate learning while maintaining quality. Remember, you&#8217;re managing for learning, not production.</p><p>Managed for learning, the magnitude of the junior bet changes:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VolT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9fd8ead-9cc2-425f-8bfa-64401460e1a9_2604x1508.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VolT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9fd8ead-9cc2-425f-8bfa-64401460e1a9_2604x1508.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VolT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9fd8ead-9cc2-425f-8bfa-64401460e1a9_2604x1508.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VolT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9fd8ead-9cc2-425f-8bfa-64401460e1a9_2604x1508.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VolT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9fd8ead-9cc2-425f-8bfa-64401460e1a9_2604x1508.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VolT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9fd8ead-9cc2-425f-8bfa-64401460e1a9_2604x1508.jpeg" width="1456" height="843" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9fd8ead-9cc2-425f-8bfa-64401460e1a9_2604x1508.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:843,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:366266,&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/179873134?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9fd8ead-9cc2-425f-8bfa-64401460e1a9_2604x1508.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_!VolT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9fd8ead-9cc2-425f-8bfa-64401460e1a9_2604x1508.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VolT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9fd8ead-9cc2-425f-8bfa-64401460e1a9_2604x1508.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VolT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9fd8ead-9cc2-425f-8bfa-64401460e1a9_2604x1508.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VolT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9fd8ead-9cc2-425f-8bfa-64401460e1a9_2604x1508.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><figcaption class="image-caption"><em>Same junior, different tools. The valley shrinks; the upside arrives sooner &amp; grows more quickly.</em></figcaption></figure></div><p>The juniors working this way compress their ramp dramatically. Tasks that used to take days take hours. Not because the AI does the work, but because the AI collapses the search space. Instead of spending three hours figuring out which API to use, they spend twenty minutes evaluating options the AI surfaced. The time freed this way isn&#8217;t invested in another unprofitable feature, though, it&#8217;s invested in learning.</p><p>Learning fast can become a habit. When a task is &#8220;completed&#8221;, there is always the opportunity to squeeze more juice from it:</p><ul><li><p>How else could this have been done?</p></li><li><p>Is there now a way to simplify the code?</p></li><li><p>What are the tradeoffs?</p></li><li><p>Are there more tests we can/should write?</p></li><li><p>What is the performance envelope?</p></li></ul><p>The genie is an endlessly patient tutor, but unlikely to volunteer learning opportunities. We&#8217;ll talk at the end of this piece about why learning like this is rare &amp; what you need to change to realize the potential of juniors. It&#8217;s not just going to happen by itself.</p><h2><strong>First Order: More Value</strong></h2><p>Shortening the valley isn&#8217;t just &#8220;you get productivity sooner.&#8221; It&#8217;s that <em>you survive the valley at all</em>. (See also <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Luca Dellanna&quot;,&quot;id&quot;:7012085,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!NgHA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce2ffe3f-ad8e-4c41-a542-87167a4f0c4c_500x500.png&quot;,&quot;uuid&quot;:&quot;6561b868-4f28-42ff-876a-c88632bfff30&quot;}" data-component-name="MentionToDOM"></span>&#8217;s <a href="https://www.amazon.com/Ergodicity-irreversible-long-term-performance-relationships-ebook/dp/B0BL8JFMT8">Ergodicity</a>.)</p><p>Junior developers have high turnover. Let&#8217;s say 20% annual attrition&#8212;low for tech. Run the numbers:</p><ul><li><p><strong>Traditional 24-month ramp:</strong> About 36% of juniors leave before they ever become net positive. More than a third of your bets never pay off.</p></li><li><p><strong>Compressed 9-month ramp:</strong> About 15% leave before breakeven. You&#8217;ve cut your failure rate by more than half. Of the juniors who pass break even, more of that profitable area comes back to the company.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ASSl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc8113a-0148-43e7-a0dd-b0204601c2e2_2369x1340.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ASSl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc8113a-0148-43e7-a0dd-b0204601c2e2_2369x1340.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ASSl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc8113a-0148-43e7-a0dd-b0204601c2e2_2369x1340.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ASSl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc8113a-0148-43e7-a0dd-b0204601c2e2_2369x1340.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ASSl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc8113a-0148-43e7-a0dd-b0204601c2e2_2369x1340.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ASSl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc8113a-0148-43e7-a0dd-b0204601c2e2_2369x1340.jpeg" width="1456" height="824" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6fc8113a-0148-43e7-a0dd-b0204601c2e2_2369x1340.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:824,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:357957,&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/179873134?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc8113a-0148-43e7-a0dd-b0204601c2e2_2369x1340.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_!ASSl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc8113a-0148-43e7-a0dd-b0204601c2e2_2369x1340.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ASSl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc8113a-0148-43e7-a0dd-b0204601c2e2_2369x1340.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ASSl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc8113a-0148-43e7-a0dd-b0204601c2e2_2369x1340.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ASSl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fc8113a-0148-43e7-a0dd-b0204601c2e2_2369x1340.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><figcaption class="image-caption"><em>The survival math: shorter valleys mean more bets pay off.</em></figcaption></figure></div><p>You&#8217;re not just getting productivity 15 months earlier. You&#8217;re dramatically increasing the probability that you realize profitability at all.</p><div class="pullquote"><p><strong>The shorter the valley of regret, the more juniors survive the crossing.</strong></p></div><h2><strong>Second Order: Faster Growth</strong></h2><p>There&#8217;s another factor a simple model of junior productivity misses. Productive developers don&#8217;t just produce&#8212;they multiply.</p><p>A developer who reaches payoff productivity doesn&#8217;t just write code. They mentor other juniors. They build institutional knowledge. They take on projects that create leverage for the whole team. Every month you accelerate one developer&#8217;s ramp, you&#8217;re also accelerating the ramp of everyone they&#8217;ll eventually help.</p><h2><strong>What This Means</strong></h2><p>If you&#8217;re an engineering manager thinking about hiring:</p><p><strong>The junior bet has gotten better.</strong> Not because juniors have changed, but because the genie, used well, accelerates learning.</p><p><strong>Investment in tooling is investment in hiring.</strong> The ROI on getting your AI tooling right isn&#8217;t just &#8220;existing developers are more productive.&#8221; It&#8217;s &#8220;we can now make profitable bets on juniors that we couldn&#8217;t make before.&#8221;</p><p><strong>The math favors action.</strong> In high-attrition environments especially, the expected value of a junior hire has shifted. You&#8217;re no longer betting against the valley of death&#8212;you&#8217;re shortening it.</p><p><strong>But you have to actually do it.</strong> The compressed ramp doesn&#8217;t happen automatically. It requires intentional investment in how juniors learn using the genie. Not vibe coding&#8212;augmented coding. That&#8217;s a skill, and you have to teach it, encourage it, refine it.</p><p>The bet has gotten better. Better if you manage juniors for learning &amp; not production.</p><div data-component-name="FragmentNodeToDOM"><p><em>If you found this useful, you might enjoy my other writing on augmented coding and how AI is changing software development. And if you&#8217;re an engineering leader thinking about how to make these bets in your organization, that&#8217;s exactly the kind of thing I work on with companies, whether through this newsletter or in-person with consulting, advising, and coaching.</em></p><div><hr></div></div><p><strong>Today&#8217;s post is sponsored by CodeRabbit.</strong> Boost your team&#8217;s code quality and shipping speed with CodeRabbit&#8212;the most advanced AI code review tool built for engineers. CodeRabbit delivers context-aware, line-by-line reviews, instant one-click fixes, and concise PR summaries, integrating right into your GitHub workflow so you spend less time diff diving and more time building.&#8203;</p><h2>Ready to optimize your engineering workflow?</h2><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://coderabbit.link/kent-beck&quot;,&quot;text&quot;:&quot;Try it Free for 14 Days&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://coderabbit.link/kent-beck"><span>Try it Free for 14 Days</span></a></p><p>Join thousands of developers who&#8217;ve halved code review time and defect rates with CodeRabbit. Start your 14-day free trial and experience seamless AI reviews, actionable feedback, and effortless codebase learning.&#8203;</p>]]></content:encoded></item><item><title><![CDATA[Why Does Development Slow?]]></title><description><![CDATA[It's the options]]></description><link>https://tidyfirst.substack.com/p/why-does-development-slow</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/why-does-development-slow</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Wed, 19 Nov 2025 13:12:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!FLYm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1458c2d1-426c-4680-b0cb-5c8687135bd9_1525x728.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Why does software development start out fast, then slow to a crawl? Why does this happen faster when coding with a genie? What can we do about it?</p><p>We&#8217;re going to play with graphs here for a second. The simplest way to look at our conundrum is to watch the features over time.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FLYm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1458c2d1-426c-4680-b0cb-5c8687135bd9_1525x728.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FLYm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1458c2d1-426c-4680-b0cb-5c8687135bd9_1525x728.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FLYm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1458c2d1-426c-4680-b0cb-5c8687135bd9_1525x728.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FLYm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1458c2d1-426c-4680-b0cb-5c8687135bd9_1525x728.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FLYm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1458c2d1-426c-4680-b0cb-5c8687135bd9_1525x728.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FLYm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1458c2d1-426c-4680-b0cb-5c8687135bd9_1525x728.jpeg" width="1456" height="695" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1458c2d1-426c-4680-b0cb-5c8687135bd9_1525x728.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:695,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:141867,&quot;alt&quot;:&quot;Graph showing feature delivery over time as a curve: steep initial rise followed by a gradual plateau.&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/179246297?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1458c2d1-426c-4680-b0cb-5c8687135bd9_1525x728.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Graph showing feature delivery over time as a curve: steep initial rise followed by a gradual plateau." title="Graph showing feature delivery over time as a curve: steep initial rise followed by a gradual plateau." srcset="https://substackcdn.com/image/fetch/$s_!FLYm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1458c2d1-426c-4680-b0cb-5c8687135bd9_1525x728.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FLYm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1458c2d1-426c-4680-b0cb-5c8687135bd9_1525x728.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FLYm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1458c2d1-426c-4680-b0cb-5c8687135bd9_1525x728.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FLYm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1458c2d1-426c-4680-b0cb-5c8687135bd9_1525x728.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>Rapid progress at first, then stagnation despite our best efforts. Bugs pile up. The build slows. Backwards compatibility imposes its own tax on progress. Original team members move on, while new members take time to acclimate.</p><p>What&#8217;s to be done? Is this just the price of progress?</p><p>Let&#8217;s take the first derivative of features, feature <em>progress</em> over time. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0M3N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff219ac74-7f44-42be-a24a-83713abe140e_1798x907.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0M3N!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff219ac74-7f44-42be-a24a-83713abe140e_1798x907.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0M3N!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff219ac74-7f44-42be-a24a-83713abe140e_1798x907.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0M3N!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff219ac74-7f44-42be-a24a-83713abe140e_1798x907.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0M3N!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff219ac74-7f44-42be-a24a-83713abe140e_1798x907.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0M3N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff219ac74-7f44-42be-a24a-83713abe140e_1798x907.jpeg" width="1456" height="734" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f219ac74-7f44-42be-a24a-83713abe140e_1798x907.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:734,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:198122,&quot;alt&quot;:&quot;Graph showing feature delivery rate over time: a sharp initial spike followed by a dramatic drop to a flat, slow pace.&quot;,&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/179246297?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff219ac74-7f44-42be-a24a-83713abe140e_1798x907.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Graph showing feature delivery rate over time: a sharp initial spike followed by a dramatic drop to a flat, slow pace." title="Graph showing feature delivery rate over time: a sharp initial spike followed by a dramatic drop to a flat, slow pace." srcset="https://substackcdn.com/image/fetch/$s_!0M3N!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff219ac74-7f44-42be-a24a-83713abe140e_1798x907.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0M3N!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff219ac74-7f44-42be-a24a-83713abe140e_1798x907.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0M3N!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff219ac74-7f44-42be-a24a-83713abe140e_1798x907.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0M3N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff219ac74-7f44-42be-a24a-83713abe140e_1798x907.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>Starts out gangbusters, then devolves to occasional bursts of productivity. We&#8217;re no closer to a diagnosis or a treatment. We just know that coding with a genie compresses time.</p><h2>Scatterplot</h2><blockquote><p>The typical time series plot fails to generate understanding because it implies that the only source of change in the response is the unrelenting, impassionate drumbeat of time. Show cause. Show effect. &#8212; reader of <a href="https://www.edwardtufte.com/notebook/how-can-information-in-4-dimensions-be-pictured-using-2-dimensional-diagrams/">Edward Tufte</a>&#8217;s site.</p></blockquote><p>Edward Tufte in <a href="https://www.edwardtufte.com/book/the-visual-display-of-quantitative-information/">Visual Display of Quantitative Information</a> laments that most graphics are time series. If you want to understand the relationship between two variables, you need to plot them with each other, not just as part of the same timeline. </p><p>We want to understand feature development, so that needs to be one of the axes. I&#8217;m going to put it on the horizontal axis, for reasons that will become apparent (I tried it every which way before settling on this&#8212;I&#8217;m giving you the abridged version).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qqvW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74cd83c-1a05-40a0-964a-ec7f44bf773e_1805x936.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qqvW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74cd83c-1a05-40a0-964a-ec7f44bf773e_1805x936.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qqvW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74cd83c-1a05-40a0-964a-ec7f44bf773e_1805x936.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qqvW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74cd83c-1a05-40a0-964a-ec7f44bf773e_1805x936.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qqvW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74cd83c-1a05-40a0-964a-ec7f44bf773e_1805x936.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qqvW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74cd83c-1a05-40a0-964a-ec7f44bf773e_1805x936.jpeg" width="1456" height="755" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a74cd83c-1a05-40a0-964a-ec7f44bf773e_1805x936.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:755,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:188752,&quot;alt&quot;:&quot;Empty graph with the horizontal axis labelled \&quot;Features\&quot;&quot;,&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/179246297?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74cd83c-1a05-40a0-964a-ec7f44bf773e_1805x936.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Empty graph with the horizontal axis labelled &quot;Features&quot;" title="Empty graph with the horizontal axis labelled &quot;Features&quot;" srcset="https://substackcdn.com/image/fetch/$s_!qqvW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74cd83c-1a05-40a0-964a-ec7f44bf773e_1805x936.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qqvW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74cd83c-1a05-40a0-964a-ec7f44bf773e_1805x936.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qqvW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74cd83c-1a05-40a0-964a-ec7f44bf773e_1805x936.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qqvW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa74cd83c-1a05-40a0-964a-ec7f44bf773e_1805x936.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>If all we&#8217;re looking at is feature progress, we expect progress to be spread apart (fast) at first, then bunch up as time passes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ogwl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4a9856-2d59-4090-b328-b04cf664d80c_1587x790.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ogwl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4a9856-2d59-4090-b328-b04cf664d80c_1587x790.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ogwl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4a9856-2d59-4090-b328-b04cf664d80c_1587x790.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ogwl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4a9856-2d59-4090-b328-b04cf664d80c_1587x790.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ogwl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4a9856-2d59-4090-b328-b04cf664d80c_1587x790.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ogwl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4a9856-2d59-4090-b328-b04cf664d80c_1587x790.jpeg" width="1456" height="725" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7a4a9856-2d59-4090-b328-b04cf664d80c_1587x790.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:725,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:157058,&quot;alt&quot;:&quot;Progress on the horizontal axis, big jumps at first then smaller and smaller&quot;,&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/179246297?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4a9856-2d59-4090-b328-b04cf664d80c_1587x790.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Progress on the horizontal axis, big jumps at first then smaller and smaller" title="Progress on the horizontal axis, big jumps at first then smaller and smaller" srcset="https://substackcdn.com/image/fetch/$s_!ogwl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4a9856-2d59-4090-b328-b04cf664d80c_1587x790.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ogwl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4a9856-2d59-4090-b328-b04cf664d80c_1587x790.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ogwl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4a9856-2d59-4090-b328-b04cf664d80c_1587x790.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ogwl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4a9856-2d59-4090-b328-b04cf664d80c_1587x790.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>But what goes on the vertical axis?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!F0kI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa86e227b-3dad-4af3-8fec-b2c49500e882_1554x848.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!F0kI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa86e227b-3dad-4af3-8fec-b2c49500e882_1554x848.jpeg 424w, https://substackcdn.com/image/fetch/$s_!F0kI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa86e227b-3dad-4af3-8fec-b2c49500e882_1554x848.jpeg 848w, https://substackcdn.com/image/fetch/$s_!F0kI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa86e227b-3dad-4af3-8fec-b2c49500e882_1554x848.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!F0kI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa86e227b-3dad-4af3-8fec-b2c49500e882_1554x848.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!F0kI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa86e227b-3dad-4af3-8fec-b2c49500e882_1554x848.jpeg" width="1456" height="795" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a86e227b-3dad-4af3-8fec-b2c49500e882_1554x848.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:795,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:166608,&quot;alt&quot;:&quot;A question mark on the vertical axis&quot;,&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/179246297?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa86e227b-3dad-4af3-8fec-b2c49500e882_1554x848.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A question mark on the vertical axis" title="A question mark on the vertical axis" srcset="https://substackcdn.com/image/fetch/$s_!F0kI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa86e227b-3dad-4af3-8fec-b2c49500e882_1554x848.jpeg 424w, https://substackcdn.com/image/fetch/$s_!F0kI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa86e227b-3dad-4af3-8fec-b2c49500e882_1554x848.jpeg 848w, https://substackcdn.com/image/fetch/$s_!F0kI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa86e227b-3dad-4af3-8fec-b2c49500e882_1554x848.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!F0kI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa86e227b-3dad-4af3-8fec-b2c49500e882_1554x848.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><h2>Options</h2><p>No big surprise here, my fellow Tidiers. We know that software embeds economic value 2 ways:</p><ul><li><p>Cash flow from current features</p></li><li><p>Optionality for future features</p></li></ul><p>Let&#8217;s see how this plays out. We start out with no features &amp; lots of options:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jp1v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81b9601-8619-4fdd-b21a-cc4d11ac707d_2339x1137.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jp1v!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81b9601-8619-4fdd-b21a-cc4d11ac707d_2339x1137.jpeg 424w, https://substackcdn.com/image/fetch/$s_!jp1v!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81b9601-8619-4fdd-b21a-cc4d11ac707d_2339x1137.jpeg 848w, https://substackcdn.com/image/fetch/$s_!jp1v!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81b9601-8619-4fdd-b21a-cc4d11ac707d_2339x1137.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!jp1v!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81b9601-8619-4fdd-b21a-cc4d11ac707d_2339x1137.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jp1v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81b9601-8619-4fdd-b21a-cc4d11ac707d_2339x1137.jpeg" width="1456" height="708" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a81b9601-8619-4fdd-b21a-cc4d11ac707d_2339x1137.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:708,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:279380,&quot;alt&quot;:&quot;Graph with 'OPTIONS' on the y-axis and 'FEATURES' on the x-axis. First data point is high on options and zero on features&quot;,&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/179246297?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81b9601-8619-4fdd-b21a-cc4d11ac707d_2339x1137.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Graph with 'OPTIONS' on the y-axis and 'FEATURES' on the x-axis. First data point is high on options and zero on features" title="Graph with 'OPTIONS' on the y-axis and 'FEATURES' on the x-axis. First data point is high on options and zero on features" srcset="https://substackcdn.com/image/fetch/$s_!jp1v!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81b9601-8619-4fdd-b21a-cc4d11ac707d_2339x1137.jpeg 424w, https://substackcdn.com/image/fetch/$s_!jp1v!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81b9601-8619-4fdd-b21a-cc4d11ac707d_2339x1137.jpeg 848w, https://substackcdn.com/image/fetch/$s_!jp1v!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81b9601-8619-4fdd-b21a-cc4d11ac707d_2339x1137.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!jp1v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81b9601-8619-4fdd-b21a-cc4d11ac707d_2339x1137.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>The first feature we develop goes pretty far but inevitably it burns options. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wZCl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0484600c-e847-48cf-8da7-e5a4e25893b7_2272x1182.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wZCl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0484600c-e847-48cf-8da7-e5a4e25893b7_2272x1182.jpeg 424w, https://substackcdn.com/image/fetch/$s_!wZCl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0484600c-e847-48cf-8da7-e5a4e25893b7_2272x1182.jpeg 848w, https://substackcdn.com/image/fetch/$s_!wZCl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0484600c-e847-48cf-8da7-e5a4e25893b7_2272x1182.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!wZCl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0484600c-e847-48cf-8da7-e5a4e25893b7_2272x1182.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wZCl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0484600c-e847-48cf-8da7-e5a4e25893b7_2272x1182.jpeg" width="1456" height="757" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0484600c-e847-48cf-8da7-e5a4e25893b7_2272x1182.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:757,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:477165,&quot;alt&quot;:&quot;First feature is a big jump but diminishes options&quot;,&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/179246297?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0484600c-e847-48cf-8da7-e5a4e25893b7_2272x1182.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="First feature is a big jump but diminishes options" title="First feature is a big jump but diminishes options" srcset="https://substackcdn.com/image/fetch/$s_!wZCl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0484600c-e847-48cf-8da7-e5a4e25893b7_2272x1182.jpeg 424w, https://substackcdn.com/image/fetch/$s_!wZCl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0484600c-e847-48cf-8da7-e5a4e25893b7_2272x1182.jpeg 848w, https://substackcdn.com/image/fetch/$s_!wZCl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0484600c-e847-48cf-8da7-e5a4e25893b7_2272x1182.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!wZCl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0484600c-e847-48cf-8da7-e5a4e25893b7_2272x1182.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>The code is now more complicated, we have to either preserve backwards compatibility or tear out the feature before proceeding.</p><p>(I hear the &#8220;why not make it better on both axes at once?&#8221; crowd. Make it run <em>then</em> make it right. My brain isn&#8217;t big enough to do a good job of both at once. Not even my augmented brain.)</p><p>Okay, so we have one feature. We want more! Features feel good! Features make customers feel good!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3gT1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce1c6ec-50f2-41e5-92da-d6dfde365f3b_1791x1103.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3gT1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce1c6ec-50f2-41e5-92da-d6dfde365f3b_1791x1103.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3gT1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce1c6ec-50f2-41e5-92da-d6dfde365f3b_1791x1103.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3gT1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce1c6ec-50f2-41e5-92da-d6dfde365f3b_1791x1103.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3gT1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce1c6ec-50f2-41e5-92da-d6dfde365f3b_1791x1103.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3gT1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce1c6ec-50f2-41e5-92da-d6dfde365f3b_1791x1103.jpeg" width="1456" height="897" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9ce1c6ec-50f2-41e5-92da-d6dfde365f3b_1791x1103.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:897,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:341079,&quot;alt&quot;:&quot;Second feature on the graph is a smaller jump on features and a bigger drop in options&quot;,&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/179246297?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce1c6ec-50f2-41e5-92da-d6dfde365f3b_1791x1103.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Second feature on the graph is a smaller jump on features and a bigger drop in options" title="Second feature on the graph is a smaller jump on features and a bigger drop in options" srcset="https://substackcdn.com/image/fetch/$s_!3gT1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce1c6ec-50f2-41e5-92da-d6dfde365f3b_1791x1103.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3gT1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce1c6ec-50f2-41e5-92da-d6dfde365f3b_1791x1103.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3gT1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce1c6ec-50f2-41e5-92da-d6dfde365f3b_1791x1103.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3gT1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ce1c6ec-50f2-41e5-92da-d6dfde365f3b_1791x1103.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>It wasn&#8217;t <em>much</em> harder than that first feature. What&#8217;s that you say? More features &amp; then more features? You got it!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ke3e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6537349-4357-4c2f-8f71-7d8bdacb545b_2081x1062.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ke3e!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6537349-4357-4c2f-8f71-7d8bdacb545b_2081x1062.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ke3e!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6537349-4357-4c2f-8f71-7d8bdacb545b_2081x1062.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ke3e!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6537349-4357-4c2f-8f71-7d8bdacb545b_2081x1062.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ke3e!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6537349-4357-4c2f-8f71-7d8bdacb545b_2081x1062.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ke3e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6537349-4357-4c2f-8f71-7d8bdacb545b_2081x1062.jpeg" width="1456" height="743" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d6537349-4357-4c2f-8f71-7d8bdacb545b_2081x1062.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:743,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:367204,&quot;alt&quot;:&quot;After 5 features, feature progress has slowed and options are exhausted&quot;,&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/179246297?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6537349-4357-4c2f-8f71-7d8bdacb545b_2081x1062.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="After 5 features, feature progress has slowed and options are exhausted" title="After 5 features, feature progress has slowed and options are exhausted" srcset="https://substackcdn.com/image/fetch/$s_!ke3e!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6537349-4357-4c2f-8f71-7d8bdacb545b_2081x1062.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ke3e!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6537349-4357-4c2f-8f71-7d8bdacb545b_2081x1062.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ke3e!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6537349-4357-4c2f-8f71-7d8bdacb545b_2081x1062.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ke3e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6537349-4357-4c2f-8f71-7d8bdacb545b_2081x1062.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>You got it right until you don&#8217;t. If you look at my <a href="https://github.com/KentBeck?tab=repositories">GitHub repos</a> you&#8217;ll see BPlusTree, BPlusTree2, BPlusTree3, etc. In each case the genie &amp; I drove the project out of options &amp; had to start over. Somehow, though, I don&#8217;t learn my lesson. I don&#8217;t name the first project BPlusTree1&#8212;this time will be different!</p><h2>Exhale Then Inhale</h2><p>What&#8217;s the alternative? We can&#8217;t improve both axes at once. We can&#8217;t escape burning some options with each feature. The first feature is the same.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-LRC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6671d790-8b49-4a66-80f4-6a267dc9f525_2129x1074.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-LRC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6671d790-8b49-4a66-80f4-6a267dc9f525_2129x1074.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-LRC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6671d790-8b49-4a66-80f4-6a267dc9f525_2129x1074.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-LRC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6671d790-8b49-4a66-80f4-6a267dc9f525_2129x1074.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-LRC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6671d790-8b49-4a66-80f4-6a267dc9f525_2129x1074.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-LRC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6671d790-8b49-4a66-80f4-6a267dc9f525_2129x1074.jpeg" width="1456" height="734" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6671d790-8b49-4a66-80f4-6a267dc9f525_2129x1074.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:734,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:449108,&quot;alt&quot;:&quot;In green the first feature follows the trajectory of the previous first feature.&quot;,&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/179246297?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6671d790-8b49-4a66-80f4-6a267dc9f525_2129x1074.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="In green the first feature follows the trajectory of the previous first feature." title="In green the first feature follows the trajectory of the previous first feature." srcset="https://substackcdn.com/image/fetch/$s_!-LRC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6671d790-8b49-4a66-80f4-6a267dc9f525_2129x1074.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-LRC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6671d790-8b49-4a66-80f4-6a267dc9f525_2129x1074.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-LRC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6671d790-8b49-4a66-80f4-6a267dc9f525_2129x1074.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-LRC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6671d790-8b49-4a66-80f4-6a267dc9f525_2129x1074.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 <em>do</em> have a choice when we&#8217;ve finished that first feature, though. There is a space between features, should we choose to perceive it. In that space we can choose to invest in restoring &amp; enhancing optionality.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vZzl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe569e69c-aed8-46cb-a702-6c577ec4371a_2344x1306.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vZzl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe569e69c-aed8-46cb-a702-6c577ec4371a_2344x1306.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vZzl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe569e69c-aed8-46cb-a702-6c577ec4371a_2344x1306.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vZzl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe569e69c-aed8-46cb-a702-6c577ec4371a_2344x1306.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vZzl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe569e69c-aed8-46cb-a702-6c577ec4371a_2344x1306.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vZzl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe569e69c-aed8-46cb-a702-6c577ec4371a_2344x1306.jpeg" width="1456" height="811" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e569e69c-aed8-46cb-a702-6c577ec4371a_2344x1306.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:811,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:571853,&quot;alt&quot;:&quot;When the first feature is done there is a vertical movement up--no features but more options.&quot;,&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/179246297?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe569e69c-aed8-46cb-a702-6c577ec4371a_2344x1306.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="When the first feature is done there is a vertical movement up--no features but more options." title="When the first feature is done there is a vertical movement up--no features but more options." srcset="https://substackcdn.com/image/fetch/$s_!vZzl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe569e69c-aed8-46cb-a702-6c577ec4371a_2344x1306.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vZzl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe569e69c-aed8-46cb-a702-6c577ec4371a_2344x1306.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vZzl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe569e69c-aed8-46cb-a702-6c577ec4371a_2344x1306.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vZzl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe569e69c-aed8-46cb-a702-6c577ec4371a_2344x1306.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>Tidying first is one way to perceive this gap between features. What&#8217;s the next feature we are implementing? What about our current mess makes that harder? What can we tidy to make it easier? If implementing the feature is easier, then the option of implementing it becomes more attractive.</p><p>We can, should we so choose, continue this rhythm&#8212;feature, options, feature, options.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HjXK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F125242bf-25c5-4da7-8d52-fb2e6d9c8650_2201x1425.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HjXK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F125242bf-25c5-4da7-8d52-fb2e6d9c8650_2201x1425.jpeg 424w, https://substackcdn.com/image/fetch/$s_!HjXK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F125242bf-25c5-4da7-8d52-fb2e6d9c8650_2201x1425.jpeg 848w, https://substackcdn.com/image/fetch/$s_!HjXK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F125242bf-25c5-4da7-8d52-fb2e6d9c8650_2201x1425.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!HjXK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F125242bf-25c5-4da7-8d52-fb2e6d9c8650_2201x1425.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HjXK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F125242bf-25c5-4da7-8d52-fb2e6d9c8650_2201x1425.jpeg" width="1456" height="943" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/125242bf-25c5-4da7-8d52-fb2e6d9c8650_2201x1425.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:943,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:511443,&quot;alt&quot;:&quot;And a zig zag--feature with fewer options, then vertically up to more options, and back and forth.&quot;,&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/179246297?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F125242bf-25c5-4da7-8d52-fb2e6d9c8650_2201x1425.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="And a zig zag--feature with fewer options, then vertically up to more options, and back and forth." title="And a zig zag--feature with fewer options, then vertically up to more options, and back and forth." srcset="https://substackcdn.com/image/fetch/$s_!HjXK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F125242bf-25c5-4da7-8d52-fb2e6d9c8650_2201x1425.jpeg 424w, https://substackcdn.com/image/fetch/$s_!HjXK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F125242bf-25c5-4da7-8d52-fb2e6d9c8650_2201x1425.jpeg 848w, https://substackcdn.com/image/fetch/$s_!HjXK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F125242bf-25c5-4da7-8d52-fb2e6d9c8650_2201x1425.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!HjXK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F125242bf-25c5-4da7-8d52-fb2e6d9c8650_2201x1425.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><h2>And Next&#8230;</h2><p>That&#8217;s all I have time for today. I&#8217;ll use this same &#8220;Options Lead To Features&#8221; graph to describe a variety of problematic situations in development, augmented &amp; not. </p><blockquote><p>Thank you to Gene Kim for a long series of Tokyo breakfast conversations (long story) that helped refine this diagram.</p></blockquote><div><hr></div><p><em>Today&#8217;s post is sponsored by <a href="https://coderabbit.link/kent-beck">CodeRabbit</a>.</em> Boost your team&#8217;s code quality and shipping speed with CodeRabbit&#8212;the most advanced AI code review tool built for engineers. CodeRabbit delivers context-aware, line-by-line reviews, instant one-click fixes, and concise PR summaries, integrating right into your GitHub workflow so you spend less time diff diving and more time building.&#8203;</p><h2>What Makes CodeRabbit Different?</h2><ul><li><p>CodeRabbit provides AI-powered reviews that adapt to your team&#8217;s standards, enforcing style, spotting bugs and edge cases, and mapping out code dependencies automatically.&#8203;</p></li><li><p>With multi-language support and over 40 linters and static analysis tools, it keeps your code clean, secure, and maintainable&#8212;no matter how complex your stack.&#8203;</p></li><li><p>Real examples show dramatic impact: SalesRabbit cut bugs by 30% and boosted engineering velocity by 25% simply by adding CodeRabbit to all deploys.&#8203;</p></li><li><p>Engineered to help junior and experienced devs alike, CodeRabbit catches issues even seasoned reviewers might miss, and its built-in documentation and reporting keep everyone informed and aligned.&#8203;</p></li></ul><h2>Ready to optimize your engineering workflow?</h2><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://coderabbit.link/kent-beck&quot;,&quot;text&quot;:&quot;Try it Free for 14 Days&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://coderabbit.link/kent-beck"><span>Try it Free for 14 Days</span></a></p><p>Join thousands of developers who&#8217;ve halved code review time and defect rates with CodeRabbit. Start your 14-day free trial and experience seamless AI reviews, actionable feedback, and effortless codebase learning.&#8203;</p>]]></content:encoded></item><item><title><![CDATA[Intentions & Actions]]></title><description><![CDATA[Git as an example]]></description><link>https://tidyfirst.substack.com/p/intentions-and-actions-1aa</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/intentions-and-actions-1aa</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Tue, 11 Nov 2025 14:54:48 GMT</pubDate><content:encoded><![CDATA[<p>I had an amazing customer experience early in the experiments with chat-based interfaces. I had an international flight &amp; I had to move it by a day. I opened a chat with KLM, clearly got an action person, said &#8220;I want to depart a day earlier,&#8221; answered a question about which departure time I wanted (&#8220;same time&#8221;), and that was it. Magic!</p><p>I&#8217;ve gotten into &#8230;</p>
      <p>
          <a href="https://tidyfirst.substack.com/p/intentions-and-actions-1aa">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Pitching Hackathon Ideas: Oxymoron]]></title><description><![CDATA[The economic rationale for hackathons is that they create value by injecting uncertainty into development.]]></description><link>https://tidyfirst.substack.com/p/pitching-hackathon-ideas-oxymoron</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/pitching-hackathon-ideas-oxymoron</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Fri, 31 Oct 2025 16:33:28 GMT</pubDate><content:encoded><![CDATA[<p>The economic rationale for hackathons is that they create value by injecting uncertainty into development. The trend towards &#8220;pitches&#8221; for hackathons, while instituted with good intent, destroys value.</p><p>In the <a href="https://tidyfirst.substack.com/p/the-product-development-triathlon">3X: Explore/Expand/Extract</a> model, hackathons are exploration. The payoff of a hackathon is convex, a very small chance of a very large payoff (but an almost-certainty of over-eating and sleep deprivation).</p><p>Success is always a surprise (except to the wacko who proposed it). The bigger the payoff, the bigger the surprise.</p><p>The mistake of pitching for hackathons is that the highest expected value projects are exactly those most likely to be thrown out with the bathwater.</p><p>Those calling for pitches for hackathons are smart and trying to do good. I&#8217;m guessing here (feel free to chime in and I&#8217;ll correct), but it seems to me that the positive role for pitches is to protect some limited resource: hardware, expertise, time.</p><p>Rather than filtering, higher value strategies are to:</p><ul><li><p>Increase the supply of the limited resource</p></li><li><p>Reduce the cost per hack of the limited resource</p></li><li><p>Let the hackers negotiate access to the limited resource instead of resolving contention early</p></li></ul><p>As humans, we are incapable of making rational decisions about infrequent events. That&#8217;s why hacks tap into passion and intuition and a little primate dominance display. Hacking gives us access to decision wisdom otherwise unavailable. Embrace the chaos.</p><p>P.S. A value-creating hackathon pitch would be to present the hack idea and if everyone approves, to absolutely forbid the hack on the grounds that such a good idea is likely to happen anyway and we don&#8217;t need to waste hack time on it.</p><div><hr></div><p><em>Looking for encouraging &amp; inspirational ideas for your organization? Commission a custom talk about The Forest &amp; The Desert, about Tidy First &amp; Software Design, or about leading with purpose.</em></p><div class="directMessage button" data-attrs="{&quot;userId&quot;:24333739,&quot;userName&quot;:&quot;Kent Beck&quot;,&quot;canDm&quot;:null,&quot;dmUpgradeOptions&quot;:null,&quot;isEditorNode&quot;:true}" data-component-name="DirectMessageToDOM"></div>]]></content:encoded></item><item><title><![CDATA[First Principles First]]></title><description><![CDATA[When analyzing metrics, apply the simple filters first]]></description><link>https://tidyfirst.substack.com/p/first-principles-first</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/first-principles-first</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Tue, 21 Oct 2025 13:59:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!zOPf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8feaca2-5d11-4e60-8d0d-c2670394bd85_1600x1077.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I recently published the following picture (by the amazing <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Pencil Driven Development &#9999;&#65039; &quot;,&quot;id&quot;:2059032,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/pencildrivendevelopment&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1d1d3ae7-f50f-43bd-877b-f621744e3689_1280x1280.png&quot;,&quot;uuid&quot;:&quot;ac9cec35-75d8-443d-a171-128db0534078&quot;}" data-component-name="MentionToDOM"></span> ) illustrating where in software development to observe:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zOPf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8feaca2-5d11-4e60-8d0d-c2670394bd85_1600x1077.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zOPf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8feaca2-5d11-4e60-8d0d-c2670394bd85_1600x1077.png 424w, https://substackcdn.com/image/fetch/$s_!zOPf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8feaca2-5d11-4e60-8d0d-c2670394bd85_1600x1077.png 848w, https://substackcdn.com/image/fetch/$s_!zOPf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8feaca2-5d11-4e60-8d0d-c2670394bd85_1600x1077.png 1272w, https://substackcdn.com/image/fetch/$s_!zOPf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8feaca2-5d11-4e60-8d0d-c2670394bd85_1600x1077.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zOPf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8feaca2-5d11-4e60-8d0d-c2670394bd85_1600x1077.png" width="1456" height="980" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c8feaca2-5d11-4e60-8d0d-c2670394bd85_1600x1077.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:980,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:426689,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/176737669?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8feaca2-5d11-4e60-8d0d-c2670394bd85_1600x1077.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_!zOPf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8feaca2-5d11-4e60-8d0d-c2670394bd85_1600x1077.png 424w, https://substackcdn.com/image/fetch/$s_!zOPf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8feaca2-5d11-4e60-8d0d-c2670394bd85_1600x1077.png 848w, https://substackcdn.com/image/fetch/$s_!zOPf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8feaca2-5d11-4e60-8d0d-c2670394bd85_1600x1077.png 1272w, https://substackcdn.com/image/fetch/$s_!zOPf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8feaca2-5d11-4e60-8d0d-c2670394bd85_1600x1077.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><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 a visualization of a chain I&#8217;ve talked about before: Effort&#8594;Output&#8594;Outcome&#8594;Impact.</p><ol><li><p>Effort&#8212;the work we do.</p></li><li><p>Output&#8212;the changes the user/customer sees.</p></li><li><p>Outcome&#8212;the changes in the user/customer behavior.</p></li><li><p>Impact&#8212;the profit we share with the customer.</p></li></ol><p>My point was that the earlier in this chain you make your observations, the easier it is to observe (it&#8217;s easy to count hours spent programming) but also the easier it is to game the observations.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;a3a5d7b2-35bb-46a5-a3de-b1ee2534eeba&quot;,&quot;caption&quot;:&quot;Bad news: measuring engineering productivity is doomed&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;Productivity Measurement as a Tradeoff&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;:1000}],&quot;post_date&quot;:&quot;2024-01-11T15:06:43.066Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!29K_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50c42b05-08d3-47aa-833e-f66b49b3d243_1758x1420.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://tidyfirst.substack.com/p/productivity-measurement-as-a-tradeoff&quot;,&quot;section_name&quot;:&quot;Incentives&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:140533956,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:122,&quot;comment_count&quot;:13,&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>Conversely, the later you measure, the more difficult it is attribute changes to any one cause but the less subject the measures are to distortion. I can generate as many lines of code as I want, if that&#8217;s what I&#8217;m being judged on, but it&#8217;s hard (not impossible, but harder) to manipulate profitability.</p><div><hr></div><p><em>Sponsored by <a href="https://www.coderabbit.ai/">CodeRabbit </a></em><br><br><em>Teams using CodeRabbit report 50%+ reduction in code review time. It&#8217;s not just automated linting&#8212;it understands your codebase, learns your team&#8217;s patterns, and provides contextual feedback that actually matters.<br><br>SOC2 Type II certified. Zero data retention. </em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://app.coderabbit.ai/login???free-trial&quot;,&quot;text&quot;:&quot;Try it Free for 14 Days&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://app.coderabbit.ai/login???free-trial"><span>Try it Free for 14 Days</span></a></p><div><hr></div><h2>Cycles</h2><p>I was taken to task on LinkedIn for not considering feedback loops in my analysis.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.linkedin.com/feed/update/urn:li:activity:7384558702730813440?commentUrn=urn%3Ali%3Acomment%3A%28activity%3A7384558702730813440%2C7384578681983127553%29&amp;dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287384578681983127553%2Curn%3Ali%3Aactivity%3A7384558702730813440%29" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!apBD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc88e91-2db4-472a-a107-0ecca069e464_1070x602.png 424w, https://substackcdn.com/image/fetch/$s_!apBD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc88e91-2db4-472a-a107-0ecca069e464_1070x602.png 848w, https://substackcdn.com/image/fetch/$s_!apBD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc88e91-2db4-472a-a107-0ecca069e464_1070x602.png 1272w, https://substackcdn.com/image/fetch/$s_!apBD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc88e91-2db4-472a-a107-0ecca069e464_1070x602.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!apBD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc88e91-2db4-472a-a107-0ecca069e464_1070x602.png" width="1070" height="602" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fcc88e91-2db4-472a-a107-0ecca069e464_1070x602.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:602,&quot;width&quot;:1070,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:155816,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.linkedin.com/feed/update/urn:li:activity:7384558702730813440?commentUrn=urn%3Ali%3Acomment%3A%28activity%3A7384558702730813440%2C7384578681983127553%29&amp;dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287384578681983127553%2Curn%3Ali%3Aactivity%3A7384558702730813440%29&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/176737669?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc88e91-2db4-472a-a107-0ecca069e464_1070x602.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_!apBD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc88e91-2db4-472a-a107-0ecca069e464_1070x602.png 424w, https://substackcdn.com/image/fetch/$s_!apBD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc88e91-2db4-472a-a107-0ecca069e464_1070x602.png 848w, https://substackcdn.com/image/fetch/$s_!apBD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc88e91-2db4-472a-a107-0ecca069e464_1070x602.png 1272w, https://substackcdn.com/image/fetch/$s_!apBD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc88e91-2db4-472a-a107-0ecca069e464_1070x602.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><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>There&#8217;s a beautiful phrase in English&#8212;don&#8217;t teach your grandmother to suck eggs. I&#8217;ve been using systems thinking since the 80s (1980s &#128521;), but I don&#8217;t trot it out unless I really need it. I don&#8217;t need systems thinking &amp; feedback loops to confidently predict that &#8220;<a href="https://x.com/brian_armstrong/status/1963315806248604035">Percentage of code generated by an LLM</a>&#8221; is a terrible target, guaranteed to incentivize destructive behavior.</p><h2>The Toolbag</h2><p>Aside from not assuming that your interlocutor is ignorant, my suggestion for Francisco above is yes to have a <a href="http://tidyfirst.substack.com/p/mastering-programming">big bag of tools</a> but not to reach too deep too soon. If a superficial analysis reveals a flaw, then go with that.</p><ul><li><p>Quick analysis takes less time &amp; effort.</p></li><li><p>More importantly, linear analysis is easier to explain.</p></li></ul><p>By the time I&#8217;ve explained influence diagrams &amp; positive &amp; negative influence &amp; reinforcing &amp; inhibiting feedback loops, I&#8217;ve lost most of my audience. If full systems thinking is the simplest way to get my point across, I&#8217;ll do it. I&#8217;ll invest the time. I&#8217;ll risk losing some listeners.</p><p>In the case of software development, I don&#8217;t need feedback loops to confidently predict the results of measuring &amp; judging lines of code (or PRs or hours worked). The measurement is just too early in the chain of delivering value.</p><p>We could spend all day &amp; all night expanding the system to include more aspects of delivering value with software, but we don&#8217;t have to. </p><p></p>]]></content:encoded></item><item><title><![CDATA[Programming Deflation]]></title><description><![CDATA[When Code Gets Cheaper Every Day]]></description><link>https://tidyfirst.substack.com/p/programming-deflation</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/programming-deflation</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Mon, 15 Sep 2025 13:41:31 GMT</pubDate><content:encoded><![CDATA[<p>The genies are out of the bottle. Let&#8217;s take as a given that augmented coding is steadily reducing the cost, skill barriers, and time needed to develop software. (Interesting debate to be had&#8212;another day.)</p><p>Will this lead to fewer programmers or more programmers?</p><p>Economics gives us two contradictory answers simultaneously.</p><ul><li><p><strong>Substitution</strong>. The substitution effect says we'll need fewer programmers&#8212;machines are replacing human labor.</p></li><li><p><strong>Jevons&#8217;. </strong>Jevons&#8217; paradox predicts that when something becomes cheaper, demand <em>increases</em> as the cheaper good is economically viable in a wider variety of cases.</p></li></ul><p>Both can't be right. Or can they?</p><p>Another way of looking at the contradiction&#8212;if programs are cheaper to write today than they were yesterday, then we should be more likely to write them today. <em>But</em>, if programs are going to be cheaper to write tomorrow, then why not just wait until the cost goes to zero? This is the deflationary spiral, the urge to defer investment leading to less economic activity leading to lower prices leading to the urge to defer investment.</p><p>What&#8217;s a software executive to do? A programmer? What we&#8217;d like is a strategy that:</p><ul><li><p>Let&#8217;s us act today.</p></li><li><p>Doesn&#8217;t rely on information that just not available.</p></li><li><p>Leads to reasonable outcomes regardless of which way the rock tumbles.</p></li></ul><h2><strong>But Wait, This Feels Different</strong></h2><p>Traditional deflation is destructive because it reflects economic weakness&#8212;falling demand, broken confidence, shrinking money supply. Programming deflation is different. It's driven by genuine productivity gains. AI isn't just redistributing the same pie; it's making the pie-making process fundamentally cheaper.</p><p>This creates some interesting paradoxes:</p><p><strong>Delay vs. Experiment</strong>: Yes, you might wait for better tools. But when experimentation costs approach zero, the urge to try something <em>right now</em> often wins. How many of us have spun up a quick prototype just because we could?</p><p><strong>Quality Bifurcation</strong>: Cheap code floods the market. Most of it is terrible. But the gap between commodity code and carefully crafted software widens. The middle disappears.</p><p><strong>Value Migration</strong>: Writing code becomes like typing&#8212;a basic skill, not a career. Value moves to understanding what to build, how systems fit together, and navigating the complexity of infinite cheap software pieces.</p><h2><strong>The Acceleration Effect</strong></h2><p>Here's where programming deflation breaks the traditional model entirely. In economic deflation, the spiral is self-reinforcing and destructive. In programming deflation, cheaper tools might actually <em>accelerate</em> innovation&#8212;when programming accelerates programming. Better tools. Better models. The reinforcing loop kicks in.</p><p>Every small business becomes a software company. Every individual becomes a developer. The cost of "what if we tried..." approaches zero.</p><p>Publishing was expensive in 1995, exclusive. Then it became free. Did we get less publishing? Quite the opposite. We got an explosion of content, most of it terrible, some of it revolutionary.</p><h2><strong>Living in the Spiral</strong></h2><p>So what do we do while we're in this deflation? A few thoughts:</p><p><strong>Embrace the Commodity</strong>: Use the cheap tools. Build the obvious stuff with AI. Save your energy for the hard problems.</p><p><strong>Focus on Integration</strong>: The bottleneck isn't writing code anymore. It's making all these cheap software pieces work together coherently.</p><p><strong>Develop Taste</strong>: When anyone can build anything, knowing what's worth building becomes the skill.</p><p><strong>Think in Systems</strong>: Individual programs are commoditized. Complex, adaptive systems are not.</p><h2><strong>The New Scarcity</strong></h2><p>In a world of abundant cheap code, what becomes scarce? Understanding. Judgment. The ability to see how pieces fit together. The wisdom to know what not to build.</p><p>We're not just experiencing technological change. We're watching the basic economics of software development transform in real time. The question isn't whether programming deflation will happen&#8212;it's already happening. The question is how we adapt to abundance.</p><h2><strong>Hedging Our Bets</strong></h2><p>Here's the beautiful thing about focusing on understanding, integration, and judgment: these skills matter whether we end up with fewer programmers or more programmers. If automation replaces routine coding, these human skills become the differentiator. If cheap tools create an explosion of new programmers, these skills separate signal from noise even more than they did a year ago.</p><p>Cultivating judgement also improves one&#8217;s competitive position <em>vis a vis</em> those who use the tools simply to churn out the same features faster.</p><p>Don&#8217;t bother predicting which future we'll get. Build capabilities that thrive in either scenario.</p><div><hr></div><p><em>Interested in a private, custom talk for your organization on the effects of AI on software development &amp; how y&#8217;all can navigate them? Contact me! I still have some slots open in the last quarter of the year.</em></p><div class="directMessage button" data-attrs="{&quot;userId&quot;:24333739,&quot;userName&quot;:&quot;Kent Beck&quot;,&quot;canDm&quot;:null,&quot;dmUpgradeOptions&quot;:null,&quot;isEditorNode&quot;:true}" data-component-name="DirectMessageToDOM"></div>]]></content:encoded></item><item><title><![CDATA[Match The Pipes]]></title><description><![CDATA[An executive skill]]></description><link>https://tidyfirst.substack.com/p/match-the-pipes</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/match-the-pipes</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Wed, 13 Aug 2025 12:46:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5nvU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F827ecda0-42c2-476e-b9d0-dfd66ae619bf.heic" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Donuts</h2><p>I once worked for a CEO who brought in a box of donuts every Saturday morning. If the donuts weren&#8217;t gone by Monday morning, we&#8217;d get a tongue lashing about how we didn&#8217;t care enough.</p><p>We set up a rota of employees who lived near the office to go in and throw away the donuts Sunday night.</p><h2>Quick Quiz, No Tricks</h2><p>How much water flows through a pipe of capacity 5?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5nvU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F827ecda0-42c2-476e-b9d0-dfd66ae619bf.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5nvU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F827ecda0-42c2-476e-b9d0-dfd66ae619bf.heic 424w, https://substackcdn.com/image/fetch/$s_!5nvU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F827ecda0-42c2-476e-b9d0-dfd66ae619bf.heic 848w, https://substackcdn.com/image/fetch/$s_!5nvU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F827ecda0-42c2-476e-b9d0-dfd66ae619bf.heic 1272w, https://substackcdn.com/image/fetch/$s_!5nvU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F827ecda0-42c2-476e-b9d0-dfd66ae619bf.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5nvU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F827ecda0-42c2-476e-b9d0-dfd66ae619bf.heic" width="340" height="277.0718232044199" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/827ecda0-42c2-476e-b9d0-dfd66ae619bf.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:590,&quot;width&quot;:724,&quot;resizeWidth&quot;:340,&quot;bytes&quot;:67345,&quot;alt&quot;:&quot;Pipe with capacity 5 and a question mark on the right side&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/170830465?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F827ecda0-42c2-476e-b9d0-dfd66ae619bf.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Pipe with capacity 5 and a question mark on the right side" title="Pipe with capacity 5 and a question mark on the right side" srcset="https://substackcdn.com/image/fetch/$s_!5nvU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F827ecda0-42c2-476e-b9d0-dfd66ae619bf.heic 424w, https://substackcdn.com/image/fetch/$s_!5nvU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F827ecda0-42c2-476e-b9d0-dfd66ae619bf.heic 848w, https://substackcdn.com/image/fetch/$s_!5nvU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F827ecda0-42c2-476e-b9d0-dfd66ae619bf.heic 1272w, https://substackcdn.com/image/fetch/$s_!5nvU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F827ecda0-42c2-476e-b9d0-dfd66ae619bf.heic 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>5. Told you&#8212;no tricks. How much water flows through a sequence of pipes, both with capacity 5. </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QJ1S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb42df579-004c-487f-9978-66b9495948c8.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QJ1S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb42df579-004c-487f-9978-66b9495948c8.heic 424w, https://substackcdn.com/image/fetch/$s_!QJ1S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb42df579-004c-487f-9978-66b9495948c8.heic 848w, https://substackcdn.com/image/fetch/$s_!QJ1S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb42df579-004c-487f-9978-66b9495948c8.heic 1272w, https://substackcdn.com/image/fetch/$s_!QJ1S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb42df579-004c-487f-9978-66b9495948c8.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QJ1S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb42df579-004c-487f-9978-66b9495948c8.heic" width="434" height="182.2233502538071" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b42df579-004c-487f-9978-66b9495948c8.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:579,&quot;width&quot;:1379,&quot;resizeWidth&quot;:434,&quot;bytes&quot;:88680,&quot;alt&quot;:&quot;Now it's 2 pipes connected&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/170830465?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb42df579-004c-487f-9978-66b9495948c8.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Now it's 2 pipes connected" title="Now it's 2 pipes connected" srcset="https://substackcdn.com/image/fetch/$s_!QJ1S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb42df579-004c-487f-9978-66b9495948c8.heic 424w, https://substackcdn.com/image/fetch/$s_!QJ1S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb42df579-004c-487f-9978-66b9495948c8.heic 848w, https://substackcdn.com/image/fetch/$s_!QJ1S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb42df579-004c-487f-9978-66b9495948c8.heic 1272w, https://substackcdn.com/image/fetch/$s_!QJ1S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb42df579-004c-487f-9978-66b9495948c8.heic 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><p>Same same. 5. (Yes, we can worry about turbulence &amp; leakage at the boundary &amp; all that. I&#8217;m making an analogy.)</p><p>What happens to the capacity of the system if we expand the capacity of the second pipe to 20?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5r7F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752cd68e-e31d-4fed-a730-3aa896f9936e.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5r7F!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752cd68e-e31d-4fed-a730-3aa896f9936e.heic 424w, https://substackcdn.com/image/fetch/$s_!5r7F!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752cd68e-e31d-4fed-a730-3aa896f9936e.heic 848w, https://substackcdn.com/image/fetch/$s_!5r7F!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752cd68e-e31d-4fed-a730-3aa896f9936e.heic 1272w, https://substackcdn.com/image/fetch/$s_!5r7F!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752cd68e-e31d-4fed-a730-3aa896f9936e.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5r7F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752cd68e-e31d-4fed-a730-3aa896f9936e.heic" width="440" height="302.18390804597703" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/752cd68e-e31d-4fed-a730-3aa896f9936e.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:717,&quot;width&quot;:1044,&quot;resizeWidth&quot;:440,&quot;bytes&quot;:82185,&quot;alt&quot;:&quot;The second pipe is now bigger&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/170830465?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752cd68e-e31d-4fed-a730-3aa896f9936e.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The second pipe is now bigger" title="The second pipe is now bigger" srcset="https://substackcdn.com/image/fetch/$s_!5r7F!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752cd68e-e31d-4fed-a730-3aa896f9936e.heic 424w, https://substackcdn.com/image/fetch/$s_!5r7F!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752cd68e-e31d-4fed-a730-3aa896f9936e.heic 848w, https://substackcdn.com/image/fetch/$s_!5r7F!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752cd68e-e31d-4fed-a730-3aa896f9936e.heic 1272w, https://substackcdn.com/image/fetch/$s_!5r7F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F752cd68e-e31d-4fed-a730-3aa896f9936e.heic 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>What comes out of the second pipe? 5. Why? Because that&#8217;s all that went into it. Doesn&#8217;t matter how big the second pipe is. We can make it a million &amp; all that will trickle out is 5.</p><p>To complete the picture, what if we expand the first pipe?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UK9t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340f0eba-9b1f-48e6-a80c-d734ffec895d.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UK9t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340f0eba-9b1f-48e6-a80c-d734ffec895d.heic 424w, https://substackcdn.com/image/fetch/$s_!UK9t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340f0eba-9b1f-48e6-a80c-d734ffec895d.heic 848w, https://substackcdn.com/image/fetch/$s_!UK9t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340f0eba-9b1f-48e6-a80c-d734ffec895d.heic 1272w, https://substackcdn.com/image/fetch/$s_!UK9t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340f0eba-9b1f-48e6-a80c-d734ffec895d.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UK9t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340f0eba-9b1f-48e6-a80c-d734ffec895d.heic" width="458" height="367.1501364877161" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/340f0eba-9b1f-48e6-a80c-d734ffec895d.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:881,&quot;width&quot;:1099,&quot;resizeWidth&quot;:458,&quot;bytes&quot;:95955,&quot;alt&quot;:&quot;Instead the first pipe is bigger&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/170830465?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340f0eba-9b1f-48e6-a80c-d734ffec895d.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Instead the first pipe is bigger" title="Instead the first pipe is bigger" srcset="https://substackcdn.com/image/fetch/$s_!UK9t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340f0eba-9b1f-48e6-a80c-d734ffec895d.heic 424w, https://substackcdn.com/image/fetch/$s_!UK9t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340f0eba-9b1f-48e6-a80c-d734ffec895d.heic 848w, https://substackcdn.com/image/fetch/$s_!UK9t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340f0eba-9b1f-48e6-a80c-d734ffec895d.heic 1272w, https://substackcdn.com/image/fetch/$s_!UK9t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F340f0eba-9b1f-48e6-a80c-d734ffec895d.heic 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>Capacity as measured at the end? 5. Again, doesn&#8217;t matter how much we expand the first pipe. We can&#8217;t put, as my Pappy would have said, 10 pounds of manure in a 5 pound bag. Well, Pappy wouldn&#8217;t have said &#8220;manure&#8221;, but we&#8217;re being professional here.</p><h2>Application</h2><p>As an executive you accept a trade. You live a life of service, no longer able to do the detailed work. For this loss of control you get wider influence, greater rewards.</p><p>One benefit of an executive position is that you can see the whole process, in ways those at the coalface cannot.</p><p>Product &#8594; Design &#8594; Engineering &#8594; Operations &amp; Sales &amp; Marketing is exactly one of these multi-pipe situations. Each department&#8217;s incentives align with improving their own capacity. You are uniquely positioned to look across the whole chain. (You are also responsible for improving across the whole chain.)</p><p>What can you do?</p><ul><li><p>Find the narrowest pipe. Look up-stream &amp; you&#8217;ll find half done work piling up. You can do this. They can&#8217;t. They are all working to keep their pipe going.</p></li><li><p>Make sure there&#8217;s enough buffer to keep the pipe busy, but no more. This may require reducing the output of upstream pipes. You can do this. They can&#8217;t. No one can voluntarily reduce their output.</p></li><li><p>Expand the narrowest pipe. Don&#8217;t bother with the pipes that aren&#8217;t narrowest. At best expanding them won&#8217;t help. At worst you&#8217;ll flood the system. You can do this. They can&#8217;t. They are overwhelmed with daily work.</p></li><li><p>Reduce demand on the narrowest pipe. Can you route some of its work elsewhere, even if that elsewhere isn&#8217;t ideal? Again, you can do this. They can&#8217;t. The folks getting their work re-routed won&#8217;t be happy. Boo hoo.</p></li><li><p>Stop improvement &amp; shift attention when a new pipe is narrowest. You can do this. They can&#8217;t. Your people got credit for improvements (if you did it right). They want more credit.</p></li></ul><h2>Mea Culpa</h2><p>I read the &#8220;<a href="https://techcrunch.com/2025/08/05/three-weeks-after-acquiring-windsurf-cognition-offers-staff-the-exit-door/">80 hours weeks or else</a>&#8221; pronouncement, got mad, &amp; clapped back.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://bsky.app/profile/kentbeck.com/post/3lvymrb2db22d" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VBl4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289f13ad-331d-4a90-8bf9-d84fd5597b90_580x267.png 424w, https://substackcdn.com/image/fetch/$s_!VBl4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289f13ad-331d-4a90-8bf9-d84fd5597b90_580x267.png 848w, https://substackcdn.com/image/fetch/$s_!VBl4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289f13ad-331d-4a90-8bf9-d84fd5597b90_580x267.png 1272w, https://substackcdn.com/image/fetch/$s_!VBl4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289f13ad-331d-4a90-8bf9-d84fd5597b90_580x267.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VBl4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289f13ad-331d-4a90-8bf9-d84fd5597b90_580x267.png" width="580" height="267" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/289f13ad-331d-4a90-8bf9-d84fd5597b90_580x267.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:267,&quot;width&quot;:580,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:43450,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://bsky.app/profile/kentbeck.com/post/3lvymrb2db22d&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/170830465?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289f13ad-331d-4a90-8bf9-d84fd5597b90_580x267.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_!VBl4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289f13ad-331d-4a90-8bf9-d84fd5597b90_580x267.png 424w, https://substackcdn.com/image/fetch/$s_!VBl4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289f13ad-331d-4a90-8bf9-d84fd5597b90_580x267.png 848w, https://substackcdn.com/image/fetch/$s_!VBl4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289f13ad-331d-4a90-8bf9-d84fd5597b90_580x267.png 1272w, https://substackcdn.com/image/fetch/$s_!VBl4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289f13ad-331d-4a90-8bf9-d84fd5597b90_580x267.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><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>Here&#8217;s why I got emotional. That kind of pressure doesn&#8217;t work to get more accomplished. There is a natural limit to how much work comes out of a system. Pressure stresses the system, it doesn&#8217;t change the system, not in any positive way. So pressure is low benefit. How about cost?</p><p>I&#8217;ve seen mental health breakdowns (&amp; had one myself). I&#8217;ve seen divorces, kids scarred. I&#8217;ve lived through 2 colleague suicides. The cost of pressure is high &amp; permanent. Also, &amp; this is what pisses me off, the consequences accrue to those least able to push back.</p><p>So I applied Thinkie Complain &amp; Propose &amp; wrote the above.</p><h2>Conclusion</h2><p>Drucker introduces so many effective management skills. Deming too. Matching the pipes is just the start.</p><p>You&#8217;ve chosen a grave responsibility, with life-changing consequences for your decisions. I wish for you the toolbox to go with that responsibility.</p><div><hr></div><p>Interested in executive coaching? Augmented coding creates a slew of new Match the Pipes problems to go with the ones we were already struggling with. You can get help.</p><div class="directMessage button" data-attrs="{&quot;userId&quot;:24333739,&quot;userName&quot;:&quot;Kent Beck&quot;,&quot;canDm&quot;:null,&quot;dmUpgradeOptions&quot;:null,&quot;isEditorNode&quot;:true}" data-component-name="DirectMessageToDOM"></div><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Tokens: The New Oil]]></title><description><![CDATA[What happens when demand exceeds supply? A 3X: Explore/Expand/Extract Perspective]]></description><link>https://tidyfirst.substack.com/p/tokens-the-new-oil</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/tokens-the-new-oil</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Fri, 18 Jul 2025 12:05:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4bPR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ec2eee-8322-49d7-9e04-a4c1ccc734a2_2034x1359.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last month, you were checking your bank balance every morning, calculating runway down to the day. "If we don't find product-market fit by July, we're dead."</p><p>This morning, you checked your OpenAI dashboard instead. You&#8217;re burning $50,000 a week in tokens. Your growth curve looks like a rocket launch. And you're going to hit your API limits in six days.</p><div class="pullquote"><p>&#8220;We are confronted with insurmountable opportunities.&#8221; &#8212; Pogo</p></div><h2>Whiplash</h2><p>This is what success looks like. While you were exploring you optimized for cheap experiments. Less time, less money, more chances of survival. Now your hair is on fire. It&#8217;s time to shift gears.</p><p>Then last Tuesday happened. Some influencer posted about you. Your quiet little AI experiment went from 200 users to 20,000 users. Now it's doubling every three days.</p><p>Your cofounders are ecstatic. Your investors are throwing money at you. And you&#8217;re staring at the Graph of Death:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4bPR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ec2eee-8322-49d7-9e04-a4c1ccc734a2_2034x1359.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4bPR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ec2eee-8322-49d7-9e04-a4c1ccc734a2_2034x1359.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4bPR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ec2eee-8322-49d7-9e04-a4c1ccc734a2_2034x1359.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4bPR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ec2eee-8322-49d7-9e04-a4c1ccc734a2_2034x1359.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4bPR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ec2eee-8322-49d7-9e04-a4c1ccc734a2_2034x1359.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4bPR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ec2eee-8322-49d7-9e04-a4c1ccc734a2_2034x1359.jpeg" width="1456" height="973" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8ec2eee-8322-49d7-9e04-a4c1ccc734a2_2034x1359.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:973,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:343015,&quot;alt&quot;:&quot;A hand-drawn graph on dot grid paper showing two curves over time. The supply curve starts low and gradually increases with a slight upward curve. The demand curve starts low then rises exponentially. The two lines intersect at a point marked with a sad face emoji, indicating a critical failure point where demand exceeds supply.&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/168575684?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ec2eee-8322-49d7-9e04-a4c1ccc734a2_2034x1359.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A hand-drawn graph on dot grid paper showing two curves over time. The supply curve starts low and gradually increases with a slight upward curve. The demand curve starts low then rises exponentially. The two lines intersect at a point marked with a sad face emoji, indicating a critical failure point where demand exceeds supply." title="A hand-drawn graph on dot grid paper showing two curves over time. The supply curve starts low and gradually increases with a slight upward curve. The demand curve starts low then rises exponentially. The two lines intersect at a point marked with a sad face emoji, indicating a critical failure point where demand exceeds supply." srcset="https://substackcdn.com/image/fetch/$s_!4bPR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ec2eee-8322-49d7-9e04-a4c1ccc734a2_2034x1359.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4bPR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ec2eee-8322-49d7-9e04-a4c1ccc734a2_2034x1359.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4bPR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ec2eee-8322-49d7-9e04-a4c1ccc734a2_2034x1359.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4bPR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ec2eee-8322-49d7-9e04-a4c1ccc734a2_2034x1359.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>.Welcome to success. The only thing worse is failure.</p><h2>Welcome to Your New Normal</h2><p>This is your new job: seeing these kinds of cross-overs in time &amp; doing just enough to dodge them. There&#8217;s good news:</p><ul><li><p>You don&#8217;t have to solve these problems, just push them out into the indefinite future.</p></li><li><p>You have access to capital on a new scale to buy your way out of these problems.</p></li></ul><p>There&#8217;s bad news:</p><ul><li><p>If you don&#8217;t manage to push this problem out into the future, it will kill you.</p></li><li><p>Your instincts from the past 12 months are exactly wrong.</p></li><li><p>Once you push this problem into the future a new one will arise.</p></li></ul><p>Remember being proud when you could get an answer for a hypothesis for one tenth the cost? When you had that elegant queueing system that ensured fair usage?</p><p>Forget all of it. Those were exploration habits. You're in expansion now. Different game, different rules, different ways to die.</p><p>Your new reality:</p><ul><li><p>That sustainable architecture you planned? Too late. Usage patterns have shifted &amp; it&#8217;s already obsolete.</p></li><li><p>That token optimization project? Too slow. Time is now money in a newly existential way.</p></li><li><p>That careful cost management? No longer relevant. Once you&#8217;re airborne, you&#8217;re suddenly immune to the length of the runway.</p></li></ul><p>You have days, not months. Time to break some things.</p><h2>The Only Graph That Matters</h2><p>Let&#8217;s say you&#8217;re a supplier of tokens (the same logic works if you&#8217;re a consumer, but you&#8217;ll need to translate). Graph:</p><ul><li><p><strong>Supply</strong>: How many tokens you can consume &amp; generate?</p></li><li><p><strong>Demand</strong>: How many tokens your users are supplying &amp; expecting?</p></li></ul><p>Where they cross, your product dies. Not "degrades." Dies.</p><p>Remember&#8212;this is success. This is what you worked so hard for. So, now what do you do? Good news: you have 2 levers.</p><h2>Kicking the Can Down the Road</h2><p>Lever 1&#8212;bend supply up. Do what you need to do to survive. I heard stories from early Facebook of engineers going to Fry&#8217;s at lunch, buying servers, racking &amp; stacking, &amp; keeping the site up for one more day of peak usage. Efficient? No. Better than the alternative? Oh yes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qBaU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a8aec85-20dc-42ac-ac07-25b50b14e9ab.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qBaU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a8aec85-20dc-42ac-ac07-25b50b14e9ab.heic 424w, https://substackcdn.com/image/fetch/$s_!qBaU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a8aec85-20dc-42ac-ac07-25b50b14e9ab.heic 848w, https://substackcdn.com/image/fetch/$s_!qBaU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a8aec85-20dc-42ac-ac07-25b50b14e9ab.heic 1272w, https://substackcdn.com/image/fetch/$s_!qBaU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a8aec85-20dc-42ac-ac07-25b50b14e9ab.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qBaU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a8aec85-20dc-42ac-ac07-25b50b14e9ab.heic" width="1456" height="1042" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3a8aec85-20dc-42ac-ac07-25b50b14e9ab.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1042,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:216506,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/168575684?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a8aec85-20dc-42ac-ac07-25b50b14e9ab.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qBaU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a8aec85-20dc-42ac-ac07-25b50b14e9ab.heic 424w, https://substackcdn.com/image/fetch/$s_!qBaU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a8aec85-20dc-42ac-ac07-25b50b14e9ab.heic 848w, https://substackcdn.com/image/fetch/$s_!qBaU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a8aec85-20dc-42ac-ac07-25b50b14e9ab.heic 1272w, https://substackcdn.com/image/fetch/$s_!qBaU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a8aec85-20dc-42ac-ac07-25b50b14e9ab.heic 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>Lever 2&#8212;bend demand down.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mEBW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3653625-a08f-414a-bad3-c702be56f1ac.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mEBW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3653625-a08f-414a-bad3-c702be56f1ac.heic 424w, https://substackcdn.com/image/fetch/$s_!mEBW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3653625-a08f-414a-bad3-c702be56f1ac.heic 848w, https://substackcdn.com/image/fetch/$s_!mEBW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3653625-a08f-414a-bad3-c702be56f1ac.heic 1272w, https://substackcdn.com/image/fetch/$s_!mEBW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3653625-a08f-414a-bad3-c702be56f1ac.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mEBW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3653625-a08f-414a-bad3-c702be56f1ac.heic" width="1456" height="980" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e3653625-a08f-414a-bad3-c702be56f1ac.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:980,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:198735,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://tidyfirst.substack.com/i/168575684?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3653625-a08f-414a-bad3-c702be56f1ac.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mEBW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3653625-a08f-414a-bad3-c702be56f1ac.heic 424w, https://substackcdn.com/image/fetch/$s_!mEBW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3653625-a08f-414a-bad3-c702be56f1ac.heic 848w, https://substackcdn.com/image/fetch/$s_!mEBW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3653625-a08f-414a-bad3-c702be56f1ac.heic 1272w, https://substackcdn.com/image/fetch/$s_!mEBW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3653625-a08f-414a-bad3-c702be56f1ac.heic 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>Optimization is useful, if it can be achieved quickly (remember, time is now <em>lots</em> of money). </p><p>Delete expensive-but-not-critical features. I know this is hard. You love everything you built. Better to survive today &amp; reimplement tomorrow.</p><p>Reduce users. Wait&#8212;you just spent a year praying for <em>one</em> user. Now you have thousands &amp; you want to just drop them on the floor? Yep, again, it&#8217;s not a good option but it is the best option. Use invitation-only signups. A waiting list. Whatever to keep demand down below supply.</p><h2>The Mental Shift That Saves You</h2><p>In exploration, you were precious about everything. Every user mattered. Every feature was crafted. Every decision was reversible.</p><p>In expansion, you're at war. Wars aren't won by perfect soldiers with shiny boots. They're won by whoever doesn't run out of ammunition.</p><p>Your ammunition is tokens. Waste them, hoard them, steal them, borrow them&#8212;I don't care. Just don't run out.</p><h2>Capital Isn't the Constraint Anymore</h2><p>Here's the mind-bender: That runway you were watching? Meaningless now.</p><p>Investors smell blood in the water&#8212;the good kind. The "holy shit this is actually working" kind. They're begging to throw money at you. Take it. Take it all. You'll need it.</p><p>But money can't buy you tokens fast enough. API limits don't care about your Series A. Rate limits don't respect your growth rate. Your constraint shifted from cash to capacity, and that's a different problem to solve.</p><h2>The Practical Survival Guide</h2><p><strong>This week:</strong></p><ol><li><p>Map every API limit you have. Not just the official ones&#8212;the real ones where things start breaking.</p></li><li><p>Split your infrastructure. Multiple accounts, multiple providers, multiple everything.</p></li><li><p>Implement the dumbest possible caching. Cache entire responses. Cache by user ID. Cache incorrectly. Just cache.</p></li><li><p>Turn off features. Start with the token-hungry ones only 5% of users touch.</p></li><li><p>Beg, borrow, and negotiate for higher limits. Today. Not after your "process review."</p></li></ol><p><strong>Next week:</strong></p><ol><li><p>Keep doing all of the above.</p></li><li><p>Start thinking about that one perfect solution you'll implement "when things calm down."</p></li><li><p>Laugh at your naivety. Things won't calm down.</p></li><li><p>Double down on the hacks that are working.</p></li></ol><p><strong>Next month:</strong></p><ol><li><p>Maybe&#8212;MAYBE&#8212;start building the real solution.</p></li><li><p>But probably you'll have hit the next bottleneck by then.</p></li><li><p>That's okay. That's what winning looks like.</p></li></ol><h2>The Permission Slip You Need</h2><p>You're not a bad engineer for hardcoding API keys. You're not irresponsible for mixing providers with different capabilities. You're not short-sighted for building systems that will obviously break at 10x scale.</p><p>You're surviving expansion.</p><p>In six months, when you're in extraction, you'll rebuild all of this properly. You'll have beautiful token management, elegant fallback systems, and efficient prompt optimization. Your code will be clean, your architecture pristine.</p><p>But first, you have to live that long.</p><h2>The Light at the End</h2><p>I know it feels like you're building on quicksand. Like everything could collapse at any moment. Like you're betraying every engineering principle you hold dear.</p><p>You're right. You are.</p><p>And that's exactly what you should be doing.</p><p>Because in expansion, the only principle that matters is survival. Everything else&#8212;code quality, system design, cost optimization&#8212;is a luxury you can't afford.</p><p>Your investors understand this. Your users (the ones who stick around) understand this. The only person who doesn't understand this yet is you.</p><p>Welcome to expansion. It sucks. It's glorious. It's temporary.</p><p>Now stop reading and go bend those curves. You've got tokens to find and a product to keep alive.</p><p>Tomorrow's crisis is tomorrow's problem. Today, you survive.</p>]]></content:encoded></item><item><title><![CDATA[Deadlines in The Forest]]></title><description><![CDATA[&#8220;You&#8217;ll find few deadlines in The Forest, few estimates.&#8221; I made this statement to an organization obsessed with &#8220;dead&#8221; lines.]]></description><link>https://tidyfirst.substack.com/p/deadlines-in-the-forest</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/deadlines-in-the-forest</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Tue, 04 Mar 2025 14:44:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VfPc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3297ac-aa00-445a-8d6c-1074393a3c61_1948x1371.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#8220;You&#8217;ll find few deadlines in The Forest, few estimates.&#8221; I made this statement to an organization obsessed with &#8220;dead&#8221; lines. They weren&#8217;t too happy. Okay, smart guy, but what about a <em>real</em> deadline?</p><h2>First Principles</h2><p>Why do we care about time in software development? Partly because time is money. Less time, less money spent. But that&#8217;s only part of the pi&#8230;</p>
      <p>
          <a href="https://tidyfirst.substack.com/p/deadlines-in-the-forest">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Reflecting on FnD: Parallel Universes]]></title><description><![CDATA[Yesterday I gave a new keynote at Beauty in Code & the response was polarized.]]></description><link>https://tidyfirst.substack.com/p/reflecting-on-fnd-parallel-universes</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/reflecting-on-fnd-parallel-universes</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Sun, 02 Mar 2025 11:02:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ZxW5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf232f1e-63d6-42a5-ae70-8f93a09f59e0_3968x3966.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Yesterday I gave a new keynote at Beauty in Code &amp; the response was polarized. Some folks sat there pretty clearly pissed off. Other folks came gushing up to me afterwards, thanking me for giving words to what they were experiencing at work.</p><p>The One Startling Sentence for the presentation is, &#8220;Forest &amp; Desert can&#8217;t talk.&#8221; Words with seemingly-similar mea&#8230;</p>
      <p>
          <a href="https://tidyfirst.substack.com/p/reflecting-on-fnd-parallel-universes">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Threat of Incremental Delivery]]></title><description><![CDATA[A Desert Perspective]]></description><link>https://tidyfirst.substack.com/p/the-threat-of-incremental-delivery</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/the-threat-of-incremental-delivery</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Wed, 26 Feb 2025 13:04:52 GMT</pubDate><content:encoded><![CDATA[<p>&#8220;That looks great! We&#8217;ll ship it!&#8221;<br>&#8220;No, it&#8217;s just a mockup.&#8221;<br>&#8220;It&#8217;s almost done. How hard can it be?&#8221;</p><p> &#8220;Kent&#8221;</p><p>&#8220;We got this demo done in a week, but to finish it will take&#8230;&#8221;<br>&#8221;If you can get this much done in a week, why isn&#8217;t it finished?&#8221;</p><p>&#8220;Kent!&#8221;</p><p>&#8220;We can do anything, but we can&#8217;t do everything at once. What part would you like first?&#8221;<br>&#8221;If it&#8217;s not all finished a&#8230;</p>
      <p>
          <a href="https://tidyfirst.substack.com/p/the-threat-of-incremental-delivery">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Caterpillar to Butterfly]]></title><description><![CDATA[The Evolution of Specialist Expertise]]></description><link>https://tidyfirst.substack.com/p/caterpillar-to-butterfly</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/caterpillar-to-butterfly</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Fri, 14 Feb 2025 18:30:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!mFbW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17a6c486-aa34-4bfe-afcb-dc86e50001c9_2750x1250.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As you grow from small to medium, you&#8217;ll notice some work getting done that requires specialist expertise&#8212;database administration, design, quality assurance, compliance, security. When the organization was small, it was fine for this work to be done kinda okay. When the organization grows to medium size, though, the gap between experts &amp; hobbyists starts to show.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qGuA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ce7a30-ecb4-4d5e-84d7-8cb3ecf84739_727x264.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qGuA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ce7a30-ecb4-4d5e-84d7-8cb3ecf84739_727x264.png 424w, https://substackcdn.com/image/fetch/$s_!qGuA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ce7a30-ecb4-4d5e-84d7-8cb3ecf84739_727x264.png 848w, https://substackcdn.com/image/fetch/$s_!qGuA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ce7a30-ecb4-4d5e-84d7-8cb3ecf84739_727x264.png 1272w, https://substackcdn.com/image/fetch/$s_!qGuA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ce7a30-ecb4-4d5e-84d7-8cb3ecf84739_727x264.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qGuA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ce7a30-ecb4-4d5e-84d7-8cb3ecf84739_727x264.png" width="727" height="264" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/27ce7a30-ecb4-4d5e-84d7-8cb3ecf84739_727x264.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:264,&quot;width&quot;:727,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:771092,&quot;alt&quot;:&quot;Specialist work being done all over the org&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Specialist work being done all over the org" title="Specialist work being done all over the org" srcset="https://substackcdn.com/image/fetch/$s_!qGuA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ce7a30-ecb4-4d5e-84d7-8cb3ecf84739_727x264.png 424w, https://substackcdn.com/image/fetch/$s_!qGuA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ce7a30-ecb4-4d5e-84d7-8cb3ecf84739_727x264.png 848w, https://substackcdn.com/image/fetch/$s_!qGuA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ce7a30-ecb4-4d5e-84d7-8cb3ecf84739_727x264.png 1272w, https://substackcdn.com/image/fetch/$s_!qGuA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ce7a30-ecb4-4d5e-84d7-8cb3ecf84739_727x264.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><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 had a fantastic week of consulting here (hope I can tell you where &#8220;here&#8221; is later). It&#8217;s a growing org hitting scaling discontinuities. One diagram I drew Monday was used all week, so I thought I&#8217;d present it here.</p><div><hr></div><p>Thanks to today&#8217;s sponsor <a href="https://tuple.app/?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=kent+beck+3">Tuple</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mFbW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17a6c486-aa34-4bfe-afcb-dc86e50001c9_2750x1250.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mFbW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17a6c486-aa34-4bfe-afcb-dc86e50001c9_2750x1250.png 424w, https://substackcdn.com/image/fetch/$s_!mFbW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17a6c486-aa34-4bfe-afcb-dc86e50001c9_2750x1250.png 848w, https://substackcdn.com/image/fetch/$s_!mFbW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17a6c486-aa34-4bfe-afcb-dc86e50001c9_2750x1250.png 1272w, https://substackcdn.com/image/fetch/$s_!mFbW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17a6c486-aa34-4bfe-afcb-dc86e50001c9_2750x1250.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mFbW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17a6c486-aa34-4bfe-afcb-dc86e50001c9_2750x1250.png" width="1456" height="662" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/17a6c486-aa34-4bfe-afcb-dc86e50001c9_2750x1250.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:662,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:453968,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!mFbW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17a6c486-aa34-4bfe-afcb-dc86e50001c9_2750x1250.png 424w, https://substackcdn.com/image/fetch/$s_!mFbW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17a6c486-aa34-4bfe-afcb-dc86e50001c9_2750x1250.png 848w, https://substackcdn.com/image/fetch/$s_!mFbW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17a6c486-aa34-4bfe-afcb-dc86e50001c9_2750x1250.png 1272w, https://substackcdn.com/image/fetch/$s_!mFbW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17a6c486-aa34-4bfe-afcb-dc86e50001c9_2750x1250.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><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><a href="https://tuple.app/?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=kent+beck+3">Tuple</a> is developer-grade screen sharing, for pairing and more. They interviewed me for the Distributed podcast, and I went deep on software design as an exercise in human relationships and distributed work. <strong><a href="https://distributed.fm/kent-beck-on-why-software-development-is-an-exercise-in-human-relationships?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=kent+beck+3">Check it out here</a></strong>.</p><div><hr></div><h2>Specialist Team</h2><p>And so we do the logical thing, we hire experts &amp; promote the best in-house experts, forming a specialist team.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cR0p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bdac5ff-6514-40d0-bbeb-68b15c346928_727x595.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cR0p!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bdac5ff-6514-40d0-bbeb-68b15c346928_727x595.png 424w, https://substackcdn.com/image/fetch/$s_!cR0p!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bdac5ff-6514-40d0-bbeb-68b15c346928_727x595.png 848w, https://substackcdn.com/image/fetch/$s_!cR0p!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bdac5ff-6514-40d0-bbeb-68b15c346928_727x595.png 1272w, https://substackcdn.com/image/fetch/$s_!cR0p!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bdac5ff-6514-40d0-bbeb-68b15c346928_727x595.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cR0p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bdac5ff-6514-40d0-bbeb-68b15c346928_727x595.png" width="727" height="595" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4bdac5ff-6514-40d0-bbeb-68b15c346928_727x595.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:595,&quot;width&quot;:727,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1733228,&quot;alt&quot;:&quot;Specialist work has been concentrated in a single team&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Specialist work has been concentrated in a single team" title="Specialist work has been concentrated in a single team" srcset="https://substackcdn.com/image/fetch/$s_!cR0p!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bdac5ff-6514-40d0-bbeb-68b15c346928_727x595.png 424w, https://substackcdn.com/image/fetch/$s_!cR0p!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bdac5ff-6514-40d0-bbeb-68b15c346928_727x595.png 848w, https://substackcdn.com/image/fetch/$s_!cR0p!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bdac5ff-6514-40d0-bbeb-68b15c346928_727x595.png 1272w, https://substackcdn.com/image/fetch/$s_!cR0p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bdac5ff-6514-40d0-bbeb-68b15c346928_727x595.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><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>Good! Now the work is being done by experts &amp; the individual teams have less to do.</p><p>The incentives of the specialist team don&#8217;t perfectly align with the client teams, however. The specialist team wants testing or design or database administration or compliance or security to be done right, not the janky way it was being done. If the work is rushed, the specialist team is going to have to fix it later. The client team wants their requests to be handled quickly, to be unblocked. As long as the solution is good enough, worse sooner is way better than perfect later.</p><h2>Buffers</h2><p>As work piles up, a black market in specialist work emerges. &#8220;Hey, can you just&#8230;&#8221; Words to freeze a specialist manager&#8217;s heart. No, if we do you a favor we&#8217;ll have to do everyone a favor &amp; then nobody will know what&#8217;s going on.</p><p>I know&#8212;legibility! We&#8217;ll put the requests in a clear, public queue, sort them by overall priority, &amp; then work on the most impactful requests first.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tw1o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08a925fd-2355-497e-896c-87e57b0e4cd9_1208x1552.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tw1o!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08a925fd-2355-497e-896c-87e57b0e4cd9_1208x1552.png 424w, https://substackcdn.com/image/fetch/$s_!tw1o!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08a925fd-2355-497e-896c-87e57b0e4cd9_1208x1552.png 848w, https://substackcdn.com/image/fetch/$s_!tw1o!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08a925fd-2355-497e-896c-87e57b0e4cd9_1208x1552.png 1272w, https://substackcdn.com/image/fetch/$s_!tw1o!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08a925fd-2355-497e-896c-87e57b0e4cd9_1208x1552.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tw1o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08a925fd-2355-497e-896c-87e57b0e4cd9_1208x1552.png" width="1208" height="1552" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/08a925fd-2355-497e-896c-87e57b0e4cd9_1208x1552.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1552,&quot;width&quot;:1208,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7177564,&quot;alt&quot;:&quot;The single team is overloaded so they've created a request queue&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The single team is overloaded so they've created a request queue" title="The single team is overloaded so they've created a request queue" srcset="https://substackcdn.com/image/fetch/$s_!tw1o!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08a925fd-2355-497e-896c-87e57b0e4cd9_1208x1552.png 424w, https://substackcdn.com/image/fetch/$s_!tw1o!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08a925fd-2355-497e-896c-87e57b0e4cd9_1208x1552.png 848w, https://substackcdn.com/image/fetch/$s_!tw1o!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08a925fd-2355-497e-896c-87e57b0e4cd9_1208x1552.png 1272w, https://substackcdn.com/image/fetch/$s_!tw1o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08a925fd-2355-497e-896c-87e57b0e4cd9_1208x1552.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><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>Who could possibly object to doing the most impactful work first? What, you want us to do less impactful work?</p><h2>Buffers Feed Themselves</h2><p>There are always <em>way</em> more requests than we have specialists to service the requests. No matter how many more specialists we hire, client teams&#8217; appetites instantly consume the available capacity &amp; then some.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OWAq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc776cda5-899d-440d-b38e-b5aaa7a8155a_1208x2103.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OWAq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc776cda5-899d-440d-b38e-b5aaa7a8155a_1208x2103.png 424w, https://substackcdn.com/image/fetch/$s_!OWAq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc776cda5-899d-440d-b38e-b5aaa7a8155a_1208x2103.png 848w, https://substackcdn.com/image/fetch/$s_!OWAq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc776cda5-899d-440d-b38e-b5aaa7a8155a_1208x2103.png 1272w, https://substackcdn.com/image/fetch/$s_!OWAq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc776cda5-899d-440d-b38e-b5aaa7a8155a_1208x2103.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OWAq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc776cda5-899d-440d-b38e-b5aaa7a8155a_1208x2103.png" width="1208" height="2103" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c776cda5-899d-440d-b38e-b5aaa7a8155a_1208x2103.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2103,&quot;width&quot;:1208,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:9578331,&quot;alt&quot;:&quot;The request queue is growing even though the specialist team is growing&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The request queue is growing even though the specialist team is growing" title="The request queue is growing even though the specialist team is growing" srcset="https://substackcdn.com/image/fetch/$s_!OWAq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc776cda5-899d-440d-b38e-b5aaa7a8155a_1208x2103.png 424w, https://substackcdn.com/image/fetch/$s_!OWAq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc776cda5-899d-440d-b38e-b5aaa7a8155a_1208x2103.png 848w, https://substackcdn.com/image/fetch/$s_!OWAq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc776cda5-899d-440d-b38e-b5aaa7a8155a_1208x2103.png 1272w, https://substackcdn.com/image/fetch/$s_!OWAq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc776cda5-899d-440d-b38e-b5aaa7a8155a_1208x2103.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><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><h2>Self Service</h2><p>You can go around the &#8220;bigger org&#8594;bigger buffer&#8221; loop many times without noticing that it isn&#8217;t providing the overall org, the client teams plus the specialist team, with more capacity. The request queue grows, wait times stretch, the incentive for the black market grows no matter the policing put into place. This is the problem that emerges when going from medium to big.</p><p>The key insight is that only resource that scales with the client teams are the client teams themselves. The next move is for the specialist team to make their expertise self-service. Build the tooling/frameworks/training that allows client teams to mostly satisfy their own requests.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!m0dQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67ff71a-936f-4efd-a2a5-b52a11e1d6f5_1378x1357.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m0dQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67ff71a-936f-4efd-a2a5-b52a11e1d6f5_1378x1357.png 424w, https://substackcdn.com/image/fetch/$s_!m0dQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67ff71a-936f-4efd-a2a5-b52a11e1d6f5_1378x1357.png 848w, https://substackcdn.com/image/fetch/$s_!m0dQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67ff71a-936f-4efd-a2a5-b52a11e1d6f5_1378x1357.png 1272w, https://substackcdn.com/image/fetch/$s_!m0dQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67ff71a-936f-4efd-a2a5-b52a11e1d6f5_1378x1357.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!m0dQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67ff71a-936f-4efd-a2a5-b52a11e1d6f5_1378x1357.png" width="1378" height="1357" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d67ff71a-936f-4efd-a2a5-b52a11e1d6f5_1378x1357.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1357,&quot;width&quot;:1378,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7162010,&quot;alt&quot;:&quot;The alternative is the specialist teams enabling the client teams to self-serve their own requests&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The alternative is the specialist teams enabling the client teams to self-serve their own requests" title="The alternative is the specialist teams enabling the client teams to self-serve their own requests" srcset="https://substackcdn.com/image/fetch/$s_!m0dQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67ff71a-936f-4efd-a2a5-b52a11e1d6f5_1378x1357.png 424w, https://substackcdn.com/image/fetch/$s_!m0dQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67ff71a-936f-4efd-a2a5-b52a11e1d6f5_1378x1357.png 848w, https://substackcdn.com/image/fetch/$s_!m0dQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67ff71a-936f-4efd-a2a5-b52a11e1d6f5_1378x1357.png 1272w, https://substackcdn.com/image/fetch/$s_!m0dQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67ff71a-936f-4efd-a2a5-b52a11e1d6f5_1378x1357.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><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>Being able to draw this transformation easily doesn&#8217;t mean it&#8217;s easy to execute with real people in a real organization. Building self-service tools is bound to interfere with the execution of queued tasks, which were already being serviced too slowly. Client teams are going to need training &amp; consulting to take back up the responsibilities they gave up with the specialist team formed. Client teams who did have their requests serviced had gotten used to bespoke solutions. They must learn to be content with the generic (but scalable) solutions now being provided.</p><p>Iteration will go a ways towards soothing the ruffled organizational feathers. Resist the temptation to self-service all the things at once, pausing all requests for an extended period. Find the costliest, most frequent requests to self-serve first. As the specialist team proceeds, they will need to re-work some of their earliest self-service efforts. That&#8217;s okay. It&#8217;s better than an organization-halting pause.</p><h2>Conclusion</h2><p>In the room this week, we just called this concept &#8220;the three pictures&#8221;. For general consumption, it makes more sense to me to use the analogy of the caterpillar forming a chrysalis &amp; transforming into a butterfly. Staying in the chrysalis, familiar as the pain may become, prevents the whole organization from growing wings &amp; flying.</p>]]></content:encoded></item><item><title><![CDATA[Bugs Optional?]]></title><description><![CDATA[Almost no bugs in The Forest?]]></description><link>https://tidyfirst.substack.com/p/bugs-optional</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/bugs-optional</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Fri, 03 Jan 2025 14:17:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!djKq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feec70bb9-40ac-40ea-bb19-041387781dbe_544x375.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m not talking about zero defects, whatever that means. Just needed to get that out of the way. Can we live without software defects interfering with daily development life? That&#8217;s the question.</p><p>I posted <a href="https://www.linkedin.com/feed/update/urn:li:activity:7277435725162102785/">recently on LinkedIn</a> about teams living without the daily experience of production defects:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!djKq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feec70bb9-40ac-40ea-bb19-041387781dbe_544x375.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!djKq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feec70bb9-40ac-40ea-bb19-041387781dbe_544x375.png 424w, https://substackcdn.com/image/fetch/$s_!djKq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feec70bb9-40ac-40ea-bb19-041387781dbe_544x375.png 848w, https://substackcdn.com/image/fetch/$s_!djKq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feec70bb9-40ac-40ea-bb19-041387781dbe_544x375.png 1272w, https://substackcdn.com/image/fetch/$s_!djKq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feec70bb9-40ac-40ea-bb19-041387781dbe_544x375.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!djKq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feec70bb9-40ac-40ea-bb19-041387781dbe_544x375.png" width="544" height="375" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eec70bb9-40ac-40ea-bb19-041387781dbe_544x375.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:375,&quot;width&quot;:544,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:98466,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!djKq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feec70bb9-40ac-40ea-bb19-041387781dbe_544x375.png 424w, https://substackcdn.com/image/fetch/$s_!djKq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feec70bb9-40ac-40ea-bb19-041387781dbe_544x375.png 848w, https://substackcdn.com/image/fetch/$s_!djKq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feec70bb9-40ac-40ea-bb19-041387781dbe_544x375.png 1272w, https://substackcdn.com/image/fetch/$s_!djKq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feec70bb9-40ac-40ea-bb19-041387781dbe_544x375.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><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>As you can see, it stirred up a bunch of reaction, only some of which was because of the brevity of the original post. Here I want to:</p><ul><li><p>Explain myself more thoroughly &amp;</p></li><li><p>Reflect a bit on the negative half of the reaction.</p></li></ul><h2>No Bugs is not Zero Bugs</h2><p>Here&#8217;s the contrast I&#8217;m making:</p><ul><li><p>Bugs are a daily fact of life. We track an ever-growing list. We&#8217;ll never fix them all. The arrival of high priority defects interferes with feature development. Versus:</p></li><li><p>Bugs are a rare exception. When one is reported we drop everything to fix it. We also investigate how it happened &amp; fix that. We make sure that this whole class of bugs can never again reach production. We make amends to everyone affected.</p></li></ul><div class="pullquote"><p>Bugs in The Forest are anti-holidays</p></div><p>Bugs in The Forest are anti-holidays&#8212;coming up at random intervals &amp; stopping development for their duration.</p><h2>Desert Bugs</h2><p>Defects are a daily fact of life in The Desert. Bless your heart if this is where you live. You have backlogs of bugs growing monotonically. Most of those bugs you&#8217;ll never fix. More bugs come in daily. Some of those bugs are severe enough to interrupt ongoing development. The bug overhang creates tension between parts of the organization&#8212;product, sales, and marketing want features but customer service wants fewer bugs.</p><p>In The Desert defects feel like an inevitable part of the landscape, like gravity or weather. Disheartening at times, yes, but whaddayagonnado?</p><p>Again, if this is you, good on you for being able to make progress while being tugged hard in multiple directions. You are responding well to a truly difficult set of constraints.</p><p>Those constraints are not inevitable.</p><h2>Forest Bugs</h2><p>One observation about Extreme Programming teams that shocked me is that many of them have almost no defects reported from production. It shocked me because &#8220;no reported defects&#8221; was not on my list of goals for XP. If I&#8217;d wanted &#8220;no reported defects&#8221;, I would have done something like <a href="https://en.wikipedia.org/wiki/Cleanroom_software_engineering">Clean Room</a>.</p><p>Once teams had systems in production for a year or two, though, many of them reflected that they&#8217;d had few or no reports of production defects. Teams embedded in organizations where projects typically had thousands of open defects observed that they received one a month, or one a quarter, or one a year. Or none.</p><h2>Whu?</h2><p>This set off a round of industry skepticism. After all, &#8220;Use a Bug Tracker&#8221; was a widely accepted <a href="https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/">&#8220;best&#8221; practice</a>. XP teams weren&#8217;t using a bug tracker? Well then they must not be serious.</p><p>XP teams responded, &#8220;Why do you choose to have bugs?&#8221; Not perhaps the most diplomatic answer, but one with more than a hint of truth in it. </p><p>Okay, next explanation (since the obvious explanation of &#8220;these teams don&#8217;t put bugs into production&#8221; just can&#8217;t be true)&#8212;they must be lying. Some executive sent down a zero defect edict so they just stopped reporting.</p><p>Nope. With the customer right there with the team, dissatisfaction at that scale would be impossible to hide.</p><p>Maybe the teams just aren&#8217;t paying attention? Nope. Same reason.</p><p>Maybe software was just simpler back then. Some ways yes, some ways no. Forest teams are still reporting &#8220;incredibly&#8221; low defect counts.</p><h2>How?</h2><p>If &#8220;no&#8221; bugs (I&#8217;m just going to start saying &#8220;no bugs&#8221; &amp; trust you to understand what I mean by &#8220;no&#8221;) wasn&#8217;t a goal of XP, it bears thinking about how it could &#8220;just happen&#8221;. Especially when everyone in The Desert expects bugs to be like weather.</p><p>For example&#8212;one team tracked down the six defects reported from production in a year &amp; noticed that all of them had been introduced by someone programming alone. After that they were consistent &amp; persistent about pairing&#8212;&#8221;Hey, whatcha working on there? I noticed you over in the corner.&#8221;</p><p>Pairing alone won&#8217;t do it, though. Defects are too complex a problem to be addressed by any one practice. There&#8217;s something about the mixture of:</p><ul><li><p>Continuous planning, so there&#8217;s enough time for implementation, for defect remediation, &amp; for reflection.</p></li><li><p>Continuous design, so you can prevent recurrences &amp; mistake &#8220;proof&#8221; code.</p></li><li><p>Continuous integration, so you step on each other&#8217;s toes less frequently.</p></li><li><p>Continuous deployment, so defects that do get to production are more quickly identified &amp; isolated.</p></li><li><p>Continuous collaboration (pairing, ensemble), so a) bugs are more likely to be caught immediately &amp; b) understanding of bugs (&amp; safety) quickly percolates through the whole team.</p></li><li><p>Continuous testing, so you have an immediate double check on implementation decisions.</p></li><li><p>Customer on the team, so you can just ask instead of feeling pressure to move forward on shaky assumptions. Also, everyone on the team can see the actual face of the person affected by bugs.</p></li></ul><p>Practically all the <a href="https://tidyfirst.substack.com/p/fruits-and-roots">roots of The Forest</a> work together to create the &#8220;bug as anti-holiday&#8221; development experience.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://tidyfirst.substack.com/p/fruits-and-roots" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q5WN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2b0556-6105-46a9-b9ee-d188c1213046_759x318.png 424w, https://substackcdn.com/image/fetch/$s_!Q5WN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2b0556-6105-46a9-b9ee-d188c1213046_759x318.png 848w, https://substackcdn.com/image/fetch/$s_!Q5WN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2b0556-6105-46a9-b9ee-d188c1213046_759x318.png 1272w, https://substackcdn.com/image/fetch/$s_!Q5WN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2b0556-6105-46a9-b9ee-d188c1213046_759x318.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q5WN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2b0556-6105-46a9-b9ee-d188c1213046_759x318.png" width="759" height="318" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2e2b0556-6105-46a9-b9ee-d188c1213046_759x318.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:318,&quot;width&quot;:759,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:158660,&quot;alt&quot;:&quot;List of practices: collective code, magic circle, weekly cycle, incremental design, mmmss, shared goals&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://tidyfirst.substack.com/p/fruits-and-roots&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="List of practices: collective code, magic circle, weekly cycle, incremental design, mmmss, shared goals" title="List of practices: collective code, magic circle, weekly cycle, incremental design, mmmss, shared goals" srcset="https://substackcdn.com/image/fetch/$s_!Q5WN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2b0556-6105-46a9-b9ee-d188c1213046_759x318.png 424w, https://substackcdn.com/image/fetch/$s_!Q5WN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2b0556-6105-46a9-b9ee-d188c1213046_759x318.png 848w, https://substackcdn.com/image/fetch/$s_!Q5WN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2b0556-6105-46a9-b9ee-d188c1213046_759x318.png 1272w, https://substackcdn.com/image/fetch/$s_!Q5WN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2b0556-6105-46a9-b9ee-d188c1213046_759x318.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><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><h2>Reaction</h2><p>Why is the possibility of teams living with no bugs so threatening to some folks?</p><p>First, this is just what it&#8217;s like trying to communicate from The Forest to The Desert. Assumptions in one realm seem absurd in the other.</p><p>Second, it&#8217;s clear that folks in The Desert are attached to the notion of production defects as just part of development. That feels like a coping mechanism to me&#8212;folks feel bad about production bugs so they soothe themselves by assuming they are inevitable.</p><p>Last, getting from a Desert perspective on production defects to a Forest perspective is going to be mighty hard work. You&#8217;re changing the plane&#8217;s engine in the air. But no bugs is not rocket surgery. And it carries benefits for everyone involved.</p>]]></content:encoded></item><item><title><![CDATA[Managing Expand Projects]]></title><description><![CDATA[So if &#8220;the exploration that cannot fail is not an exploration&#8221;, then how are you supposed to manage high-risk, high-consequence projects?]]></description><link>https://tidyfirst.substack.com/p/managing-expand-projects</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/managing-expand-projects</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Thu, 02 Jan 2025 13:58:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7e3t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0fcd2d-c410-40fb-8f0d-c24f583bf81c.heic" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>So if &#8220;<a href="https://tidyfirst.substack.com/p/the-explore-that-cannot-fail-is-not">the exploration that cannot fail is not an exploration</a>&#8221;, then how are you supposed to manage high-risk, high-consequence projects? I strive to propose, not complain [ed: <a href="https://open.substack.com/pub/tidyfirst/p/complain-and-propose?r=ehk17&amp;utm_campaign=post&amp;utm_medium=web&amp;showWelcomeOnShare=true">post to follow</a>]. Here&#8217;s my proposal.</p><p>First, let me say that when I say &#8220;high consequence&#8221;, I don&#8217;t mean human life. Taking responsibility for human life in programming projects requires some of the same principles, but turned all the way up. I&#8217;ve done it, but it&#8217;s not the norm. Here I&#8217;m speaking of business consequences.</p><h2>Structure of Expand</h2><p>Back to 3X: Explore/Expand/Extract basics, Expand is the phase of the project/company/industry where you have explored &amp; found a new growth engine. Expand is powered by a reinforcing feedback cycle where the more you grow, the easier it is to grow more.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7e3t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0fcd2d-c410-40fb-8f0d-c24f583bf81c.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7e3t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0fcd2d-c410-40fb-8f0d-c24f583bf81c.heic 424w, https://substackcdn.com/image/fetch/$s_!7e3t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0fcd2d-c410-40fb-8f0d-c24f583bf81c.heic 848w, https://substackcdn.com/image/fetch/$s_!7e3t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0fcd2d-c410-40fb-8f0d-c24f583bf81c.heic 1272w, https://substackcdn.com/image/fetch/$s_!7e3t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0fcd2d-c410-40fb-8f0d-c24f583bf81c.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7e3t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0fcd2d-c410-40fb-8f0d-c24f583bf81c.heic" width="1456" height="831" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a0fcd2d-c410-40fb-8f0d-c24f583bf81c.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:831,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:182983,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7e3t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0fcd2d-c410-40fb-8f0d-c24f583bf81c.heic 424w, https://substackcdn.com/image/fetch/$s_!7e3t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0fcd2d-c410-40fb-8f0d-c24f583bf81c.heic 848w, https://substackcdn.com/image/fetch/$s_!7e3t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0fcd2d-c410-40fb-8f0d-c24f583bf81c.heic 1272w, https://substackcdn.com/image/fetch/$s_!7e3t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0fcd2d-c410-40fb-8f0d-c24f583bf81c.heic 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>This &#8220;hypergrowth&#8221; will be threatened by a series of near-catastrophes, each of which you must avoid to realize the potential of the growth loop you have so fortuitously discovered. And it isn&#8217;t hyperbole to call them catastrophes. As <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Luca Dellanna&quot;,&quot;id&quot;:7012085,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce2ffe3f-ad8e-4c41-a542-87167a4f0c4c_500x500.png&quot;,&quot;uuid&quot;:&quot;d2f3602b-319c-4046-ae29-e73e04438e57&quot;}" data-component-name="MentionToDOM"></span> puts it, &#8220;irreversibility <em><strong>absorbs future gains</strong></em>&#8221;.</p><p>When you are truly in Expand, each near-catastrophe will come at you like a sharp curve on a foggy mountain road at night. You need to survive each one to experience the next. Attempts to solve all future problems through careful &amp; thorough engineering will backfire. The extra effort &amp; delay increase the chances of an irreversible disaster. Expand is the time for duct tape &amp; zip ties.</p><h2>Rate Limiting Resource</h2><p>Each crisis is brought about by the intersection of the supply of some critical resource &amp; the (rapidly rising) demand for that 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_!59d3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60cbcec-7ebe-4ddf-99c0-b035601ee354.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!59d3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60cbcec-7ebe-4ddf-99c0-b035601ee354.heic 424w, https://substackcdn.com/image/fetch/$s_!59d3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60cbcec-7ebe-4ddf-99c0-b035601ee354.heic 848w, https://substackcdn.com/image/fetch/$s_!59d3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60cbcec-7ebe-4ddf-99c0-b035601ee354.heic 1272w, https://substackcdn.com/image/fetch/$s_!59d3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60cbcec-7ebe-4ddf-99c0-b035601ee354.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!59d3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60cbcec-7ebe-4ddf-99c0-b035601ee354.heic" width="1456" height="837" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e60cbcec-7ebe-4ddf-99c0-b035601ee354.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:837,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:231615,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!59d3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60cbcec-7ebe-4ddf-99c0-b035601ee354.heic 424w, https://substackcdn.com/image/fetch/$s_!59d3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60cbcec-7ebe-4ddf-99c0-b035601ee354.heic 848w, https://substackcdn.com/image/fetch/$s_!59d3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60cbcec-7ebe-4ddf-99c0-b035601ee354.heic 1272w, https://substackcdn.com/image/fetch/$s_!59d3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60cbcec-7ebe-4ddf-99c0-b035601ee354.heic 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>There was some resource&#8212;network bandwidth, CPUs, trucks, programmers, insurance&#8212;that was plentiful enough not to worry about. Demand for it has skyrocketed because you&#8217;ve been zipping around that growth loop (love those exponentials). Some day in the future (you hope it&#8217;s the future), you&#8217;re going to need more of the resource than is available. That is going to be a terrible, horrible, very bad, no good day.</p><h2>In Theory</h2><p>Your job in Expand is to put that day off into the indefinite future. Not &#8220;solve&#8221; the problem. Not beautifully &amp; elegantly finesse it. Nor yet ignore it. Put it off so you can be ready for the next looming catastrophic curve crossing.</p><p>You do this by some combination of bending the supply curve up &amp; bending the demand curve down.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!A0OD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cdfab1b-2006-4fc2-baad-1c90ee3fe078.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!A0OD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cdfab1b-2006-4fc2-baad-1c90ee3fe078.heic 424w, https://substackcdn.com/image/fetch/$s_!A0OD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cdfab1b-2006-4fc2-baad-1c90ee3fe078.heic 848w, https://substackcdn.com/image/fetch/$s_!A0OD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cdfab1b-2006-4fc2-baad-1c90ee3fe078.heic 1272w, https://substackcdn.com/image/fetch/$s_!A0OD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cdfab1b-2006-4fc2-baad-1c90ee3fe078.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!A0OD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cdfab1b-2006-4fc2-baad-1c90ee3fe078.heic" width="1456" height="844" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4cdfab1b-2006-4fc2-baad-1c90ee3fe078.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:844,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:233846,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!A0OD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cdfab1b-2006-4fc2-baad-1c90ee3fe078.heic 424w, https://substackcdn.com/image/fetch/$s_!A0OD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cdfab1b-2006-4fc2-baad-1c90ee3fe078.heic 848w, https://substackcdn.com/image/fetch/$s_!A0OD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cdfab1b-2006-4fc2-baad-1c90ee3fe078.heic 1272w, https://substackcdn.com/image/fetch/$s_!A0OD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cdfab1b-2006-4fc2-baad-1c90ee3fe078.heic 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>No more imminent death!</p><p>How? Increase supply by:</p><ul><li><p>Throwing money at the problem. You&#8217;ve been frugal while exploring. Relax that constraint for the moment. Capital sniffs out expansion. Spend some of it.</p></li><li><p>Quick engineering. Since you haven&#8217;t been focused on this resource, perhaps there&#8217;s some quick way to supply more of it.</p></li></ul><p>Decrease demand by:</p><ul><li><p>Limiting growth. Think of all the &#8220;invitation only&#8221; projects. It&#8217;s good marketing but it&#8217;s also good engineering. If you know what your safe growth curve looks like, don&#8217;t take on more customers than that.</p></li><li><p>Load shedding. Delete features that aren&#8217;t critical to the growth curve. Some of your pet features may need to be shelved. Boo hoo.</p></li><li><p>Optimizing. Use less of the resource per user. Delay kills, though, so be tactical.</p></li></ul><h2>Structure</h2><p>We&#8217;re almost ready to discuss the alternative to &#8220;can&#8217;t fail explorations&#8221;. The conceptual leap comes from observing that Explore/Expand/Extract curves are fractal. What looks like a smooth line in a macro view is made up of a bunch of little S-curves.</p><p>The overall Explore/Expand/Extract curve:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h9gc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0faca47-828c-426e-9eb3-dfa9f89946f6.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h9gc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0faca47-828c-426e-9eb3-dfa9f89946f6.heic 424w, https://substackcdn.com/image/fetch/$s_!h9gc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0faca47-828c-426e-9eb3-dfa9f89946f6.heic 848w, https://substackcdn.com/image/fetch/$s_!h9gc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0faca47-828c-426e-9eb3-dfa9f89946f6.heic 1272w, https://substackcdn.com/image/fetch/$s_!h9gc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0faca47-828c-426e-9eb3-dfa9f89946f6.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h9gc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0faca47-828c-426e-9eb3-dfa9f89946f6.heic" width="1456" height="1007" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e0faca47-828c-426e-9eb3-dfa9f89946f6.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1007,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:206174,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!h9gc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0faca47-828c-426e-9eb3-dfa9f89946f6.heic 424w, https://substackcdn.com/image/fetch/$s_!h9gc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0faca47-828c-426e-9eb3-dfa9f89946f6.heic 848w, https://substackcdn.com/image/fetch/$s_!h9gc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0faca47-828c-426e-9eb3-dfa9f89946f6.heic 1272w, https://substackcdn.com/image/fetch/$s_!h9gc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0faca47-828c-426e-9eb3-dfa9f89946f6.heic 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>Let&#8217;s, um, expand the Expand segment, showing that it is made up of little 3X curves:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zVzu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8c6529-16a9-4fd2-9ed4-52ed5eb05fb5.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zVzu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8c6529-16a9-4fd2-9ed4-52ed5eb05fb5.heic 424w, https://substackcdn.com/image/fetch/$s_!zVzu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8c6529-16a9-4fd2-9ed4-52ed5eb05fb5.heic 848w, https://substackcdn.com/image/fetch/$s_!zVzu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8c6529-16a9-4fd2-9ed4-52ed5eb05fb5.heic 1272w, https://substackcdn.com/image/fetch/$s_!zVzu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8c6529-16a9-4fd2-9ed4-52ed5eb05fb5.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zVzu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8c6529-16a9-4fd2-9ed4-52ed5eb05fb5.heic" width="1456" height="1052" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fb8c6529-16a9-4fd2-9ed4-52ed5eb05fb5.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1052,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:202560,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zVzu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8c6529-16a9-4fd2-9ed4-52ed5eb05fb5.heic 424w, https://substackcdn.com/image/fetch/$s_!zVzu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8c6529-16a9-4fd2-9ed4-52ed5eb05fb5.heic 848w, https://substackcdn.com/image/fetch/$s_!zVzu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8c6529-16a9-4fd2-9ed4-52ed5eb05fb5.heic 1272w, https://substackcdn.com/image/fetch/$s_!zVzu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8c6529-16a9-4fd2-9ed4-52ed5eb05fb5.heic 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>Now we can expand one of those curves to see the whole structure:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!x9nu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e26f12c-537d-47a6-938c-da20e3028afd.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x9nu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e26f12c-537d-47a6-938c-da20e3028afd.heic 424w, https://substackcdn.com/image/fetch/$s_!x9nu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e26f12c-537d-47a6-938c-da20e3028afd.heic 848w, https://substackcdn.com/image/fetch/$s_!x9nu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e26f12c-537d-47a6-938c-da20e3028afd.heic 1272w, https://substackcdn.com/image/fetch/$s_!x9nu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e26f12c-537d-47a6-938c-da20e3028afd.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!x9nu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e26f12c-537d-47a6-938c-da20e3028afd.heic" width="1456" height="1061" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7e26f12c-537d-47a6-938c-da20e3028afd.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1061,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:217562,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!x9nu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e26f12c-537d-47a6-938c-da20e3028afd.heic 424w, https://substackcdn.com/image/fetch/$s_!x9nu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e26f12c-537d-47a6-938c-da20e3028afd.heic 848w, https://substackcdn.com/image/fetch/$s_!x9nu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e26f12c-537d-47a6-938c-da20e3028afd.heic 1272w, https://substackcdn.com/image/fetch/$s_!x9nu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e26f12c-537d-47a6-938c-da20e3028afd.heic 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>And the Explore portion of that Expand sub-project looks like any exploration any where. We try a bunch of things. Most we abandon. The one that works surprisingly well we expand on:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GRiT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cdd9c2-71c1-407f-b824-2f3ebf11d245.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GRiT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cdd9c2-71c1-407f-b824-2f3ebf11d245.heic 424w, https://substackcdn.com/image/fetch/$s_!GRiT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cdd9c2-71c1-407f-b824-2f3ebf11d245.heic 848w, https://substackcdn.com/image/fetch/$s_!GRiT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cdd9c2-71c1-407f-b824-2f3ebf11d245.heic 1272w, https://substackcdn.com/image/fetch/$s_!GRiT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cdd9c2-71c1-407f-b824-2f3ebf11d245.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GRiT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cdd9c2-71c1-407f-b824-2f3ebf11d245.heic" width="1456" height="1159" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4cdd9c2-71c1-407f-b824-2f3ebf11d245.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1159,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:227226,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GRiT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cdd9c2-71c1-407f-b824-2f3ebf11d245.heic 424w, https://substackcdn.com/image/fetch/$s_!GRiT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cdd9c2-71c1-407f-b824-2f3ebf11d245.heic 848w, https://substackcdn.com/image/fetch/$s_!GRiT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cdd9c2-71c1-407f-b824-2f3ebf11d245.heic 1272w, https://substackcdn.com/image/fetch/$s_!GRiT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4cdd9c2-71c1-407f-b824-2f3ebf11d245.heic 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><h2>High-Risk Management</h2><p>That is &#8220;managing substantial risks&#8221;, not &#8220;managing so as to increase risk&#8221;.</p><p>Panic is your nemesis while expanding. The temptation is to see a looming resource supply/demand cross-over &amp; try to &#8220;solve&#8221; it. As your initial solution encounters problems, sunk cost fallacy breeds with terror to produce insane hours, little progress, &amp; compounding risk of irreversible failure.</p><p>Acknowledge the situation. The price of success is seemingly insurmountable problems. That you don&#8217;t know how to solve the problem is a good sign. It means fewer competitors. But the nature of risk doesn&#8217;t change just because it scares you. The way forward is by acting appropriately for the 3X phase you&#8217;re in.</p><p>You&#8217;re in Expand overall, but for this particular looming resource shortage you start in Explore. If you&#8217;ve been reading along with 3X you know the rules for Explore:</p><ul><li><p>Creativity &amp; diversity. You don&#8217;t want your project to die just because you didn&#8217;t look around.</p></li><li><p>Small experiments, quickly discarded.</p></li><li><p>Experiment in parallel. Why not? You have the money.</p></li><li><p>Collaborate closely. The team should still be small at this point, which makes this easier. (Hey, if it was easy easy then regular people could do it.)</p></li></ul><p>Once you&#8217;ve found a promising idea to increase supply and/or reduce demand, focus on that idea alone (Expand &amp; then Extract) until this crisis has been averted. Then keep your eyes open for the next looming catastrophe.</p><p>Oh, and once there&#8217;s only hard work ahead, no catastrophes, then you&#8217;re ready to shift into Extract mode. Extract is its own deal. For another day.</p><h2>Conclusion</h2><p>When stakes are high &amp; the consequences for failure expand, that is exactly the time to use good project hygiene. It&#8217;s not heroics. It&#8217;s smart engineering in an environment with strange &amp; unpredictable constraints.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I9VZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb8526e-1d2b-438b-ab10-d14223737c19.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I9VZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb8526e-1d2b-438b-ab10-d14223737c19.heic 424w, https://substackcdn.com/image/fetch/$s_!I9VZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb8526e-1d2b-438b-ab10-d14223737c19.heic 848w, https://substackcdn.com/image/fetch/$s_!I9VZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb8526e-1d2b-438b-ab10-d14223737c19.heic 1272w, https://substackcdn.com/image/fetch/$s_!I9VZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb8526e-1d2b-438b-ab10-d14223737c19.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I9VZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb8526e-1d2b-438b-ab10-d14223737c19.heic" width="1456" height="1137" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7fb8526e-1d2b-438b-ab10-d14223737c19.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1137,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:185927,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!I9VZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb8526e-1d2b-438b-ab10-d14223737c19.heic 424w, https://substackcdn.com/image/fetch/$s_!I9VZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb8526e-1d2b-438b-ab10-d14223737c19.heic 848w, https://substackcdn.com/image/fetch/$s_!I9VZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb8526e-1d2b-438b-ab10-d14223737c19.heic 1272w, https://substackcdn.com/image/fetch/$s_!I9VZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb8526e-1d2b-438b-ab10-d14223737c19.heic 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>Some day the limitations to growth will kick in. Not today, Satan.</p>]]></content:encoded></item><item><title><![CDATA[The Explore That Cannot Fail Is Not An Explore]]></title><description><![CDATA[We&#8217;ve mentioned that one of the fruits of working in The Forest is that you&#8217;ll see lots of experiments.]]></description><link>https://tidyfirst.substack.com/p/the-explore-that-cannot-fail-is-not</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/the-explore-that-cannot-fail-is-not</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Tue, 17 Dec 2024 16:06:49 GMT</pubDate><content:encoded><![CDATA[<p>We&#8217;ve mentioned that one of the fruits of working in The Forest is that you&#8217;ll see lots of experiments. Folks will try lots of ideas (carefully, in reversible ways) &amp; discard them because:</p><ul><li><p>They didn&#8217;t work, in the sense of not having the desired outcome (change in user behavior) or impact (profit)</p></li><li><p>They worked, but the externalities were too large<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a></p></li><li><p>They work&#8230;</p></li></ul>
      <p>
          <a href="https://tidyfirst.substack.com/p/the-explore-that-cannot-fail-is-not">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Product Development Triathlon]]></title><description><![CDATA[The debut of 3X: Explore/Expand/Extract]]></description><link>https://tidyfirst.substack.com/p/the-product-development-triathlon</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/the-product-development-triathlon</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Fri, 06 Dec 2024 13:21:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!9BKX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4140b835-1714-4797-abe8-38818d809416_700x855.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p>Republished from the copy published 25 March 2016. Republished from the original published on 19 July 2016.</p></blockquote><p>Because I keep careful notes these days I can identify the precise moment when I asked the question I should have asked twenty years ago: what if those waterfall folks aren&#8217;t wrong, what if they are solving a different problem than I&#8217;m solving? What problem is that?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9BKX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4140b835-1714-4797-abe8-38818d809416_700x855.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9BKX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4140b835-1714-4797-abe8-38818d809416_700x855.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9BKX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4140b835-1714-4797-abe8-38818d809416_700x855.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9BKX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4140b835-1714-4797-abe8-38818d809416_700x855.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9BKX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4140b835-1714-4797-abe8-38818d809416_700x855.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9BKX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4140b835-1714-4797-abe8-38818d809416_700x855.jpeg" width="700" height="855" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4140b835-1714-4797-abe8-38818d809416_700x855.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:855,&quot;width&quot;:700,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Notebook page with convex &amp; concave curves&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Notebook page with convex &amp; concave curves" title="Notebook page with convex &amp; concave curves" srcset="https://substackcdn.com/image/fetch/$s_!9BKX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4140b835-1714-4797-abe8-38818d809416_700x855.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9BKX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4140b835-1714-4797-abe8-38818d809416_700x855.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9BKX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4140b835-1714-4797-abe8-38818d809416_700x855.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9BKX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4140b835-1714-4797-abe8-38818d809416_700x855.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><figcaption class="image-caption">The Moment of Insight</figcaption></figure></div><p>The past four months have been fecund beyond belief for me. I have changed how I approach software development but also life in general. Different risk profiles call for different approaches, but I can sometimes choose which risk profile I use in a situation.</p><p>Trying to communicate my insight has been frustrating. I feel like a puppy on a hike. I&#8217;ve run ahead, found an <em>awesome</em> stick, brought it back, dropped it at my masters&#8217; feet, and now I&#8217;m barking madly without anyone paying to attention to just how <em>awesome</em> the stick really is.</p><p>I awoke in the middle of the night with a new approach, a new metaphor to go with the new vocabulary I&#8217;m using. Here goes.</p><h2><strong>Explore/Expand/Extract</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JqKo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc24bc2-8beb-48da-970a-16388d77f77e_667x520.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JqKo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc24bc2-8beb-48da-970a-16388d77f77e_667x520.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JqKo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc24bc2-8beb-48da-970a-16388d77f77e_667x520.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JqKo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc24bc2-8beb-48da-970a-16388d77f77e_667x520.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JqKo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc24bc2-8beb-48da-970a-16388d77f77e_667x520.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JqKo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc24bc2-8beb-48da-970a-16388d77f77e_667x520.jpeg" width="667" height="520" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cc24bc2-8beb-48da-970a-16388d77f77e_667x520.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:520,&quot;width&quot;:667,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JqKo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc24bc2-8beb-48da-970a-16388d77f77e_667x520.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JqKo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc24bc2-8beb-48da-970a-16388d77f77e_667x520.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JqKo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc24bc2-8beb-48da-970a-16388d77f77e_667x520.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JqKo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc24bc2-8beb-48da-970a-16388d77f77e_667x520.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>Product development proceeds in three phases:</p><ul><li><p>Explore&#8211;the risky search for a viable return on a viable investment. Successful exploration is unpredictable, so the highest expected value strategy is to reduce the cost of experimentation and put a little investment into many, uncorrelated experiments. If you&#8217;re lucky, one of these experiments turns out to be unexpectedly successful, which leads to:</p></li><li><p>Expand&#8211;now things are going nuts (think Pokemon Go or Facebook Live Video). Unanticipated bottlenecks appear. All you have time for is to eliminate the next bottleneck just before it derails you. Once growth becomes routine, it&#8217;s time to:</p></li><li><p>Extract&#8211;now the shape of the problem and solution spaces are clear. One euro in equals three euros out. Playbooks emerge: here&#8217;s how you roll out the service in a new city. Economies of scale matter: delivering the service at lower cost is more profitable.</p></li></ul><p>There&#8217;s hours and hours of cool stuff implied by this model, but that&#8217;s the basics.</p><h2><strong>Lessons from the Triathlon</strong></h2><ul><li><p>Each phases requires different equipment, different technique, different training. Software product development requires different tools, techniques, and value systems in the three phases. (The answer to the ??? in my notebook is &#8220;Efficient Extraction&#8221;.)</p></li><li><p>You can&#8217;t mix the phases. Just because biking is the fastest phase in kilometers per hour doesn&#8217;t mean you can go faster by taking your bike into the water. (I was dealing with a project prematurely moving from explore to expand just yesterday.)</p></li><li><p>The transitions are awkward, but they count. If a project goes from one phase to another and the team doesn&#8217;t notice, it&#8217;s like trying to swim on a bike. Not so good.</p></li><li><p>Only organizations that can execute all three phases can complete a race. If you just don&#8217;t feel like running, then it&#8217;s not a triathlon.</p></li><li><p>Unlike a triathlon, the same people don&#8217;t have to complete the phases. I specialize in exploration. As soon as expansion starts, I&#8217;m ready to start exploring again. As long as there is someone I can hand off to, this works fine.</p></li><li><p>The relative progress of the three phases roughly maps. Exploration (swimming) seems slow. Experiment after experiment fails. False hopes are dashed. Repeatedly. Then comes the &#8220;overnight success&#8221; of expansion (biking). Progress that would have taken months now happens in days or hours, just like a mile on a bike is <em>way</em> shorter than a mile swimming. Extraction (running) is more of a slog than expansion.</p></li><li><p>??? [hoping for suggestions from actual triathletes or poets]</p></li></ul><h2><strong>Application</strong></h2><p>A few highlights:</p><ul><li><p>Choose exploration. If you&#8217;re extracting and starting to feel hopeless or burned out, deliberately switch to exploration.</p></li><li><p>Accelerate experimentation. If you&#8217;re following all the rules and your experiments aren&#8217;t getting anywhere, break the rules to experiment faster. If experiments aren&#8217;t likely to last, quick and easy won&#8217;t cost you in the long run.</p></li><li><p>Transition. If things aren&#8217;t going smoothly, see if you&#8217;ve changed phases without noticing. If so, change the rules to match the phase you&#8217;re in.</p></li></ul><p>I&#8217;m only four months in, so I&#8217;m sure there&#8217;ll be lots more to come. I hope I&#8217;ve convinced you that this really is an <em>awesome awesome</em> stick.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!f8SU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1514a3b0-33ed-4bb7-945c-eb408283c311_522x509.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f8SU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1514a3b0-33ed-4bb7-945c-eb408283c311_522x509.jpeg 424w, https://substackcdn.com/image/fetch/$s_!f8SU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1514a3b0-33ed-4bb7-945c-eb408283c311_522x509.jpeg 848w, https://substackcdn.com/image/fetch/$s_!f8SU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1514a3b0-33ed-4bb7-945c-eb408283c311_522x509.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!f8SU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1514a3b0-33ed-4bb7-945c-eb408283c311_522x509.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!f8SU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1514a3b0-33ed-4bb7-945c-eb408283c311_522x509.jpeg" width="522" height="509" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1514a3b0-33ed-4bb7-945c-eb408283c311_522x509.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:509,&quot;width&quot;:522,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Bernese Mountain Dog laying on a tile floor crunching a stick&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Bernese Mountain Dog laying on a tile floor crunching a stick" title="Bernese Mountain Dog laying on a tile floor crunching a stick" srcset="https://substackcdn.com/image/fetch/$s_!f8SU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1514a3b0-33ed-4bb7-945c-eb408283c311_522x509.jpeg 424w, https://substackcdn.com/image/fetch/$s_!f8SU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1514a3b0-33ed-4bb7-945c-eb408283c311_522x509.jpeg 848w, https://substackcdn.com/image/fetch/$s_!f8SU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1514a3b0-33ed-4bb7-945c-eb408283c311_522x509.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!f8SU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1514a3b0-33ed-4bb7-945c-eb408283c311_522x509.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><figcaption class="image-caption">Gratuitous Puppy Picture</figcaption></figure></div>]]></content:encoded></item><item><title><![CDATA[Learning in the Forest]]></title><description><![CDATA[How & why does The Forest emphasize learning over production?]]></description><link>https://tidyfirst.substack.com/p/learning-in-the-forest</link><guid isPermaLink="false">https://tidyfirst.substack.com/p/learning-in-the-forest</guid><dc:creator><![CDATA[Kent Beck]]></dc:creator><pubDate>Fri, 22 Nov 2024 14:32:04 GMT</pubDate><content:encoded><![CDATA[<p>How &amp; why does The Forest emphasize learning over production?</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://techhub.social/@thrillfall/113490644236060541" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cOSy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c18a32f-0673-40ca-9cb1-5cd7ccc0561c_583x220.png 424w, https://substackcdn.com/image/fetch/$s_!cOSy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c18a32f-0673-40ca-9cb1-5cd7ccc0561c_583x220.png 848w, https://substackcdn.com/image/fetch/$s_!cOSy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c18a32f-0673-40ca-9cb1-5cd7ccc0561c_583x220.png 1272w, https://substackcdn.com/image/fetch/$s_!cOSy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c18a32f-0673-40ca-9cb1-5cd7ccc0561c_583x220.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cOSy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c18a32f-0673-40ca-9cb1-5cd7ccc0561c_583x220.png" width="583" height="220" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9c18a32f-0673-40ca-9cb1-5cd7ccc0561c_583x220.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:220,&quot;width&quot;:583,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:48604,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://techhub.social/@thrillfall/113490644236060541&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cOSy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c18a32f-0673-40ca-9cb1-5cd7ccc0561c_583x220.png 424w, https://substackcdn.com/image/fetch/$s_!cOSy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c18a32f-0673-40ca-9cb1-5cd7ccc0561c_583x220.png 848w, https://substackcdn.com/image/fetch/$s_!cOSy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c18a32f-0673-40ca-9cb1-5cd7ccc0561c_583x220.png 1272w, https://substackcdn.com/image/fetch/$s_!cOSy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c18a32f-0673-40ca-9cb1-5cd7ccc0561c_583x220.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>Well here you go, thrillfall.</p><p>Kent once visited a media tablet project that Dan Ingalls was running (pre-iPad). They were coding in Smalltalk, of course, but they had to port it to their new platform. He was telling me the story of implementing the graphics primitives. Dan had (with Diana Merry-Shapiro) invented BitBLT. Everybody on the team had implemented BitBLT on some platform. Everybody except one. So that person, of course, implemented BitBLT.</p><p>It was the &#8220;of course&#8221; that startled Kent. Could someone else have done it faster? Yes, in the sense that the graphics would have started running sooner. Any chance of this implementation turning out fatally worse? No, not with all that kibitzing power around. Might it turn out better? Maybe.</p><p>This is Learning in The Forest. People take on tasks that will help them learn the most. Whatever the project gives up in this week&#8217;s productivity will be more than made up later through:</p><ul><li><p>Innovation</p></li><li><p>Confidence</p></li><li><p>Energy &amp; engagement</p></li><li><p>No bottlenecks</p></li></ul><h2>Juniors</h2><p>How about the specific case of juniors. Juniors have almost everything to learn. What do we see in The Forest?</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://hachyderm.io/@mb21/113491708675980020" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X6Ta!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c2fc690-b912-4e62-9812-e5caf0959f60_493x121.png 424w, https://substackcdn.com/image/fetch/$s_!X6Ta!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c2fc690-b912-4e62-9812-e5caf0959f60_493x121.png 848w, https://substackcdn.com/image/fetch/$s_!X6Ta!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c2fc690-b912-4e62-9812-e5caf0959f60_493x121.png 1272w, https://substackcdn.com/image/fetch/$s_!X6Ta!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c2fc690-b912-4e62-9812-e5caf0959f60_493x121.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X6Ta!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c2fc690-b912-4e62-9812-e5caf0959f60_493x121.png" width="493" height="121" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c2fc690-b912-4e62-9812-e5caf0959f60_493x121.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:121,&quot;width&quot;:493,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:19518,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://hachyderm.io/@mb21/113491708675980020&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!X6Ta!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c2fc690-b912-4e62-9812-e5caf0959f60_493x121.png 424w, https://substackcdn.com/image/fetch/$s_!X6Ta!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c2fc690-b912-4e62-9812-e5caf0959f60_493x121.png 848w, https://substackcdn.com/image/fetch/$s_!X6Ta!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c2fc690-b912-4e62-9812-e5caf0959f60_493x121.png 1272w, https://substackcdn.com/image/fetch/$s_!X6Ta!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c2fc690-b912-4e62-9812-e5caf0959f60_493x121.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>In The Forest we accept that they&#8217;re juniors. They&#8217;re just not going to get that much done. What they do is going to interfere with itself later.</p><p>In The Forest we don&#8217;t try to squeeze a little bit of production out of juniors, we fill them up as quickly as possible while adhering to the rest of The Forest program.</p><ul><li><p>Self-selection of tasks. Each junior knows more about what they are ready to learn next. Use that knowledge.</p></li><li><p>Pairing is for learning. When seniors pair with juniors, the goal is maximizing learning, not production. (This may be a new skill for the senior, so train, practice, &amp; discuss teaching through pairing.)</p></li><li><p>Demos. You may miss a few demos. Don&#8217;t miss two in a row. Explain why weekly demonstration of customer-valued features is critical. Slice the next week finer. Get a crude demo ready by Wednesday.</p></li><li><p>Relax. Tell the juniors to stop working when you see them tired, whether things are going well or badly. They won&#8217;t know how to regulate anxiety or excitement.</p></li></ul><h2>Learning</h2><div class="pullquote"><p>A year in The Forest is better than a Master&#8217;s degree.</p></div><p>Learning is how The Forest generates sufficient resources for tomorrow while achieving sufficient results today. Production insufficient? Learn more.</p><p>If you&#8217;re having problems because your engineers lack skill &amp; you&#8217;re having the same problems a year later, that&#8217;s a You Problem, not a Them Problem. The Forest is right there!</p><p>A year in the Forest is better than a Master's degree. &#8220;Of course your project was successful. Look at all these amazing engineers!&#8221;</p>]]></content:encoded></item></channel></rss>