<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[The Product Economist]]></title><description><![CDATA[Product & Engineering musings]]></description><link>https://www.theproducteconomist.com</link><image><url>https://substackcdn.com/image/fetch/$s_!B9jx!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810037fb-a48d-492f-9a57-b58a7043d717_1024x1024.png</url><title>The Product Economist</title><link>https://www.theproducteconomist.com</link></image><generator>Substack</generator><lastBuildDate>Wed, 15 Apr 2026 20:24:36 GMT</lastBuildDate><atom:link href="https://www.theproducteconomist.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Taylor Smart]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[theproducteconomist@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[theproducteconomist@substack.com]]></itunes:email><itunes:name><![CDATA[Taylor Smart]]></itunes:name></itunes:owner><itunes:author><![CDATA[Taylor Smart]]></itunes:author><googleplay:owner><![CDATA[theproducteconomist@substack.com]]></googleplay:owner><googleplay:email><![CDATA[theproducteconomist@substack.com]]></googleplay:email><googleplay:author><![CDATA[Taylor Smart]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Move Fast and Break Deliberately]]></title><description><![CDATA[Speed is good, aimlessness is not. How to code fast while mind the dashboard lights.]]></description><link>https://www.theproducteconomist.com/p/move-fast-and-break-deliberately</link><guid isPermaLink="false">https://www.theproducteconomist.com/p/move-fast-and-break-deliberately</guid><dc:creator><![CDATA[Taylor Smart]]></dc:creator><pubDate>Mon, 14 Jul 2025 23:13:55 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b32098ad-2ddb-448c-b880-380366841786_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In 2009 Facebook&#8217;s rallying cry&#8212;<strong>&#8220;Move fast and break things&#8221;</strong>&#8212;echoed through the halls of every startup. It celebrates speed over caution, which is important in a startup, but does it apply to developed companies that have aging code bases?</p><p>For those companies, (and for startups for that matter) the future <strong>technical debt</strong> of moving fast creates major problems.  </p><p>We see this in Facebook itself as in 2014 the company walked back the mantra, switching to <strong>&#8220;Move fast&#8239;</strong><em><strong>with stable infrastructure</strong></em><strong>.&#8221;</strong> Not as catchy.  Not really the thing that can be shouted on the rooftops of silicon valley justifying poor development in the name of &#8220;proving out an idea&#8221;.  So&#8230; was it adopted by venture capital folks? Of course not&#8212; investors, to this day, are still quoting the original. For them, and for the larger companies that want to mimic the environment of startups, I propose a new mantra: <strong>&#8220;Move fast&#8239;and&#8239;break&#8239;things&#8230; deliberately.&#8221;</strong> Breaking <em>deliberately</em> means deciding <em>what</em> to break&#8212;and, just as crucially, what must stay intact.</p><p>The analogy I&#8217;ll be using in this article will compare tech debt to car maintenance.  I was skeptical it would work at first, but I like of like it. </p><h3>TL;DR</h3><ul><li><p><strong>Mantra upgrade:</strong> <em>Move fast and break deliberately</em>&#8212;speed is good, aimlessness is not.</p></li><li><p><strong>Tech&#8209;debt flavors:</strong> deliberate, accidental, bit&#8209;rot, documentation, testing, architectural.</p></li><li><p><strong>Rule of one:</strong> tolerate <strong>exactly one</strong> debt bucket when moving fast and document the deliberate debt you&#8217;re accepting.</p></li><li><p><strong>Don&#8217;t accept more than one type of technical debt at a time</strong></p></li><li><p><strong>Bottom line:</strong> plan the mess you&#8217;ll clean up later, or the mess will plan your roadmap for you.</p></li></ul><h3>What&#8239;Is&#8239;Technical&#8239;Debt?</h3><p>(<em>As always skip this section if you&#8217;re familiar with the general breakdown of technical debts)</em></p><p><em><strong>Technical debt is the future cost of today&#8217;s shortcuts&#8212;refactoring time, bug fixes, lost velocity.</strong></em></p><p>I believe technical debt comes in six flavors, and they&#8217;re each handy for a product manager to be familiar with as they are asking their development team to rapidly deploy things.</p><ul><li><p><strong>Deliberate Debt</strong> &#8211; chosen shortcuts for speed with a cleanup plan.</p></li><li><p><strong>Accidental&#8239;Debt</strong> &#8211; low&#8209;quality code from inexperience or unclear requirements.</p></li><li><p><strong>Bit&#8209;Rot&#8239;(Outdated)</strong>&#8239;Debt &#8211; aging frameworks, libraries, or stacks that lag behind standards.</p></li><li><p><strong>Documentation&#8239;Debt</strong> &#8211; missing or stale docs that slow onboarding and maintenance.</p></li><li><p><strong>Testing&#8239;Debt</strong> &#8211; sparse automation that raises bug risk and manual effort.</p></li><li><p><strong>Architectural&#8239;Debt</strong> &#8211; structural compromises that strangle scalability and performance.</p></li></ul><h3>How do these debt types map to cars?</h3><p><strong>&#8226; Deliberate Debt</strong> &#8211; &#8220;I can drive a few thousand more miles before an oil change.&#8221;</p><ul><li><p><strong>Accidental Debt</strong> &#8211; A buddy promises they  can paint your car a new color using oil paint. Occasionally, (hopefully not often) you drive through the wall of a grocery store and start a fire that needs some help from others (fire fighters or SRE&#8217;s).</p></li><li><p><strong>Bit&#8209;Rot Debt</strong> &#8211; after years on the road, newer cars boast better mileage and features.</p></li><li><p><strong>Documentation Debt</strong> &#8211; not registering your car on time, misplacing service records, or forgetting tire size at purchase time.</p></li><li><p><strong>Testing Debt</strong> &#8211; skipping regular tune&#8209;ups and safety checks.</p></li><li><p><strong>Architectural Debt</strong> &#8211; fitting diesel parts in a gas engine: everything goes <em>brrr&#8230; broken</em>.</p></li></ul><h3>Which Debt Is Worth&#8239;Accepting?</h3><p><strong>Rule of thumb:</strong> <strong>never</strong> incur architectural debt. Architectural debt is a sign of moving too fast and breaking too many things and is <em>likely</em> the key reason Facebook changed it&#8217;s mantra to the 2014 mantra of, &#8220;Move fast and code with good infrastructure&#8221;. Architectural debt can force <em>heavy rewrites</em> and will thwart all future efforts of moving fast in the future. Move fast&#8230; but don&#8217;t put nos in your engine when you have a 1992 Honda Civic.</p><p>Accidental debt happens, and will happen more if you go fast, but it there&#8217;s not much we can do about it, so ignore it in the calculus.</p><p>Otherwise, choose<strong> one</strong> <strong>other debt</strong> bucket to tolerate; guard the rest ruthlessly. This is important. It will feel like you can accept more than one of the debt types while you are coding, but doing so will stymie your ability to move fast in the future.</p><h4>Option&#8239;1&#8239;&#8211;&#8239;Documentation&#8239;Debt</h4><p>Skip docs <em>only</em> if code is future&#8209;proofed <strong>and</strong> well&#8209;tested.</p><p><strong>Choose this when&#8230;</strong><br>&#8226;&#8239;Your domain logic is stable and unlikely to pivot next quarter.<br>&#8226;&#8239;You have rock&#8209;solid unit/integration tests catching regressions.<br>&#8226;&#8239;The team is small and tribal knowledge can spread over coffee.<br>&#8226;&#8239;You can schedule &#8220;doc&#8209;catch&#8209;up day&#8221; before the next big hire.</p><p><strong>Red flag:</strong> Multiple time&#8209;zones or imminent onboarding? Don&#8217;t trust on tribal memory&#8212;write the docs.</p><h4>Option&#8239;2&#8239;&#8211;&#8239;Bit&#8209;Rot&#8239;Debt</h4><p>Ship disposable experiments quickly; document them and keep tests green so you can revert safely.</p><p><strong>Choose this when&#8230;</strong><br>&#8226;&#8239;You&#8217;re A/B&#8209;testing UI tweaks or feature toggles with a short half&#8209;life.<br>&#8226;&#8239;Market fit is hazy and <em>learning speed</em> beats <em>code longevity</em>.<br>&#8226;&#8239;Your rollback plan is tested and one&#8209;click.<br>&#8226;&#8239;The experiment lives behind a feature flag you can yank at will.</p><p><strong>Red flag:</strong> Core domain or revenue&#8209;critical path? Build it to last, otherwise you&#8217;ll be moving too fast and will be too highly depended on in order to go back and fix the&#8230; choices your team made.</p><h4>Option&#8239;3&#8239;&#8211;&#8239;Testing&#8239;Debt</h4><p>If tests are costly now, invest in rock&#8209;solid design and thorough documentation. Buy time today; plan automated coverage for tomorrow.</p><p><strong>Choose this when&#8230;</strong><br>&#8226;&#8239;Setting up CI/CD or mocks would delay a funding&#8209;critical demo.<br>&#8226;&#8239;The codebase is modular and manual QA can cover edges for a sprint or two.<br>&#8226;&#8239;You have veteran engineers who write defensively and log obsessively.<br>&#8226;&#8239;You&#8217;ve budgeted a &#8220;testing sprint&#8221; on the roadmap (and leadership signed off).</p><p><strong>Red flag:</strong> Rapid&#8209;fire releases or multiple parallel feature branches? Skipping tests will bite&#8212;invest early.</p><h3>The Gamble of Stacking Debts</h3><p>So what if you throw caution to the wind and accept two&#8212;or (you daredevil) three&#8212;debt types at once?</p><p>A table for those of you considering this&#8230; novel approach.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7sbi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d9e3e0-6e14-4ba8-a98c-3b8e36467db5_2110x568.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7sbi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d9e3e0-6e14-4ba8-a98c-3b8e36467db5_2110x568.png 424w, https://substackcdn.com/image/fetch/$s_!7sbi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d9e3e0-6e14-4ba8-a98c-3b8e36467db5_2110x568.png 848w, https://substackcdn.com/image/fetch/$s_!7sbi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d9e3e0-6e14-4ba8-a98c-3b8e36467db5_2110x568.png 1272w, https://substackcdn.com/image/fetch/$s_!7sbi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d9e3e0-6e14-4ba8-a98c-3b8e36467db5_2110x568.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7sbi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d9e3e0-6e14-4ba8-a98c-3b8e36467db5_2110x568.png" width="1456" height="392" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/89d9e3e0-6e14-4ba8-a98c-3b8e36467db5_2110x568.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:392,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:243792,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.theproducteconomist.com/i/168341744?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d9e3e0-6e14-4ba8-a98c-3b8e36467db5_2110x568.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_!7sbi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d9e3e0-6e14-4ba8-a98c-3b8e36467db5_2110x568.png 424w, https://substackcdn.com/image/fetch/$s_!7sbi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d9e3e0-6e14-4ba8-a98c-3b8e36467db5_2110x568.png 848w, https://substackcdn.com/image/fetch/$s_!7sbi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d9e3e0-6e14-4ba8-a98c-3b8e36467db5_2110x568.png 1272w, https://substackcdn.com/image/fetch/$s_!7sbi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d9e3e0-6e14-4ba8-a98c-3b8e36467db5_2110x568.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><strong>Your debt stacks multiply</strong>. If you accept more than one of these technical debts in a project, cognitive load rises, bugs hide and won&#8217;t be found via testing, and every roadmap estimate secretly inflates. Stack too many and your &#8220;move fast&#8221; turns into <em>drive through a lake and wish you had a boat.</em></p><h3>My Garage is Already Messy</h3><p>The goal of this isn&#8217;t to remove tech debt entirely, but it is to document it and ensure that it falls into the &#8220;Deliberate&#8221; tech debt scenario. If you are about to touch a section of code that already has say, poor documentation, then as you move through it you will already have to take time to understand it&#8230; why not add that documentation as you go? Fix, or iterate, on the major sections of tech debt as you perform spikes for the next section of code where you want to move fast. You won&#8217;t be able to break things deliberately if you don&#8217;t know the full scope of the code you&#8217;re about to break.</p><p>Documenting (from a technical perspective) the deliberate debt you want to incur during the move fast period is key. That way when you hop back in you know exactly where the deficiencies are and you can continue down the path of that single deficiency (if you absolutely have to) or you can perform micro improvements on that dataset as you figure out the next deliberate thing you want to ignore.</p><p>It&#8217;s important to note that when you move fast, you do make sacrifices. The ideal situation is that you can handle all aspects of these debts as you go, via &#8220;boom&#8221; and &#8220;bust&#8221; periods of development. Think of it like the seasons and code quickly in the sprint, and slowly in the winter.</p><p>That way your repos engine won&#8217;t shut down right as the warranty expires.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.theproducteconomist.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Product Economist! </p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Kayaking Through Sprint Planning]]></title><description><![CDATA[Sprint planning should feel like launching a kayak &#8212; calm on the surface, current roaring beneath.]]></description><link>https://www.theproducteconomist.com/p/kayaking-through-sprint-planning</link><guid isPermaLink="false">https://www.theproducteconomist.com/p/kayaking-through-sprint-planning</guid><dc:creator><![CDATA[Taylor Smart]]></dc:creator><pubDate>Wed, 09 Jul 2025 22:17:50 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d601b512-aedd-41f2-a408-7d3c9593c644_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>The Analogy</h2><p>For the purposes of this article, your product manager and tech lead have taken the time to refine; they&#8217;ve added every edge case to the acceptance&#8239;criteria&#8239;(AC) of each ticket, and the team has agreed on appropriate story&#8239;points for each ticket to accomplish those ACs.</p><p>Now that we have that hypothetical scenario (no matter how unachievable it is to have perfect tickets), how do we take those tickets and plan them out for a sprint?&#8239;There are some common errors when it comes to sprint planning, and I think they parallel nicely with the errors a kayaker might make.</p><h3>TL;DR</h3><p>If you are one of the few who blindly accept advice without reading the rationale, here&#8217;s your section. But the kayak + sprint planning analogy below is fun - so give it a read.</p><ol><li><p><strong>Assess the importance of specific tickets included in the sprint</strong></p><ul><li><p>Make sure the highly important tickets are distributed across all team members so they can work on them in parallel</p></li><li><p>Pair mission&#8209;critical tickets with your most experienced engineers to protect timelines.</p></li><li><p>Assign low&#8209;priority tickets to individuals who have less experience in the area</p></li></ul></li><li><p><strong>Focus on impact rather than achievement</strong></p><ul><li><p>Don&#8217;t aim to close out your sprints with 100&#8239;% completion on all tickets (This is the core concept I outline below)</p></li></ul></li><li><p><strong>Systematize getting rid of the chaff</strong></p><ul><li><p>Evaluate all overflow tickets (tickets which have carried over from the previous sprint) and remove unnecessary AC or execute on them with priority at the start of the next sprint.</p></li></ul></li></ol><h3>What is sprint planning? </h3><h6><em>(Skip if this is familiar to you)</em></h6><p>Sprint planning is a core agile planning ceremony where teams commit to work for the next iteration.&#8239;The sprint planning is the assignment of tickets to engineers to complete within the sprint window.&#8239;It is a key component because it offers the product team insights into what might be completed at which time &amp; it allows them to escalate those timelines to their constituents.&#8239;It also is the key point where agile offers engineers the opportunity to expand their knowledge.&#8239;Assigning the same tickets (ie: salesforce tickets always go to Sally) to the same people allows for specialization, but that comes with its own risks.</p><p>The completion percentage of these assigned tickets will be used at the end of the sprint to assess the &#8220;Sprint Health,&#8221; and the story points completed will help the team figure out their relative velocity.&#8239;These metrics anchor both agile planning forecasts and stakeholder confidence.&#8239;If your team doesn&#8217;t use story points (they can be pretty hotly debated in their value) read my upcoming article on their value &amp; failure points.</p><h3>Kayak Style Planning: Ride the Current</h3><p>There is no better comparison (there may be, but I&#8217;m unaware of one at the point in time) than comparing the serenity of kayaking to sprint planning.&#8239;Back in 2010, I went on this sea&#8209;kayaking trip in North Carolina&#8217;s Outer&#8239;Banks.&#8239;It was my first time kayaking for any long period of time and I didn&#8217;t realize how it would help me to understand sprint planning later on in life.</p><p><strong>Don&#8217;t close out your sprints</strong></p><p><strong>Aim for 70&#8211;80% completion with your sprint tickets each sprint. </strong>&#8239;When you&#8217;re kayaking across a river, you choose a single point on the opposite river bank and you mercilessly aim for it.&#8239;If you aim directly at it, you&#8217;re not going to hit it.&#8239;You have to take into account the current of the river.</p><p>But the river&#8217;s current is fluid; it&#8217;ll change season by season and even if you nail the current exactly, you still might miss the point because you forgot to take into account the wind.</p><p>Let&#8217;s say you&#8217;re an expert kayaker and you nail both wind and current estimates perfectly; in that situation you may hit the other bank exactly where you&#8217;re aiming&#8230; but was it worth it to spend the time calculating the exact speed of the wind and the exact change in the current in order to hit a specific point on the other side of the bank?</p><p>I doubt it.&#8239;The same holds true with sprint planning.</p><p>With every ticket, you are going to come across situations, edge cases, pieces of the ticket which need to be rewritten, or CSS fluff that doesn&#8217;t necessarily lead to a better outcome. <strong>Don&#8217;t let the idea of hitting all of the AC</strong>&#8217;<strong>s be the overall goal of every individual ticket.</strong>&#8239;If you do, you&#8217;re going to over&#8209;plan your sprint.</p><p>But engineers (myself included) are notoriously terrible at getting their heads out of the weeds when they start driving through acceptance criteria.&#8239;In a ticket made of 10 small things, doing the next small things isn&#8217;t going to make a terrible difference, but a team of team folks doing one small thing that isn&#8217;t really necessary to make sure the kayak hits the other bank isn&#8217;t a good use of time.</p><p><strong>So how do we force engineers to efficiently prioritize?</strong>&#8239;How do we force them to question the value of AC&#8217;s and ensure that their goal is to generate the most impact possible in a ticket following the spirit of the ticket, rather than having a goal of completing each and every AC?</p><p><strong>Deliberately over&#8209;commit so the team normalizes healthy, data&#8209;driven misses.</strong>&#8239;Every single sprint, we are going to fail to meet our goal of closing out every ticket.&#8239;We are going to talk about what we miss, and we are going to see which misses were justified and which need to be carried over into the next sprint.&#8239;But you should never give them tickets that are expected to be 100% completed.&#8239;That ensures that you are going to waste time doing things that are not necessarily worth the value.</p><p>If we set goals that are not achievable, we are still going to make it to the opposite bank, and then afterwards we can discuss if we can take into account the wind or the current a little more in the next sprint.&#8239;Not with the goal of reaching 100%, paddling that last 30% is the most exhausting because no matter what you are going to be going against the current at some point.&#8239;It&#8217;s the final&#8209;mile problem of delivery trucks manifesting in the sprint planning process.&#8239;<strong>So over&#8209;plan, under&#8209;deliver, intentionally.</strong></p><p>On that kayaking trip, when we hit the other bank, we didn&#8217;t care if we landed at the exact point we aimed - we only cared that we landed in the general area we were hoping. And when we missed our that exact point, we certainly didn&#8217;t carry our kayaks up the bank to make sure we camped there.</p><p>Priorities change and should be re-evaluated, and the process of planning should change too. When you have 1 acceptance criteria absent out of 7 at the end of a sprint, that single acceptance criteria can now be evaluated against the value of the new tickets that can be prioritized. <strong>If you are running a quick and iterative agile process, new tickets can be (and should be) prioritized over that missing AC.</strong></p><h3>But can project timelines be calculated?</h3><p>Velocity. Even with this strategy, your velocity will not adjust negatively.</p><p>We have three driving forces that expedite velocity with this approach.</p><ol><li><p>If an engineer completes tickets early, they know exactly what to work on next.</p></li><li><p>It fosters healthy conversation during active development about the cost/value of specific AC&#8217;s</p></li><li><p>It doesn&#8217;t impact impact planning if velocity used.</p></li></ol><p>The key factor that all product managers should use when planning is velocity. How many story points can the team complete on average every sprint? That value would in no way be adjusted if you over-assign a sprint assuming 80% completion.</p><p>As long as the PMs use velocity as the key metric, and acknowledge all tickets planned will not be completed (outside of that velocity), planning is in no way negatively impact.</p><h3><strong>Conclusion</strong></h3><p>Hitting an exact point on an opposite bank is a waste of time. Aim at a general area, get there, and evaluate if it&#8217;s a good enough spot to set up camp. If it&#8217;s not, move a bit, if it is&#8230; set up camp and don&#8217;t think about it again.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.theproducteconomist.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading this!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item></channel></rss>