<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Serenity | The intervention consultancy for struggling software teams Newsletter</title><link>https://serenity.software/newsletter/</link><description>Newsletter from Serenity | The intervention consultancy for struggling software teams</description><generator>Hugo</generator><language>en</language><copyright>© Serenity Software</copyright><lastBuildDate>Tue, 18 Nov 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://serenity.software/newsletter/feed.xml" rel="self" type="application/rss+xml"/><item><title>Ship Fast</title><link>https://serenity.software/newsletter/ship-fast/</link><pubDate>Tue, 18 Nov 2025 00:00:00 +0000</pubDate><guid>https://serenity.software/newsletter/ship-fast/</guid><description><![CDATA[<p>We’ve <strong><em>all</em></strong> felt the itch. You open a file to make a small change, and you’re immediately confronted with a mess. Maybe it’s legacy code that has overstayed its welcome, or an architectural pattern that creates friction every time you try to add a feature.</p>
<p>The instinct is to fix it. To overhaul the system until it is clean, modern, and “right.”</p>
<p>While this conscientiousness is a vital trait for senior engineers, there is a dangerous trap that lies between the urge to fix and the execution of that fix: <strong>The Big Bang Refactor.</strong></p>
<p>In my latest article, I explore why smart teams fall into this trap and how it paralyzes delivery. It usually starts with the “Illusion of Control.” You intend to rewrite a single module, but software is rarely that contained. A change to authentication breaks the user model, which breaks reporting, which requires a library upgrade. Suddenly, you aren’t refactoring; you are unearthing an archeological dig site.</p>
<p><strong>The Clinical Signs of Stagnation</strong></p>
<p>When a team gets stuck in this mode, they stop shipping features to focus on “stabilization.” If you suspect your team is currently caught in this trap, look for these symptoms:</p>
<ul>
<li>
<p><strong>The “Long-Lived Branch” Syndrome:</strong> Feature branches stay open for weeks or months, requiring constant, painful rebases.</p>
</li>
<li>
<p><strong>Fear of Deployment:</strong> Releasing to production feels like a military operation rather than a routine task.</p>
</li>
<li>
<p><strong>The “One More Thing” Justification:</strong> Estimates slip week after week because of “one last edge case.”</p>
</li>
<li>
<p><strong>Silence in the Metrics:</strong> Engineers are working hard, but the user-facing changelog is a flatline.</p>
</li>
</ul>
<p>This paralysis is incredibly expensive. While the team is stuck in the mud of a “perfect” architecture that hasn’t shipped yet, value delivery hits zero and stakeholders lose trust.</p>
<p><strong>The Solution: Build the Skill of Shipping</strong></p>
<p>The best teams fight the urge to rewrite everything at once because they have developed a superior skill: <strong>Shipping.</strong></p>
<p>We tend to view shipping as merely the final button press, but it is a discipline as complex and necessary as writing unit tests. If you want to move quickly, you must build the habit of shipping expediently.</p>
<p>This requires a shift in strategy toward “Aggressive Incrementalism.” You must break the work down until it fits in a single day and apply the Boy Scout Rule, cleaning the mess while you deliver value, rather than holding the value hostage for a perfect cleanup.</p>
<p>A messy system that is improved daily is infinitely easier to manage than a “perfect” system that is stuck indefinitely.</p>
<p>If this is striking a chord with your team, check out the full article about <a href="https://serenity.software/articles/shipping-beats-perfection/">building the skill of shipping on your team</a>.</p>
]]></description></item><item><title>Why's Everything So Slow?</title><link>https://serenity.software/newsletter/whys-everything-so-slow/</link><pubDate>Tue, 11 Nov 2025 00:00:00 +0000</pubDate><guid>https://serenity.software/newsletter/whys-everything-so-slow/</guid><description><![CDATA[<p>Does this feel familiar?</p>
<p>Everything feels… slow. You have a critical feature or an urgent bug fix, but it takes forever to get it through the process. Your engineering team feels crushed under a mountain of work, their calendars are full, their velocity charts look good, and they are <em>busy</em>.</p>
<p>But where are the results?</p>
<p>This disconnect, where “busy” doesn’t equal “delivery,” is one of the most frustrating and costly problems in software development. It’s a sign your company’s “ship” has a lot of little leaks.</p>
<p>The good news? There is <strong>one metric</strong> that exposes every single crack, bottleneck, and wasteful activity in your entire product development system.</p>
<p>It’s called <strong>Lead Time.</strong></p>
<hr>
<h3 id="-the-one-metric-that-actually-matters">📈 The One Metric That Actually Matters</h3>
<p>Lead Time is the total time from the moment an idea is requested to the moment it is live and in the hands of your customer.</p>
<p>That’s it. From <strong>“Hey, we should…”</strong> to <strong>“It’s live.”</strong></p>
<p>It includes <em>everything</em>:</p>
<ul>
<li>
<p>The time it rots in a backlog.</p>
</li>
<li>
<p>The time it’s “waiting for design.”</p>
</li>
<li>
<p>The time it’s debated in a “prioritization” meeting.</p>
</li>
<li>
<p>The time it’s being coded.</p>
</li>
<li>
<p>The time it’s waiting for code review.</p>
</li>
<li>
<p>The time it’s waiting for a “QA” team.</p>
</li>
<li>
<p>The time it’s waiting for the “next deployment.”</p>
</li>
</ul>
<p>This number is your company’s <strong>true speed</strong>. If your Lead Time is measured in weeks or months for bite-sized tasks, you have a blaring-red alarm.</p>
<hr>
<h3 id="-your-agile-metrics-are-probably-lying-to-you">🚨 Your “Agile” Metrics Are (Probably) Lying to You</h3>
<p>“But wait,” you say, “our <em>Cycle Time</em> is low!”</p>
<p>This is the most common and dangerous trap. The “Agile” world has so confused these terms that they’ve become meaningless. Many teams now measure what I call <strong>“Troglodyte Cycle Time”</strong>, a useless vanity metric that <em>only</em> measures the active coding part of building software.</p>
<p><img src="images/licensed-image" alt="Imagen de Lead Time vs. Cycle Time in software development"></p>
<p>It conveniently ignores all the handoffs, the delays, and the “waiting” that happens before and after.</p>
<ul>
<li>
<p><strong>Lead Time</strong> is the <em>entire</em> journey, from idea to customer value. This is what your customer feels.</p>
</li>
<li>
<p><strong>Cycle Time</strong> is just one <em>subset</em> of Lead Time, the actual production process. And, FYI, it should include dead time!</p>
</li>
</ul>
<p>If your engineers code a feature in two days, but it takes 28 days to <em>ship</em>, your Cycle Time is 2 days and your Lead Time is 30. Which number <em>actually</em> matters to your business?</p>
<hr>
<h3 id="what-lead-time-tells-you">What Lead Time Tells You</h3>
<p>When your Lead Time is long, it’s not an “engineering problem.” It’s a <em>system</em> problem. That Lead Time delay is the sound of your business breaking in four distinct ways:</p>
<ol>
<li>
<p><strong>Your Best Ideas Are Rotting in a “Cemetery”:</strong> Your backlog isn’t a list of assets; it’s a list of broken promises. Every day an idea waits, it depreciates in value. By the time you build it, the market may have already moved on.</p>
</li>
<li>
<p><strong>You Are Paying Your Team to Play “Priority Hot Potato”:</strong> A long Lead Time is a classic symptom of leadership chaos. When every new sales call creates a new “top priority,” your team is constantly stopping, starting, and context-switching. Everyone is “busy,” but no one is delivering.</p>
</li>
<li>
<p><strong>Your Business Is Too Unpredictable to Run:</strong> How can you promise a feature to a major client when you have no idea if it will take two weeks or two quarters? You can’t. You’re not running a business; you’re running a <em>casino</em>, pulling the lever and hoping the right features come out.</p>
</li>
<li>
<p><strong>Your “Process” Is Strangling Your Product:</strong> The 2 days of coding isn’t the problem. The 28 days of <em>waiting</em> is. Your “process” has become a series of bureaucratic tollbooths: waiting for approval, waiting for review, waiting for QA, waiting for the “Friday deployment.”</p>
</li>
</ol>
<hr>
<h3 id="-how-to-fix-it">💡 How to Fix It</h3>
<p>This isn’t a “tech” problem. It’s a <em>system</em> problem.</p>
<p>Start measuring your <em>true</em> Lead Time. It’s the honest, and often painful, measure of your company’s ability to learn, adapt, and win.</p>
<p><strong>To read the full, in-depth article on diagnosing and fixing your Lead Time, <a href="https://serenity.software/articles/lead-time-why-is-everything-so-slow/">click here</a>.</strong></p>
]]></description></item><item><title>Tall Poppies and Rockstars</title><link>https://serenity.software/newsletter/tall-poppies-and-rockstars/</link><pubDate>Mon, 07 Jul 2025 00:00:00 +0000</pubDate><guid>https://serenity.software/newsletter/tall-poppies-and-rockstars/</guid><description><![CDATA[<p>We’ve all heard the term “rockstar developer.” For many, it conjures images of a reckless “cowboy coder”, a lone wolf who moves fast, breaks things, and leaves a trail of messy, unmaintainable code for the rest of the team to clean up.</p>
<p>The tech industry narrative has soured on this archetype, painting them as a short-term gain for a long-term headache. Many have even concluded that the true 10x developer is a myth, a cynical recruiting buzzword with no basis in reality.</p>
<p>But what if this narrative is wrong? What if, in our rush to criticize the stereotype, we’ve started celebrating mediocrity and allowing ourselves to just bumble through?</p>
<h3 id="redefining-the-rockstar-its-about-taste">Redefining the “Rockstar”: It’s About Taste</h3>
<p>A true rockstar developer isn’t defined by the sheer volume of code they can churn out. Their true value lies in a powerful combination of <strong>focus, clarity, and taste.</strong></p>
<p>While focus and clarity allow them to cut through noise and find the most direct path to a solution, “taste” is their underrated superpower. In software, taste is the earned wisdom that separates the exceptional from the merely good. It’s an intuitive feel for elegant solutions, clean architecture, and high-quality code, much like a master chef instinctively knows how flavors and textures will combine.</p>
<p>A developer with taste doesn’t create complexity; they produce elegant solutions that are easier to understand and maintain. They’ve already seen the future multiple times, and can draw from their experience to ensure that software they architect and code won’t fall prey to traps that others would never even think to consider. Their clear vision eliminates the need for “design by committee,” saving countless hours of meetings and churn.</p>
<h3 id="are-we-just-cutting-down-the-tall-poppies">Are We Just Cutting Down the Tall Poppies?</h3>
<p>So, if these developers are so valuable, why the bad reputation?</p>
<p>Often, it comes down to “tall poppy syndrome”, a cultural tendency to resent or criticize those whose talents elevate them above their peers. Instead of admitting that some people are exceptionally good at building quality software quickly, we find faults to drag them down. We make excuses:</p>
<ul>
<li>
<p><em>“Sure, they’re fast, but the code quality must be terrible.”</em></p>
</li>
<li>
<p><em>“They’re not a team player.”</em></p>
</li>
<li>
<p><em>“Nobody else can maintain their code.”</em></p>
</li>
</ul>
<p>These criticisms are often a defense mechanism for a culture that is uncomfortable with outliers, and they are a handicap to learning for everyone else.</p>
<h3 id="what-to-do-about-it">What To Do About It?</h3>
<p>This leads to a critical dilemma for any CTO or tech lead: What do you do when one developer is vastly outperforming the rest of the team?</p>
<p>Conventional wisdom often suggests reining in the rockstar. Force them to slow down, to write “simpler” code, to spend more time hand-holding.</p>
<p>Your job as a leader is not to manage your best person down; it’s to <strong>manage the rest of the team up.</strong> If your team can’t understand or maintain the code your best engineer is writing, you don’t have a rockstar problem, you have a hiring or training problem.</p>
<p>And the others on the team, or in the world as a whole? How should rockstars be treated? With a student’s mindset: if there is something to learn from them, then learn it. Why take potshots from the crowd? It’s like the moral from Roosevelt’s Man in the Arena speech, only those who are making attempts matter, everyone else may be ignored.</p>
<p>If you’re interested in more, I have a longer-form post you can read: <a href="https://serenity.software/articles/the-rockstar-programmer/">Taste: In Defense of the “Rockstar Programmer”</a>.</p>
]]></description></item><item><title>Stay Focused, King</title><link>https://serenity.software/newsletter/stay-focused-king/</link><pubDate>Sat, 07 Jun 2025 00:00:00 +0000</pubDate><guid>https://serenity.software/newsletter/stay-focused-king/</guid><description><![CDATA[<p>Focus is hard.</p>
<p>Building software is usually really intricate, but also fairly tedious. There are a lot of tools to help get past the tedium nowadays, but we tend to lose sight of the fundamentals in favor of what we <em>feel</em> like we should do. We copy what we see other admirable companies doing in the hope that their success will rub off onto our own process and we’ll see similar results.</p>
<p>Pick an architecture here, build an infrastructure there, pull in a process you read in some thought leader’s blog post, and before you know it you’ve built a nuclear power plant to power a lightbulb.</p>
<p>Years ago, Netflix famously unleashed a “Chaos Monkey”, a tool designed to randomly break their own systems. It was a brilliant solution to a problem of immense scale: how to ensure a global streaming service never went down.</p>
<p>And in the process, they accidentally created a trap that thousands of startups have fallen into ever since.</p>
<p>I saw it happen in real-time. Young, agile companies, who should have been obsessed with their first customers, were suddenly spending months building their own Chaos Monkeys. They were copying the complex solution without having the complex problem.</p>
<p>This is a pattern I see over and over in my advisory work. Teams get seduced by the siren’s call of complexity. They adopt the tools and processes of giants like Google and Netflix, believing that if they mimic the process, they will achieve the outcome.</p>
<p>The result? They bury themselves in something I call <strong>“Process Debt.”</strong></p>
<p>It’s like technical debt, but sneakier. It’s the ongoing tax you pay for maintaining overly complex CI/CD pipelines, premature microservice architectures, and the poster child of modern overkill: the unnecessary Kubernetes cluster. It’s a constant drain on your most valuable resources, time, focus, and momentum.</p>
<p>Why do we do this?</p>
<ul>
<li>
<p>We’re trying to solve for a future scale we haven’t earned yet.</p>
</li>
<li>
<p>We’re “bikeshedding”, focusing on complex technical problems to avoid the messy, ambiguous work of finding out what customers actually want.</p>
</li>
<li>
<p>Frankly, it can seem more fun and look better on a resume.</p>
</li>
</ul>
<p>In my latest article, I pull back the curtain on this phenomenon. I talk about the surprising power of a single server, why most startups under $10M in revenue should run from systems like Kubernetes, and how to use the “You Ain’t Gonna Need It” principle for your processes, not just your code.</p>
<p>The goal isn’t to build a beautiful, intricate machine. The goal is to solve a customer’s problem. And the path to doing that is almost always simpler than you think.</p>
<p>If you’ve ever felt the pull of a complex new technology or wondered if your team is over-engineering its infrastructure, this one’s for you.</p>
<p>You can read more about this in my article, <a href="https://serenity.software/articles/you-arent-gonna-need-the-chaos-monkey/">You Aren’t Gonna Need The Chaos Monkey</a>.</p>
<p>Cheers,</p>
<p>Jordan</p>
]]></description></item></channel></rss>