<?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[Road Less Tested]]></title><description><![CDATA[Sharing real-world insights, lessons, and unapologetic takes on delivering quality software. No fluff—just the good, the bad, and the lessons that stick.]]></description><link>https://www.roadlesstested.com</link><image><url>https://substackcdn.com/image/fetch/$s_!ZtC1!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd274ac02-02ba-4dcb-835e-be2c05ee11e7_252x252.png</url><title>Road Less Tested</title><link>https://www.roadlesstested.com</link></image><generator>Substack</generator><lastBuildDate>Wed, 29 Apr 2026 22:42:01 GMT</lastBuildDate><atom:link href="https://www.roadlesstested.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Alessandra Moreira]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[thetestchick@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[thetestchick@substack.com]]></itunes:email><itunes:name><![CDATA[Alessandra Moreira]]></itunes:name></itunes:owner><itunes:author><![CDATA[Alessandra Moreira]]></itunes:author><googleplay:owner><![CDATA[thetestchick@substack.com]]></googleplay:owner><googleplay:email><![CDATA[thetestchick@substack.com]]></googleplay:email><googleplay:author><![CDATA[Alessandra Moreira]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[What Your Broken Test Suite Is Really Telling You]]></title><description><![CDATA[A Guide for Engineering Leaders on How to Use Automation Pain as a Signal to Rethink Their Quality Strategy]]></description><link>https://www.roadlesstested.com/p/what-your-broken-test-suite-is-really</link><guid isPermaLink="false">https://www.roadlesstested.com/p/what-your-broken-test-suite-is-really</guid><dc:creator><![CDATA[Alessandra Moreira]]></dc:creator><pubDate>Tue, 24 Jun 2025 13:31:29 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1526663089957-f2aa2776f572?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1NXx8Y2hhbGxlbmdlc3xlbnwwfHx8fDE3NTA2NDUxNDR8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1526663089957-f2aa2776f572?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1NXx8Y2hhbGxlbmdlc3xlbnwwfHx8fDE3NTA2NDUxNDR8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1526663089957-f2aa2776f572?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1NXx8Y2hhbGxlbmdlc3xlbnwwfHx8fDE3NTA2NDUxNDR8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1526663089957-f2aa2776f572?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1NXx8Y2hhbGxlbmdlc3xlbnwwfHx8fDE3NTA2NDUxNDR8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1526663089957-f2aa2776f572?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1NXx8Y2hhbGxlbmdlc3xlbnwwfHx8fDE3NTA2NDUxNDR8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1526663089957-f2aa2776f572?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1NXx8Y2hhbGxlbmdlc3xlbnwwfHx8fDE3NTA2NDUxNDR8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1526663089957-f2aa2776f572?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1NXx8Y2hhbGxlbmdlc3xlbnwwfHx8fDE3NTA2NDUxNDR8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080" width="4259" height="2839" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1526663089957-f2aa2776f572?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1NXx8Y2hhbGxlbmdlc3xlbnwwfHx8fDE3NTA2NDUxNDR8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2839,&quot;width&quot;:4259,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;group of men riding boat&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&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="group of men riding boat" title="group of men riding boat" srcset="https://images.unsplash.com/photo-1526663089957-f2aa2776f572?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1NXx8Y2hhbGxlbmdlc3xlbnwwfHx8fDE3NTA2NDUxNDR8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1526663089957-f2aa2776f572?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1NXx8Y2hhbGxlbmdlc3xlbnwwfHx8fDE3NTA2NDUxNDR8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1526663089957-f2aa2776f572?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1NXx8Y2hhbGxlbmdlc3xlbnwwfHx8fDE3NTA2NDUxNDR8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1526663089957-f2aa2776f572?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1NXx8Y2hhbGxlbmdlc3xlbnwwfHx8fDE3NTA2NDUxNDR8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 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">Photo by <a href="true">Quino Al</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>Most engineering leaders care deeply about delivering high-quality software. We invest in tooling, encourage automation, and set expectations around testing. But even with the best intentions, our efforts can quietly backfire.</p><p>A failing test suite, endless maintenance work, flaky tests no one trusts, these are more than automation problems. They&#8217;re signals. <strong>Signals that your quality strategy isn&#8217;t working as well as you think.</strong></p><p>In past posts, I&#8217;ve explored how engineering culture, overloaded language (like what &#8220;done&#8221; or &#8220;tested&#8221; means), and unclear automation ownership impact quality. Today, I want to focus on a different angle: what the <em>symptoms</em> are telling us.</p><p>These are the patterns I see across teams: brittle frameworks, bloated suites, misaligned tools. More than bad practices these are quality antipatterns, and they come with real costs: slower delivery, decreased trust, and team frustration.</p><p>This post is a field guide for recognizing those signs, not just so you can fix your automation, but so you can <strong>rethink your quality strategy from the top down.</strong></p><p>Let&#8217;s dig in.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.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 Road Less Tested! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>Maintenance Overhead</strong></h2><p><strong>Antipattern:</strong><br>Teams often fall into the trap of &#8220;automate everything&#8221; without a clear strategy. The result? A bloated, slow, and expensive-to-maintain test suite that takes hours to run and frustrates everyone involved.</p><p><strong>Cost:</strong><br>This overhead drains productivity, demoralizes engineers, and slows down delivery. It&#8217;s a classic example of how &#8220;more&#8221; isn&#8217;t always better&#8212;especially when &#8220;more&#8221; isn&#8217;t thought through.</p><p><strong>Better approach</strong>: <br>Align ahead of time on <em>what</em> to automate and <em>why</em>. Focus on value, not volume.</p><h2><strong>Brittle Frameworks</strong></h2><p><strong>Antipattern:</strong><br>Your tests shouldn&#8217;t fall apart every time someone changes a CSS class. But brittle frameworks do exactly that. They&#8217;re built on fragile assumptions and tight coupling to UI details, making them unreliable and frustrating. When automation isn&#8217;t designed for flexibility, even minor code changes cause widespread test failures. This brittleness undermines confidence in the test suite and leads to &#8220;test fatigue,&#8221; where teams start ignoring failures.</p><p>This is the second most common quality complaint I hear&#8212;and it's usually tied to the same root issue: lack of shared ownership and long-term thinking.</p><p><strong>Cost:</strong><br>Brittle frameworks erode trust in automation, increase pressure on testing, and slow down the feedback loop, making it harder to iterate quickly and confidently.</p><p><strong>Better approach</strong>: <br>Invest in resilient test design. If a test breaks more often than it catches bugs, it's time to rethink it.</p><h2><strong>Misaligned Tooling</strong></h2><p><strong>Antipattern:</strong><br>Testers and developers using different tools, languages, or repositories create a disconnect. Testers bear the brunt of maintaining automation, while developers remain detached from quality efforts. Testers end up alone on an island, owning tools no one else understands. Engineers can&#8217;t (or won&#8217;t) contribute. And the rest of the team remains in the dark about test coverage and gaps. </p><p>This is inefficient and it erodes collaboration, creating invisible walls in your delivery pipeline.</p><p><strong>Cost:</strong><br>This misalignment leads to poor test coverage visibility, overworked testers, and a fragmented team culture. Quality becomes &#8220;someone else&#8217;s problem,&#8221; rather than a shared responsibility.</p><p><strong>Better approach</strong>: <br>Choose tools your whole team can contribute to. Break down the walls between test and code. <em>Read more about how to do that <a href="https://www.roadlesstested.com/p/the-shift-in-front-end-test-automation-testing-tools-and-teamwork?r=yg0e">here</a>.</em> </p><h2><strong>Too Many Tests, Too Little Value</strong></h2><p><strong>Antipattern:</strong><br>When teams don&#8217;t align on goals, tests pile up, whether they&#8217;re useful or not. They often respond to production bugs by adding more tests, believing that quantity equals quality. Bloated test suites become slow, fragile, and overwhelming. And when bugs still make it to production (because they will), the instinct is to write <em>even more tests</em>, instead of asking if the <em>right</em> tests are in place - see the infinite loop we are getting into here? </p><p>And the irony is that most of the time, fewer, smarter tests provide better coverage and give testers room to do higher-value work, like exploratory testing, usability checks, and advocating for the customer.</p><p><strong>Cost:</strong><br>Valuable time is wasted on low-impact tests, while high-value testing (like exploratory, usability, or customer advocacy) gets neglected. The cycle of maintenance and brittleness continues.</p><p><strong>Better approach</strong>: <br>Focus on coverage that matters, discuss test coverage with the whole team (including PMs), increase the visibility of what is covered, and gather diverse opinions. Don&#8217;t trade test <em>quantity</em> for actual <em>quality</em>.</p><h2><strong>Lack of Ownership</strong></h2><p><strong>Antipattern:</strong><br>As with everything else, when no one clearly owns software quality, everyone assumes someone else is responsible for it. Test failures go unnoticed, flaky tests are tolerated, and bugs sit unresolved (not because people don&#8217;t care, but because it&#8217;s unclear who&#8217;s responsible). This is especially common in teams where quality is seen as &#8220;QA&#8217;s or Testers&#8217; only job&#8221; rather than a shared team outcome.</p><p>When teams lack a sense of ownership, small quality issues are ignored until they snowball into larger problems, like missed regressions, fragile releases, or broken pipelines that stay red for days.</p><p><strong>Cost:</strong><br>Test failures accumulate. Trust in the automation suite erodes. Engineers hesitate to make changes, fearing they will break something, and quality becomes reactive rather than proactive.</p><p><strong>Better approach: <br></strong>Make quality a team responsibility. Assign clear owners for addressing failing tests and flaky pipelines. Celebrate teams who fix root causes, not just symptoms. Build a culture where raising a quality issue is seen as a leadership move, not a complaint.</p><h2><strong>Ignoring Technical Debt</strong></h2><p><strong>Antipattern:</strong><br>Teams that chase delivery speed at all costs often leave a trail of messy code, outdated tests, and manual processes. &#8220;We&#8217;ll fix it later&#8221; becomes a mantra, but <em>later</em> rarely comes. As debt accumulates, velocity slows, bugs increase, and the system becomes harder to test, change, and deploy.</p><p>In test automation, this often shows up as abandoned test files, skipped test cases, or outdated frameworks that no one wants to touch.</p><p><strong>Cost:</strong><br>The codebase becomes fragile. New features take longer to deliver. Testing becomes more difficult and unreliable, and the team spends more time debugging infrastructure than building product.</p><p><strong>Better approach: <br></strong>Treat test infrastructure as product infrastructure. Include automation in hack weeks. Track test-related tech debt in your backlog and prioritize it with the same rigor as product work.</p><h2><strong>No Feedback Loops</strong></h2><p><strong>Antipattern:</strong><br>Teams ship bugs to production, fix them quickly, and move on, without asking <em>why</em> the bug wasn&#8217;t caught earlier. When teams skip retrospectives, don&#8217;t conduct incident reviews, or fail to act on root causes, the same problems resurface. Quality becomes a game of whack-a-mole instead of a system that learns and improves.</p><p>Without feedback loops, testing and automation strategies stagnate. There&#8217;s no data to inform better test coverage, no learning from failures, and no alignment on how to prevent future issues.</p><p><strong>Cost:</strong><br>Teams waste time fixing repeat issues instead of improving the system. The same types of bugs slip through again and again. Test coverage doesn't evolve with the product, and quality plateaus.</p><p><strong>Better approach:</strong><br>Build feedback loops into your process. Do postmortems, even for smaller bugs. Use production incidents as a source of truth to refine test coverage. Review bugs in retros to ask: &#8220;Should we have caught this? Where? How can we improve?&#8221;</p><h2>Watch for the Drift</h2><p>Most of these antipatterns don&#8217;t happen overnight. They creep in slowly, one skipped retro, one ignored flaky test, one hacky fix at a time. But over weeks and months, they compound. Spotting the signs early (and being willing to course correct) is the real mark of a mature team.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.roadlesstested.com/subscribe?"><span>Subscribe now</span></a></p><p>Have you seen these antipatterns on your team? Or others I didn&#8217;t mention? Drop your thoughts in the comments or share this with a teammate who cares about quality. Let&#8217;s normalize talking about what doesn&#8217;t work, so we can get better at what does!</p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Engineering Team Culture and Code Quality]]></title><description><![CDATA[Two Sides of the Same Coin]]></description><link>https://www.roadlesstested.com/p/engineering-team-culture-and-code</link><guid isPermaLink="false">https://www.roadlesstested.com/p/engineering-team-culture-and-code</guid><dc:creator><![CDATA[Alessandra Moreira]]></dc:creator><pubDate>Fri, 20 Jun 2025 18:21:09 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1591331922516-beed9d388bc3?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2M3x8Y29pbnxlbnwwfHx8fDE3NTA0NDA1NzF8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080" 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://images.unsplash.com/photo-1591331922516-beed9d388bc3?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2M3x8Y29pbnxlbnwwfHx8fDE3NTA0NDA1NzF8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1591331922516-beed9d388bc3?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2M3x8Y29pbnxlbnwwfHx8fDE3NTA0NDA1NzF8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1591331922516-beed9d388bc3?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2M3x8Y29pbnxlbnwwfHx8fDE3NTA0NDA1NzF8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1591331922516-beed9d388bc3?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2M3x8Y29pbnxlbnwwfHx8fDE3NTA0NDA1NzF8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1591331922516-beed9d388bc3?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2M3x8Y29pbnxlbnwwfHx8fDE3NTA0NDA1NzF8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1591331922516-beed9d388bc3?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2M3x8Y29pbnxlbnwwfHx8fDE3NTA0NDA1NzF8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080" width="4252" height="2645" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1591331922516-beed9d388bc3?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2M3x8Y29pbnxlbnwwfHx8fDE3NTA0NDA1NzF8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2645,&quot;width&quot;:4252,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;silver and gold coins on brown wooden table&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&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="silver and gold coins on brown wooden table" title="silver and gold coins on brown wooden table" srcset="https://images.unsplash.com/photo-1591331922516-beed9d388bc3?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2M3x8Y29pbnxlbnwwfHx8fDE3NTA0NDA1NzF8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1591331922516-beed9d388bc3?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2M3x8Y29pbnxlbnwwfHx8fDE3NTA0NDA1NzF8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1591331922516-beed9d388bc3?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2M3x8Y29pbnxlbnwwfHx8fDE3NTA0NDA1NzF8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1591331922516-beed9d388bc3?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2M3x8Y29pbnxlbnwwfHx8fDE3NTA0NDA1NzF8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 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">Photo by <a href="true">Sarbasri Bhaumik</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>In software development, team culture and software quality are not separate goals. They are deeply interconnected. When one cracks, the other almost always follows.</p><p>Too often, leaders try to fix broken code by throwing more tools or processes at it, without addressing the real root cause: how people work together.</p><p>Let&#8217;s unpack that.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.roadlesstested.com/subscribe?"><span>Subscribe now</span></a></p><h2>What Is Team Culture?</h2><p>Before we go deeper, it&#8217;s important to define what I mean by <em>team culture</em>. It is the invisible framework of shared values, habits, and expectations (spoken and unspoken) that shape how a team collaborates. It&#8217;s not just about fun Slack emojis or team lunches. It&#8217;s about:</p><ul><li><p>How people handle mistakes</p></li><li><p>How feedback is given and received</p></li><li><p>How deadlines are set, and respected</p></li><li><p>How decisions get made and shared</p></li></ul><p>Culture can be <strong>explicit</strong>, like team charters or engineering principles. But often, it&#8217;s <strong>implicit</strong>&#8212;baked into daily habits, rituals, and reactions.</p><h2>Culture Problems Become Code Problems</h2><p>As Jerry Weinberg famously put it in <em>The Secrets of Consulting</em>:</p><blockquote><p>&#8220;No matter how it looks at first, it&#8217;s always a people problem.&#8221;</p></blockquote><p>It&#8217;s easy to point to bugs in the code or flaky tests and say, &#8220;This is a technical issue.&#8221; But when you zoom out, you start to see the cracks in the human systems behind the software.</p><p>That last-minute bug that slipped into production? Maybe the team was rushing to meet an unrealistic deadline set without input from engineering.</p><p>That brittle legacy system no one wants to touch? Maybe knowledge transfer was poor because engineers didn&#8217;t feel safe asking &#8220;dumb&#8221; questions or documenting their work properly.</p><p>That &#8220;testers didn&#8217;t catch this&#8221; incident? Maybe the definition of &#8220;done&#8221; was fuzzy, or developers and testers weren&#8217;t aligned on what needed to be tested, and when.</p><p>More often than not, what looks like a purely technical failure turns out to be the result of:</p><ul><li><p>Misaligned expectations between stakeholders</p></li><li><p>Gaps in communication across disciplines</p></li><li><p>Lack of shared ownership around quality</p></li><li><p>Or a culture of fear, where people hesitate to speak up, slow down, or challenge assumptions</p></li></ul><p>If these continue to happen, they&#8217;re systemic issues. And unless we&#8217;re willing to address them head-on (just like we&#8217;d debug an API or refactor a messy codebase) they&#8217;ll keep resurfacing.</p><p>Because <strong>software is built by people,</strong>&nbsp;and when people aren&#8217;t aligned, the product reflects that disconnection.</p><h2>Weak Culture Writes Fragile Code</h2><p>Weinberg also warned, decades earlier in <em>The Psychology of Computer Programming</em>:</p><blockquote><p>&#8220;If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization.&#8221;</p></blockquote><p>What he meant was: without a strong foundation of collaboration, accountability, and continuous learning, our systems will always be fragile, no matter how advanced the tools or experienced the engineers.</p><p>Because <strong>great software isn't just engineered. It's cultivated.</strong></p><h2>Quality Is a Team Sport</h2><p>We can talk all day about test coverage, automation frameworks, or the latest deployment pipelines, and believe me, some days I do. But if you&#8217;ve been following my newsletter for a while, you know I&#8217;m a firm believer that quality is a <em>team sport</em>. It&#8217;s not just about tools or test cases, it&#8217;s about the environment in which we build and ship software.</p><p>Because at the end of the day, none of those practices matter if the team behind them isn&#8217;t aligned. I&#8217;ve seen teams with world-class tooling still struggle to deliver quality because they lacked trust, shared ownership, or psychological safety. And I&#8217;ve seen scrappy teams with minimal resources ship robust, reliable products, because they communicated well, embraced feedback, and held each other accountable.</p><p>Quality is never created in a vacuum. It&#8217;s shaped by a broad set of circumstances: how decisions are made, how risk is discussed, how mistakes are handled, and whether everyone actually feels responsible for the outcome. When those cultural ingredients are missing, even the smartest, most experienced engineers will struggle to prop up the system alone.</p><p>Strong teams build strong software. But when culture breaks down, no amount of individual brilliance can hold things together for long.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.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">Join 300+ engineering leaders who get practical, unfiltered insights on building quality software, leading high-trust teams, and making better technical decisions. Subscribe to <em>Road Less Tested</em>.</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>If you&#8217;ve ever worked on a team where culture lifted the quality of the work&#8212;or one where poor dynamics tanked a release&#8212;you know how true this is.</p><p>&#128073; How have <em>you</em> seen culture impact software quality? Share your story in the comments or forward this to a teammate who cares about both.</p>]]></content:encoded></item><item><title><![CDATA[The Words That Break Software]]></title><description><![CDATA[The Hidden Cost of Overloaded Terms in Software Teams and How to Build Shared Language]]></description><link>https://www.roadlesstested.com/p/the-words-that-break-software</link><guid isPermaLink="false">https://www.roadlesstested.com/p/the-words-that-break-software</guid><dc:creator><![CDATA[Alessandra Moreira]]></dc:creator><pubDate>Tue, 17 Jun 2025 19:06:51 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1558256708-bc39e034b935?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzfHxicm9rZW4lMjBzaGlwfGVufDB8fHx8MTc1MDE4NzEwNHww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1558256708-bc39e034b935?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzfHxicm9rZW4lMjBzaGlwfGVufDB8fHx8MTc1MDE4NzEwNHww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1558256708-bc39e034b935?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzfHxicm9rZW4lMjBzaGlwfGVufDB8fHx8MTc1MDE4NzEwNHww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1558256708-bc39e034b935?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzfHxicm9rZW4lMjBzaGlwfGVufDB8fHx8MTc1MDE4NzEwNHww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1558256708-bc39e034b935?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzfHxicm9rZW4lMjBzaGlwfGVufDB8fHx8MTc1MDE4NzEwNHww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1558256708-bc39e034b935?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzfHxicm9rZW4lMjBzaGlwfGVufDB8fHx8MTc1MDE4NzEwNHww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1558256708-bc39e034b935?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzfHxicm9rZW4lMjBzaGlwfGVufDB8fHx8MTc1MDE4NzEwNHww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080" width="5810" height="3873" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1558256708-bc39e034b935?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzfHxicm9rZW4lMjBzaGlwfGVufDB8fHx8MTc1MDE4NzEwNHww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3873,&quot;width&quot;:5810,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;ruined ship on shore&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&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="ruined ship on shore" title="ruined ship on shore" srcset="https://images.unsplash.com/photo-1558256708-bc39e034b935?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzfHxicm9rZW4lMjBzaGlwfGVufDB8fHx8MTc1MDE4NzEwNHww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1558256708-bc39e034b935?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzfHxicm9rZW4lMjBzaGlwfGVufDB8fHx8MTc1MDE4NzEwNHww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1558256708-bc39e034b935?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzfHxicm9rZW4lMjBzaGlwfGVufDB8fHx8MTc1MDE4NzEwNHww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1558256708-bc39e034b935?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzfHxicm9rZW4lMjBzaGlwfGVufDB8fHx8MTc1MDE4NzEwNHww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 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">Photo by <a href="true">Aneta Hartmannov&#225;</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>Language is one of the most powerful tools in software development, and one of the most dangerous when misused. Every day, software teams toss around words like <em>'test</em>,'&nbsp;<em>'quality</em>,' '&nbsp;<em>automation</em>,' or&nbsp;<em>'done</em>,' assuming everyone is on the same page. But what if we&#8217;re not? What if those words mean very different things to a developer, a tester, a PM, and a VP?</p><p>This is more than a vocabulary problem, it&#8217;s a <strong>collaboration problem</strong>. And when it goes unchecked, it leads to misaligned expectations, wasted effort, and bugs that could&#8217;ve been caught sooner.</p><p>Now, let me preface this: I&#8217;m not someone who loves getting into endless debates about semantics. I&#8217;m not here to prescribe universal definitions or fuel the ongoing arguments within the testing and quality engineering world about what each term should mean.</p><p>Yes, shared vocabulary matters. But what matters more (much more) is the clarity it enables in our day-to-day work. And clarity doesn&#8217;t have to come from industry consensus. In fact, I&#8217;ve found the fastest path to effective collaboration is not by chasing external validation, but by getting crisp on language within the team.</p><p>So yes, I&#8217;ll admit: I often take the easier, optimize for collaboration route. If the team agrees on what a word means, and it helps them move faster with fewer misunderstandings, I&#8217;m good with that. I care far more about alignment than correctness.</p><p>You might disagree. That&#8217;s okay.</p><p>But here&#8217;s the argument I&#8217;ll make: if we want to build better software together, we need to get better at noticing when we&#8217;re not actually speaking the same language. Let&#8217;s break that down.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.roadlesstested.com/subscribe?"><span>Subscribe now</span></a></p><h2>What Is an Overloaded Term?</h2><p>An overloaded term is a word or phrase that carries multiple meanings&#8212;meanings that shift depending on your role, context, or company culture.</p><p>In programming, we know what overloaded functions are: same name, different signatures. In team communication, overloaded terms are sneakier. They sound familiar, but underneath the surface, they&#8217;re anything but aligned. Here&#8217;s what makes them dangerous:</p><ul><li><p>They feel precise, but are actually vague.</p></li><li><p>They create the illusion of agreement.</p></li><li><p>They prevent the clarifying conversations we actually need to have.</p></li></ul><h2>One Word, Many Meanings</h2><p>Few words in software are as overloaded (and as misunderstood) as <strong>test</strong>. We use it constantly, often assuming we&#8217;re all referring to the same thing. But in reality, &#8220;test&#8221; can point to completely different activities depending on who you ask:</p><ul><li><p><strong>To a developer: </strong>&#8220;I wrote unit tests and pushed to CI.&#8221;</p></li><li><p><strong>To a tester: </strong>&#8220;I ran exploratory testing on staging.&#8221;</p></li><li><p><strong>To a product manager: </strong>&#8220;The feature passed acceptance testing, right?&#8221;</p></li><li><p><strong>To a data analyst or growth team: </strong>&#8220;Let&#8217;s A/B test this in production.&#8221;</p></li></ul><p>Each of these is technically a form of testing, but they serve different purposes, happen at different stages, and answer different questions.</p><p>So when someone says, <em>&#8220;Did we test it?&#8221;</em> the only right response is: <em>&#8220;What kind of test are we talking about?&#8221; </em>Without that clarification, your team may believe they&#8217;ve covered all the bases, when in fact, critical gaps might remain.</p><p>This is how bugs slip through. This is how confidence gets eroded. This is how &#8220;we tested it&#8221; becomes meaningless.</p><blockquote><p>Defining what we mean by test (within the context of the team) is one of the most effective and underused ways to improve quality and reduce miscommunication.</p></blockquote><h2>Other Common Offenders</h2><p>Here are a few more terms that often cause confusion:</p><ul><li><p><strong>&#8220;Done&#8221; - </strong>Is the code merged? Deployed? Tested? Reviewed by design? Does it meet the Definition of Done? You&#8217;d be surprised how many teams don&#8217;t agree on this, and how often it derails delivery.</p></li><li><p><strong>&#8220;Automation&#8221; - </strong>Does it mean test automation? Infrastructure-as-code? Deployment scripts? GitHub Actions? You need context, or chaos follows.</p></li><li><p><strong>&#8220;Quality&#8221; - </strong>Is it about functional bugs? User happiness? System performance? Developer experience? You need to define it before you can improve it.</p></li></ul><h2>Why This Matters </h2><p>Here&#8217;s the trap: we assume we&#8217;re aligned because we&#8217;re all using the same words. But as we&#8217;ve discussed, shared vocabulary doesn&#8217;t guarantee shared meaning. When teams operate on <strong>assumed definitions</strong>, all kinds of subtle failures start stacking up:</p><ul><li><p>Work gets marked as &#8220;done,&#8221; but turns out to be far from production-ready.</p></li><li><p>Features &#8220;pass testing,&#8221; but no one tested the right thing.</p></li><li><p>Bugs slip through, not because people weren&#8217;t working hard, but because they weren&#8217;t working in sync.</p></li></ul><p>This isn&#8217;t a failure of effort. It&#8217;s a failure of alignment. And alignment starts with language.</p><p>In cross-functional teams, where developers, testers, product managers, designers, and stakeholders all need to coordinate, <strong>clarity in language is a superpower</strong>, it becomes operational glue.</p><p>When teams define what they mean, explicitly and early:</p><ul><li><p>Collaboration gets faster.</p></li><li><p>Trust gets stronger.</p></li><li><p>Handoffs become smoother.</p></li><li><p>Quality improves, both in the code and in the team dynamic.</p></li></ul><p>So yes, words matter. And if you want to build better software, start by building better shared language within your team. </p><h2>How to Spot and Fix Overloaded Terms</h2><p><strong>Step 1: Notice the friction.</strong><br>Are handoffs breaking down? Are retros full of finger-pointing? Those are signs that something wasn&#8217;t clearly defined.</p><p><strong>Step 2: Call it out.</strong><br>Try this in a meeting, when one of the most common overloaded terms talked about above pops up. For example: <em>&#8220;Just to clarify, when we say test, do we mean unit tests or exploratory?&#8221;</em> Small moment, huge clarity.</p><p><strong>Step 3: Normalize precision.</strong><br>Create team norms for language. Define your Definition of Done. Document what regression testing means in your context. Even a shared glossary in your Confluence or GitHub repo helps.</p><h2>Build Shared Language, Build Better Software</h2><p>Great software is more than code, it&#8217;s conversation. The more precisely we speak, the fewer assumptions we make. And fewer assumptions mean better systems, better collaboration, and fewer incidents. As an engineering leader or senior IC, it&#8217;s part of your job to <strong>build that clarity into the culture.</strong> Because when teams align on meaning, they align on expectations.</p><h2>Bonus Idea: Make It a Team Exercise</h2><p>At your next team meeting, try a word audit:</p><blockquote><p>&#8220;Let&#8217;s list 5 words we use every week and define what they mean for <em>us</em>.&#8221;</p></blockquote><p>You&#8217;ll be surprised how many different answers you get&#8212;and how many opportunities for alignment you find.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.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 Road Less Tested! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Have you run into overloaded terms in your teams? Which ones caused the most friction? Drop your examples in the comments&#8212;or better yet, share this post with your team and see if you agree on what &#8220;done&#8221; really means.</p>]]></content:encoded></item><item><title><![CDATA[You Can’t Scale Software Quality Without Team Buy In]]></title><description><![CDATA[A Practical Guide to Aligning Engineers, Testers, and Product Around Test Objectives]]></description><link>https://www.roadlesstested.com/p/you-cant-scale-software-quality-without</link><guid isPermaLink="false">https://www.roadlesstested.com/p/you-cant-scale-software-quality-without</guid><dc:creator><![CDATA[Alessandra Moreira]]></dc:creator><pubDate>Mon, 09 Jun 2025 19:30:58 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1569406125624-98ee19b01d4a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2NHx8dGVhbXxlbnwwfHx8fDE3NDk0OTc0Mjh8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1569406125624-98ee19b01d4a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2NHx8dGVhbXxlbnwwfHx8fDE3NDk0OTc0Mjh8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1569406125624-98ee19b01d4a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2NHx8dGVhbXxlbnwwfHx8fDE3NDk0OTc0Mjh8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1569406125624-98ee19b01d4a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2NHx8dGVhbXxlbnwwfHx8fDE3NDk0OTc0Mjh8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1569406125624-98ee19b01d4a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2NHx8dGVhbXxlbnwwfHx8fDE3NDk0OTc0Mjh8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1569406125624-98ee19b01d4a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2NHx8dGVhbXxlbnwwfHx8fDE3NDk0OTc0Mjh8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1569406125624-98ee19b01d4a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2NHx8dGVhbXxlbnwwfHx8fDE3NDk0OTc0Mjh8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080" width="6000" height="4000" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1569406125624-98ee19b01d4a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2NHx8dGVhbXxlbnwwfHx8fDE3NDk0OTc0Mjh8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:4000,&quot;width&quot;:6000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;men rowing boat&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&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="men rowing boat" title="men rowing boat" srcset="https://images.unsplash.com/photo-1569406125624-98ee19b01d4a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2NHx8dGVhbXxlbnwwfHx8fDE3NDk0OTc0Mjh8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1569406125624-98ee19b01d4a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2NHx8dGVhbXxlbnwwfHx8fDE3NDk0OTc0Mjh8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1569406125624-98ee19b01d4a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2NHx8dGVhbXxlbnwwfHx8fDE3NDk0OTc0Mjh8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1569406125624-98ee19b01d4a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw2NHx8dGVhbXxlbnwwfHx8fDE3NDk0OTc0Mjh8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 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">Photo by <a href="true">Mitchell Luo</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>Last week, I posted an unpopular opinion on LinkedIn: if you want your automation strategy to succeed, your whole team needs to be involved. It turns out it was more controversial than I expected.</p><p>In this post, I want to break that idea down and get into the details of what involving the <em>whole team</em> actually means and why it&#8217;s essential if you want automation to deliver real value.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.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">Join over 290 engineering leaders who subscribe to practical, real-world insights on building better software through smarter and sustainable quality and team collaboration.</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><h3>Define Clear Automation Objectives (Before You Write a Single Test)</h3><p>No project succeeds without a clear goal, and automation is no different. Without shared objectives, your automation suite will drift fast. Here are three common objectives:</p><p><strong>Enable faster development:</strong><br>Good automation allows incremental, fast, and safer deployments, but only <em>if</em> these two conditions are met:</p><ol><li><p>The suite runs fast enough to trigger on every commit.</p></li><li><p>It covers the high-risk, high-impact areas that the <em>whole team</em> agrees on.</p></li></ol><p><strong>Free up testers&#8217; time:</strong><br>Automation should liberate testers from repetitive work, freeing them to focus on real, investigative testing, which is the kind of work only humans can do well.</p><p><strong>Raise red flags early:</strong><br>Contrary to popular belief, automation doesn&#8217;t <em>find bugs</em>, it raises <em>alerts</em>. Only a human can determine whether a failed test is a real issue, a flaky test, or an environment glitch.</p><p>In reality, most teams will aim for a combination of these goals.</p><p>&#128073; <strong>Action:</strong> <em>Document your objectives and make sure the team buys in before you start building.</em></p><h2>What Whole-Team Involvement Actually Looks Like</h2><p>When I say &#8220;whole team,&#8221; I mean <strong>everyone</strong>: engineers, QA, PMs, POs. Yes, even those who claim they "don&#8217;t know anything about automation." If automation becomes a side-project owned by one person, you&#8217;ll face two major issues:</p><p><strong>Lack of coverage visibility:</strong><br>If coverage decisions happen in isolation, the team won&#8217;t know what&#8217;s protected and what&#8217;s not until it&#8217;s too late. Worse, they may disagree with the choices made, causing friction and wasted effort.</p><p><strong>Misunderstanding of tester workload:</strong><br>Ever hear: <em>&#8220;Why is testing taking so long?&#8221; </em>If automation is invisible to the team, they&#8217;ll misinterpret the tester&#8217;s time investment. Making it squad work clarifies priorities and creates shared ownership.</p><p><em>&#128161; <strong>Important:</strong> Involvement doesn&#8217;t mean everyone codes the automation. It means everyone shapes the strategy. The tester still leads implementation.</em></p><h2>Practical Ways to Involve the Whole Team</h2><p>So, how do you go from a tester quietly building automation in isolation to a team that actively collaborates on automation strategy and coverage?</p><p>This shift isn&#8217;t just about holding one-off meetings or asking for quick sign-offs. It&#8217;s about embedding automation into the way your team thinks, plans, and delivers software. It means creating visibility, opening up conversations, and treating automation not as an integral part of how your team ensures quality. Here&#8217;s how to shift from solo automation to true team involvement:</p><h3><strong>Set up a team session to discuss coverage</strong></h3><p>Before diving into writing automation, carve out dedicated time with your team to align on what should be tested and <em>why</em>. This session is your opportunity to bring clarity, invite collaboration, and build shared ownership of your automation strategy.</p><p>Come prepared to lead the conversation with intention and structure. Your preparation will help make the best use of everyone's time and build credibility around the automation effort. Bring these with you:</p><ul><li><p><strong>A map of the key surfaces your squad owns:</strong><br>This should include all major functional areas, services, and workflows the team is responsible for. Think in terms of customer-facing features (e.g., login, checkout), backend services (e.g., auth, payments), and shared components (e.g., design systems, APIs). Having this visualized, even in a simple spreadsheet or diagram, helps ground the conversation.</p></li><li><p><strong>Suggested critical paths that need protection:</strong><br>Come with a preliminary list of the most important user flows or service calls that, if broken, would result in high-severity incidents. Be ready to explain <em>why</em> you&#8217;ve selected them and ask for feedback. This isn&#8217;t about having the &#8220;right&#8221; answer &#8212; it&#8217;s about creating a starting point for productive discussion.</p></li></ul><p><strong>&#128172; Pro tip:</strong> Frame the session as a collaborative risk-identification workshop. You're not there to get sign-off &#8212; you&#8217;re there to co-create a shared understanding of what matters most, and how your team will protect it through automation. </p><h3><strong>During the session:</strong></h3><p><strong>Discuss Test Coverage at Every Layer</strong><br>One of the most impactful parts of involving the team is having an open discussion about test coverage across <em>all levels of testing</em>. This includes unit tests, integration and API tests, as well as end-to-end (E2E) automation. Too often, teams jump straight into automating at the UI layer without first asking:</p><ul><li><p><em>What&#8217;s already covered?</em></p></li><li><p><em>Where are the real risks?</em></p></li><li><p><em>What level of the stack is the most efficient place to catch issues?</em></p></li></ul><p>Bringing the team into these conversations helps prevent duplicate coverage, identify blind spots early, and optimize where automation is most effective. For example, engineers might identify areas that can be tested more efficiently at the unit level, while testers highlight gaps in critical user flows that only E2E tests can catch.</p><p>This is what &#8220;shifting left&#8221; looks like in practice, not just talking about quality earlier, but embedding testability and risk assessment into the development process itself. By aligning on coverage strategy <em>before</em> writing a single test, teams reduce rework, improve feedback loops, and build more confidence in their delivery pipeline.</p><p><strong>Identify the Critical User Paths</strong><br>These are the workflows that, if broken, would immediately trigger a Sev 0 or Sev 1 incident. They represent your product&#8217;s <em>non-negotiables</em> &#8212; the functions that must work at all times. Think: login, payments, order placement, or core data flows.</p><p>This exercise isn&#8217;t just about listing features. It&#8217;s about partnering with product and business stakeholders to align on what&#8217;s <em>mission-critical</em>. It&#8217;s also a chance to uncover hidden dependencies, clarify edge cases, and determine the right level of test coverage for each path.</p><p><strong> Prioritize What Matters Most</strong><br>Once your team has identified the key user paths and test layers, the next step is prioritization. Here&#8217;s where many teams go wrong: they try to test every variation of a scenario &#8220;just in case.&#8221; But more tests &#8800; better coverage.</p><p>Testing too many permutations leads to:</p><ul><li><p>Longer suite execution times</p></li><li><p>Increased maintenance burden</p></li><li><p>Flaky test noise that obscures real issues</p></li></ul><p>Instead, focus on coverage that delivers <em>maximum signal with minimum noise</em>. Prioritize high-impact paths, common use cases, and areas most likely to change. Talk through what&#8217;s <em>worth automating now</em> versus what can wait or be monitored through other means (e.g., observability, manual exploratory testing).</p><p><strong>After coverage is agreed:</strong></p><ul><li><p>Make reviewing failing tests part of the daily standup.</p></li><li><p>Share the load. Engineers should help investigate failures when their commits break the build.</p></li><li><p>Keep iterating. Review coverage quarterly or when your product changes significantly.</p></li></ul><h2>Overcoming Common Pushbacks</h2><p>Introducing this model isn&#8217;t always smooth. Here&#8217;s what you might hear &#8212; and how to respond:</p><p><strong>&#8220;We don&#8217;t have time to discuss this in sprint.&#8221;</strong><br>Solution: Break the conversation into 15-30 minute chunks during sprint planning or backlog grooming. Save time by prepping thoroughly.</p><p><strong>&#8220;Isn&#8217;t this just the tester&#8217;s job?&#8221;</strong><br>Solution: Remind them, this is <em>test coverage</em> strategy, not just implementation. Shared strategy = better outcomes.</p><p><strong>&#8220;Our PM/PO doesn&#8217;t know automation.&#8221;</strong><br>Solution: Perfect. They&#8217;re not here to code, they&#8217;re here to help prioritize what matters most to customers and the business.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.roadlesstested.com/subscribe?"><span>Subscribe now</span></a></p><p>Automation is only as effective as the conversations that shape it. If your automation strategy is built in isolation, it will fall short, no matter how well-written the tests are. But when the entire team contributes to defining risk, coverage, and priorities, automation becomes a strategic asset rather than a side project. So the next time you're kicking off or revisiting your automation efforts, don&#8217;t go it alone.</p><p>&#128483;&#65039; How does your team handle automation coverage? Are testers leading the strategy, or is it still siloed? Drop your thoughts in the comments &#8212; I&#8217;d love to hear how others are making this work in practice. &#128071;</p>]]></content:encoded></item><item><title><![CDATA[In Software, Delivery Is Just the Beginning ]]></title><description><![CDATA[Embracing Entropy in Software Systems]]></description><link>https://www.roadlesstested.com/p/in-software-delivery-is-just-the</link><guid isPermaLink="false">https://www.roadlesstested.com/p/in-software-delivery-is-just-the</guid><dc:creator><![CDATA[Alessandra Moreira]]></dc:creator><pubDate>Mon, 05 May 2025 18:40:47 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1502101872923-d48509bff386?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyfHxzdGFydHxlbnwwfHx8fDE3NDY0NjQ5MTB8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1502101872923-d48509bff386?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyfHxzdGFydHxlbnwwfHx8fDE3NDY0NjQ5MTB8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1502101872923-d48509bff386?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyfHxzdGFydHxlbnwwfHx8fDE3NDY0NjQ5MTB8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1502101872923-d48509bff386?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyfHxzdGFydHxlbnwwfHx8fDE3NDY0NjQ5MTB8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1502101872923-d48509bff386?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyfHxzdGFydHxlbnwwfHx8fDE3NDY0NjQ5MTB8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1502101872923-d48509bff386?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyfHxzdGFydHxlbnwwfHx8fDE3NDY0NjQ5MTB8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1502101872923-d48509bff386?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyfHxzdGFydHxlbnwwfHx8fDE3NDY0NjQ5MTB8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" width="3600" height="2025" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1502101872923-d48509bff386?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyfHxzdGFydHxlbnwwfHx8fDE3NDY0NjQ5MTB8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2025,&quot;width&quot;:3600,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;toddler's standing in front of beige concrete stair&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&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="toddler's standing in front of beige concrete stair" title="toddler's standing in front of beige concrete stair" srcset="https://images.unsplash.com/photo-1502101872923-d48509bff386?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyfHxzdGFydHxlbnwwfHx8fDE3NDY0NjQ5MTB8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1502101872923-d48509bff386?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyfHxzdGFydHxlbnwwfHx8fDE3NDY0NjQ5MTB8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1502101872923-d48509bff386?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyfHxzdGFydHxlbnwwfHx8fDE3NDY0NjQ5MTB8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1502101872923-d48509bff386?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyfHxzdGFydHxlbnwwfHx8fDE3NDY0NjQ5MTB8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 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">Photo by <a href="true">Jukan Tateisi</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>Too often in software development, we treat the delivery date like the finish line. We rush to hit deadlines, celebrate shipping a new feature, and breathe a sigh of relief once it&#8217;s live. But here&#8217;s the truth: <strong>delivery is just the beginning</strong>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.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 Road Less Tested! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>The moment we ship something is the moment it enters the real world. And in the real world, everything is subject to decay.</p><h3>Entropy: The Inevitable Decline into Disorder</h3><p>There&#8217;s a principle in thermodynamics called <em>entropy</em>, the idea that all systems tend toward disorder over time. Coffee cools. Sandcastles crumble. Weeds overtake gardens. Our bodies are constantly declining unless we actively care for them.</p><p>It&#8217;s not the most uplifting message, I know. But here&#8217;s the hopeful twist: once we accept that entropy is inevitable, we can plan for it. We eat well, exercise, and go for check-ups, not to stop aging, but to manage it. The same mindset applies to software.</p><h3>Software Is a Living, Decaying System</h3><p>Software is not static. We increase complexity whenever we ship a new feature, fix a bug, or add a quick workaround. Bit by bit, entropy creeps in.</p><p>And the higher the degree of entropy a system has, the harder it becomes to manage. High-entropy systems are chaotic. They&#8217;re harder to debug, harder to change, and more expensive to maintain. That&#8217;s why it&#8217;s critical to build with maintenance in mind from day one.</p><h3>Low-Entropy Systems Are Easier to Sustain</h3><p>It&#8217;s far easier to keep a system clean and maintainable if you start early. Teams prioritizing sustainability during development make smarter trade-offs, detect issues faster, and reduce firefighting later on. Here&#8217;s how you can keep entropy in check:</p><h4>Scaffolding for Long-Term Sustainability</h4><p>Start by creating a culture that embraces maintainability as part of the definition of done. Here are concrete actions your team can take before going live:</p><ul><li><p><strong>Define a maintenance owner.</strong> Make sure each new feature has a clear post-release owner or team responsible for upkeep.</p></li><li><p><strong>Create a plan for known issues.</strong> Document open bugs you&#8217;re shipping with and include them in upcoming sprint planning.</p></li><li><p><strong>Set up robust monitoring.</strong> Implement observability tools and ensure alerting is configured for the right people.</p></li><li><p><strong>Establish a post-release checklist.</strong> Include steps for validation, monitoring, communication, and follow-ups.</p></li><li><p><strong>Define incident response protocols.</strong> Make sure the team knows how to react if something goes wrong.</p></li></ul><p>These actions shift the focus from shipping <em>fast</em> to shipping <em>sustainably</em>.</p><h3>Shipping Shouldn't Mean Slipping Into Chaos</h3><p>We all love the dopamine hit of shipping. But if we don&#8217;t pair that with intentionality about what comes after, our systems and teams pay the price.</p><p>Sustainable software practices are not about slowing down or adding red tape. They&#8217;re about shifting the mindset from &#8220;just ship it&#8221; to &#8220;what happens after we ship.&#8221; Delivery is an important milestone, but it&#8217;s not the finish line. It&#8217;s the point where real users start interacting with your product, where bugs emerge, feedback rolls in, and the cost of quick fixes starts to surface. Teams that embrace sustainability understand that the work doesn&#8217;t stop at release; it evolves. Building with maintenance, monitoring, and long-term health in mind ensures that you can move fast <em>and</em> keep moving, without burning out your team or breaking your system. And it takes less time than most think. </p><h3>Let&#8217;s Redefine What &#8220;Done&#8221; Really Means</h3><p>Done isn't just "it's live." Done means the team understands how to maintain what&#8217;s been built. It means monitoring is in place. It means there's a plan for bugs, tech debt, and user feedback.</p><p>Entropy is inevitable, but high-entropy is not.</p><h3>&#128680; Signs Your System Is Sliding Into High Entropy</h3><p>Not sure if your team is dealing with a high-entropy system? Here are a few red flags to watch for:</p><ul><li><p><strong>Onboarding takes forever.</strong> If new engineers need weeks just to get a local environment running or understand the codebase, that&#8217;s a sign the system is too complex or poorly documented.</p></li><li><p><strong>Fixing one thing breaks three others.</strong> Fragile systems lack clear boundaries and test coverage. When small changes cause widespread breakages, it&#8217;s entropy at work.</p></li><li><p><strong>Recurring bugs keep popping up.</strong> When the same issues resurface sprint after sprint, it usually means the root cause wasn&#8217;t addressed, or the system is so tangled it&#8217;s hard to fix.</p></li><li><p><strong>Deploys are scary.</strong> If releases feel risky or require &#8220;all hands on deck,&#8221; you&#8217;re likely dealing with high entropy. Healthy systems make deployment boring.</p></li><li><p><strong>Tech debt discussions go nowhere.</strong> When debt piles up and no one owns the cleanup, disorder becomes normalized, and entropy accelerates.</p></li></ul><p>If more than one of these resonates, it&#8217;s time to take a step back and prioritize long-term maintainability. Start small: a retro discussion, a checklist addition, a post-release playbook. Every action that restores order slows the decay.</p><h3>&#128172; What Do You Think?</h3><p>How does your team handle post-release ownership? Do you plan for maintenance as part of development or treat it as an afterthought? I&#8217;d love to hear how you approach sustainability in your software systems.</p><p>&#128073; Share your thoughts in the comments or tag someone who needs to read this.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.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 Road Less Tested! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Fast Isn’t Free]]></title><description><![CDATA[AI, Speed, and the Cost of Software Quality]]></description><link>https://www.roadlesstested.com/p/fast-isnt-free</link><guid isPermaLink="false">https://www.roadlesstested.com/p/fast-isnt-free</guid><dc:creator><![CDATA[Alessandra Moreira]]></dc:creator><pubDate>Mon, 21 Apr 2025 16:01:01 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1473042904451-00171c69419d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxOHx8ZmFzdHxlbnwwfHx8fDE3NDUyNTExNjF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1473042904451-00171c69419d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxOHx8ZmFzdHxlbnwwfHx8fDE3NDUyNTExNjF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1473042904451-00171c69419d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxOHx8ZmFzdHxlbnwwfHx8fDE3NDUyNTExNjF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1473042904451-00171c69419d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxOHx8ZmFzdHxlbnwwfHx8fDE3NDUyNTExNjF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1473042904451-00171c69419d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxOHx8ZmFzdHxlbnwwfHx8fDE3NDUyNTExNjF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1473042904451-00171c69419d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxOHx8ZmFzdHxlbnwwfHx8fDE3NDUyNTExNjF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1473042904451-00171c69419d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxOHx8ZmFzdHxlbnwwfHx8fDE3NDUyNTExNjF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" width="5868" height="3789" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1473042904451-00171c69419d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxOHx8ZmFzdHxlbnwwfHx8fDE3NDUyNTExNjF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3789,&quot;width&quot;:5868,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;timelapse photo of highway during golden hour&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&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="timelapse photo of highway during golden hour" title="timelapse photo of highway during golden hour" srcset="https://images.unsplash.com/photo-1473042904451-00171c69419d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxOHx8ZmFzdHxlbnwwfHx8fDE3NDUyNTExNjF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1473042904451-00171c69419d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxOHx8ZmFzdHxlbnwwfHx8fDE3NDUyNTExNjF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1473042904451-00171c69419d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxOHx8ZmFzdHxlbnwwfHx8fDE3NDUyNTExNjF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1473042904451-00171c69419d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxOHx8ZmFzdHxlbnwwfHx8fDE3NDUyNTExNjF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 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">Photo by <a href="true">Joey Kyber</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>Another day, another round of hype about how AI will revolutionize software development. Tools promising faster code generation, shorter development cycles, and &#8220;one-click&#8221; features dominate the headlines.</p><p>But here&#8217;s the thing: <strong>shipping faster doesn&#8217;t mean shipping better</strong>.</p><p>Ask any seasoned engineer, and they&#8217;ll tell you success in software isn&#8217;t about pumping out more lines of code. It&#8217;s about creating systems that are maintainable, secure, observable, and built to last.</p><p>So why are we still pretending that speed is the only thing that matters?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.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">&#128161; <strong>Enjoying this post? </strong>I share hard-won lessons on software quality, software engineering, and team trust weekly, drawn from 20+ leading engineering organizations at companies like Peloton and Blue Apron. Join 250+ engineering leaders who subscribe.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The Real Tension: Speed vs. Quality</h2><p>We've always lived in the tension between &#8220;get it done fast&#8221; and &#8220;do it right.&#8221; AI didn&#8217;t invent this challenge &#8212; it just turned up the volume.</p><p>Yes, AI can help us move faster. But faster is only good if you're headed in the right direction.</p><p>And right now, I see too many leaders optimizing for velocity without asking <em>at what cost?</em></p><h2>Fast Code is Like Fast Food </h2><p>You can get a burger in 2 minutes at a drive-thru. It&#8217;ll be fast, cheap, and probably satisfying &#8212; for now.</p><p>But eat it every day, and you&#8217;re going to feel the consequences.</p><p>The same goes for software.</p><p>When we trade quality for speed, we create systems that are brittle, hard to test, impossible to scale, and frustrating to debug. They might ship fast, but they break faster. And no amount of AI is going to refactor your spaghetti architecture into a clean, scalable design later.</p><h2>The Quiet Work of Long-Term Thinking</h2><p>For engineering leaders who are focused on quality, the road ahead will be bumpy. You&#8217;ll be in meetings where others are promising &#8220;AI-built features in half the time.&#8221; You&#8217;ll be asked why you&#8217;re not using the latest tool that &#8220;writes all your tests for you.&#8221;</p><p>But we have to keep playing the long game.</p><p>Real software quality isn&#8217;t flashy. It looks like:</p><ul><li><p>Reviewing the edge cases that LLMs missed.</p></li><li><p>Designing clean interfaces before writing code.</p></li><li><p>Investing in observability and testing early.</p></li><li><p>Saying &#8220;no&#8221; to shortcuts that save time now but cost you later.</p></li></ul><h2>AI Can Help &#8212; But It Can&#8217;t Save You</h2><p>Let&#8217;s be clear: AI has a place. It&#8217;s useful. It can be a productivity amplifier. It can suggest code, automate tasks, and reduce toil.</p><p>But AI won&#8217;t save a codebase that was never built with quality in mind.</p><p>It won&#8217;t untangle an overengineered monolith. It won&#8217;t fix broken team processes. It won&#8217;t prevent the human mistakes that come from unrealistic deadlines and unclear requirements.</p><p>And it definitely won&#8217;t refactor your legacy UI into a sustainable architecture.</p><h2>AI Can 10x Engineers &#8212; But Only If They Know What They&#8217;re Doing</h2><p>There&#8217;s a common myth floating around: that AI will level the playing field for junior and senior engineers.</p><p>In practice? <strong>AI doesn&#8217;t replace expertise &#8212; it multiplies it.</strong></p><p>For experienced engineers, AI can feel like having a sharp assistant. It speeds up boilerplate, catches small bugs, suggests patterns &#8212; and leaves you more time for deep work. But it only works <em>because</em> you already understand the architecture, the tradeoffs, the risks.</p><p>You still have to:</p><ul><li><p>Know how to read the code it generates</p></li><li><p>Spot when something looks &#8220;off&#8221; &#8212; even if it compiles</p></li><li><p>Understand the broader system so that AI suggestions actually integrate</p></li></ul><p><strong>Without that foundation, AI becomes noise.</strong></p><p>For entry-level engineers, the picture is trickier. AI might help you move faster <em>on the surface</em>, but without understanding why something works, you&#8217;re building knowledge on shaky ground. Worse, when AI-generated code doesn&#8217;t integrate well or subtly breaks conventions, newer engineers won&#8217;t have the experience to debug it.</p><p>The result? More confusion, more brittle systems, and a false sense of progress.</p><h2>What Does &#8220;Mastering Your Craft&#8221; Look Like Today?</h2><p>In the AI era, engineers still need to invest in learning the fundamentals &#8212; arguably more than ever. That means:</p><ul><li><p>Reading code, not just generating it</p></li><li><p>Understanding systems, not just syntax</p></li><li><p>Practicing architectural thinking, testing discipline, and design patterns</p></li><li><p>Debugging real issues instead of relying on AI to suggest fixes</p></li></ul><p>Yes, AI is here to stay. But if you don&#8217;t know your craft, it won&#8217;t elevate you &#8212; it will expose you.</p><h2>Build for the Long Game</h2><p>As the noise gets louder and the promises get bolder, the temptation will be to go faster &#8212; to match the pace, to impress stakeholders, to ride the AI wave.</p><p>But if you&#8217;re a technical leader, your responsibility is bigger than that. <strong>You&#8217;re not just shipping code. You&#8217;re building systems, culture, and trust.</strong></p><p>The best software teams in the AI era will be the ones who <em>don&#8217;t</em> lose sight of quality, who understand that long-term success is about thoughtful architecture, not just rapid iteration.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.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 Road Less Tested! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p>How is the &#8220;speed at all costs&#8221; mindset creeping into your org? How are you balancing AI adoption with long-term quality? Let me know in the comments and</p><p> share this with a fellow engineering leader who's navigating the same tension.</p>]]></content:encoded></item><item><title><![CDATA[10 Years After ‘Testing Is Dead’]]></title><description><![CDATA[Lessons, Misconceptions, and the Path Forward]]></description><link>https://www.roadlesstested.com/p/10-years-after-testing-is-dead</link><guid isPermaLink="false">https://www.roadlesstested.com/p/10-years-after-testing-is-dead</guid><dc:creator><![CDATA[Alessandra Moreira]]></dc:creator><pubDate>Mon, 07 Apr 2025 15:19:44 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1552959933-829e090c4f3f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyNXx8dGhlJTIwZW5kfGVufDB8fHx8MTc0NDAzODk0Mnww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1552959933-829e090c4f3f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyNXx8dGhlJTIwZW5kfGVufDB8fHx8MTc0NDAzODk0Mnww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1552959933-829e090c4f3f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyNXx8dGhlJTIwZW5kfGVufDB8fHx8MTc0NDAzODk0Mnww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1552959933-829e090c4f3f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyNXx8dGhlJTIwZW5kfGVufDB8fHx8MTc0NDAzODk0Mnww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1552959933-829e090c4f3f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyNXx8dGhlJTIwZW5kfGVufDB8fHx8MTc0NDAzODk0Mnww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1552959933-829e090c4f3f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyNXx8dGhlJTIwZW5kfGVufDB8fHx8MTc0NDAzODk0Mnww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1552959933-829e090c4f3f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyNXx8dGhlJTIwZW5kfGVufDB8fHx8MTc0NDAzODk0Mnww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" width="6016" height="4016" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1552959933-829e090c4f3f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyNXx8dGhlJTIwZW5kfGVufDB8fHx8MTc0NDAzODk0Mnww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:4016,&quot;width&quot;:6016,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;yellow Dead End sign&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&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="yellow Dead End sign" title="yellow Dead End sign" srcset="https://images.unsplash.com/photo-1552959933-829e090c4f3f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyNXx8dGhlJTIwZW5kfGVufDB8fHx8MTc0NDAzODk0Mnww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1552959933-829e090c4f3f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyNXx8dGhlJTIwZW5kfGVufDB8fHx8MTc0NDAzODk0Mnww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1552959933-829e090c4f3f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyNXx8dGhlJTIwZW5kfGVufDB8fHx8MTc0NDAzODk0Mnww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1552959933-829e090c4f3f?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyNXx8dGhlJTIwZW5kfGVufDB8fHx8MTc0NDAzODk0Mnww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 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">Photo by <a href="true">Vict&#243;ria Kubiaki</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>Testing Is Dead. Oh Wait, It&#8217;s Alive Again.</p><p>In 2016, Google&#8217;s GTAC conference<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> closed with a theatrical statement&#8212;Alberto Savoia, dressed as the Grim Reaper, took the stage to declare the death of software testing. It marked the end of a decade-long run for one of the most respected conferences in the test automation space.</p><p>That same year, James Whittaker&#8212;who introduced Alberto Savoia at GTAC 2016&#8212;echoed the sentiment by formally pronouncing testing dead. The industry took note&#8212;and took action. Testing roles across Google, Microsoft, and other major tech companies were eliminated or folded into broader engineering functions. The message was clear: testing, as a distinct discipline, was no longer seen as essential.</p><p>And yet, testing never truly disappeared. Last year, Whittaker himself declared its resurrection<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>, recognizing that despite advances in automation, DevOps, and now AI, the need for thoughtful, context-aware testing had not gone away&#8212;it had only been misunderstood.</p><p>Today, as we see another wave of hype promising to replace testers with AI, it&#8217;s worth revisiting the real story: testing didn&#8217;t die. It evolved. And it's more relevant than ever.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.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 Road Less Tested! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3>Testing Never Died&#8212;It Evolved</h3><p>The &#8220;testing is dead&#8221; narrative is not new. It flared up when Selenium went open source, flared up again when automation tools flooded the market, and is now back with AI.</p><p>But here&#8217;s the truth: testing didn&#8217;t die. It <em>had</em> to evolve&#8212;just like the rest of engineering did.</p><p>And yes, some folks <em>are</em> now proclaiming that engineering is dead too&#8212;thanks to AI and the rise of "vibe coding" culture. But most of us know better. We understand that engineering isn&#8217;t dead&#8212;it&#8217;s adapting. So is testing. </p><h3>What Actually Died? Bad Testing.</h3><p>Let&#8217;s be honest&#8212;some parts of software testing <em>deserve</em> to die. And in many organizations, they already have. I&#8217;m talking about the outdated practices that reduce testing to little more than requirement verification, test case checklists, and meaningless green bars on dashboards. These shallow, mechanical approaches give the illusion of quality without actually delivering it.</p><p>When testing becomes synonymous with &#8220;box checking,&#8221; it loses its value&#8212;and rightfully gets cut. Verifying known behaviors through scripted steps is something automation can (and should) handle. What <em>should</em> die is the kind of testing that adds no insight, no risk evaluation, and no exploration beyond what the product owner wrote in a user story.</p><p>This kind of &#8220;testing theater&#8221;&#8212;where success is measured by how many test cases pass, not whether we&#8217;ve uncovered meaningful problems&#8212;has long been a drag on engineering culture. It doesn&#8217;t scale, it doesn&#8217;t adapt, and it certainly doesn&#8217;t help us build better software.</p><h3>Testing Is Not Box Checking</h3><p>Automation is for checking the <em>knowns</em>&#8212;things we expect the system to do.</p><p>Real testing? That&#8217;s about the <em>unknowns</em>. It&#8217;s investigative. It&#8217;s creative. It&#8217;s risk analysis. It&#8217;s modeling user behavior. It&#8217;s edge cases and system thinking. No script or AI can fully replace that.</p><h3>Misunderstood by Many&#8212;Including Testers</h3><p>Why does the &#8220;testing is dead&#8221; idea keep coming back?</p><ul><li><p>Many testers don&#8217;t see it as a craft.</p></li><li><p>Many companies confuse automation with testing.</p></li><li><p>Some automation engineers are not inclined to learn to test&#8212;they wait for someone else to tell them what to automate.</p></li><li><p>Some testers still only verify requirements, not value or risk.</p></li></ul><p>This isn't just a leadership problem. It's an industry-wide problem, and yes&#8212;it includes us testers.</p><h3>Testing Never Stopped&#8212;It Just Went Underground</h3><p>Even when companies cut testing roles, testing still happened:</p><ul><li><p>Engineers continued unit testing (or at least, I hope they did).</p></li><li><p>Customers unknowingly became the testers (often painfully).</p></li><li><p>Teams tested without testers&#8212;often poorly, often late.</p></li></ul><p>What those 2016 declarations <em>really</em> meant was that testing as a <strong>separate role</strong> was no longer needed. But even that was a short-sighted take.</p><h3>The Real Future of Testing Is Craft + Context</h3><p>Testing is not just about bugs. It&#8217;s not just about tools. It&#8217;s about:</p><ul><li><p>Understanding product risks</p></li><li><p>Communicating uncertainty</p></li><li><p>Modeling user behavior</p></li><li><p>Finding what others missed</p></li></ul><p>And to do that well, testers need to <strong>level up</strong>.</p><h3>How to Stay Relevant in Testing</h3><p>If you want to thrive&#8212;despite the AI hype&#8212;here&#8217;s how to do it:</p><h4>&#127919; Understand Stakeholder Priorities</h4><p>Some stakeholders prioritize speed, others care more about stability. Your job is to understand what matters most <em>in context</em>&#8212;and tailor your testing approach to support it.</p><h4>&#128478;&#65039; Become a Risk Communicator</h4><p>Report your findings like a journalist. Neutral tone, high clarity, relevant insights.</p><h4>&#129504; Study Testing as a Discipline</h4><p>Learn heuristics. Practice modeling. Understand systems thinking. Dive into testing theory&#8212;not just tools.</p><h4>&#128736;&#65039; Embrace Tools&#8212;but Wisely</h4><p>Use automation, AI, observability, and monitoring&#8212;but as <strong>helpers</strong>, not replacements for your brain.</p><h4>&#127793; Build a Learner&#8217;s Mindset</h4><p>Stay curious. Stay connected. Join the <em>actual</em> testing community&#8212;not just flashy LinkedIn threads.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.roadlesstested.com/subscribe?"><span>Subscribe now</span></a></p><p>Testing is alive&#8212;and thriving&#8212;in teams that understand its true value. It&#8217;s evolving fast, and if we want to stay in the game, we need to evolve too. Let&#8217;s stop waiting for validation from the same people who once called us obsolete. Let&#8217;s build a better testing future&#8212;together.</p><p><strong>Drop a comment. Start the conversation. Let&#8217;s keep testing alive&#8212;by doing it better.</strong></p><p></p><h3>Related posts: </h3><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;84c40406-11a7-4105-95f2-3339846ce9da&quot;,&quot;caption&quot;:&quot;Testing isn&#8217;t just about finding bugs.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why Good Testers Ship Bad Software&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1607054,&quot;name&quot;:&quot;Alessandra Moreira&quot;,&quot;bio&quot;:&quot;Software engineering leader, consultant, and advisor. Podcast co-host, obsessed with building better software and stronger teams. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98906306-a6cf-47d4-9abc-c6f331858b9f_2400x2400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-06T20:57:58.000Z&quot;,&quot;cover_image&quot;:&quot;https://images.unsplash.com/photo-1715752366611-87aa3b067c08?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzaGlwJTIwd3JhY2t8ZW58MHx8fHwxNzM4MDc1MjIyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.roadlesstested.com/p/why-good-testers-ship-bad-software&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:155876946,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:4,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Road Less Tested&quot;,&quot;publication_logo_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%2Fd274ac02-02ba-4dcb-835e-be2c05ee11e7_252x252.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;549e7dc6-1eac-4902-bf66-0d3d64267281&quot;,&quot;caption&quot;:&quot;With all the talk about AI writing and testing software, very little is being discussed about what truly goes into delivering quality software to production. In my previous post, I explored what software quality is and how it differs from software testing. Now, I&#8217;ll expand on that by examining the key elements&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Beyond AI and Automation: The Real Foundations of Software Quality&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1607054,&quot;name&quot;:&quot;Alessandra Moreira&quot;,&quot;bio&quot;:&quot;Software engineering leader, consultant, and advisor. Podcast co-host, obsessed with building better software and stronger teams. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98906306-a6cf-47d4-9abc-c6f331858b9f_2400x2400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-03-19T13:52:37.497Z&quot;,&quot;cover_image&quot;:&quot;https://images.unsplash.com/photo-1598826739205-d09823c3bc3d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOHx8YmFsYW5jZXxlbnwwfHx8fDE3NDIzODkxMTF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.roadlesstested.com/p/beyond-ai-and-automation-the-real&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:159366894,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:5,&quot;comment_count&quot;:1,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Road Less Tested&quot;,&quot;publication_logo_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%2Fd274ac02-02ba-4dcb-835e-be2c05ee11e7_252x252.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;25760f45-e64f-4194-a2a9-f9638f06999a&quot;,&quot;caption&quot;:&quot;Engineering leaders (not just managers) hold immense power to shape how software is built, tested, and delivered. Some of the most impactful conversations I&#8217;ve had with engineering leaders have revolved around shifting the narrative on testing and software quality. These discussions often reveal &#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why Engineering Leaders Must Rethink Testing to Build Reliable Software&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1607054,&quot;name&quot;:&quot;Alessandra Moreira&quot;,&quot;bio&quot;:&quot;Software engineering leader, consultant, and advisor. Podcast co-host, obsessed with building better software and stronger teams. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98906306-a6cf-47d4-9abc-c6f331858b9f_2400x2400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-27T20:42:18.000Z&quot;,&quot;cover_image&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%2Fff745434-53ec-4b1e-a857-23a8adeebd7f_1024x1024.webp&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.roadlesstested.com/p/why-engineering-leaders-must-rethink-testing-to-build-reliable-software&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:155876943,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:7,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Road Less Tested&quot;,&quot;publication_logo_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%2Fd274ac02-02ba-4dcb-835e-be2c05ee11e7_252x252.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p><a href="https://www.youtube.com/watch?v=X1jWe5rOu3g">GTAC 2016 Keynote: Testing is Dead</a></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p><a href="https://medium.com/@docjamesw/the-resurrection-of-software-testing-634423cd8411">The Ressurection of Software Testing</a></p></div></div>]]></content:encoded></item><item><title><![CDATA[Beyond Buzzwords: Embedding Real Shift-Left Practices]]></title><description><![CDATA[How Short Conversations Today Lead to Better Software Tomorrow]]></description><link>https://www.roadlesstested.com/p/beyond-buzzwords-embedding-real-shift</link><guid isPermaLink="false">https://www.roadlesstested.com/p/beyond-buzzwords-embedding-real-shift</guid><dc:creator><![CDATA[Alessandra Moreira]]></dc:creator><pubDate>Thu, 27 Mar 2025 16:41:55 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1588173130041-37cbfbb3ec32?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzM3x8a2VlcCUyMGxlZnR8ZW58MHx8fHwxNzQzMDkzNTEwfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1588173130041-37cbfbb3ec32?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzM3x8a2VlcCUyMGxlZnR8ZW58MHx8fHwxNzQzMDkzNTEwfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1588173130041-37cbfbb3ec32?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzM3x8a2VlcCUyMGxlZnR8ZW58MHx8fHwxNzQzMDkzNTEwfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1588173130041-37cbfbb3ec32?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzM3x8a2VlcCUyMGxlZnR8ZW58MHx8fHwxNzQzMDkzNTEwfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1588173130041-37cbfbb3ec32?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzM3x8a2VlcCUyMGxlZnR8ZW58MHx8fHwxNzQzMDkzNTEwfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1588173130041-37cbfbb3ec32?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzM3x8a2VlcCUyMGxlZnR8ZW58MHx8fHwxNzQzMDkzNTEwfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1588173130041-37cbfbb3ec32?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzM3x8a2VlcCUyMGxlZnR8ZW58MHx8fHwxNzQzMDkzNTEwfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" width="5568" height="3712" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1588173130041-37cbfbb3ec32?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzM3x8a2VlcCUyMGxlZnR8ZW58MHx8fHwxNzQzMDkzNTEwfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3712,&quot;width&quot;:5568,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;black and white concrete floor&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&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="black and white concrete floor" title="black and white concrete floor" srcset="https://images.unsplash.com/photo-1588173130041-37cbfbb3ec32?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzM3x8a2VlcCUyMGxlZnR8ZW58MHx8fHwxNzQzMDkzNTEwfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1588173130041-37cbfbb3ec32?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzM3x8a2VlcCUyMGxlZnR8ZW58MHx8fHwxNzQzMDkzNTEwfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1588173130041-37cbfbb3ec32?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzM3x8a2VlcCUyMGxlZnR8ZW58MHx8fHwxNzQzMDkzNTEwfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1588173130041-37cbfbb3ec32?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwzM3x8a2VlcCUyMGxlZnR8ZW58MHx8fHwxNzQzMDkzNTEwfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 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">Photo by <a href="true">David Marcos</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><h2>Why "Shift Test Left" Isn't as New as You Think</h2><p>"Shift left testing" seems to be returning as a buzzword, creating an impression that it's a new concept. In reality, the idea isn't new at all. Its roots date back nearly as far as the agile movement itself. The earliest documented mention<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> I've found is from November 2001, just a few months after the Agile Manifesto was published in February 2001. Despite this  history, many teams still perceive "shifting left" as a novel innovation, missing the opportunity to fully embrace the  benefits of integrating testing earlier into their processes.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.roadlesstested.com/subscribe?"><span>Subscribe now</span></a></p><h2>The Origins: Painful Lessons from the Waterfall Era</h2><p>"Shift left" emerged in response to the severe limitations of the waterfall model. In those days, design, development, and testing were distinctly separate phases, creating frequent delays, bottlenecks, and frustration.</p><p>Testing was predominantly manual, automation tools were primitive, and Selenium&#8212;the cornerstone of modern automation&#8212;didn't even appear until 2004. Teams started realizing the inefficiency and high cost of delaying testing until the very end of development.</p><h2>Beyond Early Testing: Shifting the Conversation</h2><p>At its core, "shift left" emphasizes conducting  testing  earlier in the development lifecycle. Although unit and integration tests naturally took place earlier, shifting left pushed for broader and more systemic testing earlier in the development process in search of earlier feedback.</p><p>Today, even agile teams frequently fall into the trap of waiting until a full feature is complete before beginning testing, thus missing critical opportunities for early feedback.</p><h2>Embedding Testing Conversations Early</h2><p>Rather than focusing solely on performing tests earlier, the most impactful approach is shifting the testing conversation. Embed your quality professionals directly within your development squads, and equip and empower them to lead test and quality discussions from the outset of any project.</p><p>Short, focused sessions between developers and testers reviewing unit test coverage can significantly boost your team's software quality outcomes. These meetings should be quick&#8212;under 15 minutes per feature or ticket&#8212;and occur as soon as the developer considers the work ready for initial testing, which also means they would happen often during a sprint. These brief interactions foster essential dialogues:</p><ul><li><p>Prevent duplication of effort in integration and end-to-end testing by clearly identifying what's already covered at the unit level. This will avoid redundancy and save valuable testing resources at the end-to-end level, where maintenance costs are higher.</p></li><li><p>Strengthen trust and teamwork between developers and testers by promoting regular communication, mutual understanding of each other's roles, and collective ownership of software quality.</p></li><li><p>Allow testers to introduce, suggest, and guide the adoption of valuable testing strategies within the development process. Testers often bring distinct perspectives and knowledge, having insights into diverse testing techniques, good practices, and potential risks that developers might not initially consider. By involving testers early, the team can leverage their expertise to proactively increase unit test coverage and potentially uncover issues earlier.</p></li></ul><h2>Addressing Resistance: A Path to Successful Collaboration</h2><p>When introducing these collaborative testing sessions, teams often encounter initial pushback. Developers might feel vulnerable to criticism or doubt the tester's ability to provide meaningful feedback at this stage. Some fear it will distract from their development tasks.</p><p>These reactions, while understandable, can be effectively addressed by:</p><ul><li><p>Clearly communicating the shared goals of early testing collaboration.</p></li><li><p>Providing coaching that emphasizes joint responsibility for software quality.</p></li><li><p>Persisting through initial discomfort to build new, productive habits.</p></li></ul><p>Every team I've guided through this approach has initially experienced some resistance. However, each one has recognized significant benefits, including fewer issues reaching production, enhanced collaboration among team members, and a streamlined, more efficient automation strategy.</p><p>Have you faced resistance when trying to shift testing left in your team's development process? How did you overcome these hurdles? </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.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 Road Less Tested! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h1>Related Posts</h1><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;e9f3e196-029c-41fa-9daa-81ee89b1e90d&quot;,&quot;caption&quot;:&quot;Here&#8217;s an unpopular opinion: not all engineering teams need testers. This is a polarizing statement because there are two distinct camps:&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Not All Engineering Teams Need Testers&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1607054,&quot;name&quot;:&quot;Alessandra Moreira&quot;,&quot;bio&quot;:&quot;Software engineering leader, consultant, and advisor. Podcast co-host, obsessed with building better software and stronger teams. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98906306-a6cf-47d4-9abc-c6f331858b9f_2400x2400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-02-22T14:03:36.852Z&quot;,&quot;cover_image&quot;:&quot;https://images.unsplash.com/photo-1500964757637-c85e8a162699?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxsYW5kc2NhcGUlMjBpZGVhfGVufDB8fHx8MTc0MDE3NTE0OXww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.roadlesstested.com/p/not-all-engineering-teams-need-testers&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:157648666,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:7,&quot;comment_count&quot;:8,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Road Less Tested&quot;,&quot;publication_logo_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%2Fd274ac02-02ba-4dcb-835e-be2c05ee11e7_252x252.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;277f7d0d-f2d8-4fa9-b815-f2c18511e98d&quot;,&quot;caption&quot;:&quot;Delivering quality software&#8212;software that delights customers and meets stakeholders&#8217; expectations&#8212;is a journey, not just a checkpoint. Too often, people conflate quality with testing. This may be because software testing has historically been referred to as Quality Assurance (QA), reinforcing the misconception that tes&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Rethinking Software Quality&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1607054,&quot;name&quot;:&quot;Alessandra Moreira&quot;,&quot;bio&quot;:&quot;Software engineering leader, consultant, and advisor. Podcast co-host, obsessed with building better software and stronger teams. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98906306-a6cf-47d4-9abc-c6f331858b9f_2400x2400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-03-11T21:49:59.061Z&quot;,&quot;cover_image&quot;:&quot;https://images.unsplash.com/photo-1600639157272-90b7f05edb04?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOXx8cG9uZGVyaW5nfGVufDB8fHx8MTc0MTcyOTAyOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.roadlesstested.com/p/rethinking-software-quality&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:158877364,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:9,&quot;comment_count&quot;:3,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Road Less Tested&quot;,&quot;publication_logo_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%2Fd274ac02-02ba-4dcb-835e-be2c05ee11e7_252x252.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;6a35cceb-061d-4a67-a71f-377d1ffc325f&quot;,&quot;caption&quot;:&quot;If you scroll through LinkedIn or tech forums, you might think AI is on the verge of taking over entire industries&#8212;software engineering, marketing, program management, copywriting, and more. Every day, a new article or video claims that AI will replace jobs, automate complex tasks, and even surpass human intelligence.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI Is Like Artificial Flavoring&#8212;Convincing, But Lacking Depth&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1607054,&quot;name&quot;:&quot;Alessandra Moreira&quot;,&quot;bio&quot;:&quot;Software engineering leader, consultant, and advisor. Podcast co-host, obsessed with building better software and stronger teams. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98906306-a6cf-47d4-9abc-c6f331858b9f_2400x2400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-02-13T22:44:38.448Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/youtube/w_728,c_limit/1Hz19kpCse4&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.roadlesstested.com/p/ai-is-like-artificial-flavoringconvincing&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:157102030,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Road Less Tested&quot;,&quot;publication_logo_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%2Fd274ac02-02ba-4dcb-835e-be2c05ee11e7_252x252.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Smith, Larry (September 2001). <a href="https://www.drdobbs.com/shift-left-testing/184404768">"Shift-Left Testing"</a>. <em>Dr. Dobb's Journal</em>.</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Avoid a Race to the Bottom in Software Quality]]></title><description><![CDATA[Applying Gresham's Law to Improve Software Quality and Workplace Culture]]></description><link>https://www.roadlesstested.com/p/avoid-a-race-to-the-bottom-in-software</link><guid isPermaLink="false">https://www.roadlesstested.com/p/avoid-a-race-to-the-bottom-in-software</guid><dc:creator><![CDATA[Alessandra Moreira]]></dc:creator><pubDate>Mon, 24 Mar 2025 19:23:07 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1474224348275-dd142b14f8c1?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMHx8b2xkJTIwYm9hdHxlbnwwfHx8fDE3NDI4NDQxMDR8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1474224348275-dd142b14f8c1?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMHx8b2xkJTIwYm9hdHxlbnwwfHx8fDE3NDI4NDQxMDR8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1474224348275-dd142b14f8c1?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMHx8b2xkJTIwYm9hdHxlbnwwfHx8fDE3NDI4NDQxMDR8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1474224348275-dd142b14f8c1?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMHx8b2xkJTIwYm9hdHxlbnwwfHx8fDE3NDI4NDQxMDR8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1474224348275-dd142b14f8c1?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMHx8b2xkJTIwYm9hdHxlbnwwfHx8fDE3NDI4NDQxMDR8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1474224348275-dd142b14f8c1?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMHx8b2xkJTIwYm9hdHxlbnwwfHx8fDE3NDI4NDQxMDR8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1474224348275-dd142b14f8c1?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMHx8b2xkJTIwYm9hdHxlbnwwfHx8fDE3NDI4NDQxMDR8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" width="4094" height="2730" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1474224348275-dd142b14f8c1?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMHx8b2xkJTIwYm9hdHxlbnwwfHx8fDE3NDI4NDQxMDR8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2730,&quot;width&quot;:4094,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;white and brown ship on seashore&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&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="white and brown ship on seashore" title="white and brown ship on seashore" srcset="https://images.unsplash.com/photo-1474224348275-dd142b14f8c1?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMHx8b2xkJTIwYm9hdHxlbnwwfHx8fDE3NDI4NDQxMDR8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1474224348275-dd142b14f8c1?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMHx8b2xkJTIwYm9hdHxlbnwwfHx8fDE3NDI4NDQxMDR8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1474224348275-dd142b14f8c1?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMHx8b2xkJTIwYm9hdHxlbnwwfHx8fDE3NDI4NDQxMDR8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1474224348275-dd142b14f8c1?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMHx8b2xkJTIwYm9hdHxlbnwwfHx8fDE3NDI4NDQxMDR8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 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">Photo by <a href="true">Nick Jio</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>Have you ever wondered why poor software practices tend to persist, even when everyone recognizes their detrimental effects? Gresham's law, an economic principle, provides insight into this phenomenon within software development.</p><h1>What is Gresham's Law?</h1><p>Gresham&#8217;s law states: <strong>"Bad money drives out good money."</strong> In simpler terms, when lower standards become acceptable, higher standards are gradually abandoned in favor of cheaper, quicker, or more convenient alternatives.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.roadlesstested.com/subscribe?"><span>Subscribe now</span></a></p><h1>A Psychological Explanation: The Cost of "Free"</h1><p>Dan Ariely, in his book <em>Predictably Irrational</em>, offers a psychological perspective on this law through his experiment on how "free" affects human decisions:</p><ul><li><p><strong>Scenario 1:</strong> Participants were offered Lindt chocolate for 15 cents or Hershey's chocolate for 1 cent. Most chose Lindt, clearly recognizing its superior value.</p></li><li><p><strong>Scenario 2:</strong> Lindt remained at 15 cents, but Hershey's became free. Despite Lindt still being clearly superior, most participants overwhelmingly chose Hershey's.</p></li></ul><p>Ariely&#8217;s experiment highlights our irrational attraction to "free," often causing us to prefer lower-quality options simply because there's no immediate cost.</p><h1>How Does This Relate to Software Quality?</h1><p>Let's translate Gresham's law into scenarios familiar to software developers and engineering leaders:</p><h2>1. <strong>Code Quality and Technical Debt</strong></h2><p>Quick fixes and shortcuts become appealing when teams are under pressure to meet tight deadlines. Initially viewed as temporary, these solutions often bypass important quality measures like thorough documentation, automated testing, and well-planned architecture. Over time, these rushed solutions become standard practice, displacing better, quality-driven methods. As shortcuts accumulate, the codebase becomes increasingly fragile and difficult to maintain, ultimately creating significant technical debt.</p><h2>2. <strong>Agile Methodologies and Development Practices</strong></h2><p>When poor agile practices become acceptable&#8212;such as routinely skipping retrospectives, neglecting sprint planning, or tolerating chronic antipatterns&#8212;they inevitably replace disciplined Agile or Scrum methodologies. Over time, productivity suffers, morale declines, and overall quality diminishes.</p><h2>3. <strong>Workplace Culture and Performance Incentives</strong></h2><p>If an organization fails to differentiate between high and low performers, rewarding them equally, motivation for excellence diminishes. High-quality standards gradually disappear as employees see less incentive to excel.</p><h1>Breaking the Cycle: Prioritizing Quality</h1><p>To counteract the negative effects of Gresham's law in software development, organizations must consciously promote and reward high-quality practices:</p><ul><li><p>Recognize and incentivize quality-driven developers and practices.</p></li><li><p>Establish clear standards and consistently uphold them.</p></li><li><p>Educate stakeholders about the hidden costs of shortcuts and poor-quality solutions.<strong><br></strong></p></li></ul><p>Have you noticed Gresham&#8217;s law within your software teams or projects? How have you combated the race to the bottom in quality practices? Share your experiences and insights in the comments below. Let's learn from each other's challenges and successes.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.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 Road Less Tested! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h1>Related Posts:</h1><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;c9bd231e-de46-4003-8db7-00c27091d9a2&quot;,&quot;caption&quot;:&quot;This post is part of a series aimed at engineering leaders. It focuses on elevating the role of testers and testing by understanding their true purpose. Testing isn&#8217;t just about finding bugs&#8212;it&#8217;s about providing critical insights that drive informed decisions.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;From Gatekeeper to Strategic Advisor: Elevating the Role of Testing in Engineering&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1607054,&quot;name&quot;:&quot;Alessandra Moreira&quot;,&quot;bio&quot;:&quot;Software engineering leader, consultant, and advisor. Podcast co-host, obsessed with building better software and stronger teams. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98906306-a6cf-47d4-9abc-c6f331858b9f_2400x2400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-31T17:05:31.044Z&quot;,&quot;cover_image&quot;:&quot;https://images.unsplash.com/photo-1555582467-bc8792666232?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxNnx8Z2F0ZXN8ZW58MHx8fHwxNzM4MjczMzk5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.roadlesstested.com/p/from-gatekeeper-to-strategic-advisor&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:156128295,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Road Less Tested&quot;,&quot;publication_logo_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%2Fd274ac02-02ba-4dcb-835e-be2c05ee11e7_252x252.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;50bcbd3b-a45a-44ea-8ac9-f4cd602ecc19&quot;,&quot;caption&quot;:&quot;With all the talk about AI writing and testing software, very little is being discussed about what truly goes into delivering quality software to production. In my previous post, I explored what software quality is and how it differs from software testing. Now, I&#8217;ll expand on that by examining the key elements&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Beyond AI and Automation: The Real Foundations of Software Quality&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1607054,&quot;name&quot;:&quot;Alessandra Moreira&quot;,&quot;bio&quot;:&quot;Software engineering leader, consultant, and advisor. Podcast co-host, obsessed with building better software and stronger teams. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98906306-a6cf-47d4-9abc-c6f331858b9f_2400x2400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-03-19T13:52:37.497Z&quot;,&quot;cover_image&quot;:&quot;https://images.unsplash.com/photo-1598826739205-d09823c3bc3d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOHx8YmFsYW5jZXxlbnwwfHx8fDE3NDIzODkxMTF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.roadlesstested.com/p/beyond-ai-and-automation-the-real&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:159366894,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:5,&quot;comment_count&quot;:1,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Road Less Tested&quot;,&quot;publication_logo_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%2Fd274ac02-02ba-4dcb-835e-be2c05ee11e7_252x252.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;68a81bba-9a70-4379-9a9e-9e30c4f9312d&quot;,&quot;caption&quot;:&quot;Delivering quality software&#8212;software that delights customers and meets stakeholders&#8217; expectations&#8212;is a journey, not just a checkpoint. Too often, people conflate quality with testing. This may be because software testing has historically been referred to as Quality Assurance (QA), reinforcing the misconception that tes&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Rethinking Software Quality&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1607054,&quot;name&quot;:&quot;Alessandra Moreira&quot;,&quot;bio&quot;:&quot;Software engineering leader, consultant, and advisor. Podcast co-host, obsessed with building better software and stronger teams. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98906306-a6cf-47d4-9abc-c6f331858b9f_2400x2400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-03-11T21:49:59.061Z&quot;,&quot;cover_image&quot;:&quot;https://images.unsplash.com/photo-1600639157272-90b7f05edb04?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOXx8cG9uZGVyaW5nfGVufDB8fHx8MTc0MTcyOTAyOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.roadlesstested.com/p/rethinking-software-quality&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:158877364,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:9,&quot;comment_count&quot;:3,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Road Less Tested&quot;,&quot;publication_logo_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%2Fd274ac02-02ba-4dcb-835e-be2c05ee11e7_252x252.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p>]]></content:encoded></item><item><title><![CDATA[Beyond AI and Automation: The Real Foundations of Software Quality]]></title><description><![CDATA[What Goes Into Delivering Quality Software?]]></description><link>https://www.roadlesstested.com/p/beyond-ai-and-automation-the-real</link><guid isPermaLink="false">https://www.roadlesstested.com/p/beyond-ai-and-automation-the-real</guid><dc:creator><![CDATA[Alessandra Moreira]]></dc:creator><pubDate>Wed, 19 Mar 2025 13:52:37 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1598826739205-d09823c3bc3d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOHx8YmFsYW5jZXxlbnwwfHx8fDE3NDIzODkxMTF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" 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://images.unsplash.com/photo-1598826739205-d09823c3bc3d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOHx8YmFsYW5jZXxlbnwwfHx8fDE3NDIzODkxMTF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1598826739205-d09823c3bc3d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOHx8YmFsYW5jZXxlbnwwfHx8fDE3NDIzODkxMTF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1598826739205-d09823c3bc3d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOHx8YmFsYW5jZXxlbnwwfHx8fDE3NDIzODkxMTF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1598826739205-d09823c3bc3d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOHx8YmFsYW5jZXxlbnwwfHx8fDE3NDIzODkxMTF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1598826739205-d09823c3bc3d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOHx8YmFsYW5jZXxlbnwwfHx8fDE3NDIzODkxMTF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1598826739205-d09823c3bc3d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOHx8YmFsYW5jZXxlbnwwfHx8fDE3NDIzODkxMTF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" width="5184" height="3456" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1598826739205-d09823c3bc3d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOHx8YmFsYW5jZXxlbnwwfHx8fDE3NDIzODkxMTF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3456,&quot;width&quot;:5184,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;gray rocks on seashore during daytime&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&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="gray rocks on seashore during daytime" title="gray rocks on seashore during daytime" srcset="https://images.unsplash.com/photo-1598826739205-d09823c3bc3d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOHx8YmFsYW5jZXxlbnwwfHx8fDE3NDIzODkxMTF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1598826739205-d09823c3bc3d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOHx8YmFsYW5jZXxlbnwwfHx8fDE3NDIzODkxMTF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1598826739205-d09823c3bc3d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOHx8YmFsYW5jZXxlbnwwfHx8fDE3NDIzODkxMTF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1598826739205-d09823c3bc3d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOHx8YmFsYW5jZXxlbnwwfHx8fDE3NDIzODkxMTF8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 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">Photo by <a href="true">Alejandro Pi&#241;ero Amerio</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>With all the talk about AI writing and testing software, very little is being discussed about what truly goes into delivering quality software to production. In my previous post, I explored <strong>what software quality is</strong> and how it differs from software testing. Now, I&#8217;ll expand on that by examining the key elements required to build and deliver high-quality software.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.roadlesstested.com/subscribe?"><span>Subscribe now</span></a></p><h2>The Four Pillars of Quality Software</h2><p>Delivering quality software is about establishing a <strong>solid foundation</strong> across multiple dimensions. There are four critical pillars that support software quality, and weaknesses in any of these can lead to software that fails expectations, is difficult to maintain, or introduces unnecessary risks.</p><h3>1. Tools: The Overrated but Necessary Pillar</h3><p>The software industry is flooded with shiny new tools that promise better quality, smoother workflows, and improved developer experience. While tools are essential&#8212;IDEs, version control, CI/CD pipelines, testing frameworks&#8212;they alone do not create quality software.</p><p>A major anti-pattern is Shiny Tool Syndrome&#8212;the tendency to chase the latest tools, believing they will magically fix deeper issues, such as process or communication. Teams often fall into this trap, constantly adding new tools instead of addressing underlying inefficiencies. The result? Tool sprawl, increased complexity, and diminished effectiveness.</p><p>Instead of constantly switching tools, teams that&nbsp;<strong>focus on mastering the right set of tools</strong>&#8212;ensuring they are well-understood, effectively integrated, and truly add value&#8212;are the ones building a strong pillar of software quality.</p><h3>2. Processes: The Underrated Backbone of Quality</h3><p>Processes are often undervalued (or ignored because process change is hard), but are crucial to ensuring quality at scale. Agile, DevOps, and other methodologies can help, but many organizations implement them poorly, leading to dysfunction rather than efficiency. Strong processes ensure:</p><ul><li><p><strong>Maintainability</strong> &#8211; Code and systems remain readable, extendable, and easy to modify.</p></li><li><p><strong>Scalability</strong> &#8211; The software can grow without major refactoring.</p></li><li><p><strong>Observability</strong> &#8211; Issues can be detected and diagnosed quickly through logging, monitoring, and alerting.</p></li><li><p><strong>Risk Management</strong> &#8211; Quality gates, peer reviews, and release strategies help mitigate failures before they impact users.</p></li></ul><p>Good processes don&#8217;t slow teams down&#8212;they create predictability, reduce firefighting, and improve overall efficiency.</p><h3>3. People: The Most Valuable Asset in Software Quality</h3><p>Software quality is fundamentally about people&#8212;the engineers, testers, product managers, and leadership who build and shape it. A high-quality product emerges from a high-quality team environment, which includes:</p><ul><li><p><strong>Continuous Learning</strong> &#8211; Investing in team training and skill development.</p></li><li><p><strong>Collaboration</strong> &#8211; Encouraging open communication between developers, testers, and business stakeholders.</p></li><li><p><strong>Psychological Safety</strong> &#8211; Ensuring team members feel comfortable discussing risks, challenges, and potential failures without fear of blame.</p></li></ul><p>Supported, empowered, and aligned teams produce better software&#8212;plain and simple.</p><h3>4. Culture: The Invisible Force That Shapes Quality</h3><p>The company culture sets the tone for software quality. A culture that values quality will:</p><ul><li><p>Prioritize <strong>learning over blame</strong>&#8212;mistakes are opportunities to improve, not punishable offenses.</p></li><li><p>Encourage <strong>knowledge sharing</strong>&#8212;teams don&#8217;t work in silos but collaborate effectively.</p></li><li><p>Celebrate <strong>quality wins</strong>&#8212;not just fast releases but well-executed releases.</p></li></ul><p>If leadership sees software quality as an expendable cost, it will be the first thing sacrificed under pressure. On the other hand, companies that integrate quality into their values and decision-making create better products without slowing down innovation.</p><h2>The Pragmatic Equalizer: Finding the Right Balance</h2><p>Software quality isn&#8217;t about achieving perfection&#8212;it&#8217;s about delivering the right level of quality based on business needs, risks, and constraints. "Good enough" quality is sometimes all a company needs to ship quickly and compete. The key is to make conscious trade-offs, ensuring that risks are understood, mitigated, and aligned with business goals.</p><p>Building quality software requires more than tools and tests&#8212;it demands a strong foundation of processes, people, and culture. Each pillar plays a vital role, and when balanced effectively, they enable teams to deliver high-quality software consistently and sustainably.</p><p>What do you think is the most overlooked factor in software quality? Let&#8217;s discuss in the comments! &#128640;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.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 Road Less Tested! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Related Posts:</h2><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;0a635404-c9de-4175-bffe-fb3ac810a908&quot;,&quot;caption&quot;:&quot;Testing isn&#8217;t just about finding bugs.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why Good Testers Ship Bad Software&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1607054,&quot;name&quot;:&quot;Alessandra Moreira&quot;,&quot;bio&quot;:&quot;Software engineering leader, consultant, and advisor. Podcast co-host, obsessed with building better software and stronger teams. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98906306-a6cf-47d4-9abc-c6f331858b9f_2400x2400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-06T20:57:58.000Z&quot;,&quot;cover_image&quot;:&quot;https://images.unsplash.com/photo-1715752366611-87aa3b067c08?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzaGlwJTIwd3JhY2t8ZW58MHx8fHwxNzM4MDc1MjIyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.roadlesstested.com/p/why-good-testers-ship-bad-software&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:155876946,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:3,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Road Less Tested&quot;,&quot;publication_logo_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%2Fd274ac02-02ba-4dcb-835e-be2c05ee11e7_252x252.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;4e41c471-8517-49f3-b520-70b91e8e1b02&quot;,&quot;caption&quot;:&quot;Delivering quality software&#8212;software that delights customers and meets stakeholders&#8217; expectations&#8212;is a journey, not just a checkpoint. Too often, people conflate quality with testing. This may be because software testing has historically been referred to as Quality Assurance (QA), reinforcing the misconception that tes&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Rethinking Software Quality&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1607054,&quot;name&quot;:&quot;Alessandra Moreira&quot;,&quot;bio&quot;:&quot;Software engineering leader, consultant, and advisor. Podcast co-host, obsessed with building better software and stronger teams. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98906306-a6cf-47d4-9abc-c6f331858b9f_2400x2400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-03-11T21:49:59.061Z&quot;,&quot;cover_image&quot;:&quot;https://images.unsplash.com/photo-1600639157272-90b7f05edb04?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOXx8cG9uZGVyaW5nfGVufDB8fHx8MTc0MTcyOTAyOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.roadlesstested.com/p/rethinking-software-quality&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:158877364,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:6,&quot;comment_count&quot;:3,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Road Less Tested&quot;,&quot;publication_logo_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%2Fd274ac02-02ba-4dcb-835e-be2c05ee11e7_252x252.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;8245ab26-4eed-4f6f-ad6c-41159433384c&quot;,&quot;caption&quot;:&quot;This post is part of a series aimed at engineering leaders. It focuses on elevating the role of testers and testing by understanding their true purpose. Testing isn&#8217;t just about finding bugs&#8212;it&#8217;s about providing critical insights that drive informed decisions.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;From Gatekeeper to Strategic Advisor: Elevating the Role of Testing in Engineering&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1607054,&quot;name&quot;:&quot;Alessandra Moreira&quot;,&quot;bio&quot;:&quot;Software engineering leader, consultant, and advisor. Podcast co-host, obsessed with building better software and stronger teams. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98906306-a6cf-47d4-9abc-c6f331858b9f_2400x2400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-31T17:05:31.044Z&quot;,&quot;cover_image&quot;:&quot;https://images.unsplash.com/photo-1555582467-bc8792666232?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxNnx8Z2F0ZXN8ZW58MHx8fHwxNzM4MjczMzk5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.roadlesstested.com/p/from-gatekeeper-to-strategic-advisor&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:156128295,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Road Less Tested&quot;,&quot;publication_logo_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%2Fd274ac02-02ba-4dcb-835e-be2c05ee11e7_252x252.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div>]]></content:encoded></item><item><title><![CDATA[Rethinking Software Quality]]></title><description><![CDATA[The Role of Quality Engineering in Modern Development]]></description><link>https://www.roadlesstested.com/p/rethinking-software-quality</link><guid isPermaLink="false">https://www.roadlesstested.com/p/rethinking-software-quality</guid><dc:creator><![CDATA[Alessandra Moreira]]></dc:creator><pubDate>Tue, 11 Mar 2025 21:49:59 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1600639157272-90b7f05edb04?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOXx8cG9uZGVyaW5nfGVufDB8fHx8MTc0MTcyOTAyOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" 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://images.unsplash.com/photo-1600639157272-90b7f05edb04?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOXx8cG9uZGVyaW5nfGVufDB8fHx8MTc0MTcyOTAyOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1600639157272-90b7f05edb04?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOXx8cG9uZGVyaW5nfGVufDB8fHx8MTc0MTcyOTAyOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1600639157272-90b7f05edb04?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOXx8cG9uZGVyaW5nfGVufDB8fHx8MTc0MTcyOTAyOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1600639157272-90b7f05edb04?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOXx8cG9uZGVyaW5nfGVufDB8fHx8MTc0MTcyOTAyOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1600639157272-90b7f05edb04?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOXx8cG9uZGVyaW5nfGVufDB8fHx8MTc0MTcyOTAyOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1600639157272-90b7f05edb04?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOXx8cG9uZGVyaW5nfGVufDB8fHx8MTc0MTcyOTAyOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" width="6000" height="3376" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1600639157272-90b7f05edb04?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOXx8cG9uZGVyaW5nfGVufDB8fHx8MTc0MTcyOTAyOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3376,&quot;width&quot;:6000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;aerial view of mountains during daytime&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&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="aerial view of mountains during daytime" title="aerial view of mountains during daytime" srcset="https://images.unsplash.com/photo-1600639157272-90b7f05edb04?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOXx8cG9uZGVyaW5nfGVufDB8fHx8MTc0MTcyOTAyOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1600639157272-90b7f05edb04?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOXx8cG9uZGVyaW5nfGVufDB8fHx8MTc0MTcyOTAyOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1600639157272-90b7f05edb04?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOXx8cG9uZGVyaW5nfGVufDB8fHx8MTc0MTcyOTAyOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1600639157272-90b7f05edb04?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyOXx8cG9uZGVyaW5nfGVufDB8fHx8MTc0MTcyOTAyOHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 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">Photo by <a href="true">Joshua Gresham</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>Delivering quality software&#8212;software that delights customers and meets stakeholders&#8217; expectations&#8212;is a journey, not just a checkpoint. Too often, people conflate quality with testing. This may be because software testing has historically been referred to as Quality Assurance (QA), reinforcing the misconception that testing alone ensures quality.</p><p>Even within testing, the term is frequently misunderstood, reduced to merely finding bugs or breaking software rather than enabling the delivery of reliable, valuable, and user-centric solutions. In this piece, I want to break down the distinctions between software quality and software testing, why they matter, and how teams can move beyond these misconceptions to build truly high-quality software.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.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 Road Less Tested! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>What Is Software Quality?</h2><p>Quality is an intrinsic and relative value&#8212;what one person considers "high quality" may not meet another&#8217;s expectations. This is especially true in software development. When we talk about software quality, we need to consider who defines quality and how we assess and measure it.</p><h3>Quality Is Defined by Stakeholders</h3><p>Quality software is software that meets the expectations of those who matter&#8212;stakeholders, customers, users, and business owners. These are the people who use the software, invest in it, and ultimately define what "quality" means in their context. Engineering teams work for these stakeholders, and our ability to deliver quality software depends on understanding their definition of quality.</p><h3>What Does It Take to Deliver Quality?</h3><p>Ensuring quality software requires more than just testing. It involves a combination of:</p><ul><li><p><strong>Communication:</strong> Do we truly understand what stakeholders and customers want? Are we going beyond verifying requirements and instead ensuring we're solving the right problems?</p></li><li><p><strong>Collaboration:</strong> Do teams work together effectively? Do they share a clear understanding of what "quality" means to stakeholders? Are they able to communicate and clarify uncertainties?</p></li><li><p><strong>Processes &amp; Practices:</strong> Quality is built into software through disciplined coding practices, code reviews, software testing, automation, CI/CD pipelines, and feedback loops&#8212;all of which shape the end product.</p></li></ul><h2>What Is Software Testing?</h2><p>Software testing is one piece of the quality software puzzle, but it is often misunderstood. Testing is frequently reduced to finding bugs or verifying that requirements were met, but in reality, testing is much broader and more strategic. <strong>Software testing is a critical investigative process that evaluates software behavior</strong>, identifies flaws, and highlights potential risks. It provides valuable insights that help teams assess software readiness and make informed decisions about its quality and reliability.</p><h3>Testing Happens at Every Stage of Development</h3><p>Testing should be embedded throughout the entire software lifecycle, before, during, and after coding:</p><ul><li><p><strong>Before coding:</strong> Understanding risks, defining acceptance criteria, exploratory testing of prototypes.</p></li><li><p><strong>During coding:</strong> Unit testing, pair programming, static analysis, shift-left testing approaches.</p></li><li><p><strong>After coding:</strong> Automated regression testing, manual exploratory testing, performance and security testing.</p></li><li><p><strong>Before and after deployment:</strong> Canary releases, observability, production monitoring, feature flagging strategies.</p></li></ul><p>This holistic approach to testing (inspired by Lisa Crispin &amp; Janet Gregory's<a href="https://leanpub.com/holistictestingweavequalityintoyourproduct"> </a><em><a href="https://leanpub.com/holistictestingweavequalityintoyourproduct">Holistic Testing</a></em> principles) ensures that quality is continuously assessed and improved, rather than tested in at the last minute.</p><h2>Why This Distinction Matters</h2><p>Understanding the difference between software quality and software testing is crucial because achieving quality software requires many different strategies&#8212;of which testing is only one.</p><p>Over the past few years, the term <strong>Quality Engineering (QE)</strong> has gained traction, signaling an industry shift. Organizations are beginning to recognize that delivering quality software goes beyond tools&nbsp;and is about creating a culture of quality that permeates all engineering teams.</p><blockquote><p>Ultimately, delivering high-quality software is about mindset, collaboration, and continuous improvement&#8212;and testing!</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.roadlesstested.com/subscribe?"><span>Subscribe now</span></a></p><p>How does your team approach quality? Have you seen the shift from "QA" to "Quality Engineering" in your organization? Drop a comment and share your thoughts!</p><h2>Related content: </h2><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;4473702e-86fb-43ba-b71b-f67126bb7ebb&quot;,&quot;caption&quot;:&quot;Testing isn&#8217;t just about finding bugs.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why Good Testers Ship Bad Software&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1607054,&quot;name&quot;:&quot;Alessandra Moreira&quot;,&quot;bio&quot;:&quot;Software engineering leader, consultant, and advisor. Podcast co-host, obsessed with building better software and stronger teams. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98906306-a6cf-47d4-9abc-c6f331858b9f_2400x2400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-06T20:57:58.000Z&quot;,&quot;cover_image&quot;:&quot;https://images.unsplash.com/photo-1715752366611-87aa3b067c08?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzaGlwJTIwd3JhY2t8ZW58MHx8fHwxNzM4MDc1MjIyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.roadlesstested.com/p/why-good-testers-ship-bad-software&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:155876946,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Road Less Tested&quot;,&quot;publication_logo_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%2Fd274ac02-02ba-4dcb-835e-be2c05ee11e7_252x252.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;329942d2-7218-4526-ae36-3b4376282aab&quot;,&quot;caption&quot;:&quot;This post is part of a series aimed at engineering leaders. It focuses on elevating the role of testers and testing by understanding their true purpose. Testing isn&#8217;t just about finding bugs&#8212;it&#8217;s about providing critical insights that drive informed decisions.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;From Gatekeeper to Strategic Advisor: Elevating the Role of Testing in Engineering&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1607054,&quot;name&quot;:&quot;Alessandra Moreira&quot;,&quot;bio&quot;:&quot;Software engineering leader, consultant, and advisor. Podcast co-host, obsessed with building better software and stronger teams. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98906306-a6cf-47d4-9abc-c6f331858b9f_2400x2400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-31T17:05:31.044Z&quot;,&quot;cover_image&quot;:&quot;https://images.unsplash.com/photo-1555582467-bc8792666232?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxNnx8Z2F0ZXN8ZW58MHx8fHwxNzM4MjczMzk5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.roadlesstested.com/p/from-gatekeeper-to-strategic-advisor&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:156128295,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Road Less Tested&quot;,&quot;publication_logo_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%2Fd274ac02-02ba-4dcb-835e-be2c05ee11e7_252x252.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;9bb4ab52-08ca-4921-8e42-24618202ae40&quot;,&quot;caption&quot;:&quot;For years, Selenium has been the go-to tool for automated browser testing, and for good reasons: it&#8217;s open source and free, has a large and active community, supports multiple browsers, platforms, and programming languages, and&#8212;perhaps most importantly&#8212;it&#8217;s familiar.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Shift in Front-End Test Automation: Testing Tools and Teamwork&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1607054,&quot;name&quot;:&quot;Alessandra Moreira&quot;,&quot;bio&quot;:&quot;Software engineering leader, consultant, and advisor. Podcast co-host, obsessed with building better software and stronger teams. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98906306-a6cf-47d4-9abc-c6f331858b9f_2400x2400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-15T21:16:54.000Z&quot;,&quot;cover_image&quot;:&quot;https://images.unsplash.com/photo-1501516069922-a9982bd6f3bd?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHx0b29scyUyMHdvb2R8ZW58MHx8fHwxNzM4MDc1MDA2fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.roadlesstested.com/p/the-shift-in-front-end-test-automation-testing-tools-and-teamwork&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:155876944,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:1,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Road Less Tested&quot;,&quot;publication_logo_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%2Fd274ac02-02ba-4dcb-835e-be2c05ee11e7_252x252.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div>]]></content:encoded></item><item><title><![CDATA[Not All Engineering Teams Need Testers]]></title><description><![CDATA[But Every Team Needs Testing]]></description><link>https://www.roadlesstested.com/p/not-all-engineering-teams-need-testers</link><guid isPermaLink="false">https://www.roadlesstested.com/p/not-all-engineering-teams-need-testers</guid><dc:creator><![CDATA[Alessandra Moreira]]></dc:creator><pubDate>Sat, 22 Feb 2025 14:03:36 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1500964757637-c85e8a162699?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxsYW5kc2NhcGUlMjBpZGVhfGVufDB8fHx8MTc0MDE3NTE0OXww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" 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://images.unsplash.com/photo-1500964757637-c85e8a162699?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxsYW5kc2NhcGUlMjBpZGVhfGVufDB8fHx8MTc0MDE3NTE0OXww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1500964757637-c85e8a162699?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxsYW5kc2NhcGUlMjBpZGVhfGVufDB8fHx8MTc0MDE3NTE0OXww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1500964757637-c85e8a162699?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxsYW5kc2NhcGUlMjBpZGVhfGVufDB8fHx8MTc0MDE3NTE0OXww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1500964757637-c85e8a162699?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxsYW5kc2NhcGUlMjBpZGVhfGVufDB8fHx8MTc0MDE3NTE0OXww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1500964757637-c85e8a162699?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxsYW5kc2NhcGUlMjBpZGVhfGVufDB8fHx8MTc0MDE3NTE0OXww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1500964757637-c85e8a162699?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxsYW5kc2NhcGUlMjBpZGVhfGVufDB8fHx8MTc0MDE3NTE0OXww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" width="4608" height="2963" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1500964757637-c85e8a162699?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxsYW5kc2NhcGUlMjBpZGVhfGVufDB8fHx8MTc0MDE3NTE0OXww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2963,&quot;width&quot;:4608,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;landscape photography of mountains&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&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="landscape photography of mountains" title="landscape photography of mountains" srcset="https://images.unsplash.com/photo-1500964757637-c85e8a162699?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxsYW5kc2NhcGUlMjBpZGVhfGVufDB8fHx8MTc0MDE3NTE0OXww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1500964757637-c85e8a162699?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxsYW5kc2NhcGUlMjBpZGVhfGVufDB8fHx8MTc0MDE3NTE0OXww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1500964757637-c85e8a162699?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxsYW5kc2NhcGUlMjBpZGVhfGVufDB8fHx8MTc0MDE3NTE0OXww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1500964757637-c85e8a162699?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxsYW5kc2NhcGUlMjBpZGVhfGVufDB8fHx8MTc0MDE3NTE0OXww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 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">Photo by <a href="true">Simon Berger</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>Here&#8217;s an unpopular opinion: not all engineering teams need testers. This is a polarizing statement because there are two distinct camps:</p><ol><li><p><strong>The testers</strong>&#8212;who strongly believe that every engineering team should have a dedicated tester.</p></li><li><p><strong>The skeptics</strong>&#8212;engineers and leaders who argue that testers are unnecessary (some even claim testers hinder development).</p></li></ol><p>As a consultant and startup advisor, I&#8217;ve had countless conversations on both sides of this debate. And the truth is both perspectives have valid points.</p><p>Before you assume I&#8217;m sitting on the fence, let me be clear: <strong>I am a tester at heart.</strong> I understand why testers advocate for their role on every engineering team. I believe <strong>most</strong> teams would benefit from an experienced tester who brings a mix of critical thinking and technical expertise.</p><p>But here&#8217;s where the argument for testers on every team breaks down.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.roadlesstested.com/subscribe?"><span>Subscribe now</span></a></p><h2>When a Tester Might Not Be Necessary</h2><p>There are a few key scenarios where embedding a tester in an engineering team isn&#8217;t a must:</p><ol><li><p><strong>Not all testers bring the same value</strong> &#8211; A highly skilled, technical tester can be a game-changer. However, if a tester lacks technical depth or strong critical thinking, their contributions may not be enough to justify the role. This is one of the primary concerns raised by the &#8220;no testers needed&#8221; camp.</p></li><li><p><strong>Small, scrappy startups operate differently</strong> &#8211; In the early days, <strong>everyone</strong> is responsible for testing. The priority isn&#8217;t catching every single bug&#8212;it&#8217;s shipping fast and iterating. In these early days, systems are usually simpler with fewer interfaces, making testing more manageable. Some don&#8217;t even have customers yet, or they&#8217;re in beta, where a higher tolerance for bugs is acceptable.</p></li></ol><h2>The Case for Dedicated Testers</h2><p>On the other side of the debate, some engineers and leaders argue that having a dedicated testing function is not only unnecessary but <strong>counterproductive</strong>&#8212;suggesting that testers could make engineers complacent.</p><p>This perspective assumes that if testers exist, engineers will "slack off" and leave quality concerns to them. Some even point to Google and Facebook as examples of companies that operate without dedicated testers in some of their teams.</p><p>But this argument is flawed for a couple of reasons:</p><p><strong>1 - Developers don&#8217;t &#8220;slack off&#8221; just because testers exist</strong> </p><p>Testers and engineers are partners in building quality software, not separate entities working in silos. When testers are embedded in teams, they don&#8217;t exist to catch developers' mistakes&#8212;they collaborate to prevent defects and enhance code quality together proactively.</p><p>Rather than viewing quality as something that can be &#8220;offloaded&#8221; to a single role, the most effective teams share responsibility by integrating testing practices early in development. For example:</p><ul><li><p><strong>Pair programming and code reviews</strong> &#8211; Testers can collaborate with engineers to spot potential edge cases and improve testability before merging code.</p></li><li><p><strong>Shift-left testing strategies</strong> &#8211; Teams can implement unit tests, API contract tests, and static analysis as part of the CI/CD pipeline to catch issues sooner.</p></li><li><p><strong>Exploratory testing alongside developers</strong> &#8211; Testers and engineers work together to uncover usability and integration issues before they reach production.</p></li><li><p><strong>Monitoring and observability</strong> &#8211; By designing better logging, alerts, and user analytics, testers, and engineers can detect anomalies early and respond faster.</p></li></ul><p>Bugs don&#8217;t happen because developers are careless&#8212;they occur because modern software systems are <strong>inherently complex</strong>. By fostering a culture of collaboration, shared ownership, and early defect detection, engineering teams can build more resilient, high-quality software together.</p><p><strong>2- Companies like Google and Facebook are unique cases</strong></p><p>While it&#8217;s true that some teams at these companies don&#8217;t have dedicated testers, it&#8217;s important to consider a few of the reasons why:</p><ul><li><p>Their software is free, and they can afford to rely on user feedback for bug discovery.</p></li><li><p>They have millions of users, so they can roll out features to a fraction of their audience first, catching issues via monitoring before full deployment.</p></li><li><p>Unlike banks, healthcare platforms, or financial services, their products don&#8217;t handle critical user data where failure has serious consequences.</p></li></ul><p>For companies in regulated industries, where a bug could cost money, impact health, or damage reputation, testing cannot be an afterthought.</p><h2>When You Might Need a Dedicated Tester</h2><p>Here&#8217;s a simple way to think about it:</p><p>&#9989; <strong>You may not need a tester if</strong>:</p><ul><li><p>Your software is <strong>free</strong>, and minor bugs won&#8217;t impact credibility.</p></li><li><p>You have <strong>strong monitoring and observability</strong> to detect issues in production.</p></li><li><p>You&#8217;re in the <strong>early stages of development</strong>, and speed matters more than perfection.</p></li></ul><p>&#128680; <strong>You likely want to have a tester if</strong>:</p><ul><li><p>Bugs in production could impact customer trust, finances, or safety.</p></li><li><p>Your software is used in high-stakes industries (e.g., healthcare, banking).</p></li><li><p>You want to prevent costly failures rather than reactively fix them proactively.</p></li></ul><p>Understanding this distinction is key to making informed decisions about testing roles in your engineering teams. The answer isn&#8217;t black and white&#8212;it&#8217;s all about context.</p><p>Now, I&#8217;d love to hear your thoughts! Do you think every engineering team should have a tester? Drop a comment, and let&#8217;s discuss.</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.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 Road Less Tested! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><h3>Related posts: </h3><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;1290a1b3-bcb8-429b-99f1-5c3080a09570&quot;,&quot;caption&quot;:&quot;Testing isn&#8217;t just about finding bugs.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why Good Testers Ship Bad Software&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1607054,&quot;name&quot;:&quot;Alessandra Moreira&quot;,&quot;bio&quot;:&quot;Software engineering leader, consultant, and advisor. Podcast co-host, obsessed with building better software and stronger teams. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98906306-a6cf-47d4-9abc-c6f331858b9f_2400x2400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-06T20:57:58.000Z&quot;,&quot;cover_image&quot;:&quot;https://images.unsplash.com/photo-1715752366611-87aa3b067c08?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzaGlwJTIwd3JhY2t8ZW58MHx8fHwxNzM4MDc1MjIyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.roadlesstested.com/p/why-good-testers-ship-bad-software&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:155876946,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Road Less Tested&quot;,&quot;publication_logo_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%2Fd274ac02-02ba-4dcb-835e-be2c05ee11e7_252x252.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;9a5cf057-ffd1-4786-910c-e14d74482404&quot;,&quot;caption&quot;:&quot;This post is part of a series aimed at engineering leaders. It focuses on elevating the role of testers and testing by understanding their true purpose. Testing isn&#8217;t just about finding bugs&#8212;it&#8217;s about providing critical insights that drive informed decisions.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;From Gatekeeper to Strategic Advisor: Elevating the Role of Testing in Engineering&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1607054,&quot;name&quot;:&quot;Alessandra Moreira&quot;,&quot;bio&quot;:&quot;Software engineering leader, consultant, and advisor. Podcast co-host, obsessed with building better software and stronger teams. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98906306-a6cf-47d4-9abc-c6f331858b9f_2400x2400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-31T17:05:31.044Z&quot;,&quot;cover_image&quot;:&quot;https://images.unsplash.com/photo-1555582467-bc8792666232?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxNnx8Z2F0ZXN8ZW58MHx8fHwxNzM4MjczMzk5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.roadlesstested.com/p/from-gatekeeper-to-strategic-advisor&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:156128295,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Road Less Tested&quot;,&quot;publication_logo_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%2Fd274ac02-02ba-4dcb-835e-be2c05ee11e7_252x252.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div>]]></content:encoded></item><item><title><![CDATA[AI Is Like Artificial Flavoring—Convincing, But Lacking Depth]]></title><description><![CDATA[Why AI Can Mimic Human Work, But Can&#8217;t Replace Human Thinking]]></description><link>https://www.roadlesstested.com/p/ai-is-like-artificial-flavoringconvincing</link><guid isPermaLink="false">https://www.roadlesstested.com/p/ai-is-like-artificial-flavoringconvincing</guid><dc:creator><![CDATA[Alessandra Moreira]]></dc:creator><pubDate>Thu, 13 Feb 2025 22:44:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/1Hz19kpCse4" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you scroll through LinkedIn or tech forums, you might think AI is on the verge of taking over entire industries&#8212;software engineering, marketing, program management, copywriting, and more. Every day, a new article or video claims that AI will replace jobs, automate complex tasks, and even surpass human intelligence.</p><p>I&#8217;ll admit that I&#8217;m getting a little tired of the endless posts and videos predicting AI&#8217;s domination. But one discussion I actually enjoyed was the NYT Opinion piece where <strong>Hank Azaria</strong>&#8212;famous for voicing characters on <em>The Simpsons</em>&#8212;tested an AI voice model trained to mimic him. The AI did well, but not <em>well enough.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.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 Road Less Tested! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Why? Because it lacked the <strong>human characteristics</strong> that make voice acting compelling&#8212;character motivation, emotional depth, subtlety in physicality, and facial expressions. This is a perfect analogy for what&#8217;s happening in software engineering. </p><div id="youtube2-1Hz19kpCse4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;1Hz19kpCse4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/1Hz19kpCse4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h3>AI is Fast, But Is It Smart?</h3><p>AI can generate code at lightning speed, but does that make it as effective as an experienced engineer or architect? Not quite.</p><p>Many people equate AI&#8217;s ability to process vast amounts of data with actual <strong>intelligence</strong>, but there&#8217;s an important distinction. AI doesn&#8217;t reason independently&#8212;it follows <strong>predefined objectives</strong> and <strong>optimizes for efficiency</strong> based on algorithms. It lacks the creative problem-solving, long-term thinking, and architectural foresight that make software engineering more than just code output.</p><h4>Where AI Falls Short in Software Engineering</h4><ol><li><p><strong>Lack of Context Awareness: </strong>AI tools like GitHub Copilot can generate functional code snippets, but they don&#8217;t understand the broader system architecture. They can&#8217;t weigh trade-offs like maintainability, scalability, or security in the way a seasoned engineer does.</p></li><li><p><strong>No Deep Problem-Solving:</strong> Debugging is often about intuition and experience&#8212;patterns that engineers recognize after years of working with complex systems. AI might point out syntax errors, but can it predict a race condition caused by an unusual user interaction? Highly unlikely.</p></li><li><p><strong>More Than Just Test Coverage: </strong>AI can churn out thousands of test cases for, but does more coverage equal better software quality? Not at all. Many of the most critical issues&#8212;usability flaws, accessibility problems, performance bottlenecks&#8212;require human judgment. AI can&#8217;t replicate the nuanced thinking needed to spot real-world user experience gaps.</p></li></ol><h3>AI: A Powerful Tool, Not a Replacement</h3><p>If AI were an engineer, it would be a junior developer&#8212;fast, eager, and good at following patterns but lacking the strategic thinking required for genuinely innovative solutions.</p><p>This brings me to a simple analogy:</p><blockquote><p>Artificial Intelligence is like artificial flavors&#8212;it can mimic the real thing, but only at a surface level.</p></blockquote><p>It&#8217;s a tool to assist, not a substitute for human expertise. The best outcomes will come from AI augmenting human creativity and decision-making, not replacing it.</p><p>I&#8217;d love to hear your thoughts! Drop a comment below and let&#8217;s discuss. And if this post made you think, share it with a colleague or friend who has strong opinions on AI!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.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 Road Less Tested! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Quality Without Leadership: The Challenges of Testers Reporting to Engineering]]></title><description><![CDATA[And what you can do about it]]></description><link>https://www.roadlesstested.com/p/quality-without-leadership-the-challenges</link><guid isPermaLink="false">https://www.roadlesstested.com/p/quality-without-leadership-the-challenges</guid><dc:creator><![CDATA[Alessandra Moreira]]></dc:creator><pubDate>Thu, 06 Feb 2025 22:29:45 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1618617916998-3e78332a1218?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1fHxsb3N0JTIwYXQlMjBzZWF8ZW58MHx8fHwxNzM4ODY2MzAyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" 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://images.unsplash.com/photo-1618617916998-3e78332a1218?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1fHxsb3N0JTIwYXQlMjBzZWF8ZW58MHx8fHwxNzM4ODY2MzAyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1618617916998-3e78332a1218?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1fHxsb3N0JTIwYXQlMjBzZWF8ZW58MHx8fHwxNzM4ODY2MzAyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1618617916998-3e78332a1218?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1fHxsb3N0JTIwYXQlMjBzZWF8ZW58MHx8fHwxNzM4ODY2MzAyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1618617916998-3e78332a1218?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1fHxsb3N0JTIwYXQlMjBzZWF8ZW58MHx8fHwxNzM4ODY2MzAyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1618617916998-3e78332a1218?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1fHxsb3N0JTIwYXQlMjBzZWF8ZW58MHx8fHwxNzM4ODY2MzAyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1618617916998-3e78332a1218?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1fHxsb3N0JTIwYXQlMjBzZWF8ZW58MHx8fHwxNzM4ODY2MzAyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" width="3827" height="2611" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1618617916998-3e78332a1218?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1fHxsb3N0JTIwYXQlMjBzZWF8ZW58MHx8fHwxNzM4ODY2MzAyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2611,&quot;width&quot;:3827,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;person in red shirt standing on blue sea under blue sky during daytime&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&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="person in red shirt standing on blue sea under blue sky during daytime" title="person in red shirt standing on blue sea under blue sky during daytime" srcset="https://images.unsplash.com/photo-1618617916998-3e78332a1218?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1fHxsb3N0JTIwYXQlMjBzZWF8ZW58MHx8fHwxNzM4ODY2MzAyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1618617916998-3e78332a1218?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1fHxsb3N0JTIwYXQlMjBzZWF8ZW58MHx8fHwxNzM4ODY2MzAyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1618617916998-3e78332a1218?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1fHxsb3N0JTIwYXQlMjBzZWF8ZW58MHx8fHwxNzM4ODY2MzAyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1618617916998-3e78332a1218?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw1fHxsb3N0JTIwYXQlMjBzZWF8ZW58MHx8fHwxNzM4ODY2MzAyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 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">Photo by <a href="true">Simon Hurry</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>Software testers&#8217; role is often misunderstood in agile teams. Unlike developers, product managers, or designers, whose responsibilities are widely recognized, testers frequently struggle with <strong>a lack of clarity and visibility</strong> in their contributions. This misunderstanding leads to the assumption that testing is merely a supporting function rather than a specialized discipline requiring expertise. </p><p>Because testing is often viewed as&nbsp;<strong>disposable</strong>&#8212;a task anyone can perform rather than a critical skill&#8212;many leaders fail to see its depth, treating it as an interchangeable commodity rather than a profession in its own right. This post focuses on one of the most damaging consequences of this misconception:&nbsp;<strong>the elimination of test leadership and the merging of testers into engineering teams.&nbsp;</strong></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.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 Road Less Tested! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>The Problems With Testers Reporting to Engineering Managers</strong></h2><p>This structure creates <strong>several challenges</strong> for both testers and the teams they support:</p><h4><strong>Stunted Career Growth for Testers</strong></h4><p>Engineering managers are typically not equipped to mentor testers or provide structured career growth in testing. A software engineer&#8217;s career path involves learning different coding languages, architecture, scalability, and DevOps principles&#8212;good skills for some testers, but none of which are directly related to the progression of a strong testing career. Testers need leadership that understands their discipline and can help them grow in exploratory testing, critical thinking, test design, risk analysis, and quality advocacy.</p><h4><strong>Testing Becomes an Individual Burden Instead of a Team Responsibility</strong></h4><p>When testers report to engineering managers, testing challenges such as tooling, environments, and process improvements often fall on individual testers to resolve alone. Unlike software engineers, who benefit from strong engineering leadership to advocate for their needs, testers end up with no structured leadership to push for systemic improvements. This results in:</p><ul><li><p>Poorly maintained or underfunded test environments</p></li><li><p>Disjointed quality approach and automation strategies across squads</p></li><li><p>Lack of investment in test tooling</p></li><li><p>Testers fighting for quality improvements without leadership backing</p></li></ul><h4><strong>Inconsistent Testing Practices Across Teams</strong></h4><p>Every squad in an agile team develops its own approach to testing, leading to fragmentation:</p><ul><li><p>Some teams heavily invest in automation, while others barely touch it.</p></li><li><p>Some squads integrate testers early in the development cycle, while others treat them as afterthoughts.</p></li><li><p>Without quality leadership overseeing the entire organization, there is no unified approach to testing, automation, and integration.</p></li></ul><h4><strong>Lack of a Cross-Team Quality Strategy</strong></h4><p>Engineering teams require consistent leadership in test environments, tooling, and automation approaches. When each squad works independently, systemic testing issues&#8212;like unstable test environments or inconsistent release validation&#8212;go unaddressed. A dedicated quality leadership team ensures that:</p><ul><li><p>Cross-squad testing challenges are tackled at an organizational level.</p></li><li><p>Test automation strategies remain scalable and sustainable.</p></li><li><p>Test environments and CI/CD pipelines are managed holistically instead of per squad.</p></li></ul><h2><strong>If You&#8217;re a Tester Reporting to an Engineering Manager, Here&#8217;s What You Can Do</strong></h2><p>While I strongly advocate for keeping testers within a dedicated quality leadership structure, I recognize that many testers already find themselves reporting to engineering managers. If that&#8217;s your reality, here are some tips on how you can make the most of the situation:</p><h4><strong>Use the Opportunity to Learn from Engineers</strong></h4><p>Even though engineering managers may not specialize in testing, there&#8217;s a lot to gain from being closely aligned with engineers. Learn about and try to influence:</p><ul><li><p>How your developers approach code quality</p></li><li><p>The team's CI/CD pipeline and DevOps practices</p></li><li><p>Automation frameworks that could enhance your testing strategy</p></li></ul><h4><strong>Be Vocal About Your Needs</strong></h4><p>Engineering managers may not understand what testers require to be successful. Advocate for:</p><ul><li><p>Dedicated time for test automation and exploratory testing</p></li><li><p>Resources for better tooling and test environments</p></li><li><p>Inclusion in architectural discussions where testing strategies should be considered early</p></li></ul><h4><strong>Find Allies in Your Squad</strong></h4><p>Seek out <strong>developers, product managers, or designers</strong> who care about quality. Build relationships with those who recognize that quality is a shared responsibility. These allies can help advocate for testing practices when leadership doesn't.</p><h4><strong>Create a Tester Guild or Working Group</strong></h4><p>If your company lacks a formal quality leadership structure, take the initiative to create one.</p><ul><li><p>Form a tester guild with peers across different squads.</p></li><li><p>Meet regularly to discuss challenges, share strategies, and align testing practices.</p></li><li><p>Use this platform to raise visibility on quality issues that affect the entire organization.</p></li></ul><h4><strong>Find a Leadership Ally for Quality Initiatives</strong></h4><p>While your direct manager may not be a quality expert, look for leaders&#8212;another engineering manager, director of engineering, VP, or CTO&#8212;who value quality and can&nbsp;champion test-related initiatives. </p><h4><strong>Seek Mentorship Outside of Work</strong></h4><p>If your workplace doesn&#8217;t provide strong testing leadership, find mentorship externally. There are many experienced quality leaders (myself included!) who are happy to mentor testers looking to grow in their careers. Consider:</p><ul><li><p>Joining software testing communities </p></li><li><p>Attending conferences or meetups on software quality</p></li><li><p>Finding a mentor through LinkedIn or professional networks</p></li></ul><p></p><p>Are you a tester reporting directly to an engineering manager? What have your experience been? </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.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 Road Less Tested! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[From Gatekeeper to Strategic Advisor: Elevating the Role of Testing in Engineering]]></title><description><![CDATA[Shifting Testing from a Checkpoint to a Continuous Feedback Loop for Better Decision-Making]]></description><link>https://www.roadlesstested.com/p/from-gatekeeper-to-strategic-advisor</link><guid isPermaLink="false">https://www.roadlesstested.com/p/from-gatekeeper-to-strategic-advisor</guid><dc:creator><![CDATA[Alessandra Moreira]]></dc:creator><pubDate>Fri, 31 Jan 2025 17:05:31 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1555582467-bc8792666232?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxNnx8Z2F0ZXN8ZW58MHx8fHwxNzM4MjczMzk5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" 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://images.unsplash.com/photo-1555582467-bc8792666232?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxNnx8Z2F0ZXN8ZW58MHx8fHwxNzM4MjczMzk5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1555582467-bc8792666232?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxNnx8Z2F0ZXN8ZW58MHx8fHwxNzM4MjczMzk5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1555582467-bc8792666232?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxNnx8Z2F0ZXN8ZW58MHx8fHwxNzM4MjczMzk5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1555582467-bc8792666232?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxNnx8Z2F0ZXN8ZW58MHx8fHwxNzM4MjczMzk5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1555582467-bc8792666232?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxNnx8Z2F0ZXN8ZW58MHx8fHwxNzM4MjczMzk5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1555582467-bc8792666232?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxNnx8Z2F0ZXN8ZW58MHx8fHwxNzM4MjczMzk5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" width="5756" height="3837" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1555582467-bc8792666232?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxNnx8Z2F0ZXN8ZW58MHx8fHwxNzM4MjczMzk5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3837,&quot;width&quot;:5756,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;closed wooden gate surrounded with vines&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&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="closed wooden gate surrounded with vines" title="closed wooden gate surrounded with vines" srcset="https://images.unsplash.com/photo-1555582467-bc8792666232?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxNnx8Z2F0ZXN8ZW58MHx8fHwxNzM4MjczMzk5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1555582467-bc8792666232?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxNnx8Z2F0ZXN8ZW58MHx8fHwxNzM4MjczMzk5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1555582467-bc8792666232?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxNnx8Z2F0ZXN8ZW58MHx8fHwxNzM4MjczMzk5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1555582467-bc8792666232?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxNnx8Z2F0ZXN8ZW58MHx8fHwxNzM4MjczMzk5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 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">Photo by <a href="true">Victoria Strukovskaya</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>This post is part of a series aimed at engineering leaders. It focuses on&nbsp;<strong>elevating the role of testers</strong> <strong>and testing </strong>by understanding their true purpose. Testing isn&#8217;t just about finding bugs&#8212;it&#8217;s about providing&nbsp;<strong>critical insights</strong>&nbsp;that drive informed decisions.</p><p>As an engineering leader, you rely on data to assess risks, prioritize investments, and guide product direction. You wouldn&#8217;t navigate a complex project without a roadmap, just as you wouldn&#8217;t build a bridge without thoroughly testing its structural integrity. Yet, testing is often reduced to a <strong>gatekeeping function</strong>&#8212;a final checkpoint rather than an ongoing feedback mechanism.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.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 Road Less Tested! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>If your team treats testing as an afterthought or a box to check, you&#8217;re missing a crucial opportunity. Testing, when done right, is a <strong>strategic enabler</strong> that helps improve decision-making, enhance software quality, and ensure engineering efforts align with business objectives.</p><h2><strong>Testing Is About Information, Not Just Defects</strong></h2><p>We can debate testing methodologies, the value of testers learning to code, what to automate, and how testing fits within Agile or DevOps. However, one thing we can&#8217;t debate is the core purpose of testing: <strong>providing information.</strong></p><p>Testing exists to gather and share information&#8212;not just about defects but about system behavior, risks, usability, and performance. The way we test and report findings should help leaders make informed trade-offs: <strong>Is this release stable enough to ship? Do we need more time? Where are our biggest risks?</strong></p><p>The format and depth of information may vary depending on the audience&#8212;detailed logs for engineers, risk summaries for executives&#8212;but the goal remains the same: testing is a <strong>continuous feedback mechanism</strong>, not just a final checkpoint.</p><h2><strong>Engineering Leaders Need Testers Who Can Tell the Right Story</strong></h2><p>Raw data without context is meaningless. As an engineering leader, you need more than test results&#8212;you need <strong>stories that inform decision-making</strong>. A good tester doesn&#8217;t just say, <em>&#8220;There are five critical bugs.&#8221;</em> They explain:</p><p>&#9989; <strong>Context</strong>: What were we testing, and why? And sometimes more importantly, what didn&#8217;t we test. <br>&#9989; <strong>Findings</strong>: What did we discover, and how does it impact the user experience?<br>&#9989; <strong>Risk Assessment</strong>: What happens if we proceed with these issues?<br>&#9989; <strong>Recommendations</strong>: What trade-offs should we consider? Note that testers can provide recommendations, but it is not their role to gatekeep the release. I wrote more about this in a previous post: <a href="https://www.roadlesstested.com/p/why-good-testers-ship-bad-software?r=yg0e">Why Good Testers Ship Bad Software</a>. </p><blockquote><p>Think of testing like a business intelligence function&#8212;it&#8217;s not about drowning in metrics but about surfacing the right insights at the right time to guide product and engineering strategy.</p></blockquote><h2><strong>The Risk of Assumptions in Testing and Leadership</strong></h2><p>One of the most dangerous phrases an engineer&#8212;or a leader&#8212;can say is: <strong>&#8220;I just assumed&#8230;&#8221; </strong>Assumptions are silent risk multipliers. They can lead to <strong>poor product decisions, hidden technical debt, and frustrated customers</strong>. The problem isn&#8217;t just that assumptions exist&#8212;it&#8217;s that they often go unnoticed until they cause real damage.</p><p>Consider these common (and costly) testing and leadership assumptions:</p><h3><strong>Assumptions About Test Coverage</strong></h3><p><strong>Assumption:</strong> &#8220;Our automation test suite is robust enough to catch all critical issues.&#8221;<br><strong>Reality:</strong> Automated test suites often <strong>prioritize what&#8217;s easy to test</strong> rather than what&#8217;s most critical to the business. If coverage isn't continuously assessed against evolving risks, gaps can emerge&#8212;leading to undetected regressions, security vulnerabilities, or performance bottlenecks.</p><p>&#9989; <strong>Solution:</strong> Define <strong>test coverage based on business impact</strong>, not just code coverage percentages. <strong>Engage product teams, developers</strong>, and testers in risk analysis exercises to ensure critical scenarios are covered.</p><h3><strong>Assumptions About User Behavior</strong></h3><p><strong>Assumption:</strong> &#8220;Users will interact with our product exactly as we designed it.&#8221;<br><strong>Reality:</strong> Real users take unpredictable paths, misuse features, and rely on workarounds in ways teams never expected. A feature that works perfectly under controlled testing may fail in real-world usage.</p><p>&#9989; <strong>Solution:</strong> Use real user data, analytics, and <strong>skilled exploratory testing</strong> to validate assumptions about workflows. Test under real-world conditions, including accessibility challenges, slow networks, and different device types.</p><h5><strong>How Leaders Can Shift from Assumptions to Evidence-Based Decision-Making</strong></h5><p>Great engineering leaders <strong>foster a culture of clarity, validation, and continuous learning</strong> by encouraging teams to:</p><p>&#128313; <strong>State and document assumptions</strong> before making decisions&#8212;whether about testing, architecture, or user behavior.<br>&#128313; <strong>Challenge assumptions through data, experiments, and diverse perspectives</strong> rather than relying on gut feelings or past experiences.<br>&#128313; <strong>Align test coverage and engineering priorities with actual business risks</strong>, ensuring that testing efforts focus on what matters most.<br>&#128313; <strong>Invest in observability and monitoring</strong>, enabling real-time insights that validate system behavior in production.</p><p>By shifting the focus from <strong>assumptions to evidence</strong>, you empower your teams to <strong>build more reliable, scalable, and user-centric software</strong>&#8212;and ultimately, to make <strong>better engineering decisions</strong> that drive business success.</p><blockquote><p>The best engineering teams treat testing as an <strong>integrated feedback loop</strong>, helping drive product direction and business success&#8212;not just catching bugs.</p></blockquote><p></p><p>As a leader, how do you ensure that testing provides real value to your organization? Do your teams see testing as a core function of engineering or as an isolated step in the pipeline? What changes have you made to improve the way your organization gathers and shares quality insights? </p><p>Other posts in this series: </p><ul><li><p><a href="https://www.roadlesstested.com/p/why-good-testers-ship-bad-software?r=yg0e">Why Good Testers Ship Bad Software</a></p></li><li><p><a href="https://www.roadlesstested.com/p/why-engineering-leaders-must-rethink-testing-to-build-reliable-software?r=yg0e">Why Engineering Leaders Must Rethink Testing to Build Reliable Software</a></p></li><li><p><a href="https://www.roadlesstested.com/p/same-tools-different-uses-adapting-leadership-to-new-contexts?r=yg0e">Same Tools, Different Uses: Adapting Leadership to New Contexts</a></p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.roadlesstested.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 Road Less Tested! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Why Engineering Leaders Must Rethink Testing to Build Reliable Software]]></title><description><![CDATA[Engineering leaders (not just managers) hold immense power to shape how software is built, tested, and delivered.]]></description><link>https://www.roadlesstested.com/p/why-engineering-leaders-must-rethink-testing-to-build-reliable-software</link><guid isPermaLink="false">https://www.roadlesstested.com/p/why-engineering-leaders-must-rethink-testing-to-build-reliable-software</guid><dc:creator><![CDATA[Alessandra Moreira]]></dc:creator><pubDate>Mon, 27 Jan 2025 20:42:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!K52S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff745434-53ec-4b1e-a857-23a8adeebd7f_1024x1024.webp" 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_!K52S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff745434-53ec-4b1e-a857-23a8adeebd7f_1024x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K52S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff745434-53ec-4b1e-a857-23a8adeebd7f_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!K52S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff745434-53ec-4b1e-a857-23a8adeebd7f_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!K52S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff745434-53ec-4b1e-a857-23a8adeebd7f_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!K52S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff745434-53ec-4b1e-a857-23a8adeebd7f_1024x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K52S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff745434-53ec-4b1e-a857-23a8adeebd7f_1024x1024.webp" width="708" height="708" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ff745434-53ec-4b1e-a857-23a8adeebd7f_1024x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:708,&quot;bytes&quot;:236682,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&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_!K52S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff745434-53ec-4b1e-a857-23a8adeebd7f_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!K52S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff745434-53ec-4b1e-a857-23a8adeebd7f_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!K52S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff745434-53ec-4b1e-a857-23a8adeebd7f_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!K52S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff745434-53ec-4b1e-a857-23a8adeebd7f_1024x1024.webp 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">Not manual or automated, just the right tool for the job. </figcaption></figure></div><p>Engineering leaders (not just managers) hold immense power to shape how software is built, tested, and delivered. Some of the most impactful conversations I&#8217;ve had with engineering leaders have revolved around shifting the narrative on testing and software quality. These discussions often reveal surprising misconceptions and expose gaps in understanding that can make or break a team&#8217;s ability to deliver reliable software.</p><p>Below, I share some of the most common conversations I have with other engineering leaders, from CTOs to ICs, that tackle important truths about testing and software quality&#8212;truths that can help your organization move in the right direction, one step at a time.</p><p><strong>The Myths Holding Testing Back</strong></p><p>One of the most harmful misconceptions in software engineering is the division of testing into &#8220;manual&#8221; and &#8220;automated,&#8221; as if they are in opposition. Testing isn&#8217;t about choosing one over the other&#8212;it&#8217;s about using the right tools for the right job. Think of it this way: A chef isn&#8217;t called an &#8220;automated chef&#8221; because they use a food processor; they&#8217;re just a chef leveraging the right tools to get the job done. Similarly, testers use automation as a tool&#8212;it doesn&#8217;t replace their critical thinking, creativity, or investigative skills.</p><p><strong>Why Automation Isn&#8217;t the Silver Bullet</strong></p><p>The obsession with automating everything has led to an industry-wide anti-pattern: teams with extensive test suites but declining software quality. While automation is excellent for repetitive tasks, not all tests should be automated. Over-automating creates hidden costs, from the time it takes to run large test suites to the effort needed for maintenance. Automation is valuable, but it must be balanced with pragmatic decision-making. Just as no chef cooks <em>every</em> dish with an Instant Pot, no team should automate <em>every</em> test case.</p><p><strong>Metrics That Matter (And Those That Don&#8217;t)</strong></p><p>Misused metrics are another common pitfall in testing. Metrics like code coverage or the number of automated tests often lead teams astray, focusing on quantity over quality. For instance, 100% code coverage doesn&#8217;t mean your software is robust or bug-free. Instead, leaders should focus on metrics that truly reflect quality and productivity. Those are hard to find but are worth looking for. I like using DORA&#8217;s Change Failure Rate and Bugs Found in Production as tools to guide decisions, not absolute quality indicators. Ultimately, only your customers can define whether your software is of high quality.</p><p><strong>Testers as Innovators: Advocating for Users and Preventing Bugs</strong></p><p>Testers and testing should not be afterthoughts in the development process. Testers are investigators, experimenters, and user advocates. Their work goes far beyond running test cases&#8212;it&#8217;s about uncovering risks, improving usability, and ensuring the software delivers value. To help testers succeed, leaders must:</p><ul><li><p>Provide robust tools for testing (for all testing, not just automation).</p></li><li><p>Encourage a culture of respect for their expertise.</p></li><li><p>Involve them early in the development process to prevent bugs, not just find them.</p></li></ul><p><strong>Quality Starts with Leadership and Culture</strong></p><p>Here&#8217;s a hard truth: despite what some may think, testing doesn&#8217;t create quality&#8212;it identifies where quality might be lacking. Quality is everyone&#8217;s responsibility, and it starts with leadership. Leaders must actively foster a culture where quality is prioritized at every stage, from requirements to production. How do you create this culture? By aligning teams around a quality-first mindset:</p><ul><li><p>Ensure all roles&#8212;developers, testers, product managers&#8212;share ownership of quality.</p></li><li><p>Make quality a central theme in sprint planning, retrospectives, and team discussions.</p></li><li><p>Celebrate successes like preventing bugs, not just fixing them.</p></li></ul><p>Now it&#8217;s your turn: What strategies have worked for you to foster a quality-first culture? Have you struggled with testing myths or misconceptions in your organization? I&#8217;d love to hear your thoughts.</p>]]></content:encoded></item><item><title><![CDATA[The Shift in Front-End Test Automation: Testing Tools and Teamwork]]></title><description><![CDATA[For years, Selenium has been the go-to tool for automated browser testing, and for good reasons: it&#8217;s open source and free, has a large and active community, supports multiple browsers, platforms, and programming languages, and&#8212;perhaps most importantly&#8212;it&#8217;s familiar.]]></description><link>https://www.roadlesstested.com/p/the-shift-in-front-end-test-automation-testing-tools-and-teamwork</link><guid isPermaLink="false">https://www.roadlesstested.com/p/the-shift-in-front-end-test-automation-testing-tools-and-teamwork</guid><dc:creator><![CDATA[Alessandra Moreira]]></dc:creator><pubDate>Wed, 15 Jan 2025 21:16:54 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1501516069922-a9982bd6f3bd?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHx0b29scyUyMHdvb2R8ZW58MHx8fHwxNzM4MDc1MDA2fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" 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://images.unsplash.com/photo-1501516069922-a9982bd6f3bd?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHx0b29scyUyMHdvb2R8ZW58MHx8fHwxNzM4MDc1MDA2fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1501516069922-a9982bd6f3bd?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHx0b29scyUyMHdvb2R8ZW58MHx8fHwxNzM4MDc1MDA2fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1501516069922-a9982bd6f3bd?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHx0b29scyUyMHdvb2R8ZW58MHx8fHwxNzM4MDc1MDA2fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1501516069922-a9982bd6f3bd?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHx0b29scyUyMHdvb2R8ZW58MHx8fHwxNzM4MDc1MDA2fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1501516069922-a9982bd6f3bd?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHx0b29scyUyMHdvb2R8ZW58MHx8fHwxNzM4MDc1MDA2fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1501516069922-a9982bd6f3bd?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHx0b29scyUyMHdvb2R8ZW58MHx8fHwxNzM4MDc1MDA2fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" width="5184" height="3456" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1501516069922-a9982bd6f3bd?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHx0b29scyUyMHdvb2R8ZW58MHx8fHwxNzM4MDc1MDA2fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3456,&quot;width&quot;:5184,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;drafting instruments on top of table&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&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="drafting instruments on top of table" title="drafting instruments on top of table" srcset="https://images.unsplash.com/photo-1501516069922-a9982bd6f3bd?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHx0b29scyUyMHdvb2R8ZW58MHx8fHwxNzM4MDc1MDA2fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1501516069922-a9982bd6f3bd?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHx0b29scyUyMHdvb2R8ZW58MHx8fHwxNzM4MDc1MDA2fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1501516069922-a9982bd6f3bd?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHx0b29scyUyMHdvb2R8ZW58MHx8fHwxNzM4MDc1MDA2fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1501516069922-a9982bd6f3bd?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHx0b29scyUyMHdvb2R8ZW58MHx8fHwxNzM4MDc1MDA2fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 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">Photo by <a href="true">Fleur</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>For years, Selenium has been the go-to tool for automated browser testing, and for good reasons: it&#8217;s open source and free, has a large and active community, supports multiple browsers, platforms, and programming languages, and&#8212;perhaps most importantly&#8212;it&#8217;s familiar.</p><p>However, Selenium is not without its drawbacks. It tends to have slower execution compared to headless browser automation tools, lacks built-in reporting and test management features, and comes with a steep learning curve&#8212;especially for team members outside of the QA team, like engineers. And this last point matters&#8212;a lot. Here&#8217;s why.</p><p><strong>Beyond the Testing Team: Cypress and Playwright in Modern Workflows</strong></p><p>I had an interesting discussion at work today about <em><a href="https://tsh.io/state-of-frontend/">The State of Front End Development</a></em>, a report by <em>The House of Software</em>. We talked about automation tools&#8212;Cypress, Playwright, and Selenium&#8212;and their roles in modern testing workflows.</p><p>When a colleague mentioned Cypress ranked second and Playwright fifth in the report, I was intrigued. Selenium? Nowhere in the top 10.</p><p>Initially, I was surprised these tools ranked so highly. Despite competition, Selenium is still widely used in testing. But after examining the data, it made sense. The survey, which included 6,000 <strong>developers</strong>&#8212;<em>not testers</em>&#8212;focused on tools used by front-end developers for testing tasks like unit and integration testing. Jest, a JavaScript and TypeScript framework, unsurprisingly topped the list.</p><p>Cypress and Playwright&#8217;s prominence was even more intriguing under the context of the report, as I&#8217;d always viewed them as tools primarily aimed at testers and QA professionals &#8211; not engineers. However, their high rankings also confirmed what I&#8217;ve observed firsthand: <strong>their developer-friendly design makes them better suited to modern teams and workflows than traditional tools like Selenium</strong>.</p><h4>Why Engineers Prefer Working with Cypress and Playwright<a href="#adaf8456-cb7f-4f57-8ec8-c8e89fb634ad"><sup>1</sup></a></h4><p>Testing can feel like an uphill battle for developers, especially with tools that require steep learning curves or outdated workflows. Here&#8217;s why Cypress and Playwright are changing the game:</p><ul><li><p><strong>Developer-Friendly Design:</strong> Streamlined setup and configuration minimize adoption hurdles, making these tools far more accessible than Selenium.</p></li><li><p><strong>Seamless Integration:</strong> Built to integrate effortlessly with CI/CD pipelines, ensuring testing aligns smoothly with modern delivery workflows.</p></li><li><p><strong>Intuitive and Approachable:</strong> Clearer documentation simplify the learning curve, enabling quicker adoption and effective use.</p></li></ul><h4>A Real-World Case Study: Testing as a Team Sport</h4><p>In past roles, I&#8217;ve seen firsthand how tools like Playwright can transform team dynamics. For example, during one project, we faced a classic challenge: too many engineers, not enough testers. To address this, we shifted test maintenance to the entire team. Another step towards making quality everyone&#8217;s responsibility.</p><p>Here&#8217;s what worked:</p><ul><li><p><strong>Empowering Engineers:</strong> When an E2E test failed after a merge, engineers took the lead in investigating the issue. Was it a genuine bug or just a test update requirement? They analysed and resolved it, with testers providing support as needed rather than immediately stepping in to fix it. Testers focused on creating new tests during sprints, but test maintenance became a shared responsibility across the team.</p></li><li><p><strong>Lowering the Learning Curve:</strong> Playwright simplified onboarding for engineers by reducing friction. Its seamless integration with modern CI/CD pipelines and built-in features&#8212;such as tracing, screenshots, and debugging tools&#8212;eliminated the need for external libraries or frameworks like TestNG or Allure. This reduced complexity ensured engineers could get started quickly without feeling overwhelmed.</p></li><li><p><strong>Collaborative Test Maintenance:</strong> While testers handled test creation during the sprint, maintaining those tests became a team-wide effort, fostering a culture of shared responsibility and collaboration.</p></li></ul><p>Would we have had the same success with Selenium? Possibly&#8212;if it could have been implemented the same way. I&#8217;ve attempted to approach testing this way with teams using Selenium before, and it hasn&#8217;t been successful, even once. The steep learning curve alone often created resistance, undermining efforts to distribute responsibility across the team. This challenge has largely relegated Selenium to being a tool used primarily by testers.</p><p>In contrast, tools like Playwright have enabled collaboration and made it feasible to sustain a team-wide approach to testing. Their simplicity and developer-friendly design have bridged the gap, helping make testing a shared responsibility rather than a siloed activity.</p><blockquote><p><strong>Sometimes, it&#8217;s not about choosing the &#8220;best&#8221; tool&#8212;it&#8217;s about choosing the tool your team will actually use to get the job done effectively.</strong></p></blockquote><p>Testing tools spark passionate debates&#8212;what&#8217;s your perspective? Comment below to share your experiences with Selenium, Cypress, or Playwright and how they&#8217;ve impacted your team&#8217;s testing efforts.</p><ol><li><p><em><strong>Note:</strong> This post is not intended to be a comprehensive guide or a detailed comparison of Selenium, Playwright, and Cypress, nor does it delve into their respective pros and cons. Instead, my goal is to highlight why Playwright and Cypress are gaining momentum in adoption. Based on my experience, these tools resonate more with teams aiming to bring engineers deeper into the testing sphere, fostering greater collaboration and shared ownership of quality.</em></p><p></p><p><a href="#adaf8456-cb7f-4f57-8ec8-c8e89fb634ad-link">&#65038;</a></p></li></ol>]]></content:encoded></item><item><title><![CDATA[Same Tools, Different Uses: Adapting Leadership to New Contexts]]></title><description><![CDATA[As leaders, our toolkits are packed with experiences, strategies, and practices that have worked wonders in the past.]]></description><link>https://www.roadlesstested.com/p/same-tools-different-uses-adapting-leadership-to-new-contexts</link><guid isPermaLink="false">https://www.roadlesstested.com/p/same-tools-different-uses-adapting-leadership-to-new-contexts</guid><dc:creator><![CDATA[Alessandra Moreira]]></dc:creator><pubDate>Mon, 13 Jan 2025 20:12:48 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1579804152190-ba7a74a8cc3c?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMXx8Y2xpbWJpbmclMjB0ZWFtfGVufDB8fHx8MTczODA3NTMxMHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" 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://images.unsplash.com/photo-1579804152190-ba7a74a8cc3c?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMXx8Y2xpbWJpbmclMjB0ZWFtfGVufDB8fHx8MTczODA3NTMxMHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1579804152190-ba7a74a8cc3c?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMXx8Y2xpbWJpbmclMjB0ZWFtfGVufDB8fHx8MTczODA3NTMxMHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1579804152190-ba7a74a8cc3c?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMXx8Y2xpbWJpbmclMjB0ZWFtfGVufDB8fHx8MTczODA3NTMxMHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1579804152190-ba7a74a8cc3c?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMXx8Y2xpbWJpbmclMjB0ZWFtfGVufDB8fHx8MTczODA3NTMxMHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1579804152190-ba7a74a8cc3c?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMXx8Y2xpbWJpbmclMjB0ZWFtfGVufDB8fHx8MTczODA3NTMxMHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1579804152190-ba7a74a8cc3c?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMXx8Y2xpbWJpbmclMjB0ZWFtfGVufDB8fHx8MTczODA3NTMxMHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" width="5016" height="3337" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1579804152190-ba7a74a8cc3c?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMXx8Y2xpbWJpbmclMjB0ZWFtfGVufDB8fHx8MTczODA3NTMxMHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3337,&quot;width&quot;:5016,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;man in orange jacket climbing on mountain during daytime&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&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="man in orange jacket climbing on mountain during daytime" title="man in orange jacket climbing on mountain during daytime" srcset="https://images.unsplash.com/photo-1579804152190-ba7a74a8cc3c?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMXx8Y2xpbWJpbmclMjB0ZWFtfGVufDB8fHx8MTczODA3NTMxMHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1579804152190-ba7a74a8cc3c?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMXx8Y2xpbWJpbmclMjB0ZWFtfGVufDB8fHx8MTczODA3NTMxMHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1579804152190-ba7a74a8cc3c?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMXx8Y2xpbWJpbmclMjB0ZWFtfGVufDB8fHx8MTczODA3NTMxMHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1579804152190-ba7a74a8cc3c?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwyMXx8Y2xpbWJpbmclMjB0ZWFtfGVufDB8fHx8MTczODA3NTMxMHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 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">Photo by <a href="true">Alessandro Simonetta</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p></p><p>As leaders, our toolkits are packed with experiences, strategies, and practices that have worked wonders in the past. But when we step into new environments, those familiar tools often require a different approach to stay effective. Leadership, much like software engineering, thrives on adaptability.</p><h4><strong>One of the Hardest Leadership Lessons I&#8217;ve Learned</strong></h4><p>Two months into a new job, I found myself navigating an unexpected leadership shake-up. The manager who hired me&#8212;and had been one of the reasons I joined&#8212;left abruptly. Within weeks, I was reporting to a new manager. On paper, his credentials were impressive: seasoned engineering leader, top-tier companies, an enviable LinkedIn profile. Reality? Not so good.</p><p>Despite his experience, he struggled to adapt to the organization&#8217;s culture and the needs of the teams he managed. He wielded his previous company&#8217;s playbook like a hammer, viewing every challenge as a nail. His failure to adjust not only alienated the team but also stalled progress. After six months of chaos, he was let go. For me, as a middle manager at the time, it was one of the most challenging periods in my career&#8212;juggling a rigid leader&#8217;s fallout, guiding my team through turbulence, and ensuring quality software delivery.</p><p>This experience taught me that leadership isn&#8217;t just about the tools we carry&#8212;it&#8217;s about knowing when and how to use them, and when to set them aside altogether.</p><h3><strong>4 Strategies for Leadership Adaptability</strong></h3><p>We have been navigating challenging times with layoffs, restructures, and shifting priorities, meaning that as leaders, we must regularly recalibrate. While our skills and experience are invaluable, they must be wielded with an understanding of the new context we find ourselves in.</p><p>When I step into a new team, these strategies help me adapt and apply my leadership toolkit effectively (trying not to be &#8216;that&#8217; rigid manager I had to deal with):</p><h4>1. <strong>Resist Action Bias</strong></h4><p>The urge to prove your worth as a new leader is strong, but resist diving into delivering change too quickly. Take time to observe and absorb the business ecosystem&#8212;its culture, processes, and systems. Accept that you are a beginner in this environment, even if you&#8217;re the leader. Attend meetings with a learner&#8217;s mindset, not just a decision-maker&#8217;s.</p><h4>2. <strong>Build Trust Through Small Wins</strong></h4><p>Establishing credibility within the team takes time. Identify low-hanging fruit&#8212;small but meaningful improvements that demonstrate your value. Early wins help build trust and pave the way for bigger changes.</p><h4>3. <strong>Cultivate a Network of Collaborators</strong></h4><p>Leadership isn&#8217;t a solo endeavor. Forge connections across teams and departments. Collaborators amplify your influence and help you navigate organizational complexities.</p><h4>4. <strong>Spot the Key Players</strong></h4><p>Every organization has unofficial influencers and &#8220;organizational translators&#8221;&#8212;people who understand the culture and can bridge gaps. Identify and work with them to understand unspoken dynamics and gain deeper insights into the team.</p><h3>Context Is Key</h3><p>The tools and strategies that once made you successful are still valuable&#8212;but they aren&#8217;t universally applicable. Leadership requires context-aware adaptation. By listening, learning, and tailoring our approach, we set ourselves&#8212;and our teams&#8212;up for success. We can do more than just manage change. We can model how to thrive in it.</p>]]></content:encoded></item><item><title><![CDATA[Why Good Testers Ship Bad Software]]></title><description><![CDATA[Testing isn&#8217;t just about finding bugs.]]></description><link>https://www.roadlesstested.com/p/why-good-testers-ship-bad-software</link><guid isPermaLink="false">https://www.roadlesstested.com/p/why-good-testers-ship-bad-software</guid><dc:creator><![CDATA[Alessandra Moreira]]></dc:creator><pubDate>Mon, 06 Jan 2025 20:57:58 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1715752366611-87aa3b067c08?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzaGlwJTIwd3JhY2t8ZW58MHx8fHwxNzM4MDc1MjIyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1715752366611-87aa3b067c08?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzaGlwJTIwd3JhY2t8ZW58MHx8fHwxNzM4MDc1MjIyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1715752366611-87aa3b067c08?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzaGlwJTIwd3JhY2t8ZW58MHx8fHwxNzM4MDc1MjIyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1715752366611-87aa3b067c08?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzaGlwJTIwd3JhY2t8ZW58MHx8fHwxNzM4MDc1MjIyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1715752366611-87aa3b067c08?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzaGlwJTIwd3JhY2t8ZW58MHx8fHwxNzM4MDc1MjIyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1715752366611-87aa3b067c08?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzaGlwJTIwd3JhY2t8ZW58MHx8fHwxNzM4MDc1MjIyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1715752366611-87aa3b067c08?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzaGlwJTIwd3JhY2t8ZW58MHx8fHwxNzM4MDc1MjIyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" width="4312" height="2875" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1715752366611-87aa3b067c08?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzaGlwJTIwd3JhY2t8ZW58MHx8fHwxNzM4MDc1MjIyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2875,&quot;width&quot;:4312,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;a boat sitting on top of a sandy beach&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&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="a boat sitting on top of a sandy beach" title="a boat sitting on top of a sandy beach" srcset="https://images.unsplash.com/photo-1715752366611-87aa3b067c08?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzaGlwJTIwd3JhY2t8ZW58MHx8fHwxNzM4MDc1MjIyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1715752366611-87aa3b067c08?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzaGlwJTIwd3JhY2t8ZW58MHx8fHwxNzM4MDc1MjIyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1715752366611-87aa3b067c08?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzaGlwJTIwd3JhY2t8ZW58MHx8fHwxNzM4MDc1MjIyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1715752366611-87aa3b067c08?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw0fHxzaGlwJTIwd3JhY2t8ZW58MHx8fHwxNzM4MDc1MjIyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 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">Photo by <a href="true">Markus Kammermann</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>Testing isn&#8217;t just about finding bugs.<br>Testing isn&#8217;t just about verifying requirements.</p><p>It&#8217;s about <strong>revealing the truth</strong>&#8212;the good, the bad, and the ugly.</p><p>The role of a great tester is to uncover and share information with decision-makers so they can make informed decisions. Sometimes, that means <strong>releasing software that&#8217;s not 100% polished</strong>.</p><p>Yes, you read that right:</p><ul><li><p>Good testers release software with known bugs.</p></li><li><p>Good testers ship imperfect products.</p></li></ul><p>Sound counterintuitive? Here&#8217;s why: <strong>quality isn&#8217;t the only priority.</strong> When a business makes decisions, it weighs factors like:</p><ul><li><p><strong>Speed to market:</strong> Being first often trumps being perfect.</p></li><li><p><strong>Customer needs:</strong> Sometimes, &#8220;good enough&#8221; delivers value faster.</p></li><li><p><strong>Seasonality:</strong> Some deadlines don&#8217;t wait for flawless code.</p></li></ul><p>This doesn&#8217;t mean testers or testing failed. It means testers empowered the business with the <strong>right information</strong> to choose its trade-offs.</p><p>It&#8217;s not about &#8220;perfect&#8221; software.<br>It&#8217;s about the <strong>right software</strong>, delivered at the <strong>right time</strong>, with the <strong>right trade-offs</strong>.</p><p>So the next time you see a bug in production, remember:<br>It might not be a failure of testing.<br>It might be a deliberate decision for the business.</p><p>Being a good tester isn&#8217;t about chasing perfection.<br>It&#8217;s about <strong>delivering clarity</strong>, even when the answers are messy.</p><p>To my software engineering and testing community: I&#8217;d love to know what&#8217;s the hardest trade-off you&#8217;ve had to make when balancing quality with business goals?</p>]]></content:encoded></item><item><title><![CDATA[One Reason Why AI Won’t Replace Testers: The Power of Human Expertise]]></title><description><![CDATA[I took some time this week to dive into the 2024 DORA Report, and one statement really jumped out at me:]]></description><link>https://www.roadlesstested.com/p/one-reason-why-ai-wont-replace-testers-the-power-of-human-expertise</link><guid isPermaLink="false">https://www.roadlesstested.com/p/one-reason-why-ai-wont-replace-testers-the-power-of-human-expertise</guid><dc:creator><![CDATA[Alessandra Moreira]]></dc:creator><pubDate>Fri, 03 Jan 2025 20:45:32 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1517732306149-e8f829eb588a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw5fHxwZW9wbGV8ZW58MHx8fHwxNzM4MDYyMDc1fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" 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://images.unsplash.com/photo-1517732306149-e8f829eb588a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw5fHxwZW9wbGV8ZW58MHx8fHwxNzM4MDYyMDc1fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1517732306149-e8f829eb588a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw5fHxwZW9wbGV8ZW58MHx8fHwxNzM4MDYyMDc1fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1517732306149-e8f829eb588a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw5fHxwZW9wbGV8ZW58MHx8fHwxNzM4MDYyMDc1fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1517732306149-e8f829eb588a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw5fHxwZW9wbGV8ZW58MHx8fHwxNzM4MDYyMDc1fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1517732306149-e8f829eb588a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw5fHxwZW9wbGV8ZW58MHx8fHwxNzM4MDYyMDc1fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1517732306149-e8f829eb588a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw5fHxwZW9wbGV8ZW58MHx8fHwxNzM4MDYyMDc1fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080" width="4928" height="3280" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1517732306149-e8f829eb588a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw5fHxwZW9wbGV8ZW58MHx8fHwxNzM4MDYyMDc1fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3280,&quot;width&quot;:4928,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;group of people walking on pedestrian lane&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&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="group of people walking on pedestrian lane" title="group of people walking on pedestrian lane" srcset="https://images.unsplash.com/photo-1517732306149-e8f829eb588a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw5fHxwZW9wbGV8ZW58MHx8fHwxNzM4MDYyMDc1fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1517732306149-e8f829eb588a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw5fHxwZW9wbGV8ZW58MHx8fHwxNzM4MDYyMDc1fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1517732306149-e8f829eb588a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw5fHxwZW9wbGV8ZW58MHx8fHwxNzM4MDYyMDc1fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1517732306149-e8f829eb588a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHw5fHxwZW9wbGV8ZW58MHx8fHwxNzM4MDYyMDc1fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1080 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">Photo by <a href="true">Jacek Dylag</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p></p><p>I took some time this week to dive into the <strong><a href="https://dora.dev/research/2024/dora-report/">2024 DORA Report</a></strong>, and one statement really jumped out at me:</p><blockquote><p><em>&#8220;Software doesn&#8217;t build itself. Even when assisted by AI, people build software, and their experiences at work are a foundational component of successful organizations.&#8221;</em></p></blockquote><p>This holds true in <strong>software testing</strong> as well: software does NOT test itself. People test software.</p><p>Yes, people build tools for automated regression checking. Yes, AI can assist in investigations, code reviews, and research. But here&#8217;s the truth:</p><p>AI cannot replace <strong>human experience</strong> or the core function of testing: <strong>human-driven insight</strong>.</p><p>AI <em>assists</em>, but it doesn&#8217;t innovate. It doesn&#8217;t connect the dots the way a skilled tester can when troubleshooting complex issues. It can&#8217;t anticipate edge cases, empathize with user behavior, or apply critical thinking. Even with sophisticated AI testing tools on the market, they still require <strong>human expertise</strong> for effective configuration, interpretation, and escalation. Just like AI won&#8217;t build software on its own, it won&#8217;t <em>test</em> it either.</p><p>AI is a partner, not a replacement.</p><p>In testing.<br>In software development.<br>In innovation.</p><p>And the organizations and teams that thrive will be the ones that recognize the irreplaceable value of human insight, supported (not overshadowed) by the power of AI.</p>]]></content:encoded></item></channel></rss>