{"version":"1.0","type":"rich","provider_name":"Acast","provider_url":"https://acast.com","height":250,"width":700,"html":"<iframe src=\"https://embed.acast.com/$/65de32896569fa0017d17653/6a9fffcd0797014d1ec250b1?\" frameBorder=\"0\" width=\"700\" height=\"250\"></iframe>","title":"None Dare Refactor (with Noah Silvera)","description":"<p>Jared talks with Noah Silvera, a Super Good Software engineer and the show's most frequent guest, about treating requirements as negotiable rather than as literal instructions. Requirements reach engineers through a game of telephone, so she argues you have to go back to the client, understand the reasoning, and lead them toward better decisions they arrive at themselves. Engineers own the outcome and cannot hide behind \"that's just what they told me.\" She makes the case for spikes, formal or informal, on the grounds that understanding an unfamiliar part of the system first is usually cheaper than fixing it later. Which decisions deserve that investment depends on how expensive they are to undo: design is easy to change in production, while data models require migrations and leave permanent gaps in what you collected. When a launch date will not move and Brooks' Law rules out adding people, the only real lever is cutting scope, which requires knowing what the business actually needs at launch. Her advice to newer developers is that working within constraints is the engineering problem, not an obstacle to it.</p><p><br></p><p><strong>Links:</strong></p><p><br></p><p><a href=\"https://en.wikipedia.org/wiki/Brooks%27s_law\" rel=\"noopener noreferrer\" target=\"_blank\">Brooks' Law</a></p><p><a href=\"https://en.wikipedia.org/wiki/The_Mythical_Man-Month\" rel=\"noopener noreferrer\" target=\"_blank\">The Mythical Man-Month</a></p><p><a href=\"https://en.wikipedia.org/wiki/Spike_(software_development)\" rel=\"noopener noreferrer\" target=\"_blank\">Spike</a></p><p><a href=\"https://scaledagileframework.com/spikes/\" rel=\"noopener noreferrer\" target=\"_blank\">Spikes in SAFe</a></p><p><a href=\"https://agilealliance.org/glossary/xp/\" rel=\"noopener noreferrer\" target=\"_blank\">Extreme Programming</a></p><p><a href=\"https://en.wikipedia.org/wiki/Big_Design_Up_Front\" rel=\"noopener noreferrer\" target=\"_blank\">Big Design Up Front</a></p><p><a href=\"https://www.pmi.org/disciplined-agile/agile/costofchange\" rel=\"noopener noreferrer\" target=\"_blank\">Boehm's cost-of-change curve</a></p><p><a href=\"https://en.wikipedia.org/wiki/Technical_debt\" rel=\"noopener noreferrer\" target=\"_blank\">Technical debt</a></p><p><a href=\"https://www.stickyminds.com/article/getting-empirical-about-refactoring\" rel=\"noopener noreferrer\" target=\"_blank\">Getting Empirical about Refactoring</a></p><p><a href=\"https://www.fastruby.io/blog/code-quality/churn-vs-complexity-vs-coverage.html\" rel=\"noopener noreferrer\" target=\"_blank\">Churn vs. Complexity vs. Code Coverage</a></p><p><a href=\"https://en.wikipedia.org/wiki/Minimum_viable_product\" rel=\"noopener noreferrer\" target=\"_blank\">Minimum viable product</a></p><p><a href=\"https://en.wikipedia.org/wiki/Schema_migration\" rel=\"noopener noreferrer\" target=\"_blank\">Schema migration</a></p><p><br></p><p><strong>Dead Code Podcast Links:</strong></p><p><br></p><p><a href=\"https://hachyderm.io/@deadcode\" rel=\"noopener noreferrer\" target=\"_blank\">Mastodon</a></p><p><a href=\"https://twitter.com/DeadCodePod\" rel=\"noopener noreferrer\" target=\"_blank\">X</a></p><p><br></p><p><strong>Jared’s Links:</strong></p><p><br></p><p><a href=\"https://supergood.social/@jared\" rel=\"noopener noreferrer\" target=\"_blank\">Mastodon</a></p><p><a href=\"https://twitter.com/jardonamron\" rel=\"noopener noreferrer\" target=\"_blank\">X</a></p><p><a href=\"https://www.twitch.tv/jardonamron\" rel=\"noopener noreferrer\" target=\"_blank\">twitch.tv/jardonamron</a></p><p><a href=\"https://jardo.dev\" rel=\"noopener noreferrer\" target=\"_blank\">Jared’s Newsletter &amp; Website</a></p><p><br></p><p><a href=\"https://docs.google.com/document/d/1swQ5UbheXdiU5zAmrvGbAZhAFhMYcDrhKb2mSGd4G_g/edit?tab=t.0\" rel=\"noopener noreferrer\" target=\"_blank\">Episode Transcript</a></p>","author_name":"Jared Norman"}