<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[The Software Factory Brief]]></title><description><![CDATA[Long-form reference articles on how software organizations really work — product, engineering, ops, support, quality, governance, and scale. Written for executives and tech leaders dealing with growth, pressure, or complexity.]]></description><link>https://mathiasprzybylowicz.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!9ltc!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6392e819-dbd0-4d27-ba1e-08aa7acdbdb3_300x300.png</url><title>The Software Factory Brief</title><link>https://mathiasprzybylowicz.substack.com</link></image><generator>Substack</generator><lastBuildDate>Wed, 13 May 2026 20:54:08 GMT</lastBuildDate><atom:link href="https://mathiasprzybylowicz.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Mathias Przybylowicz]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[mathiasprzybylowicz@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[mathiasprzybylowicz@substack.com]]></itunes:email><itunes:name><![CDATA[Mathias Przybylowicz]]></itunes:name></itunes:owner><itunes:author><![CDATA[Mathias Przybylowicz]]></itunes:author><googleplay:owner><![CDATA[mathiasprzybylowicz@substack.com]]></googleplay:owner><googleplay:email><![CDATA[mathiasprzybylowicz@substack.com]]></googleplay:email><googleplay:author><![CDATA[Mathias Przybylowicz]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Claude Mythos: Industrialization, Not Revolution]]></title><description><![CDATA[AI source-code auditing changes one slice of the cybersecurity surface; supply chains, attacker timing, and jurisdictional access are the rest of the picture.]]></description><link>https://mathiasprzybylowicz.substack.com/p/claude-mythos-software-security</link><guid isPermaLink="false">https://mathiasprzybylowicz.substack.com/p/claude-mythos-software-security</guid><dc:creator><![CDATA[Mathias Przybylowicz]]></dc:creator><pubDate>Fri, 01 May 2026 15:51:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qlBF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f2a328-8696-4ed8-b54c-37d0ac72b056_1672x941.png" 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_!qlBF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f2a328-8696-4ed8-b54c-37d0ac72b056_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qlBF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f2a328-8696-4ed8-b54c-37d0ac72b056_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!qlBF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f2a328-8696-4ed8-b54c-37d0ac72b056_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!qlBF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f2a328-8696-4ed8-b54c-37d0ac72b056_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!qlBF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f2a328-8696-4ed8-b54c-37d0ac72b056_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qlBF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f2a328-8696-4ed8-b54c-37d0ac72b056_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d2f2a328-8696-4ed8-b54c-37d0ac72b056_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2620315,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://mathiasprzybylowicz.substack.com/i/195730008?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f2a328-8696-4ed8-b54c-37d0ac72b056_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qlBF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f2a328-8696-4ed8-b54c-37d0ac72b056_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!qlBF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f2a328-8696-4ed8-b54c-37d0ac72b056_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!qlBF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f2a328-8696-4ed8-b54c-37d0ac72b056_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!qlBF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2f2a328-8696-4ed8-b54c-37d0ac72b056_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Three weeks ago Anthropic launched <strong>Claude Mythos</strong>, a frontier model whose cybersecurity capabilities &#8212; discovering vulnerabilities, building working exploits, chaining them into multi-step attacks &#8212; sit materially above prior frontier models. The UK AI Security Institute (AISI) confirmed the step-up. Mozilla&#8217;s Firefox 150 release shipped engineering work at a scale Mozilla had not previously published in a single advisory. The defensive contribution on the slice of the cybersecurity surface that source-code AI auditing addresses is real.</p><p>The framing layered on top of that contribution has run ahead of it. Mozilla&#8217;s blog headlines 271 vulnerabilities for Firefox 150 while explicitly crediting Claude on three of forty-one Common Vulnerabilities and Exposures (CVE) entries. OpenAI&#8217;s &#8220;over 3,000 critical and high fixed vulnerabilities&#8221; claim from April 14 escalated to &#8220;11,353 critical and high-severity issues&#8221; by late April &#8212; a four-times jump in two weeks, with the counting unit quietly shifting from <em>fixed</em> to <em>identified</em>. These are competitive scoreboards, not engineering disclosures. The capability is real; the scoreboards are real; they are not the same thing.</p><p>The topic is technically dense and structurally tied to multiple strategic surfaces &#8212; defensive economics, supply-chain integrity, jurisdictional access, sovereign capability &#8212; none of which resolves to a single narrative. Announcements read as engineering disclosures but operate as marketing claims; separating the two requires working through each surface independently. I wrote a ~40-A4-page primary-source-anchored monograph on that basis. This post is the synthesis; the article is the work behind it, downloadable at the end of this summary.</p><p>The synthesis is a three-thread judgment.</p><p><strong>First, Mythos is the industrialization of known-class vulnerability discovery, not a new category of capability.</strong> Mozilla itself reports that Mythos has not surfaced bugs an elite human researcher could not in principle have found. The change is in throughput and delivery mechanism &#8212; elite-style reasoning, machine-scaled, available with relatively little bespoke scaffolding. That is significant, certainly welcome, but it is not a paradigm shift.</p><p><strong>Second, supply chain is the dominant blind spot in any defensive posture centered on source-code AI auditing.</strong> Eleven high-profile supply-chain compromises were examined, from SolarWinds (2020) through the March 2026 Trivy / aquasecurity case. None would have been prevented by AI-assisted review of legitimate downstream consumer code, because the malicious change typically did not live in the source.</p><p>The volume signal aligns with the case record. Sonatype&#8217;s 2026 <em>State of the Software Supply Chain</em> records 454,648 new malicious open-source packages discovered in 2025 alone &#8212; a 75 percent year-over-year rise.<br>In contrast, the U.S. Cybersecurity and Infrastructure Security Agency (CISA) Known Exploited Vulnerabilities catalog, the public registry of confirmed in-the-wild CVE exploitation, grew by 31 percent year-over-year in the same window.</p><p>The supply-chain attacker surface is expanding at more than twice the rate of the catalogued CVE-exploitation surface &#8212; a structural comparison rather than a head-to-head one, since the two metrics measure different slices. Per-incident blast radius reinforces the point: a single supply-chain compromise can affect tens or hundreds of thousands of downstream consumers (SolarWinds: 18,000; tj-actions: ~23,000 GitHub repositories; IndonesianFoods: 169,538 packages; Polyfill.io: 384,773 hosts). A memory-safety CVE typically affects users of the patched product - though the impact can be large with operating systems, browsers, or media players.</p><p><strong>Third, access to Mythos-class capability is structured along jurisdictional lines that produce competition-distortion effects independent of technical capability.</strong> The named Glasswing partner roster is American &#8212; ten US-headquartered firms plus the Linux Foundation. The European Commission is in active discussions but does not have access. The UK does, probably along the same intelligence-sharing geography that has governed transatlantic security cooperation for decades, or because AISI has no equivalent in other EU countries in terms of technical capabilities.</p><p>A coherent European chorus has formed on the public record. France&#8217;s CIANum, Germany&#8217;s BSI, and the Bundesbank have each framed the asymmetry as a sovereignty or competitive-distortion concern. The argument is no longer Franco-French.</p><p>For European software companies in particular, the procurement-defensible question changes. A buyer evaluating two functionally equivalent network or security appliances in 2026 now has a defensible reason to prefer the vendor whose product was Glasswing-audited &#8212; not because of any belief about whether Mythos found anything load-bearing, but because one vendor was audited at frontier-AI capability and the other was not.</p><p><strong>For decision-makers, the three threads translate into specific moves.</strong></p><p><em>If you are a software vendor CEO</em> whose competitive segments overlap with the named Glasswing roster: audit the procurement-defensibility exposure on a 12-24 month horizon. Position around quality, operational discipline, and externally-verifiable build-pipeline integrity rather than around frontier-AI access equivalence &#8212; the access asymmetry is unlikely to close on your timeline.</p><p><em>If you are a CEO, CPO, CTO or CISO at an organization outside the Glasswing roster</em>: deploy AI-assisted code review on the highest-risk components first (authentication, session management, payment flows, file upload, deserialization paths) using whichever tier of frontier-model access is commercially available; instrument the triage pipeline before scaling discovery; pin all CI/CD action references to immutable commit crypted signatures (the Trivy and tj-actions lessons); audit dependency-update workflows for trusted-publishing posture.</p><p><em>If you are a board director or PE partner</em>: the access-asymmetry structure is a 12-24 month consideration for 2026 software-sector strategy and acquisitions. Treat it the same way you treat any regulatory or supply-chain dependency that is structurally asymmetric across jurisdictions &#8212; a category of risk to factor into investment theses, not a precise pricing model the public record can yet support.</p><p><em>Across all three</em>: extend governance attention beyond &#8220;do we have AI source-code auditing&#8221; to also include &#8220;do we have build-pipeline integrity controls deployed, default-on, enforced, and externally verifiable&#8221; &#8212; the controls are complements, not alternatives. Invest in the sovereign and operational levers that reduce jurisdictional access exposure while the asymmetry window is open &#8212; its resolution, whether through replication or entrenchment, is a 12-24 month question.</p><p>The cybersecurity contest has entered a new phase. Frontier-AI cyber capability is real, dual-use, and proliferating on a vendor-forecast timeline measured in twelve to twenty-four months. The right response is neither dramatic-shift rhetoric nor business-as-usual complacency. It is operational discipline applied to the three threads &#8212; capability calibration, supply-chain integrity, jurisdictional posture &#8212; at once. None alone is sufficient.</p><p>To be clear: invest in cybersecurity, now, and substantially. No vendor can afford a reputation hit from insufficient cybersecurity. As Thorbecke put it: &#8216;Trust arrives on foot and leaves on horseback&#8217; (Vertrouwen komt te voet en gaat te paard, Johan Thorbecke, 1798&#8211;1872).</p><p>The judgment compresses to one operational sentence:</p><blockquote><p><strong>Mythos changes the economics of finding. It does not, by itself, change the economics of fixing, shipping, proving, governing, or accessing defensive capability.</strong></p></blockquote><p>The full monograph &#8212; primary-source-anchored, with a reference list, definitions, cross-jurisdictional press coverage, and a CO2-footprint calculation &#8212; is downloadable below. Four reading paths inside the PDF: end-to-end, skim for senior tech executives, technical-cyber, decision-maker.</p><p>Use the PDF to print; the ePub format may be easier on a tablet.</p><div class="file-embed-wrapper" data-component-name="FileToDOM"><div class="file-embed-container-reader"><div class="file-embed-container-top"><image class="file-embed-thumbnail-default" src="https://substackcdn.com/image/fetch/$s_!0Cy0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack.com%2Fimg%2Fattachment_icon.svg"></image><div class="file-embed-details"><div class="file-embed-details-h1">Claude Mythos Industrialization Not Revolution</div><div class="file-embed-details-h2">1.55MB &#8729; PDF file</div></div><a class="file-embed-button wide" href="https://mathiasprzybylowicz.substack.com/api/v1/file/0ccab767-61a8-4255-8787-efcee2a03ec9.pdf"><span class="file-embed-button-text">Download</span></a></div><a class="file-embed-button narrow" href="https://mathiasprzybylowicz.substack.com/api/v1/file/0ccab767-61a8-4255-8787-efcee2a03ec9.pdf"><span class="file-embed-button-text">Download</span></a></div></div><div class="file-embed-wrapper" data-component-name="FileToDOM"><div class="file-embed-container-reader"><div class="file-embed-container-top"><image class="file-embed-thumbnail-default" src="https://substackcdn.com/image/fetch/$s_!0Cy0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack.com%2Fimg%2Fattachment_icon.svg"></image><div class="file-embed-details"><div class="file-embed-details-h1">Claude Mythos Industrialization Not Revolution</div><div class="file-embed-details-h2">198KB &#8729; EPUB file</div></div><a class="file-embed-button wide" href="https://mathiasprzybylowicz.substack.com/api/v1/file/80a0b5dd-30df-4005-8533-1413c231e635.epub"><span class="file-embed-button-text">Download</span></a></div><a class="file-embed-button narrow" href="https://mathiasprzybylowicz.substack.com/api/v1/file/80a0b5dd-30df-4005-8533-1413c231e635.epub"><span class="file-embed-button-text">Download</span></a></div></div><p>This analysis is free and will stay that way &#8212; access to evidence-grounded security thinking should not depend on a subscription fee. A subscription supports the work.</p><p>By Mathias Przybylowicz, Founder &amp; Principal, Boxing Day Consulting &#183; <em>May 2026</em> <em>Boxing Day Consulting &#8212; helps software companies overcome strategic and technical obstacles to achieve profitable growth.</em></p><p> </p>]]></content:encoded></item><item><title><![CDATA[The 100-Engineer Threshold: When the Factory Changes Nature]]></title><description><![CDATA[Most software organizations don&#8217;t break because of talent or tools. They break because the system that got them here doesn&#8217;t scale &#8212; and the usual fixes add more friction.]]></description><link>https://mathiasprzybylowicz.substack.com/p/the-100-engineer-threshold-when-the</link><guid isPermaLink="false">https://mathiasprzybylowicz.substack.com/p/the-100-engineer-threshold-when-the</guid><dc:creator><![CDATA[Mathias Przybylowicz]]></dc:creator><pubDate>Tue, 24 Mar 2026 10:57:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!CaxM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffba4c3ec-b8cb-4b9d-ae33-1124fc50b0ce_1408x768.png" 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_!CaxM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffba4c3ec-b8cb-4b9d-ae33-1124fc50b0ce_1408x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CaxM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffba4c3ec-b8cb-4b9d-ae33-1124fc50b0ce_1408x768.png 424w, https://substackcdn.com/image/fetch/$s_!CaxM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffba4c3ec-b8cb-4b9d-ae33-1124fc50b0ce_1408x768.png 848w, https://substackcdn.com/image/fetch/$s_!CaxM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffba4c3ec-b8cb-4b9d-ae33-1124fc50b0ce_1408x768.png 1272w, https://substackcdn.com/image/fetch/$s_!CaxM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffba4c3ec-b8cb-4b9d-ae33-1124fc50b0ce_1408x768.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CaxM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffba4c3ec-b8cb-4b9d-ae33-1124fc50b0ce_1408x768.png" width="1408" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fba4c3ec-b8cb-4b9d-ae33-1124fc50b0ce_1408x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1408,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2784103,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://mathiasprzybylowicz.substack.com/i/191897752?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffba4c3ec-b8cb-4b9d-ae33-1124fc50b0ce_1408x768.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CaxM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffba4c3ec-b8cb-4b9d-ae33-1124fc50b0ce_1408x768.png 424w, https://substackcdn.com/image/fetch/$s_!CaxM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffba4c3ec-b8cb-4b9d-ae33-1124fc50b0ce_1408x768.png 848w, https://substackcdn.com/image/fetch/$s_!CaxM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffba4c3ec-b8cb-4b9d-ae33-1124fc50b0ce_1408x768.png 1272w, https://substackcdn.com/image/fetch/$s_!CaxM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffba4c3ec-b8cb-4b9d-ae33-1124fc50b0ce_1408x768.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>I once got cornered at a management offsite. We were around 150 engineers at the time. Revenue was growing. Headcount had substantially grown in a few years. On paper, everything looked decent, despite the occasional hiccup.</p><p>During a plenary session, my boss turned to me in front of the whole leadership team:</p><p>&#8220;We had a customer NPS review recently, and you all know it was a disappointment. Why is it so slow product-side? I&#8217;m hearing that small improvements take ages. Stability is also a challenge.&#8221;</p><p>There were real issues -- we were addressing them. But the Director of Ops seized the moment and listed recent incidents. The CPO, caught off guard, stayed silent &#8211; or cautiously chose his battle &#128522;. The VP of Sales added customer complaints and a recently missed date (a release I had vetoed for quality reasons). Within five minutes, it became a public diagnosis: Engineering was the bottleneck.</p><p>I was unprepared.</p><p>It took months to untangle what was really happening. The problem was not tools, skills, not even resources. It was scale &#8211; both in the tech stacks and in the organization. We had crossed a threshold without redesigning how we worked.</p><p>Something changes around one hundred engineers.<br>The number itself is not scientific. It is a useful threshold. Around that size, you no longer know everyone, and you likely have more than one engineering / product / ops location. Informal trust weakens. Shared context fragments. Coordination stops being a social reflex and becomes a design problem.</p><p>Below that line, coordination is mostly social. Above it, it becomes structural. What used to work through trust and proximity now requires deliberate design. If you don&#8217;t redesign the system, the system redesigns you &#8212; usually painfully.</p><p>If you come from a strong Agile background, this may sound like a problem that should not exist. In principle, cross-functional teams aligned to value should remove most of these handoffs. In practice, too few organizations at this size actually operate that way.</p><p>Whether you call it that or not, you are running a system that turns market needs into running software. In well-designed organizations, much of this happens within the same teams. In most, it doesn&#8217;t.</p><p>When this &#8220;factory&#8221; is small, you can run it informally. At scale, informal mechanisms collapse under their own success. AI is starting to act as a multiplier. It makes good systems better &#8212; and broken ones fail faster. In several organizations, this already shows up as a paradox: more code produced, but less reliable delivery &#8212; and no clear understanding of why.</p><p>The underlying design issues do not disappear. They become visible sooner.</p><p>And this is where many software organizations hit their socio-technical cliff: structure, code, market pressure, and culture all aligned in the wrong direction.</p><h1>How the Breakdown Shows Up in Real Life</h1><p>You don&#8217;t need a dashboard to feel that something is wrong at 120 engineers. You feel it in meetings. In Slack threads. In the tone of customer calls.</p><p>Three patterns appear again and again.</p><h2>1. Delivery slows while work piles up</h2><p>Everyone is busy. Yet simple changes take weeks.</p><p>A two-line configuration adjustment touches five teams. An unclear amount of manual regression needs to run upon changes.<br>Consequence: a minor UI quality-of-life tweak for customers waits behind three parallel initiatives because &#8220;we can&#8217;t release too often.&#8221; Batch sizes grow. Risk grows with them. Deployment frequency drops. Lead time climbs.</p><p>Estimates start to feel fictional. Roadmaps get &#8220;re-baselined.&#8221; Sprints are descope-festivals.</p><p>Operations (Cloud Ops, Support, Professional Services &#8211; up to Presales) feels the strain first. Incident volume increases. Resolution times stretch. Important accounts notice long before the management team does.</p><p>Velocity doesn&#8217;t collapse overnight. It erodes. And that erosion is not just technical. It shows up in missed revenue, delayed deals, growing cost to serve, and margin pressure that no efficiency program seems to fix.</p><p>And the more pressure you apply, the worse it gets.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!38WA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90b3c2f1-4e0f-40e8-9b52-18d20e44e5c4_1408x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!38WA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90b3c2f1-4e0f-40e8-9b52-18d20e44e5c4_1408x768.png 424w, https://substackcdn.com/image/fetch/$s_!38WA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90b3c2f1-4e0f-40e8-9b52-18d20e44e5c4_1408x768.png 848w, https://substackcdn.com/image/fetch/$s_!38WA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90b3c2f1-4e0f-40e8-9b52-18d20e44e5c4_1408x768.png 1272w, https://substackcdn.com/image/fetch/$s_!38WA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90b3c2f1-4e0f-40e8-9b52-18d20e44e5c4_1408x768.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!38WA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90b3c2f1-4e0f-40e8-9b52-18d20e44e5c4_1408x768.png" width="1408" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/90b3c2f1-4e0f-40e8-9b52-18d20e44e5c4_1408x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1408,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2589490,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://mathiasprzybylowicz.substack.com/i/191897752?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90b3c2f1-4e0f-40e8-9b52-18d20e44e5c4_1408x768.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!38WA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90b3c2f1-4e0f-40e8-9b52-18d20e44e5c4_1408x768.png 424w, https://substackcdn.com/image/fetch/$s_!38WA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90b3c2f1-4e0f-40e8-9b52-18d20e44e5c4_1408x768.png 848w, https://substackcdn.com/image/fetch/$s_!38WA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90b3c2f1-4e0f-40e8-9b52-18d20e44e5c4_1408x768.png 1272w, https://substackcdn.com/image/fetch/$s_!38WA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90b3c2f1-4e0f-40e8-9b52-18d20e44e5c4_1408x768.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>2. Structure adds friction instead of clarity</h2><p>At this scale, silos rarely look like silos on the org chart. They look logical.</p><p>Feature squad.<br>API team.<br>Platform.<br>Security.<br>Data.<br>Ops.</p><p>Each makes sense. Together, they create dependency chains.</p><p>None of this is how Agile is supposed to work. In theory, teams are cross-functional and aligned to value, precisely to avoid these handoffs.<br>In practice though, once organizations grow, specialization creeps in &#8212; often for good reasons &#8212; and the seams reappear.</p><p>One feature crosses four backlogs and three approval steps. Architecture mirrors reporting lines more than customer value streams. Security reviews happen as manual gates outside delivery pipelines. After a few incidents or audit scares, the instinct is predictable: add process.</p><p>More steering committees.<br>More templates.<br>More approval layers.</p><p>Ceremonies multiply. Flow does not.</p><p>Most of these organizations will tell you they are Agile &#8212; and they are, in terms of rituals. But structurally, they still operate as a chain of specialized teams.</p><p>This is where agile theatre creeps in: busy calendars, unclear impact.</p><h2>3. Ownership blurs and energy drops</h2><p>At 40 engineers, misalignment is a nuisance. At 120, it becomes a cost center.</p><p>Ownership diffuses. At that point, reducing headcount may look like a solution. In practice, it often makes the system more fragile &#8212; because the underlying coupling and dependencies remain. It becomes easier to assume someone else will fix it. Product owners are turning into story machines rather than problem owners. Engineers feel they are moving tickets, not solving customer issues.</p><p>There is always one Slack channel where everything eventually lands &#8212; and a handful of &#8220;heroes&#8221; who silently hold the system together.</p><p>They become bottlenecks by virtue of competence.</p><p>Over time, strong engineers and solid PMs leave with the same sentence: too much chaos or too much bureaucracy, not enough impact.</p><p>By the time the management team sees declining predictability, the teams have been feeling it for months.</p><h1>Why It Really Breaks</h1><p>The symptoms look messy. The causes are surprisingly regular.</p><p>In most cases I&#8217;ve seen, four forces reinforce each other.</p><h2>1. Growth without an operating model</h2><p>Teams are added. Managers are promoted. New roles appear: SRE, platform, product ops... But the underlying decision model remains implicit.</p><p>Decisions still funnel through historical leaders. Autonomy is celebrated in town halls and quietly constrained in weekly governance. Teams are accountable for output, not outcomes. Matrix hell creeps in: &#8220;you&#8217;re not my boss&#8221;.</p><p>When scale increases, ambiguity compounds.</p><h2>2. A technical system not built for parallelism</h2><p>Codebases built for two teams now host ten. Boundaries are unclear. Test suites are fragile. Environments are slow. Internal platform work has been postponed for &#8220;after this quarter.&#8221;</p><p>When you finally need speed and reliability, every change touches too many components. This is not about bad engineering. It is about accumulated architectural gravity.</p><p>And gravity always wins.</p><h2>3. External pressure lands at the wrong moment</h2><p>Sales wins larger deals with fixed dates. The Management Team pushes for margin discipline. Regulation tightens. Security audits multiply.</p><p>From a business standpoint, all of this is understandable. But it lands on a system that is already fragile. At that point, pushing harder does not increase output. It increases failure rates &#8212; and hides the real cost behind rework, churn, and lost credibility.</p><p>Leaders often feel caught in a paradox: invest in platform and structure to improve long-term performance &#8212; or protect short-term numbers. Both pressures are legitimate. The tension is real.</p><h2>4. Culture doesn&#8217;t scale automatically</h2><p>Oral alignment works at 30 people. It fails at 120.</p><p>If written decisions, shared metrics, and explicit trade-offs don&#8217;t replace tribal knowledge: confusion grows. Instead, metrics reward silo outcomes rather than end-to-end flow, and what should be a shared system fragments into local optimizations ... or fiefdoms.</p><p>At that point, &#8220;more autonomy&#8221; often turns into teams optimizing for themselves, while &#8220;more process&#8221; turns into additional coordination overhead &#8212; both adverse to the original intent.</p><p>Psychological safety erodes quietly. Concerns about technical debt or unrealistic roadmaps stop being voiced.</p><p>This is usually not dramatic. It is gradual.</p><p>Then one day, at an offsite, it explodes in public.</p><p>I have seen variations of this pattern across multiple organizations and contexts &#8212; the details change, the underlying mechanics do not.<br>Refer to previous articles to get further insight, for example:</p><ul><li><p><a href="https://open.substack.com/pub/mathiasprzybylowicz/p/the-ceo-ctpo-divide">The CEO-CT/PO divide</a></p></li><li><p>The &#8220;Software Engineering, what could go wrong?&#8221; series (<a href="https://open.substack.com/pub/mathiasprzybylowicz/p/software-engineering-what-could-go">link to part 1</a>)</p></li><li><p>The &#8220;Software Delivery Performance&#8221; series (<a href="https://open.substack.com/pub/mathiasprzybylowicz/p/software-delivery-performance-sdp">link to part 1)</a></p></li></ul><h1>A Practical Way Through the Crisis</h1><p>There is no single way, and no need for a big-bang reorganization.</p><p>In fact, large-scale reorgs under stress often make things worse. Framework-first transformations rarely fix structural issues. In some cases, they make things worse &#8212; by locking existing dysfunction into the operating model instead of removing it.</p><p>This is where organizations often reach for large-scale frameworks &#8212; SAFe or similar &#8212; as a way to regain control. There are useful ideas in them: prioritization mechanisms like WSJF, clearer cadences, shared vocabulary.</p><p>The problem is not the tools. It is how they are applied. In many cases, the framework is deployed as a whole, regardless of context, maturity, or actual constraints. What was meant to reduce friction ends up adding layers: more roles, more ceremonies, more coordination overhead.</p><p>The result is predictable: frustration increases, ownership decreases, and productivity drops &#8212; while some feel they are &#8220;doing Agile properly&#8221;, and others feel a bureaucratic monster has spawned and miss the &#8220;good old time&#8221;.</p><p>You see the same pattern with other reflexes: adding layers of management, multiplying coordination roles, or tightening approval loops. They create an impression of control, but rarely improve flow.</p><p>AI can help with that upgrade &#8212; faster feedback loops, better tooling, partial automation of repetitive work. But it only pays off once the system is coherent enough to absorb the gains. Otherwise, it just accelerates the existing bottlenecks.</p><p>A better approach is less visible, less heroic, and more gradual. It is also uncomfortable. Some initiatives will slow down. Some decisions will be challenged. Some people will opt out &#8212; including some of your strongest individual contributors or managers.</p><p>Think system upgrade, not revolution.</p><h2>1. Stabilize and see the system</h2><p>Start by slowing down &#8212; selectively. Not everything at once, but the parts of the system that create the most instability and rework.</p><p>Put Product, Engineering, and Ops around the same small set of metrics: lead time from idea to production, deployment frequency, incident rate, mean time to recovery, customer impact.</p><p>One shared picture.</p><p>In overloaded areas, cap work in progress. Say no to new commitments temporarily. This is not a comfortable move. It means trading short-term revenue or scope for restoring delivery capability. The alternative is to keep selling into a system that cannot deliver &#8212; which is usually more expensive, just less visible. At that point, you are not accelerating growth. You are front-loading failure.<br>You cannot accelerate a traffic jam.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!v0E8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f08e5de-d234-4db9-96a0-92573325c89d_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!v0E8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f08e5de-d234-4db9-96a0-92573325c89d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!v0E8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f08e5de-d234-4db9-96a0-92573325c89d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!v0E8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f08e5de-d234-4db9-96a0-92573325c89d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!v0E8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f08e5de-d234-4db9-96a0-92573325c89d_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!v0E8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f08e5de-d234-4db9-96a0-92573325c89d_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f08e5de-d234-4db9-96a0-92573325c89d_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3432166,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://mathiasprzybylowicz.substack.com/i/191897752?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f08e5de-d234-4db9-96a0-92573325c89d_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!v0E8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f08e5de-d234-4db9-96a0-92573325c89d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!v0E8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f08e5de-d234-4db9-96a0-92573325c89d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!v0E8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f08e5de-d234-4db9-96a0-92573325c89d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!v0E8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f08e5de-d234-4db9-96a0-92573325c89d_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The goal is not speed. It is stability. You cannot maximize speed, flexibility, and reliability at the same time in a system under stress. Something has to give, at least temporarily.</p><h2>2. Diagnose constraints, not people</h2><p>Follow a few real changes end-to-end. Where do they wait? Where do they bounce? How many teams are involved?</p><p>Name the patterns: monolith bottlenecks, hero traps, bureaucracy loops. Then pick one or two constraints that actually limit delivery today &#8212; typically where work waits the longest or fails the most. Fixing everything at once is how most transformations stall.</p><p>Treat these patterns as system issues, not individual failures. That does not remove accountability. It clarifies where leadership has allowed the system to drift &#8212; and where it must be corrected. Most of the time, the system is not broken by accident. It is the result of a series of reasonable decisions that were never revisited.</p><p>And be explicit about what does not help. Which meetings exist because &#8220;that&#8217;s how Scrum works&#8221;? Which gates survive from past incidents but no longer add value?</p><p>Remove one old rule for every new one you add. In fact, aggressively reduce their number to what&#8217;s really needed to produce outcomes.</p><h2>3. Align on clear rails and real autonomy</h2><p>Clarify responsibilities at the top. In practice, this is rarely a clean exercise. It means surfacing tensions that were previously implicit &#8212; between Product and Engineering, between Sales commitments and delivery capacity, often starting within the leadership team itself.</p><p>The CEO defines where to play and the financial envelope.<br>The CTO or CTPO designs and runs the software factory.<br>Product owns the problem space and portfolio logic.<br>Ops owns reliability and cost to serve.</p><p>Shared trade-offs are explicit, not implicit.</p><p>Then define a small number of hard rails: production access rules, incident management standards, security integration in pipelines, a handful of company-wide metrics.</p><p>Inside those rails, teams choose how they work.</p><p>More structure to protect autonomy &#8212; not to suffocate it. The goal is not to manage handoffs better. It is to reduce them over time.</p><h2>4. Upgrade deliberately</h2><p>Align teams with value streams where possible. Wherever possible, move towards teams that can own a problem end-to-end &#8212; from idea to production and support. The closer you get to that model, the less coordination overhead you carry.<br>Invest in platform capabilities that reduce cognitive load: faster pipelines, reliable environments, observability that engineers actually use.</p><p>In many cases, the first wins are not architectural rewrites but removing a few high-friction points &#8212; slow builds, unstable test suites, brittle environments &#8212; that block every team.</p><p>Move security and architecture checks into automation rather than manual approvals. Shift to smaller batches. Protect focus time. Allocate explicit capacity for technical debt and hardening work.</p><p>On the product side, rationalize the portfolio. Stop low-ROI initiatives. Restore direct customer contact for engineers and PMs.</p><p>When engineers hear customers describe real pain, prioritization debates change tone.</p><p>None of this should roll out as a transformation program with a launch event. You cannot fix this without temporarily trading off something &#8212; speed, scope, or short-term predictability. Start with pilots. Adjust. Expand. This is not a smooth process. Some teams will move faster than others. Some changes will fail. You will create new friction while removing old ones.</p><p>Expect resistance. Adjust again.</p><h1>Scale as a Design Choice</h1><p>Crossing 100 engineers is not a linear step. It is a phase change. Many organizations believe they are already structured to handle it. Few actually are.</p><p>If you respond with more heroics, you get chaos.<br>If you respond with heavy control, you get bureaucracy.</p><p>Both feel decisive. Neither solves the underlying system design problem.</p><p>Most companies think they are scaling headcount. In reality, they are scaling complexity, and most of their fixes make that complexity worse. Not because the ideas are wrong, but because they are applied without changing how decisions are made.<br>And unless that complexity is managed deliberately, it converts directly into cost and lost growth.</p><p>Scale is a design choice.</p><p>You decide how Product, Engineering, and Ops interact.<br>You decide where decisions live.<br>You decide which processes are non-negotiable and which freedoms are protected.<br>You decide what success means beyond output.</p><p>I have seen organizations cross this threshold painfully and others deliberately. The difference is rarely talent. It is whether leaders accept that the factory must be redesigned &#8212; not defended.</p><p>When that redesign happens, having 100 engineers becomes an asset.</p><p>Until then, it becomes a multiplier of friction.</p>]]></content:encoded></item><item><title><![CDATA[Software Delivery Performance (SDP) #3: A CTO's Guide to Building Trust and Clarity Through Metrics]]></title><description><![CDATA[From internal scorecards to external trust: how to govern metrics across functions, what to disclose to buyers, and how executives should act on signals.]]></description><link>https://mathiasprzybylowicz.substack.com/p/software-delivery-performance-sdp-02c</link><guid isPermaLink="false">https://mathiasprzybylowicz.substack.com/p/software-delivery-performance-sdp-02c</guid><dc:creator><![CDATA[Mathias Przybylowicz]]></dc:creator><pubDate>Tue, 03 Mar 2026 11:01:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!fO1N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89c9a64-fc90-4813-95a2-2049aa7e5a3c_1024x1024.png" 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_!fO1N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89c9a64-fc90-4813-95a2-2049aa7e5a3c_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fO1N!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89c9a64-fc90-4813-95a2-2049aa7e5a3c_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!fO1N!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89c9a64-fc90-4813-95a2-2049aa7e5a3c_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!fO1N!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89c9a64-fc90-4813-95a2-2049aa7e5a3c_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!fO1N!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89c9a64-fc90-4813-95a2-2049aa7e5a3c_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fO1N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89c9a64-fc90-4813-95a2-2049aa7e5a3c_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c89c9a64-fc90-4813-95a2-2049aa7e5a3c_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1754989,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://mathiasprzybylowicz.substack.com/i/188124977?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89c9a64-fc90-4813-95a2-2049aa7e5a3c_1024x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fO1N!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89c9a64-fc90-4813-95a2-2049aa7e5a3c_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!fO1N!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89c9a64-fc90-4813-95a2-2049aa7e5a3c_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!fO1N!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89c9a64-fc90-4813-95a2-2049aa7e5a3c_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!fO1N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc89c9a64-fc90-4813-95a2-2049aa7e5a3c_1024x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h1>About This Series &#8212; A Practical Guide to Reading Engineering Performance</h1><p>Software engineering carries a unique tension: it&#8217;s a major investment, it shapes customer experience, and it determines how fast a company can learn or react. Yet for most CEOs, COOs, CFOs, and PE investors, engineering remains oddly opaque. Activity is visible, but impact is not. Conversations drift between too-technical explanations and too-high-level summaries.</p><p>This series closes that gap.</p><p>It brings together field experience and established research (DORA, SPACE, DevOps practices) to offer a clear, business-oriented way to read engineering performance.<br>It answers practical questions such as:</p><ul><li><p><em>Which metrics actually help leaders understand what&#8217;s happening?</em></p></li><li><p><em>How do we avoid metric theatre, gaming, or over-interpretation?</em></p></li><li><p><em>How do engineering signals map to revenue, margin, NPS, and risk?</em></p></li><li><p><em>What should teams measure to stay predictable without burning out?</em></p></li><li><p><em>How should cross-functional accountability work?</em></p></li><li><p><em>What should buyers or investors ask during due diligence or renewal cycles?</em></p></li></ul><p>Across three parts, the series builds a structured, audience-aware model:</p><ul><li><p><strong>Part 1 &#8211; The Foundations &amp; Team Layer:</strong><br>Why metric conversations break down, how to create a shared language, and the team-level signals that drive sustainable, predictable delivery.</p></li><li><p><strong>Part 2 &#8211; The Executive Layer:</strong><br>How engineering connects to revenue, margin, customer outcomes, and strategic priorities &#8212; and how leaders should interpret this information.</p></li><li><p><strong>Part 3 (this part) &#8211; The Collaboration &amp; Buyer Layer:</strong><br>How engineering, product, finance, CS, and sales align around metrics; how to read reliability and operational maturity; and how buyers (customers, partners, PE) assess the organization.</p></li></ul><p>This is not a theoretical framework.<br>It is a practical, tested approach to understanding engineering performance in real companies, under real constraints, with real business outcomes at stake.</p><p><strong>If you haven&#8217;t read Parts 1 and 2, here&#8217;s what you need to know:</strong></p><p><strong>From <a href="https://mathiasprzybylowicz.substack.com/p/software-delivery-performance-sdp">Part 1</a>:</strong></p><ul><li><p>Engineering needs a shared metric language.</p></li><li><p>Team-level signals (flow, stability, focus, collaboration) provide the foundation.</p></li><li><p>These signals support predictability and sustainable execution.</p></li></ul><p><strong>From <a href="https://mathiasprzybylowicz.substack.com/p/software-delivery-performance-sdp-401">Part 2</a>:</strong></p><ul><li><p>Executive metrics must connect engineering to revenue, margin, NPS, and risk.</p></li><li><p>Technical signals only make sense to the business when framed through value creation.</p></li><li><p>Attribution requires careful framing, not overclaiming.</p></li><li><p>The right metrics depend on strategy and require cross-functional inputs.</p></li></ul><blockquote><p><strong>Part 3 pulls these threads together</strong>:<br>How to operate this model across functions, how to use it in real conversations, and how buyers &#8212; including customers and PE investors &#8212; should interpret engineering performance.</p></blockquote><div><hr></div><h1>PART 3 &#8211; TL;DR</h1><p><strong>1. Cross-functional collaboration is a prerequisite</strong></p><p>Engineering cannot compute executive KPIs alone.<br>Product, Finance, SalesOps, and Customer Success all provide data needed to form a complete picture.</p><p><strong>2. Data Readiness Levels matter</strong></p><p>Not all metrics are equally mature.<br>Acknowledge when data is approximate, and create a path to improve reliability before turning metrics into targets.</p><p><strong>3. Change management matters more than the metrics</strong></p><p>Teams need time to learn how to interpret signals.<br>Executives need consistency.<br>Rotating metrics or changing formulas creates noise and mistrust.</p><p><strong>4. Stakeholder alignment requires clarity of incentives</strong></p><ul><li><p>Sales optimizes bookings.</p></li><li><p>Customer Success optimizes retention.</p></li><li><p>Finance optimizes margin.</p></li><li><p>Engineering optimizes flow and risk reduction.</p></li></ul><p>A good metric model shows how these incentives interlock rather than compete.</p><p><strong>5. Listening mechanisms make metrics real</strong></p><ul><li><p>&#8220;What changed this month?&#8221; notes</p></li><li><p>Quarterly listening posts</p></li><li><p>Retro excerpts</p></li><li><p>Thematic summaries of friction and progress<br>Qualitative signals give meaning to quantitative ones.</p></li></ul><p><strong>6. Buyers need a structured set of questions</strong></p><p>PE investors, integration partners, and enterprise customers can use specific indicators to assess engineering maturity:</p><ul><li><p>Reliability and SLO attainment</p></li><li><p>Incident patterns and recovery speed</p></li><li><p>Change failure rate</p></li><li><p>Release cadence</p></li><li><p>Security posture</p></li><li><p>Feature adoption and time-to-value</p></li></ul><p><strong>7. Metrics are a language, not a verdict</strong></p><p>Used properly, they enable trust and alignment.<br>Used poorly, they create pressure and distort behavior.</p><div><hr></div><h1>VII. Building the Bridge: Collaborating Across Business Functions</h1><p>Many executive metrics related to Engineering Performance need input from Sales, Product, or Finance. Don&#8217;t stall, <strong>structure the collaboration</strong>.</p><h2>VII.A Baseline Inputs Engineering Should Expect</h2><p>Finance: recognized revenue by product/module.<br>SalesOps: CRM tags for product influence in deals.<br>Customer Success: NPS feedback categorized by product/feature.</p><h2>VII.B What Engineering Can Compute or Maintain Internally</h2><p>Infra/Support Cost per User; Cost per Adopted Feature; Time&#8209;to&#8209;Adoption; % time on strategic initiatives (epic/label tracking).</p><h2>VII.C What Product/Finance/Sales Should Track Anyway</h2><p>Product: feature usage/activation.<br>Finance: per&#8209;product margin and cost allocations.<br>Sales: feature&#8209;request &#8596; closed&#8209;won correlation.</p><h2>VII.D Data Readiness Levels (DRL) &amp; Accountability</h2><p><strong>Principle:</strong> never propose a metric you can&#8217;t reliably measure. Each metric must have both an <strong>Accountable owner</strong> and a <strong>Producing unit</strong> (e.g., Finance produces margin metrics; Engineering produces lead&#8209;time). Otherwise, expect disputes and low trust.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5Gv9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5504274b-d79c-4828-837d-70e7806d4255_420x98.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5Gv9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5504274b-d79c-4828-837d-70e7806d4255_420x98.png 424w, https://substackcdn.com/image/fetch/$s_!5Gv9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5504274b-d79c-4828-837d-70e7806d4255_420x98.png 848w, https://substackcdn.com/image/fetch/$s_!5Gv9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5504274b-d79c-4828-837d-70e7806d4255_420x98.png 1272w, https://substackcdn.com/image/fetch/$s_!5Gv9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5504274b-d79c-4828-837d-70e7806d4255_420x98.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5Gv9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5504274b-d79c-4828-837d-70e7806d4255_420x98.png" width="526" height="122.73333333333333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5504274b-d79c-4828-837d-70e7806d4255_420x98.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:98,&quot;width&quot;:420,&quot;resizeWidth&quot;:526,&quot;bytes&quot;:9821,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://mathiasprzybylowicz.substack.com/i/188124977?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5504274b-d79c-4828-837d-70e7806d4255_420x98.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5Gv9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5504274b-d79c-4828-837d-70e7806d4255_420x98.png 424w, https://substackcdn.com/image/fetch/$s_!5Gv9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5504274b-d79c-4828-837d-70e7806d4255_420x98.png 848w, https://substackcdn.com/image/fetch/$s_!5Gv9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5504274b-d79c-4828-837d-70e7806d4255_420x98.png 1272w, https://substackcdn.com/image/fetch/$s_!5Gv9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5504274b-d79c-4828-837d-70e7806d4255_420x98.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h2>VII.E Change Mechanism (Teams &amp; Exec)</h2><ul><li><p><strong>Review cadence:</strong> monthly for exec scorecards, per&#8209;sprint for teams.</p></li><li><p><strong>Proposals:</strong> anyone can propose to <strong>add / retire / refine</strong> a metric with a written rationale and owner.</p></li><li><p><strong>Criteria:</strong> keep <strong>5&#8211;7 signals</strong> and <strong>&#8804;3 targets</strong>, also useful as Key Results (as in: OKRs); add only if it changes decisions.</p></li><li><p><strong>Sunset policy (with caution):</strong> retire only if flawed, no longer aligned to goals, or superseded; avoid churn so people learn to interpret signals.</p></li></ul><h2>VII.F Practical Rollout Plan</h2><ol><li><p>Pilot in one product area; 2 sprints of shadow reporting.</p></li><li><p>Train leads on interpretation; publish definitions and owners. Manage change actively, explain the Why.</p></li><li><p>Agree thresholds as <strong>ranges</strong>, not single points.</p></li><li><p>After 8 weeks, adjust; then scale.</p></li></ol><h2>VII.G Stakeholder Alignment Playbook (Overcoming Resistance)</h2><ul><li><p><strong>Incentive map:</strong> list what each function optimizes (Sales: bookings; CS: renewals; Finance: margin), then state how each metric helps their aim.</p></li><li><p><strong>Single source of truth:</strong> define where each metric lives (e.g., warehouse/BI) and who signs off monthly.</p></li><li><p><strong>RACI per metric:</strong> Responsible (producer), Accountable (owner), Consulted (cross&#8209;functions), Informed (audience).</p></li><li><p><strong>Escalation path:</strong> unresolved disputes go to CT/PO+CFO for arbitration with evidence.</p></li></ul><h2>VII.H Qualitative Balance (Listening Mechanisms)</h2><ul><li><p><strong>Monthly &#8220;what changed&#8221; notes:</strong> each team logs 3 bullets: decisions taken, trade&#8209;offs, surprises; attach to dashboards.</p></li><li><p><strong>Quarterly listening posts:</strong> 45&#8209;minute small&#8209;group interviews across roles; tag themes to metrics.</p></li><li><p><strong>Retrospective excerpts:</strong> capture learning, not just numbers; share highlights in QBR or MT meeting.</p></li></ul><div><hr></div><h1>VIII. A Word from the Skeptics &#8211; and Why They&#8217;re Not Wrong</h1><div class="pullquote"><p>&#8220;I&#8217;ve led engineering teams for decades. If you need a 10,000&#8209;word essay to &#8216;prove&#8217; productivity, you may be missing the point. Trust good people. Give them problems worth solving. Let them own the result. Dashboards are theatre if they don&#8217;t reflect customer outcomes.&#8221;</p></div><p><em>A fictional composite of Kent Beck, Allen Holub, and XP veterans.</em></p><p></p><p>I agree with the spirit. Still, CTOs must explain performance to boards that think in terms of P&amp;Ls and OKRs. The art is translation: enable real engineering progress <strong>and</strong> provide signals the business recognizes. Done right, good metrics <strong>confirm</strong> what strong teams already know &#8211; and make trust easier.</p><p><strong>Where this article stands in the debate:</strong> we reject surveillance and individual output metrics; we combine quantitative signals with qualitative context; and we use metrics to inform choices, not to control people.</p><div><hr></div><h1>IX. How Business Leaders Can Use This</h1><p>Different strategies call for different lenses. Use this to guide conversations with your CTO.</p><p><strong>Safeguards against metrics theatre:</strong> publish definitions; show trends instead of points; always pair a hard metric with a soft/qualitative check; declare owners; forbid individual output targets; preview metrics with teams before exec review.</p><p>Below, I&#8217;m giving a few concrete examples of actions based on the metrics discussed so far.</p><p><strong>Accountability legend:</strong> [ENG]=Engineering, [PM]=Product Management, [SRE]=Site Reliability/Platform/CloudOps, [CS]=Customer Success/Services, [SALES]=Sales/SalesOps, [MKT]=Marketing/Growth, [FIN]=Finance.</p><h2>IX.A Revenue Growth</h2><ul><li><p><strong>Watch:</strong> Time to market (Lead Time for Changes, DORA), Deployment Frequency (DORA), 30&#8209;day adoption, attach rate (paid options), product&#8209;related NPS delta.</p></li><li><p><strong>Ask:</strong> Where did we shorten time&#8209;to&#8209;value this quarter? Which releases changed sales outcomes (attach, win rate)?</p></li><li><p><strong>If red, then what:</strong> [ENG] Improve in&#8209;app onboarding; instrument funnels. [PM] Reduce scope to minimum path to value. [MKT] Release notes/comms to target segments. [SRE] CI capacity checks; caching. [ENG] Trials/entitlements for paid options; surface value moments. [PM][SALES][MKT] Packaging/pricing revision; sales play.</p></li></ul><h2>IX.B Cost Control / Margin</h2><ul><li><p><strong>Watch:</strong> Support/infra cost per user, CFR, MTTR, cost per adopted feature.</p></li><li><p><strong>Ask:</strong> Which modules drive run&#8209;cost? Where does quality degrade post&#8209;release?</p></li><li><p><strong>If red, then what:</strong> [ENG][SRE] Optimize hotspots; caching/CDN; right&#8209;size resources; re&#8209;platform. [ENG] Add contract/e2e tests; strengthen review; progressive delivery. [PM] Clarify acceptance criteria. [ENG] Reuse components; feature flags; reduce scope. [PM] Validate earlier with customers.</p></li></ul><h2>IX.C Retention / Expansion</h2><ul><li><p><strong>Watch:</strong> NPS delta by product area, share of wallet growth, incidents on top accounts, usage depth of &#8220;sticky&#8221; features.</p></li><li><p><strong>Ask:</strong> What changed for top accounts? Which capabilities correlate with expansion?</p></li><li><p><strong>If red, then what:</strong> [ENG] Hotfix regressions; targeted UX fixes; latency budgets. [CS] Close the loop with detractors. [PM][CS] Co&#8209;design value events with key accounts. [ENG] Deliver enabling capabilities; telemetry for depth of use. [ENG][SRE] Error budgets; incident drills; capacity guardrails.</p></li></ul><h2>IX.D NPS Growth &amp; Advocacy</h2><ul><li><p><strong>Watch:</strong> Product&#8209;related NPS delta, % positive product mentions in verbatims, Customer SATisfaction (CSAT) metrics.</p></li><li><p><strong>Ask:</strong> Which product changes moved NPS? Top 3 detractor themes &amp; fixes?</p></li><li><p><strong>If red, then what:</strong> [ENG] Hotfix regressions; targeted UX/perf. [CS] Close the loop with detractors. [MKT] Improve release notes/change comms.</p></li></ul><h2>IX.E Cross&#8209;Sell / Upsell (Expansion ARR)</h2><ul><li><p><strong>Watch:</strong> Attach rate (paid options), PQL&#8594;SQL conversion, usage depth of upsell features (PQL = Product&#8209;Qualified Lead; SQL = Sales&#8209;Qualified Lead).</p></li><li><p><strong>Ask:</strong> Which capabilities correlate with expansion by segment? Where does PQL&#8594;Sales handoff stall?</p></li><li><p><strong>If red, then what:</strong> [ENG] In&#8209;product trials/entitlements; metering; nudges. [PM][SALES][MKT] Packaging/pricing revision; sales play. [ENG] Enrich PQL signals and instrument funnels. [CS] Success plans with milestones.</p></li></ul><h2>IX.F Time&#8209;to&#8209;Value / Onboarding Acceleration</h2><ul><li><p><strong>Watch:</strong> Median days to first productive use; activation conversion (invite &#8594; project &#8594; first value event); % implementations on time.</p></li><li><p><strong>Ask:</strong> Where do new customers stall? What dependencies create delays?</p></li><li><p><strong>If red, then what:</strong> [ENG] Minimum path&#8209;to&#8209;value; prebuilt connectors; templates; in&#8209;app guides; sample data; checklists; success milestones. [CS] Early solution&#8209;engineering; governance cadence. [PM] Clarify value events.</p></li></ul><div><hr></div><h1>X. For Buyer Decision Makers (DMU): What to Ask</h1><p>There are 3 key moments where D/C-level buyer personas (B2B customers, system integrators / channel partners, private equity) will want to have quantitative evidence about Engineering Performance: <strong>first selection/due diligence</strong>, <strong>crisis/repeated incidents</strong>, and <strong>contract</strong> <strong>renewal</strong>.</p><p>During my career, I&#8217;ve participated to many acquisitions and partnerships: Finance, HR, Legal, Sales / Marketing / Product are all thoroughly scrutinized. Engineering: hardly and often &#8220;on paper only&#8221;. This results in post-deal surprises and insufficient structuring funds.</p><p>On these occasions, depending on the business at stake, the CTO will have to step in.<br>Yet, it is not always easy to figure out what to ask (client-side) or what to disclose (CTO-side). Here&#8217;s a suggested pick:</p><p><strong>First selection: </strong>look for a <strong>Trust &amp; Operations Fact Sheet</strong> (last 12 months): Service Level Objectives (SLO) attainment; incident counts and MTTR percentiles; change failure/rollback rate; deployment cadence; security posture (CVE patching time; pen&#8209;test date; SOC 2/ISO 27001 certifications); resilience targets (RTO/RPO); performance SLOs (p95 latency); support SLA attainment and CSAT; median time&#8209;to&#8209;value; deprecation policy.</p><p><strong>Renewal and after issues</strong>: look for a<strong> Reliability &amp; Improvement Report:</strong> SLO/SLA trends; top root&#8209;cause categories; corrective actions with dates; reservations or guardrails for errors / budget burn; support backlog aging; forward risks and mitigations.</p><blockquote><p><strong>Buyer checklist:</strong> request:</p><ul><li><p>12&#8209;month incident history with MTTR percentiles and 2 RCAs;</p></li><li><p>median time&#8209;to&#8209;patch critical CVEs;</p></li><li><p>concrete deprecation examples; SLO attainment by region with error&#8209;budget plans.</p></li></ul></blockquote><p><strong>Translate internal &#8594; external:</strong> keep team scorecards private; publish <strong>service outcomes</strong> (SLOs, incidents, cadence, patching).</p><h1>XI. Conclusion: Metrics as a Language, Not a Weapon</h1><p>Good indicators don&#8217;t &#8220;prove&#8221; performance &#8211; they <strong>frame decisions</strong>. They clarify tradeoffs and show where reality diverges from plans.</p><p>CTOs sit between teams who want to build well and execs who must steer the business. The job isn&#8217;t to measure what&#8217;s easy, it&#8217;s to create visibility that supports delivery, morale, and strategy.</p><ul><li><p>For <strong>teams</strong>: use signals they can act on.</p></li><li><p>For <strong>the business</strong>: use indicators that trace to revenue, customer outcomes, and risk.</p></li></ul><p>Start small. Choose a few metrics that matter. Improve the conversations around them.</p>]]></content:encoded></item><item><title><![CDATA[Software Delivery Performance (SDP) #2: A CTO's Guide to Building Trust and Clarity Through Metrics]]></title><description><![CDATA[An executive scorecard that connects engineering signals to business outcomes&#8212;plus strategy-based metric selection and decision triggers.]]></description><link>https://mathiasprzybylowicz.substack.com/p/software-delivery-performance-sdp-401</link><guid isPermaLink="false">https://mathiasprzybylowicz.substack.com/p/software-delivery-performance-sdp-401</guid><dc:creator><![CDATA[Mathias Przybylowicz]]></dc:creator><pubDate>Tue, 17 Feb 2026 09:28:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!lxzD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6067bf-9a1c-44b4-a5f9-11b65358476b_1024x1024.png" 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_!lxzD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6067bf-9a1c-44b4-a5f9-11b65358476b_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lxzD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6067bf-9a1c-44b4-a5f9-11b65358476b_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!lxzD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6067bf-9a1c-44b4-a5f9-11b65358476b_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!lxzD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6067bf-9a1c-44b4-a5f9-11b65358476b_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!lxzD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6067bf-9a1c-44b4-a5f9-11b65358476b_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lxzD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6067bf-9a1c-44b4-a5f9-11b65358476b_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5d6067bf-9a1c-44b4-a5f9-11b65358476b_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1845670,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://mathiasprzybylowicz.substack.com/i/188120633?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6067bf-9a1c-44b4-a5f9-11b65358476b_1024x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lxzD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6067bf-9a1c-44b4-a5f9-11b65358476b_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!lxzD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6067bf-9a1c-44b4-a5f9-11b65358476b_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!lxzD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6067bf-9a1c-44b4-a5f9-11b65358476b_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!lxzD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6067bf-9a1c-44b4-a5f9-11b65358476b_1024x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h1>About This Series &#8212; A Practical Guide to Reading Engineering Performance</h1><p>Software engineering carries a unique tension: it&#8217;s a major investment, it shapes customer experience, and it determines how fast a company can learn or react. Yet for most CEOs, COOs, CFOs, and PE investors, engineering remains oddly opaque. Activity is visible, but impact is not. Conversations drift between too-technical explanations and too-high-level summaries.</p><p>This series closes that gap.</p><p>It brings together field experience and established research (DORA, SPACE, DevOps practices) to offer a clear, business-oriented way to read engineering performance.<br>It answers practical questions such as:</p><ul><li><p><em>Which metrics actually help leaders understand what&#8217;s happening?</em></p></li><li><p><em>How do we avoid metric theatre, gaming, or over-interpretation?</em></p></li><li><p><em>How do engineering signals map to revenue, margin, NPS, and risk?</em></p></li><li><p><em>What should teams measure to stay predictable without burning out?</em></p></li><li><p><em>How should cross-functional accountability work?</em></p></li><li><p><em>What should buyers or investors ask during due diligence or renewal cycles?</em></p></li></ul><p>Across three parts, the series builds a structured, audience-aware model:</p><ul><li><p><strong><a href="https://mathiasprzybylowicz.substack.com/p/software-delivery-performance-sdp">Part 1 &#8211; The Foundations &amp; Team Layer:</a></strong><br>Why metric conversations break down, how to create a shared language, and the team-level signals that drive sustainable, predictable delivery.</p></li><li><p><strong>Part 2 (this part) &#8211; The Executive Layer:</strong><br>How engineering connects to revenue, margin, customer outcomes, and strategic priorities &#8212; and how leaders should interpret this information.</p></li></ul><ul><li><p><strong>Part 3 &#8211; The Collaboration &amp; Buyer Layer:</strong><br>How engineering, product, finance, CS, and sales align around metrics; how to read reliability and operational maturity; and how buyers (customers, partners, PE) assess the organization.</p></li></ul><p>This is not a theoretical framework.<br>It is a practical, tested approach to understanding engineering performance in real companies, under real constraints, with real business outcomes at stake.</p><p><strong>If you haven&#8217;t read Part 1, here is what you need to know:</strong></p><ul><li><p>Engineering needs a shared reporting language to avoid confusion with the rest of the business.</p></li><li><p>A small set of stable team-level signals helps anchor conversations about flow, quality, focus, and collaboration.</p></li><li><p>Metrics at this level are not scorecards &#8212; they support decision-making and help teams steer themselves.</p></li><li><p>With the right context, these signals strengthen trust across the organization.</p></li></ul><p>Part 2 builds on these principles and moves upward:<br><strong>How do we translate engineering signals into business signals?</strong></p><p>We look at the executive layer: revenue, margin, predictability, cost-to-serve, NPS, and risk.<br>The goal is to equip CEOs, COOs, CFOs, and boards with indicators that actually reflect how engineering drives the business.</p><div><hr></div><h1>PART 2 &#8211; TL;DR</h1><p>Part 2 explains how engineering performance connects to commercial outcomes &#8212; not by inventing new metrics, but by translating technical signals into business language.</p><p>Here are the main conclusions:</p><p><strong>1. Executive metrics must link to value creation</strong></p><ul><li><p>The business cares about adoption, expansion, margin, churn risk, and predictability.</p></li><li><p>Engineering signals must be reframed in these terms without losing technical nuance.</p></li></ul><p><strong>2. DORA/SPACE still matter &#8211; but only when translated</strong></p><p>Examples:</p><ul><li><p>Lead Time connects to <em>time-to-value</em> and faster iteration cycles.</p></li><li><p>Change Failure Rate connects to <em>customer trust</em>, <em>credit exposure</em>, and <em>margin protection</em>.</p></li><li><p>Deployment Frequency connects to <em>commercial agility</em> and <em>speed of learning</em>.</p></li><li><p>MTTR connects to <em>risk in key accounts</em> and <em>reliability narratives in renewals</em>.</p></li></ul><p><strong>3. Attribution must stay honest</strong></p><ul><li><p>Revenue and NPS are influenced by many factors (pricing, sales plays, seasonality).</p></li><li><p>Instead of claiming causality, use <strong>contribution ranges</strong>, <strong>before/after comparisons</strong>, and <strong>paired qualitative signals</strong> (NPS verbatims, ticket categories).</p></li></ul><p><strong>4. Composite executive views are powerful when transparent</strong></p><ul><li><p>Show the underlying components before the roll-up.</p></li><li><p>Publish formulas.</p></li><li><p>Use red-rule exceptions (a high composite score cannot mask a failing component).</p></li></ul><p><strong>5. Metrics must reflect strategy</strong></p><p>A growing SaaS company, a margin-focused PE-backed platform, and a mature enterprise product unit will not select the same metrics.<br>Examples:</p><ul><li><p>Growth: Lead Time, adoption, time-to-value.</p></li><li><p>Margin: cost per adopted feature, infra cost per user, CFR, MTTR.</p></li><li><p>Retention: NPS delta, usage depth, incident concentration on top accounts.</p></li></ul><p><strong>6. Cross-functional inputs are mandatory</strong></p><p>Engineering cannot compute executive KPIs alone &#8211; alignment is required.</p><ul><li><p>Product &#8594; usage and activation</p></li><li><p>Finance &#8594; revenue and margin, finops</p></li><li><p>SalesOps &#8594; deal tags and attach rate</p></li><li><p>Customer Success &#8594; NPS, detractor themes</p></li></ul><p><strong>7. A practical roll-out path exists</strong></p><ul><li><p>Pilot in one product area.</p></li><li><p>Two sprints of shadow reporting.</p></li><li><p>Train leads on interpretation.</p></li><li><p>Keep formulas stable.</p></li><li><p>Scale only once adoption is real.</p></li></ul><blockquote><p><strong>The essence of Part 2:</strong><br>Engineering only becomes &#8220;visible&#8221; to the business when technical signals are translated into revenue, margin, and customer outcomes. This translation is not theoretical &#8212; it requires cross-functional inputs, narrative discipline, and careful attribution.</p></blockquote><div><hr></div><h1>IV. The Executive Layer: Impact, Alignment, Risk</h1><p>At the executive level, indicators should connect engineering to <strong>revenue, margin, customer experience, and risk</strong>. DORA/SPACE signals are useful when translated into business language and paired with product/finance data.</p><p>DORA is the largest and longest running research program of its kind that seeks to understand the capabilities that drive software delivery and operations performance. It was first published in 2013 and has become an industry reference for measuring certain aspects of software engineering.</p><h2>IV.A Core Metrics with Industry Backing</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!urBg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a31d532-617b-4d02-9140-21d69ebcc6c0_678x258.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!urBg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a31d532-617b-4d02-9140-21d69ebcc6c0_678x258.png 424w, https://substackcdn.com/image/fetch/$s_!urBg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a31d532-617b-4d02-9140-21d69ebcc6c0_678x258.png 848w, https://substackcdn.com/image/fetch/$s_!urBg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a31d532-617b-4d02-9140-21d69ebcc6c0_678x258.png 1272w, https://substackcdn.com/image/fetch/$s_!urBg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a31d532-617b-4d02-9140-21d69ebcc6c0_678x258.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!urBg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a31d532-617b-4d02-9140-21d69ebcc6c0_678x258.png" width="728" height="277.0265486725664" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a31d532-617b-4d02-9140-21d69ebcc6c0_678x258.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:258,&quot;width&quot;:678,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:38557,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://mathiasprzybylowicz.substack.com/i/188120633?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a31d532-617b-4d02-9140-21d69ebcc6c0_678x258.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!urBg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a31d532-617b-4d02-9140-21d69ebcc6c0_678x258.png 424w, https://substackcdn.com/image/fetch/$s_!urBg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a31d532-617b-4d02-9140-21d69ebcc6c0_678x258.png 848w, https://substackcdn.com/image/fetch/$s_!urBg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a31d532-617b-4d02-9140-21d69ebcc6c0_678x258.png 1272w, https://substackcdn.com/image/fetch/$s_!urBg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a31d532-617b-4d02-9140-21d69ebcc6c0_678x258.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Benchmarks vs. internal learning.</strong> Cross&#8209;company ranges help, but <strong>strategy matters</strong> (growth vs. margin vs. retention). Treat ranges as orientation; rely on your own trend lines and YoY movement for judgment.</p><p><strong>Adoption nuance.</strong> For <strong>paid options</strong>, adoption can map directly to revenue (track attach rate and expansion ARR). For <strong>core features</strong>, adoption is a leading indicator &#8211; pair with NPS verbatims and retention.</p><h3>IV.A.1 When DORA/SPACE Don&#8217;t Fit &#8211; Practical Adaptations</h3><p>A framework, however good, takes some adjustment to the context:</p><ul><li><p><strong>Low&#8209;frequency or gated releases (regulated/on&#8209;prem):</strong> Track <strong>release batch size</strong> and <strong>time&#8209;to&#8209;feature&#8209;flagged beta</strong> instead of raw Deployment Frequency.</p></li><li><p><strong>Hardware + software or app&#8209;store mediated deploys:</strong> Track <strong>time from code complete to customer&#8209;available</strong> (incl. certification/approval) and <strong>rollback capability </strong>(don&#8217;t include what you can&#8217;t control).</p></li><li><p><strong>Heavy CAB/change&#8209;approval processes:</strong> Add <strong>change lead time (CAB&#8209;ready)</strong> and <strong>non&#8209;prod incident rate</strong> to catch issues earlier (or simplify the process &#128522;).</p></li><li><p><strong>Agency/outsourced delivery:</strong> Track <strong>definition&#8209;of&#8209;ready quality</strong> and <strong>handoff defect rate</strong> across org boundaries.</p></li><li><p><strong>Data/ML products:</strong> Prefer <strong>time&#8209;to&#8209;retrain</strong> and <strong>drift incident rate</strong> alongside DORA.</p></li></ul><p>These adaptations preserve the spirit of fast, safe flow when classic DORA signals are constrained.</p><h2>IV.B Mini Syllabus &#8211; Map Tech Signals to Business Language</h2><p><strong>Abbreviations (this section):</strong> CFR = Change Failure Rate; MTTR = Mean Time to Restore.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CETm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65facfd8-65cd-4e80-81c9-f6353e5ff1d1_557x134.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CETm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65facfd8-65cd-4e80-81c9-f6353e5ff1d1_557x134.png 424w, https://substackcdn.com/image/fetch/$s_!CETm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65facfd8-65cd-4e80-81c9-f6353e5ff1d1_557x134.png 848w, https://substackcdn.com/image/fetch/$s_!CETm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65facfd8-65cd-4e80-81c9-f6353e5ff1d1_557x134.png 1272w, https://substackcdn.com/image/fetch/$s_!CETm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65facfd8-65cd-4e80-81c9-f6353e5ff1d1_557x134.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CETm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65facfd8-65cd-4e80-81c9-f6353e5ff1d1_557x134.png" width="728" height="175.13824057450628" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/65facfd8-65cd-4e80-81c9-f6353e5ff1d1_557x134.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:134,&quot;width&quot;:557,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:18509,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://mathiasprzybylowicz.substack.com/i/188120633?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65facfd8-65cd-4e80-81c9-f6353e5ff1d1_557x134.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CETm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65facfd8-65cd-4e80-81c9-f6353e5ff1d1_557x134.png 424w, https://substackcdn.com/image/fetch/$s_!CETm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65facfd8-65cd-4e80-81c9-f6353e5ff1d1_557x134.png 848w, https://substackcdn.com/image/fetch/$s_!CETm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65facfd8-65cd-4e80-81c9-f6353e5ff1d1_557x134.png 1272w, https://substackcdn.com/image/fetch/$s_!CETm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65facfd8-65cd-4e80-81c9-f6353e5ff1d1_557x134.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>Outcome chains (examples):</strong></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Q9JP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d20b-6cf5-4074-8f04-b33b92e218b4_512x187.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q9JP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d20b-6cf5-4074-8f04-b33b92e218b4_512x187.png 424w, https://substackcdn.com/image/fetch/$s_!Q9JP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d20b-6cf5-4074-8f04-b33b92e218b4_512x187.png 848w, https://substackcdn.com/image/fetch/$s_!Q9JP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d20b-6cf5-4074-8f04-b33b92e218b4_512x187.png 1272w, https://substackcdn.com/image/fetch/$s_!Q9JP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d20b-6cf5-4074-8f04-b33b92e218b4_512x187.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q9JP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d20b-6cf5-4074-8f04-b33b92e218b4_512x187.png" width="728" height="265.890625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9075d20b-6cf5-4074-8f04-b33b92e218b4_512x187.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:187,&quot;width&quot;:512,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:16673,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://mathiasprzybylowicz.substack.com/i/188120633?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d20b-6cf5-4074-8f04-b33b92e218b4_512x187.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Q9JP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d20b-6cf5-4074-8f04-b33b92e218b4_512x187.png 424w, https://substackcdn.com/image/fetch/$s_!Q9JP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d20b-6cf5-4074-8f04-b33b92e218b4_512x187.png 848w, https://substackcdn.com/image/fetch/$s_!Q9JP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d20b-6cf5-4074-8f04-b33b92e218b4_512x187.png 1272w, https://substackcdn.com/image/fetch/$s_!Q9JP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d20b-6cf5-4074-8f04-b33b92e218b4_512x187.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>Phrasing examples by audience:</strong></p><blockquote><p><strong>To a Dev Lead:</strong> &#8220;PR review time is 0.8d; let&#8217;s keep it under 1d.&#8221;</p></blockquote><blockquote><p><strong>To the CFO:</strong> &#8220;Time to market for a change is now 2 days; fewer rollbacks (12%) lowered credits by &#8364;38k last quarter.&#8221;</p></blockquote><blockquote><p><strong>To the Board:</strong> &#8220;Release quality improved; high&#8209;severity incidents down 30% and recovery is faster.&#8221;</p></blockquote><h2>IV.C Attribution &amp; Evidence (Causal Hygiene)</h2><ul><li><p><strong>Acknowledge confounders</strong> (external influential factors on either cause or effect)<strong>.</strong> Revenue and NPS move for many reasons (pricing, seasonality, sales plays). Avoid claiming causality from a single engineering metric.</p></li><li><p><strong>Use simple designs:</strong> before/after with a <strong>matched control segment</strong>, or <strong>difference&#8209;in&#8209;differences<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a></strong> by cohort/region; hold other factors constant when possible.</p></li><li><p><strong>Triangulate:</strong> pair a <strong>hard signal</strong> (e.g., adoption) with a <strong>soft one</strong> (NPS verbatim themes) and a <strong>financial view</strong> (credits/tickets). When all three move, confidence rises.</p></li><li><p><strong>State uncertainty:</strong> report contribution, not absolute attribution (&#8220;we estimate 20&#8211;30% of the uplift aligns with&#8230; based on X and Y&#8221;).</p></li><li><p><strong>Time windows:</strong> pick windows that match the product&#8217;s adoption curve (e.g., 14/30/60 days) and be consistent.</p></li></ul><h2>IV.D Composite Transparency &amp; Drilldowns</h2><ul><li><p><strong>Publish formulas:</strong> list inputs and weights for every composite (e.g., Delivery Confidence).</p></li><li><p><strong>Show components first:</strong> in reviews, display component trends before the roll&#8209;up.</p></li><li><p><strong>Red&#8209;rule exceptions:</strong> if any component breaches a red threshold, treat the composite as red even if the score is high.</p></li><li><p><strong>Drilldown on demand:</strong> allow teams to click through to raw metrics.</p></li></ul><p>Section &#167;VI offers metrics and dashboard examples for various situations.</p><h2>IV.E Some definitions</h2><ul><li><p><strong>Adoption 30d (%)</strong> = % of target users adopting a new feature within 30 days.</p></li><li><p><strong>Cost per Adopted Feature</strong> = Eng. cost / # adopted features that month.</p></li><li><p><strong>Strategic Account Feature Coverage</strong> = % of ARR-weighted top accounts covered by recently shipped features.</p></li><li><p><strong>Infra Cost per User</strong> = (Infra + Support Costs) / active users.</p></li><li><p><strong>Time to Value</strong> = Median days from contract/start &#8594; first value event.</p></li><li><p><strong>Support Tickets</strong> = Monthly count (all severities).</p></li><li><p><strong>p95 Latency (ms)</strong> = 95<sup>th</sup> percentile of request latency (main business endpoints, from telemetry).</p></li></ul><div><hr></div><h1>V. Predictability, Productivity &#8211; and the AI Illusion</h1><p><strong>Goodhart&#8217;s Law reminder:</strong> when a metric becomes a target, it can be gamed. Use <strong>composites</strong> or <strong>paired checks</strong> (e.g., Lead Time with Change Failure Rate), keep narrative context, and avoid individual output metrics.</p><p>Two common executive questions: <strong>predictability</strong> (fewer surprises) and <strong>productivity</strong> (value for cost). Recently, a third: <strong>&#8220;Shouldn&#8217;t AI make this dramatically cheaper?&#8221;</strong></p><h2>V.A Predictability &#8211; What Helps Confidence</h2><p><strong>Indicators:</strong></p><ul><li><p>Task Completion Rate (80&#8211;100%)</p></li><li><p>Delivery Confidence Score (composite of Lead Time for Changes + PR Review Cycle Time + Task Completion Rate)</p></li><li><p>Pull Request (PR &#8211; request to review new code before merging towards production) Review Time</p></li><li><p>Rework/Return Rate</p></li></ul><p><strong>Questions CTOs should prepare for:</strong> What changed between commitment and delivery? What level of rework stems from scope churn, or technical debt?</p><h2>V.B Productivity &#8211; What Engineering Can (and Can&#8217;t) Prove</h2><p>There&#8217;s currently a healthy, strong, and ongoing debate about productivity in software engineering, including on LinkedIn. It is an important concern of business executives, relating to margins and the fact that software business is heavy on labor costs until the business has really scaled (i.e. revenues increase much faster than engineering costs).<br>This warrants a short foreword.</p><p>Productivity is the quantity of &#8220;output&#8221; (usually: revenue &#8211; note that # of features is not a good measure of output: if the business can&#8217;t sell them, the effort tis wasted) by unit of &#8220;input&#8221; (for example: engineering costs). While it&#8217;s an important measure, the underlying drivers may be complex and interrelated:</p><ul><li><p>Adding engineers, or upskilling teams, does not necessarily result in a revenue increase via &#8220;more&#8221; new features &#8211; one reason being the increased complexity of team interactions and dependency management.</p></li><li><p>Engineering may be (very) skilled and efficient, while their strategic contribution to the business is insufficient or does not materialize. This may be due to lack of customer feedback / flawed product roadmaps, poor / outdated UX, technical debt, or inadequate go to market.</p></li></ul><p><strong>Engineering can measure:</strong></p><ul><li><p>Cost per Delivered/Adopted Feature;</p></li><li><p>Infra/Support Cost per User;</p></li><li><p>% time on strategic initiatives.</p></li></ul><p><strong>Engineering cannot prove alone:</strong> Feature &#8220;rightness&#8221; (Product); revenue conversion (Sales/CS/Finance).</p><p><strong>Questions CTOs should prepare for:</strong> What&#8217;s the cost to deliver a feature customers actually use? What % of effort goes to growth vs. technical overhead?</p><h2>V.C The Myth of AI Productivity Miracle</h2><p>Bombastic claims about workforce reduction rarely come with data. Controlled studies (e.g., <strong>GitHub Copilot RCT, 2023</strong>; <strong>Stanford HAI AI Index, 2025</strong>) show <strong>strong gains on simple/greenfield tasks</strong> (senior devs), but <strong>little net gain on large/complex codebases</strong> where debugging and prompting overhead offset wins. Treat AI as a new ingredient &#8211; not a shortcut to meaningful delivery. Measure <strong>where it helps</strong>; use <strong>developer satisfaction</strong> as a guardrail.</p><p>Besides, there are ways to introduce AI in engineering in a controlled and measurable way. Resources aplenty, beyond the scope of this article; search or ask about &#8220;MLOps best practice&#8221;.</p><p>Bottom line: <em>expect accelerated scaffolding, not accelerated delivery (yet&#8230;)</em></p><div><hr></div><h1>VI. Focus and Context: Select Metrics by Strategy</h1><p>You don&#8217;t need every metric. Choose based on context and strategy.<br>The syllabus in IV.B defines some of these acronyms and metrics.</p><h2>VI.A Common Patterns to Guide Selection</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-XC8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c85084-6da7-45cc-8f47-64ea98830ea1_677x223.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-XC8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c85084-6da7-45cc-8f47-64ea98830ea1_677x223.png 424w, https://substackcdn.com/image/fetch/$s_!-XC8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c85084-6da7-45cc-8f47-64ea98830ea1_677x223.png 848w, https://substackcdn.com/image/fetch/$s_!-XC8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c85084-6da7-45cc-8f47-64ea98830ea1_677x223.png 1272w, https://substackcdn.com/image/fetch/$s_!-XC8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c85084-6da7-45cc-8f47-64ea98830ea1_677x223.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-XC8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c85084-6da7-45cc-8f47-64ea98830ea1_677x223.png" width="728" height="239.79911373707534" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3c85084-6da7-45cc-8f47-64ea98830ea1_677x223.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:223,&quot;width&quot;:677,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:33342,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://mathiasprzybylowicz.substack.com/i/188120633?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c85084-6da7-45cc-8f47-64ea98830ea1_677x223.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-XC8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c85084-6da7-45cc-8f47-64ea98830ea1_677x223.png 424w, https://substackcdn.com/image/fetch/$s_!-XC8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c85084-6da7-45cc-8f47-64ea98830ea1_677x223.png 848w, https://substackcdn.com/image/fetch/$s_!-XC8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c85084-6da7-45cc-8f47-64ea98830ea1_677x223.png 1272w, https://substackcdn.com/image/fetch/$s_!-XC8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c85084-6da7-45cc-8f47-64ea98830ea1_677x223.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>Core&#8209;Six by Strategy (prioritize before adding more):</strong></p><ul><li><p><strong>Growth:</strong> Lead Time for Changes; 30&#8209;day adoption; Time&#8209;to&#8209;Value; <em>(plus)</em> Attach rate (paid options); CFR; PR review time.</p></li><li><p><strong>Margin:</strong> Infra cost/user; CFR; Mean Time To Restore (MTTR); <em>(plus)</em> Cost per adopted feature; Unplanned work ratio; Release batch size.</p></li><li><p><strong>Retention:</strong> Product&#8209;related NPS delta; incidents on top accounts; usage depth of sticky features; <em>(plus)</em> Share of wallet; MTTR variance; SLA attainment.</p></li></ul><h2>VI.B Example metrics &amp; targets for a growth Scenario</h2><p><strong>Executive (Monthly or QBR &#8211; Quarterly Business Review):</strong></p><ul><li><p>Time to market (Lead Time for Changes). &lt;2 days;</p></li><li><p>Release quality (CFR) &lt;15%;</p></li><li><p>30&#8209;day adoption &gt;60%;</p></li><li><p>Cost per Adopted Feature $8.2k (down QoQ);</p></li><li><p>Strategic Account Feature Coverage &gt;70% (ARR&#8209;weighted);</p></li><li><p>Developer Satisfaction 4.2/5.</p></li></ul><p><strong>Teams (per sprint/month):</strong></p><ul><li><p>Delivery Confidence (scope churn) (yellow) 60%-80%;</p></li><li><p>Sustainable Velocity. green &gt;80%;</p></li><li><p>Ownership Maturity green;</p></li><li><p>Unplanned Work 27% green;</p></li><li><p>PR Review Time 0.8 days green.</p></li></ul><h2>VI.C Example Exec Dashboards (publish monthly)</h2><p>Let&#8217;s have a look at a few mini-cases <a href="#_msocom_7">[MP7]</a> to make it concrete. They&#8217;re fictitious, but realistic.<br>(definitions of the metrics presented can be found in either &#167;III (Part 1) or &#167;IV)</p><div><hr></div><p><strong>Mini&#8209;case A (growth):</strong> After PR review time dropped 2.3d&#8594;0.9d and onboarding guides shipped, 30&#8209;day adoption rose 38%&#8594;61%; Time&#8209;to&#8209;Value fell 18&#8594;10 days; expansion ARR in Q2 was +&#8364;70k vs Q1.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Crax!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87969bc6-cd8b-4364-8f3c-4faeedb9f8eb_586x355.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Crax!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87969bc6-cd8b-4364-8f3c-4faeedb9f8eb_586x355.png 424w, https://substackcdn.com/image/fetch/$s_!Crax!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87969bc6-cd8b-4364-8f3c-4faeedb9f8eb_586x355.png 848w, https://substackcdn.com/image/fetch/$s_!Crax!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87969bc6-cd8b-4364-8f3c-4faeedb9f8eb_586x355.png 1272w, https://substackcdn.com/image/fetch/$s_!Crax!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87969bc6-cd8b-4364-8f3c-4faeedb9f8eb_586x355.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Crax!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87969bc6-cd8b-4364-8f3c-4faeedb9f8eb_586x355.png" width="586" height="355" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/87969bc6-cd8b-4364-8f3c-4faeedb9f8eb_586x355.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:355,&quot;width&quot;:586,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A graph of a growth\n\nAI-generated content may be incorrect.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A graph of a growth

AI-generated content may be incorrect." title="A graph of a growth

AI-generated content may be incorrect." srcset="https://substackcdn.com/image/fetch/$s_!Crax!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87969bc6-cd8b-4364-8f3c-4faeedb9f8eb_586x355.png 424w, https://substackcdn.com/image/fetch/$s_!Crax!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87969bc6-cd8b-4364-8f3c-4faeedb9f8eb_586x355.png 848w, https://substackcdn.com/image/fetch/$s_!Crax!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87969bc6-cd8b-4364-8f3c-4faeedb9f8eb_586x355.png 1272w, https://substackcdn.com/image/fetch/$s_!Crax!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87969bc6-cd8b-4364-8f3c-4faeedb9f8eb_586x355.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>(note: 2-weeks sprints &#8211; 26 sprints = Jan-Dec for simplicity)</p><div><hr></div><p><strong>Mini&#8209;case B (margin):</strong> Refactoring a hot path cut p95 latency 420&#8594;210ms; CFR stayed at 11%; support tickets &#8722;41%; infra cost/user &#8722;37% over two quarters.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JMcB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e06a703-bc71-42d8-ad63-cb48f68aed0a_586x355.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JMcB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e06a703-bc71-42d8-ad63-cb48f68aed0a_586x355.png 424w, https://substackcdn.com/image/fetch/$s_!JMcB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e06a703-bc71-42d8-ad63-cb48f68aed0a_586x355.png 848w, https://substackcdn.com/image/fetch/$s_!JMcB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e06a703-bc71-42d8-ad63-cb48f68aed0a_586x355.png 1272w, https://substackcdn.com/image/fetch/$s_!JMcB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e06a703-bc71-42d8-ad63-cb48f68aed0a_586x355.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JMcB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e06a703-bc71-42d8-ad63-cb48f68aed0a_586x355.png" width="586" height="355" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e06a703-bc71-42d8-ad63-cb48f68aed0a_586x355.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:355,&quot;width&quot;:586,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A graph of a line\n\nAI-generated content may be incorrect.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A graph of a line

AI-generated content may be incorrect." title="A graph of a line

AI-generated content may be incorrect." srcset="https://substackcdn.com/image/fetch/$s_!JMcB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e06a703-bc71-42d8-ad63-cb48f68aed0a_586x355.png 424w, https://substackcdn.com/image/fetch/$s_!JMcB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e06a703-bc71-42d8-ad63-cb48f68aed0a_586x355.png 848w, https://substackcdn.com/image/fetch/$s_!JMcB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e06a703-bc71-42d8-ad63-cb48f68aed0a_586x355.png 1272w, https://substackcdn.com/image/fetch/$s_!JMcB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e06a703-bc71-42d8-ad63-cb48f68aed0a_586x355.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p><strong>Mini&#8209;case C (incident):</strong> Cloud region brownout &#8594; multi-region failover. Primary evidence: MTTR &#8593;, CFR &#8593;, Support tickets &#8593;. Secondary: NPS delta &#8595;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1Vqm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831d26bf-6efb-495d-bd01-41fd6a6935c8_585x355.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1Vqm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831d26bf-6efb-495d-bd01-41fd6a6935c8_585x355.png 424w, https://substackcdn.com/image/fetch/$s_!1Vqm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831d26bf-6efb-495d-bd01-41fd6a6935c8_585x355.png 848w, https://substackcdn.com/image/fetch/$s_!1Vqm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831d26bf-6efb-495d-bd01-41fd6a6935c8_585x355.png 1272w, https://substackcdn.com/image/fetch/$s_!1Vqm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831d26bf-6efb-495d-bd01-41fd6a6935c8_585x355.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1Vqm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831d26bf-6efb-495d-bd01-41fd6a6935c8_585x355.png" width="585" height="355" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/831d26bf-6efb-495d-bd01-41fd6a6935c8_585x355.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:355,&quot;width&quot;:585,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A collage of graphs\n\nAI-generated content may be incorrect.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A collage of graphs

AI-generated content may be incorrect." title="A collage of graphs

AI-generated content may be incorrect." srcset="https://substackcdn.com/image/fetch/$s_!1Vqm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831d26bf-6efb-495d-bd01-41fd6a6935c8_585x355.png 424w, https://substackcdn.com/image/fetch/$s_!1Vqm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831d26bf-6efb-495d-bd01-41fd6a6935c8_585x355.png 848w, https://substackcdn.com/image/fetch/$s_!1Vqm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831d26bf-6efb-495d-bd01-41fd6a6935c8_585x355.png 1272w, https://substackcdn.com/image/fetch/$s_!1Vqm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F831d26bf-6efb-495d-bd01-41fd6a6935c8_585x355.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p><strong>Mini&#8209;case D (incident):</strong> Third-party API breaking change. Primary evidence: CFR &#8593;, Time to market &#8593; (while patching), Support tickets &#8593;. Secondary: NPS delta &#8595;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KD5e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc20d97a-7dfc-479b-a644-95fdd5ad1ef9_584x355.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KD5e!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc20d97a-7dfc-479b-a644-95fdd5ad1ef9_584x355.png 424w, https://substackcdn.com/image/fetch/$s_!KD5e!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc20d97a-7dfc-479b-a644-95fdd5ad1ef9_584x355.png 848w, https://substackcdn.com/image/fetch/$s_!KD5e!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc20d97a-7dfc-479b-a644-95fdd5ad1ef9_584x355.png 1272w, https://substackcdn.com/image/fetch/$s_!KD5e!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc20d97a-7dfc-479b-a644-95fdd5ad1ef9_584x355.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KD5e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc20d97a-7dfc-479b-a644-95fdd5ad1ef9_584x355.png" width="584" height="355" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bc20d97a-7dfc-479b-a644-95fdd5ad1ef9_584x355.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:355,&quot;width&quot;:584,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A collage of graphs\n\nAI-generated content may be incorrect.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A collage of graphs

AI-generated content may be incorrect." title="A collage of graphs

AI-generated content may be incorrect." srcset="https://substackcdn.com/image/fetch/$s_!KD5e!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc20d97a-7dfc-479b-a644-95fdd5ad1ef9_584x355.png 424w, https://substackcdn.com/image/fetch/$s_!KD5e!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc20d97a-7dfc-479b-a644-95fdd5ad1ef9_584x355.png 848w, https://substackcdn.com/image/fetch/$s_!KD5e!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc20d97a-7dfc-479b-a644-95fdd5ad1ef9_584x355.png 1272w, https://substackcdn.com/image/fetch/$s_!KD5e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc20d97a-7dfc-479b-a644-95fdd5ad1ef9_584x355.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>VI.D Starter Packs by Maturity (Keep It Simple)</h2><ul><li><p><strong>Starter (first 90 days):</strong> Time to market (Lead Time for Changes); CFR; PR Review Time; Unplanned Work Ratio; one <strong>business outcome</strong> (30&#8209;day adoption <em>or</em> Time&#8209;to&#8209;Value).</p></li><li><p><strong>Intermediate:</strong> add MTTR; Cost per Adopted Feature (if DRL&#8209;2); Satisfaction.</p></li><li><p><strong>Advanced:</strong> add Infra Cost/User (DRL&#8209;3), Strategic Capacity %, Share&#8209;of&#8209;Wallet growth (with Finance/CS alignment).</p></li></ul><div><hr></div><h1>What&#8217;s next?</h1><p>Part 2 explained how engineering contributes to business outcomes and how leaders can build executive-level scorecards.</p><p><strong>Part 3 closes the loop</strong> by addressing the organisation itself:</p><ul><li><p>How business and engineering collaborate</p></li><li><p>How leaders align incentives across functions</p></li><li><p>What buyers (customers, partners, PE firms) should ask</p></li><li><p>How to evaluate reliability, trust, and operational maturity in concrete ways</p></li></ul><p>If Part 2 provided the &#8220;what&#8221; and &#8220;why,&#8221; Part 3 provides the &#8220;how to use this in real situations.&#8221;</p><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>Difference-in-differences is a method to estimate a causal effect by comparing how an outcome changes over time in a treated group versus a similar untreated group.</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Software Delivery Performance (SDP) #1: A CTO's Guide to Building Trust and Clarity Through Metrics ]]></title><description><![CDATA[How leaders can make sense of engineering performance without falling into metric theater or superficial reporting.]]></description><link>https://mathiasprzybylowicz.substack.com/p/software-delivery-performance-sdp</link><guid isPermaLink="false">https://mathiasprzybylowicz.substack.com/p/software-delivery-performance-sdp</guid><dc:creator><![CDATA[Mathias Przybylowicz]]></dc:creator><pubDate>Tue, 10 Feb 2026 17:45:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!M3Ys!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c331538-9834-42a5-b467-4480795de3d8_1024x559.png" 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_!M3Ys!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c331538-9834-42a5-b467-4480795de3d8_1024x559.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!M3Ys!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c331538-9834-42a5-b467-4480795de3d8_1024x559.png 424w, https://substackcdn.com/image/fetch/$s_!M3Ys!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c331538-9834-42a5-b467-4480795de3d8_1024x559.png 848w, https://substackcdn.com/image/fetch/$s_!M3Ys!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c331538-9834-42a5-b467-4480795de3d8_1024x559.png 1272w, https://substackcdn.com/image/fetch/$s_!M3Ys!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c331538-9834-42a5-b467-4480795de3d8_1024x559.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!M3Ys!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c331538-9834-42a5-b467-4480795de3d8_1024x559.png" width="1024" height="559" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9c331538-9834-42a5-b467-4480795de3d8_1024x559.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:559,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1021038,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://mathiasprzybylowicz.substack.com/i/186344868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c331538-9834-42a5-b467-4480795de3d8_1024x559.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!M3Ys!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c331538-9834-42a5-b467-4480795de3d8_1024x559.png 424w, https://substackcdn.com/image/fetch/$s_!M3Ys!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c331538-9834-42a5-b467-4480795de3d8_1024x559.png 848w, https://substackcdn.com/image/fetch/$s_!M3Ys!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c331538-9834-42a5-b467-4480795de3d8_1024x559.png 1272w, https://substackcdn.com/image/fetch/$s_!M3Ys!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c331538-9834-42a5-b467-4480795de3d8_1024x559.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h1>About This Series &#8212; A Practical Guide to Reading Engineering Performance</h1><p>Software engineering carries a unique tension: it&#8217;s a major investment, it shapes customer experience, and it determines how fast a company can learn or react. Yet for most CEOs, COOs, CFOs, and PE investors, engineering remains oddly opaque. Activity is visible, but impact is not. Conversations drift between too-technical explanations and too-high-level summaries.</p><p>This series closes that gap.</p><p>It brings together field experience and established research (DORA, SPACE, DevOps practices) to offer a clear, business-oriented way to read engineering performance.<br>It answers practical questions such as:</p><ul><li><p><em>Which metrics actually help leaders understand what&#8217;s happening?</em></p></li><li><p><em>How do we avoid metric theatre, gaming, or over-interpretation?</em></p></li><li><p><em>How do engineering signals map to revenue, margin, NPS, and risk?</em></p></li><li><p><em>What should teams measure to stay predictable without burning out?</em></p></li><li><p><em>How should cross-functional accountability work?</em></p></li><li><p><em>What should buyers or investors ask during due diligence or renewal cycles?</em></p></li></ul><p>Across three parts, the series builds a structured, audience-aware model:</p><ul><li><p><strong>Part 1 (this part) &#8211; The Foundations &amp; Team Layer:</strong><br>Why metric conversations break down, how to create a shared language, and the team-level signals that drive sustainable, predictable delivery.</p></li><li><p><strong>Part 2 &#8211; The Executive Layer:</strong><br>How engineering connects to revenue, margin, customer outcomes, and strategic priorities &#8212; and how leaders should interpret this information.</p></li><li><p><strong>Part 3 &#8211; The Collaboration &amp; Buyer Layer:</strong><br>How engineering, product, finance, CS, and sales align around metrics; how to read reliability and operational maturity; and how buyers (customers, partners, PE) assess the organization.</p></li></ul><p>This is not a theoretical framework.<br>It is a practical, tested approach to understanding engineering performance in real companies, under real constraints, with real business outcomes at stake.</p><p>---</p><h1>PART 1 &#8211; TL;DR</h1><p><strong>Engineering becomes easier to understand when we anchor conversations in a small number of stable, shared signals.</strong><br>Part 1 sets the foundations: why metric conversations break down, how to avoid misinterpretation, and which team-level indicators help create predictable delivery without harming flow or morale.</p><p>Here are the core ideas leaders should retain:</p><p><strong>1. Why the conversation about engineering performance is messy</strong></p><ul><li><p>Engineering often reports <em>activity</em>, while business leaders need <em>movement of the business</em> (predictability, stability, capacity, risk).</p></li><li><p>This gap produces avoidable friction: execs feel under-informed, tech teams feel pushed, and everyone loses time translating.</p></li></ul><p><strong>2. Metrics work only when they act as a shared language</strong></p><ul><li><p>Signals should not function as proof or scorecards.</p></li><li><p>They help people make choices and understand trade-offs.</p></li><li><p>Clarity requires ownership, stable definitions, and a common narrative.</p></li></ul><p><strong>3. A disciplined approach prevents gaming and confusion</strong></p><ul><li><p>Use <em>paired checks</em> (e.g., Lead Time with Change Failure Rate) to keep behavior healthy.</p></li><li><p>Keep the set small: five to seven signals, and up to three targets if needed.</p></li><li><p>Focus on <em>trends</em>, not snapshots.</p></li><li><p>Explain changes before presenting them to execs &#8212; trust grows upstream.</p></li></ul><p><strong>4. Build trust around data quality</strong></p><ul><li><p>Each metric must have an accountable owner and a producing team.</p></li><li><p>Acknowledge when accuracy is approximate (manual exports, incomplete tags).</p></li><li><p>Show the path toward improved reliability.</p></li></ul><p><strong>5. Team-layer metrics shape execution without burnout</strong></p><ul><li><p>DORA (DevOps Research &amp; Assessment) covers flow and stability (Lead Time, Deployment Frequency, Change Failure Rate).</p></li><li><p>SPACE (Satisfaction, Performance, Activity, Collaboration, Efficiency) adds collaboration, focus, satisfaction, cognitive load.</p></li><li><p>Team-facing signals help with planning and self-steering &#8212; not surveillance.</p></li></ul><p><strong>6. Composite signals help when ingredients are solid</strong></p><ul><li><p>Delivery Confidence, Sustainable Velocity, and Ownership Maturity summarize complex realities without oversimplifying them.</p></li><li><p>They help teams and execs read progress consistently.</p></li></ul><p><strong>7. Metrics can harm if misused</strong></p><ul><li><p>Coverage quotas trigger shallow tests.</p></li><li><p>Velocity targets break predictability.</p></li><li><p>Zero-defect expectations create big-batch behavior.</p></li><li><p>The fix: pair metrics, reduce pressure, and focus on decision support.</p></li></ul><p><strong>8. Indicative benchmarks help, but context wins</strong></p><ul><li><p>Benchmarks offer orientation, not judgement.</p></li><li><p>Internal trend lines matter more than external comparisons.</p></li></ul><p><strong>The essence of Part 1:</strong><br>Engineering becomes more transparent when the organization agrees on a small set of team-level signals and interprets them with context, narrative, and shared accountability. This is the groundwork for all executive-level reporting in Parts 2 and 3.</p><p><strong>Some background.</strong></p><p>The subject (Software Delivery Performance) has been discussed at length for 60 years: software engineering is costly and complex, it&#8217;s not unreasonable to seek some assurances about delivery dates, quality, costs, or user adoption, or &#8221;insert business or social concern here&#8221;.</p><p>Project management in, and simply management of software engineering were actively developed since then, starting with proven approaches typical to construction or industry, continuously feeding from other domains (e.g. embracing Lean) and pioneering original methods (e.g. Agile flavors) later retrofitted in other domains.</p><p>IT can be usefully compared with Construction or Manufacturing: it has platforms just like cars. It has pipelines like assembly lines. It has architecture. It has a supply chain and components. It has similar concerns about productivity, speed to market, or ROI, while having quite different constraints (e.g. little Cost of Capital vs. high Personnel Costs).</p><p>Consequently, there has been continuous efforts, experiment and research so as to best assess productivity &amp; predictability of software engineering, and eventually methods to secure and improve them, is thus legit and as old as the IT industry itself.</p><p>And, the debate has been occasionally heated, due to: business pressure on costs, customer pressure on quality, experts&#8217; &#8220;clerical&#8221; debates, marketing overpromises &#8211; to name a few.</p><p><strong>Why this matters?</strong></p><p>Every year, we get studies from the likes of Gartner, Forrester, IDC or McKinsey (to name a few) which report that, depending on the project type (engineering vs. integration) and size, planning and costs are off by a vast margin (30%-60%), with scope issues in the middle.</p><p>Recent marketing lullabies have been promising to reduce software engineering headcount drastically thanks to AI.</p><p>A personal experience I think many other CTOs / Engineering VPs will recognize: in a weekly management team meeting of a software business, the sales leader and the CFO report with known, sharp and simple metrics, and can drill down on the spot if needed.<br>Conversely, the CTO often sounds very qualitative and occasionally vague, or over-complicated.</p><p>In my consulting or interim exec engagements, I hear almost every single CEOs of software businesses voicing repeatedly 3 concerns about their engineering team (even if there&#8217;s no crisis or difficulty):</p><ul><li><p>Does the business get enough for what it costs?</p></li><li><p>It is a black box (understand: &#8220;as opposed to sales&#8221;), with various underlying concerns: predictability, continuous improvement, risk management.</p></li><li><p>How can it be more predictable (more transparency about timing, scope, quality)?</p></li></ul><p>This is avoidable. The aim here isn&#8217;t to coin a new theory &#8211; it&#8217;s to <strong>collect what works</strong>, define it clearly, and show <strong>how to use it</strong> so CTOs, CPOs, their teams, and their peers can hold better conversations and make better calls.</p><p>Let&#8217;s see how we can equip ourselves with ways to find answers.</p><p><strong>Disclaimers</strong></p><ul><li><p>Nothing here suggests people should be managed by numbers. Good leadership first, metrics second. Actually: many talented and experienced technical leaders can &#8220;smell&#8221; where the problems are, while metrics help making assessments objective or, at least, less opinionated.</p></li><li><p><strong>No silver bullets:</strong> Metrics are signals, not proofs. Attribution from engineering changes to revenue/NPS is not straightforward &#8211; there are various other influencing factors / confounders; I offer outcome chains and evidence patterns, not lab&#8209;grade causality.</p></li></ul><div><hr></div><h1>I. A starting point.</h1><p>Ask any CTO how productive their engineering team is, and you&#8217;ll often hear: &#8220;We&#8217;re shipping regularly, our core metrics are stable, (+ details of the moment.)<br>This doesn&#8217;t tell a CFO or CEO how engineering is moving the business. The gap between technical progress and business impact creates friction: engineers feel scrutinized; executives feel under&#8209;informed; CTOs translate between worlds.</p><p>On March 11, 2025, Matthias Patzak published <strong>&#8220;A CTO&#8217;s Guide to Measuring Software Development Productivity&#8221;</strong> on the AWS Enterprise Strategy Blog. It&#8217;s a solid foundation (multi&#8209;dimensional metrics; outcomes over activity; avoid individual scorecards). This series takes the next step: turning that foundation into a practical, audience&#8209;aware model and a set of scorecards that connect engineering to business outcomes.</p><p>The post groups metrics into five areas:</p><ol><li><p><strong>Delivery performance</strong> (e.g., certain devops metrics)</p></li><li><p><strong>Code quality</strong> (e.g., defects, rework)</p></li><li><p><strong>Team health</strong> (e.g., engagement surveys)</p></li><li><p><strong>Operational excellence</strong> (e.g., incidents, Mean Time To Restore)</p></li><li><p><strong>Business impact</strong> (e.g., adoption, usage)</p></li></ol><p>It also recommends: treat metrics as signals (not scorecards), focus on trends (not snapshots), and avoid individual&#8209;level productivity measures.</p><p>This is a good baseline, but:</p><ul><li><p>There are no concrete metric sets proposed (was not the article&#8217;s intention), it&#8217;s more about directions to take or avoid.</p></li><li><p>Some objections can be made, for example:</p><ul><li><p>code quality signals need context, are about output and can be gamed.</p></li><li><p>There&#8217;s an overlap between Delivery vs. Operational metrics depending on who owns them in the organization.</p></li><li><p>Surveys are just one way of understanding team health. Think of unplanned work ratio, decision latency, and participation in reviews/retros.</p></li></ul></li><li><p>Business impact needs definition<strong>.</strong> Turn &#8220;impact&#8221; into adoption, margin, NPS trends, and post&#8209;release revenue signals.</p></li></ul><p>In the following section, I&#8217;m building a model for selecting <em>who sees what</em>, <em>how metrics are computed</em>, and <em>how technical change maps to business contribution</em>.</p><div><hr></div><h1>II. Metrics Are Shared Accountability</h1><p>Adapting metrics to audiences isn&#8217;t novel &#8211; but friction persists. Common patterns I&#8217;ve observed or lived &#8211; to list a few:</p><ul><li><p>Executives browsing Jira/analytics and jumping to conclusions without context.</p></li><li><p>CTOs reporting &#8220;green&#8221; output metrics without explaining business impact.</p></li><li><p>Business leaders debating technical indicators (e.g., test coverage) without engineering background.</p></li><li><p>Developers pushing back on KPIs they can&#8217;t influence.</p></li></ul><p>To avoid these pitfalls:</p><ul><li><p>Treat metrics as a <strong>shared language</strong> (context, purpose, narrative)</p></li><li><p>Set <strong>guardrails</strong></p></li><li><p><strong>Secure</strong> <strong>data quality and ownership</strong></p></li></ul><p>By &#8221;shared language&#8221; I mean:</p><ul><li><p>Share indicators a group can <strong>act on</strong>, or <strong>own</strong>, so that they can take pride in success.</p></li><li><p>Provide <strong>context and narrative</strong>, not just numbers. Engineering metrics, like financial indicators, require a narrative.</p></li></ul><p><strong>Guardrails</strong> to keep metrics healthy:</p><ul><li><p>Avoid <strong>individual output targets</strong>, measure at team or product level and favor outcome over output.</p></li><li><p>Counter gaming or provide nuances with <strong>composites</strong> or <strong>paired checks</strong> (e.g., Time to market with Change Failure Rate), plus narrative context.</p></li><li><p>Keep <strong>5&#8211;7 signals</strong> and <strong>&#8804;3 targets</strong>; if more are needed, place extras in an appendix and review their impact on / contribution to decisions.</p></li><li><p><strong>Preview</strong> metric changes with teams before executive reviews.</p></li><li><p>Keep composite formulas <strong>stable for at least two quarters</strong> so people learn how to read them.</p></li><li><p>Report only metrics that matter in the situation (i.e., those which help deciding how to achieve more impact and better outcomes in your current situation). You can maintain a broader set regularly calculated, no problem, just avoid confusing audiences with an excess of information that&#8217;s actually not useful.</p></li><li><p>Change a metric only if it&#8217;s <strong>flawed</strong> or <strong>no longer tied to company goals</strong> &#8211; not to rotate for its own sake.</p></li></ul><p><strong>Data readiness &amp; accountability:</strong> never propose what you/others cannot measure reliably. Each metric should have an <strong>Accountable owner</strong> and a <strong>Producing unit</strong> (e.g., Engineering produces lead&#8209;time; Finance produces margin).<br>If you miss a metric from other departments to calculate your own ones, don&#8217;t try to palliate &#8211; that won&#8217;t be trusted.<br><strong>&#167;VII.D</strong> in Part 3 offers a simple Data Readiness Levels (DRL) ladder to help you manage metrics production.</p><p><strong>Conclusion: sharing metrics is not just reporting: it is culture and ethics.</strong></p><div><hr></div><h1>III. The Team Layer: Execution Without Burnout</h1><p>Team&#8209;facing metrics are for self&#8209;steering and learning &#8211; not surveillance. They improve predictability, reduce friction, and protect sustainability.</p><p>In the following sections, you&#8217;ll often see references to &#8220;DORA&#8221; (DevOps Research and Assessment). In case you don&#8217;t know: it is the largest and longest running research program of its kind that seeks to understand the capabilities that drive software delivery and operations performance. It was first published in 2013 and has become an industry reference for measuring certain aspects of software engineering.</p><h2>III.A Recommended Team Metrics</h2><p>Combine <strong>DORA</strong> with <strong>SPACE</strong> (developer experience: Satisfaction and wellbeing, Performance, Activity, Communication and Collaboration, and Efficiency and flow). The list below offers a subset, together with indication of a desirable target, and the consequent positive outcome:</p><ul><li><p><strong>Time to market (Lead Time for Changes, DORA):</strong> &lt;1 day (elite) &#8658; fast iteration.<br>Def: time from first code commit to code running in production.</p></li><li><p><strong>Release quality (Change Failure Rate, CFR, DORA):</strong> &lt;15% &#8658; stable quality.<br>Def: % of deployments causing incidents/rollbacks.</p></li><li><p><strong>Deployment Frequency (DORA):</strong> daily/weekly &#8658; CI/CD maturity.<br>Def: # of deployments in product per day / week.</p></li><li><p><strong>Pull Request (PR) Review Cycle Time (SPACE):</strong> &lt;1 day &#8658; responsive collaboration.<br>Def: time from <a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> opened (or equivalent if you have a no-PR process) to merge/close/pass (calendar time)..</p></li><li><p><strong>Task Completion Rate (SPACE):</strong> 80&#8211;100% &#8658; planned work delivered.<br>Def: Completed / committed in the sprint.</p></li><li><p><strong>Satisfaction &amp; Focus (SPACE):</strong> &gt;4/5 on internal surveys.</p></li><li><p><strong>Cognitive Load (SPACE):</strong> &lt;3/5 &#8658; manageable scope.<br>Def: self&#8209;reported 1&#8211;5 scale of mental load.</p></li><li><p><strong>Unplanned Work Ratio:</strong> &lt;25% &#8658; sustainable focus.<br>Def: unplanned effort / total sprint effort (by story points or hours as per tickets status history).</p></li><li><p><strong>Task Bounce Rate:</strong> &lt;10% &#8658; clear ownership.<br>Def: % of items that change owner/status due to unclear scope or dependency.</p></li></ul><h2>III.B Composite Signals That Work</h2><p>As previously explained, it is not recommended to analyze metrics in isolation. An option is to combine some of them into a composite signal, in the spirit of checks-and-balances.<br>Here are some examples you might find useful for your situation:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h3fD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a98211a-195e-4d63-a9d6-139ecdf682f5_667x224.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h3fD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a98211a-195e-4d63-a9d6-139ecdf682f5_667x224.png 424w, https://substackcdn.com/image/fetch/$s_!h3fD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a98211a-195e-4d63-a9d6-139ecdf682f5_667x224.png 848w, https://substackcdn.com/image/fetch/$s_!h3fD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a98211a-195e-4d63-a9d6-139ecdf682f5_667x224.png 1272w, https://substackcdn.com/image/fetch/$s_!h3fD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a98211a-195e-4d63-a9d6-139ecdf682f5_667x224.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h3fD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a98211a-195e-4d63-a9d6-139ecdf682f5_667x224.png" width="667" height="224" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0a98211a-195e-4d63-a9d6-139ecdf682f5_667x224.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:224,&quot;width&quot;:667,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:31192,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://mathiasprzybylowicz.substack.com/i/186344868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a98211a-195e-4d63-a9d6-139ecdf682f5_667x224.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!h3fD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a98211a-195e-4d63-a9d6-139ecdf682f5_667x224.png 424w, https://substackcdn.com/image/fetch/$s_!h3fD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a98211a-195e-4d63-a9d6-139ecdf682f5_667x224.png 848w, https://substackcdn.com/image/fetch/$s_!h3fD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a98211a-195e-4d63-a9d6-139ecdf682f5_667x224.png 1272w, https://substackcdn.com/image/fetch/$s_!h3fD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a98211a-195e-4d63-a9d6-139ecdf682f5_667x224.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Compute composites only from well&#8209;defined inputs, normalize to a 0&#8211;100 scale, weight them (or not) according to your situation, and keep the formula stable for at least two quarters so teams learn how to read it.</p><p><strong>A Story from the Field (Fictional)</strong></p><p>At <strong>SteelWallet</strong>, a fintech platform, leads saw long lead times and inconsistent PR reviews. Rather than pushing harder, they instrumented a subset of DORA + SPACE across five teams and added async reviews with SLAs. They reduced unplanned support work by tagging and triaging it at stand&#8209;up. Within a quarter, <strong>Time to market fell 40%</strong>, <strong>PR review time halved</strong>, and <strong>satisfaction rose from 3.4 to 4.2</strong>. The numbers didn&#8217;t replace judgment &#8211; they improved retros and trade&#8209;off decisions.</p><h2>III.C Other Considerations</h2><p><strong>Measuring Subjective Signals Well (e.g. Cognitive Load, Satisfaction)</strong></p><ul><li><p>Use anchored scales (e.g., 1 = overwhelmed, 3 = manageable, 5 = easy).</p></li><li><p>Keep question text stable for trend validity; rotate only a small bank each quarter (if you have to).</p></li><li><p>Report on median and interquartile range (IQR), not only averages.</p></li><li><p>Aim for &#8805;70% participation; record &#8220;prefer not to answer&#8221; to avoid biasing results.</p></li><li><p>Pair with a qualitative prompt (&#8220;What made this sprint harder/easier?&#8221;) and summarize themes in retros.</p></li></ul><p><strong>When Metrics Make Things Worse, and How to Fix It</strong></p><ul><li><p><strong>Set a coverage target: you get superficial tests.</strong><br><em>Fix:</em> drop raw coverage as a target; track <strong>post&#8209;release defects</strong> and <strong>review health</strong>; consider a composite that includes <strong>mutation score</strong><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> or <strong>critical path test time</strong>.</p></li><li><p><strong>Set Velocity quotas: you get scope slicing &amp; rework.</strong><br><em>Fix:</em> avoid team output quotas; use <strong>Delivery Confidence</strong> + <strong>Rework/Return Rate</strong> + <strong>Unplanned Work Ratio</strong> as a <strong>check&#8209;and&#8209;balance triplet</strong>.</p></li><li><p><strong>Push for &#8220;Zero Change Failure Rate&#8221;: you get deploy fear &amp; risky big batches.</strong><br><em>Fix:</em> pair <strong>CFR</strong> with <strong>Deployment Frequency</strong> and <strong>Release Batch Size</strong>; adopt <strong>progressive delivery</strong> and <strong>error budgets</strong> (capacity reservations in case things go south).</p></li><li><p><strong>Ask to Close Pull Requests in 24h: you get rubber&#8209;stamp reviews.</strong><br><em>Fix:</em> pair <strong>PR Review Time</strong> with <strong>PR Comment Depth</strong> (or review participation) and <strong>post&#8209;merge defect rate</strong>.</p></li></ul><p>Principle: prefer <strong>composites</strong> or <strong>paired checks. </strong>That&#8217;s general advice by the way: for example, investors always consider Internal Rate of Return <strong>and</strong> Net Present Value <strong>together</strong> to assess the quality of an investment.</p><p>And of course: Guardrails from section <strong>II</strong> do apply.</p><p><strong>Benchmarks (Indicative) from the industry</strong></p><p>While context (type of software, type of delivery, etc.) varies, a typical SaaS team would strive for:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pZdj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49b73bc7-677a-40bd-a47a-74d0f4b2c0c7_668x290.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pZdj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49b73bc7-677a-40bd-a47a-74d0f4b2c0c7_668x290.png 424w, https://substackcdn.com/image/fetch/$s_!pZdj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49b73bc7-677a-40bd-a47a-74d0f4b2c0c7_668x290.png 848w, https://substackcdn.com/image/fetch/$s_!pZdj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49b73bc7-677a-40bd-a47a-74d0f4b2c0c7_668x290.png 1272w, https://substackcdn.com/image/fetch/$s_!pZdj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49b73bc7-677a-40bd-a47a-74d0f4b2c0c7_668x290.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pZdj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49b73bc7-677a-40bd-a47a-74d0f4b2c0c7_668x290.png" width="668" height="290" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/49b73bc7-677a-40bd-a47a-74d0f4b2c0c7_668x290.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:290,&quot;width&quot;:668,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:36392,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://mathiasprzybylowicz.substack.com/i/186344868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49b73bc7-677a-40bd-a47a-74d0f4b2c0c7_668x290.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pZdj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49b73bc7-677a-40bd-a47a-74d0f4b2c0c7_668x290.png 424w, https://substackcdn.com/image/fetch/$s_!pZdj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49b73bc7-677a-40bd-a47a-74d0f4b2c0c7_668x290.png 848w, https://substackcdn.com/image/fetch/$s_!pZdj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49b73bc7-677a-40bd-a47a-74d0f4b2c0c7_668x290.png 1272w, https://substackcdn.com/image/fetch/$s_!pZdj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49b73bc7-677a-40bd-a47a-74d0f4b2c0c7_668x290.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Governance for Team&#8209;Defined Metrics (Lightweight)</strong></p><p>Of course, Teams may define additional metrics for their respective needs and peculiars, and I advise to do it <strong>under a basic governance</strong>:</p><ul><li><p>Not for individual objectives or ranking.</p></li><li><p>Provide a <strong>clear rationale</strong> and definition.</p></li><li><p><strong>No &#8220;official&#8221; sharing</strong> beyond the team.</p></li><li><p>If promoted to a <strong>team objective</strong>, an <strong>n+2 review</strong> validates intent and safe use.</p></li><li><p>Respect the <strong>5&#8211;7 signals</strong> and <strong>&#8804;3 targets</strong> guidance &#8211; avoid drowning debates in detail.</p></li></ul><p><strong>Data Readiness Levels (DRL) &amp; Accountability (Quick Check)</strong></p><p>Some of which are already mentioned in &#167;II (Guardrails):</p><ul><li><p>Don&#8217;t propose what you <strong>can&#8217;t measure reliably</strong>.</p></li><li><p>Each metric has an <strong>Accountable owner</strong> and a <strong>Producing unit</strong> (e.g., Engineering produces lead time; Finance produces margin).</p></li><li><p>If accuracy is <strong>DRL&#8209;1 (manual &#177;20%)</strong>, label it and avoid punitive use; plan an upgrade path.</p></li><li><p>See <strong>&#167;VII.D</strong> in part 3 for the DRL ladder and examples.</p></li><li><p><strong>Small and Stable:</strong> Keep a <strong>small, stable set</strong> (5&#8211;7 signals; &#8804;3 targets). Retire only when flawed or no longer tied to strategy.</p></li><li><p><strong>No surveillance:</strong> Avoid individual output metrics. Measure at team/product level and pair numbers with narrative context.</p></li><li><p><strong>Only propose what you can measure:</strong> each metric needs an <strong>Accountable owner</strong> and a <strong>Producing unit</strong>.</p></li></ul><div><hr></div><h1>What&#8217;s next?</h1><p>Part 1 focused on the foundations and on the team layer &#8212; the level where flow, stability, and sustainable execution are shaped.<br><strong>Part 2 takes the next step:</strong> how engineering performance maps to business outcomes.</p><p>We move from:</p><ul><li><p><em>&#8220;Are teams executing predictably?&#8221;</em><br>to</p></li><li><p><em>&#8220;How does this execution affect revenue, margin, and customer experience?&#8221;</em></p></li></ul><p>If you want to understand the bridge between engineering operations and business performance, Part 2 is where that connection becomes practical.</p><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>For non-technical readers: a Pull Request is a proposal / request to merge changes from one (near development) branch into another (nearer production), requiring precise criteria to be met</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 mutation score measures how effective your test suite is at catching faults introduced by small, deliberate changes (mutations) to the source code. A high mutation score means your test suite reliably detects code changes and likely provides deeper coverage than superficially running code lines (such as raw code coverage). Mutation testing exposes weaknesses in test logic (if mutations &#8220;survive,&#8221; your tests aren&#8217;t catching potential defects), so it&#8217;s a strong complement to traditional coverage metrics.</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Where to Start with The Software Factory Brief]]></title><description><![CDATA[Depending on your situation & problem, this article may help you identify relevant content across the 6 categories in the menu bar, or just browse!]]></description><link>https://mathiasprzybylowicz.substack.com/p/start-here-the-software-factory-brief</link><guid isPermaLink="false">https://mathiasprzybylowicz.substack.com/p/start-here-the-software-factory-brief</guid><dc:creator><![CDATA[Mathias Przybylowicz]]></dc:creator><pubDate>Mon, 02 Feb 2026 10:38:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!woix!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe28ad42b-ab21-4d90-bb4a-8980d080f097_1024x559.png" 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_!woix!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe28ad42b-ab21-4d90-bb4a-8980d080f097_1024x559.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!woix!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe28ad42b-ab21-4d90-bb4a-8980d080f097_1024x559.png 424w, https://substackcdn.com/image/fetch/$s_!woix!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe28ad42b-ab21-4d90-bb4a-8980d080f097_1024x559.png 848w, https://substackcdn.com/image/fetch/$s_!woix!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe28ad42b-ab21-4d90-bb4a-8980d080f097_1024x559.png 1272w, https://substackcdn.com/image/fetch/$s_!woix!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe28ad42b-ab21-4d90-bb4a-8980d080f097_1024x559.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!woix!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe28ad42b-ab21-4d90-bb4a-8980d080f097_1024x559.png" width="1024" height="559" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e28ad42b-ab21-4d90-bb4a-8980d080f097_1024x559.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:559,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1225436,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://mathiasprzybylowicz.substack.com/i/186218061?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe28ad42b-ab21-4d90-bb4a-8980d080f097_1024x559.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!woix!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe28ad42b-ab21-4d90-bb4a-8980d080f097_1024x559.png 424w, https://substackcdn.com/image/fetch/$s_!woix!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe28ad42b-ab21-4d90-bb4a-8980d080f097_1024x559.png 848w, https://substackcdn.com/image/fetch/$s_!woix!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe28ad42b-ab21-4d90-bb4a-8980d080f097_1024x559.png 1272w, https://substackcdn.com/image/fetch/$s_!woix!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe28ad42b-ab21-4d90-bb4a-8980d080f097_1024x559.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h1>1. What this publication is &#8212; and how to read it</h1><p><strong>The Software Factory Brief</strong> is not meant to be read from top to bottom.</p><p>Rather, it&#8217;s a growing collection of long-form articles about how software organizations operate once scale, pressure, or complexity start to shape day-to-day decisions &#8212; and why the same issues tend to reappear across different companies.</p><p>A few points of orientation before you start reading:</p><ul><li><p>articles are deliberately long and dense</p></li><li><p>most pieces are written to be read *when a situation arises*, not when they are published</p></li></ul><p>So jump directly to what matches your current context, that&#8217;s how it&#8217;s meant to be used. Bookmark some articles for your later reference.</p><div><hr></div><h1>2. How the content is organized</h1><h2>2.1 Core themes (tags)</h2><p>Articles are grouped around a small number of recurring themes. These are not short-lived topics, but structural questions that tend to surface repeatedly in software companies.</p><p>You&#8217;ll find pieces organized around themes such as:</p><ul><li><p><strong>Product&#8211;Engineering Alignment<br></strong>Decision rights, roadmaps, incentives, and what actually drives alignment &#8212; or misalignment &#8212; between product and engineering.</p></li><li><p><strong>Scaling Software Organizations</strong></p><p>What starts to break as teams grow, and why adding people or process rarely addresses the core problems. Near- and Off-shoring, follow-the-sun, multi-cultural organizations.</p></li><li><p><strong>Software Quality &amp; Technical Debt</strong></p><p>How quality degrades over time, how debt accumulates quietly, and why it eventually becomes a leadership concern.</p></li><li><p><strong>Portfolio &amp; Product Strategy</strong></p><p>Flagships, overlap, rationalization, and the long-term cost of carrying products that are no longer questioned.</p></li><li><p><strong>Leadership &amp; Governance</strong></p><p>Postures, roles, coaching, organizational interfaces, metrics, and the operating model behind executive decisions.</p></li><li><p><strong>Operations, Support &amp; Delivery</strong></p><p>Support load, professional services, reliability, and the economics of running software at scale.</p></li></ul><p>These tags are meant to be used as chapters, not as labels. If one theme is relevant to you, it&#8217;s usually worth exploring the related pieces in the same area.</p><div><hr></div><h2>2.2 What &#8220;long-form&#8221; means here</h2><p>Most articles are closer to <strong>working notes</strong> than to opinion pieces.</p><p>A typical piece will:</p><ul><li><p>start from a concrete situation</p></li><li><p>examine the underlying mechanics</p></li><li><p>make trade-offs explicit</p></li><li><p>provide concrete, exemplified approaches to deal with the issue, no one-size-fits-all</p></li></ul><p>They are written to be:</p><ul><li><p>bookmarked</p></li><li><p>reused in internal discussions</p></li><li><p>revisited when a similar situation occurs or comes back</p></li></ul><p>If you&#8217;re looking for short reads between meetings, this may not be the right moment.</p><p>If you&#8217;re dealing with a real issue and want clearer thinking around it, this is the intended use.</p><div><hr></div><h1>3. Where to start, depending on your situation</h1><p>Many readers arrive with a specific question or source of tension in mind, so I&#8217;ve listed a few starting points, depending on what you&#8217;re dealing with.</p><div><hr></div><h2>If you&#8217;re facing scaling or growth pressure</h2><p>Typical signals:</p><ul><li><p>engineering output slowing down despite increasing headcount</p><p>(often not measured appropriately)</p></li><li><p>delivery becoming less predictable</p></li><li><p>more processes without more clarity, people complain about bureaucracy</p></li></ul><p>You may want to start with:</p><ul><li><p><strong>Software engineering: what could go wrong?</strong> (a 3-part series, here&#8217;s the <a href="https://mathiasprzybylowicz.substack.com/p/software-engineering-what-could-go">direct link to part 1</a>)</p></li><li><p>Why software engineering doesn&#8217;t scale the way leaders expect (planned)</p></li><li><p><strong>Software Delivery Performance (SDP): A CTO&#8217;s Guide to Building Trust and Clarity Through Metrics</strong> (a 3-part series, being published now)</p></li></ul><p>These pieces look at the structural failure modes that tend to appear as organizations grow &#8212; often before they show up clearly in metrics.</p><div><hr></div><h2>If product and engineering are drifting apart</h2><p>Typical signals:</p><ul><li><p>roadmaps that look coherent but stall in execution</p></li><li><p>recurring friction between business, product, and technical leadership</p></li><li><p>priorities changing frequently, without explicit trade-offs</p></li></ul><p>Good entry points are:</p><ul><li><p><strong><a href="https://mathiasprzybylowicz.substack.com/p/the-ceo-ctpo-divide">The CEO&#8211;CTO divide</a>: where misalignment really starts</strong></p></li><li><p><strong><a href="https://mathiasprzybylowicz.substack.com/p/backlog-oldies-turning-forgotten">Why backlogs become graveyards</a> &#8212; and how to bring them back to life</strong></p></li></ul><p>These articles focus on decision rights, incentives, and the mechanics behind alignment &#8212; not on roles, rituals, or org charts.</p><div><hr></div><h2>If quality, reliability, or incidents are becoming an issue</h2><p>Typical signals include:</p><ul><li><p>defect levels increasing release after release</p></li><li><p>support load growing faster than usage</p></li><li><p>engineering time increasingly spent on firefighting</p></li><li><p>not-so-great NPS &amp; customer satisfaction, low adoption</p></li></ul><p>You may want to start with:</p><ul><li><p>Quality crises don&#8217;t happen overnight &#8212; they grow in the shadows (planned)</p></li><li><p>Why technical debt eventually becomes a leadership problem (planned)</p></li></ul><p>The emphasis here is on understanding how quality erodes systemically, and what leaders often miss until the cost becomes visible.</p><div><hr></div><h2>If you&#8217;re dealing with portfolio complexity, restructuring, or M&amp;A</h2><p>Typical signals:</p><ul><li><p>overlapping products or features</p></li><li><p>&#8220;flagship&#8221; products that no longer justify their cost</p></li><li><p>integration efforts losing momentum after the deal</p></li><li><p>product ROI unclear, challenged and possibly hopeless.</p></li></ul><p>Relevant starting points are:</p><ul><li><p><strong><a href="https://mathiasprzybylowicz.substack.com/p/beyond-the-flagship">Beyond the flagship</a>: when product portfolios quietly drift</strong></p></li><li><p>Why post-merger integration fails without a product/engineering/ops lens (planned)</p></li></ul><p>These pieces look at portfolio and integration decisions from an operational perspective, not only a financial or organizational one.</p><div><hr></div><h2>If you&#8217;re exploring how software organizations work more broadly</h2><p>If you don&#8217;t have an acute issue but want an overview of the themes explored here, you can start with:</p><ul><li><p>My ideal software company (planned)</p></li><li><p>Threshold effects while a software business grows (planned)</p></li></ul><p>From there, follow the themes that are closest to your current context.</p><div><hr></div><h2>How this section will evolve</h2><p>As the archive grows, this page will be updated to:</p><ul><li><p>reflect the pieces that are most often referenced</p></li><li><p>clarify reading paths</p></li><li><p>surface articles readers tend to return to</p></li></ul><p>It&#8217;s meant to function as a **living index**, not a fixed reading list.</p><div><hr></div><h1>4. What to expect next</h1><p>This publication grows slowly, by design. Maybe I&#8217;ll make a book out of it one day - could be a fun project.</p><p>Over time, I&#8217;ll continue to explore questions that tend to surface once software organizations move beyond early growth, such as</p><ul><li><p>trade-offs between reliability, speed, and cost</p></li><li><p>recurring tension between product intent and delivery reality</p></li><li><p>the interaction between quality, ops &amp; support load, and engineering productivity</p></li><li><p>portfolio and platform decisions that look reasonable locally but fail at scale</p></li></ul><p>There is no fixed roadmap and no attempt to cover everything.<br>New pieces usually emerge from situations I see repeating across different contexts.</p><div><hr></div><h1>5. How to engage</h1><p>If you want to engage, the simplest way is to reply directly to an article.</p><p>Replies are treated as conversations, not as comments to moderate. Typically, we (you, other subscribers, and I) are interested in:</p><ul><li><p>clarifications</p></li><li><p>disagreements</p></li><li><p>&#8220;we&#8217;re dealing with something similar&#8221; notes</p></li><li><p>suggestions for future topics</p></li><li><p>authoring collaboration suggestions (I have a couple ideas where I need help)</p></li></ul><p>Many articles start from questions or patterns that surfaced in exchanges like these.<br>Of course, you can also read quietly and use the pieces as internal reference material.</p><div><hr></div><h1>6. Continuity</h1><p>If you arrived here because a piece was shared with you, subscribing is simply a way to maintain continuity.</p><p>You&#8217;ll receive:</p><ul><li><p>one or two articles per month</p></li><li><p>by email</p></li><li><p>with no expectation to read them as they arrive</p></li></ul><p>Each post is written so it can be useful weeks or months later, when the context matches.</p><p>If this fits how you prefer to read and think, subscribing makes sense.<br>If not, feel free to visit when something is relevant.</p>]]></content:encoded></item><item><title><![CDATA[Backlog ‘Oldies’: Turning Forgotten Feature Ideas into Customer Value]]></title><description><![CDATA[A practical exploration of why old backlog items become irrelevant and how teams can reconnect forgotten ideas to real customer needs.]]></description><link>https://mathiasprzybylowicz.substack.com/p/backlog-oldies-turning-forgotten</link><guid isPermaLink="false">https://mathiasprzybylowicz.substack.com/p/backlog-oldies-turning-forgotten</guid><dc:creator><![CDATA[Mathias Przybylowicz]]></dc:creator><pubDate>Wed, 09 Apr 2025 09:00:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!b08X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fe16c3-812c-4c8b-814d-46a54531c010_1280x720.png" 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_!b08X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fe16c3-812c-4c8b-814d-46a54531c010_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!b08X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fe16c3-812c-4c8b-814d-46a54531c010_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!b08X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fe16c3-812c-4c8b-814d-46a54531c010_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!b08X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fe16c3-812c-4c8b-814d-46a54531c010_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!b08X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fe16c3-812c-4c8b-814d-46a54531c010_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!b08X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fe16c3-812c-4c8b-814d-46a54531c010_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/14fe16c3-812c-4c8b-814d-46a54531c010_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;: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_!b08X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fe16c3-812c-4c8b-814d-46a54531c010_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!b08X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fe16c3-812c-4c8b-814d-46a54531c010_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!b08X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fe16c3-812c-4c8b-814d-46a54531c010_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!b08X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fe16c3-812c-4c8b-814d-46a54531c010_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Every product team has them &#8211; those backlog items older than a year, untouched and slowly sinking into irrelevance. But what if those forgotten ideas held untapped value?</p><p>There are plenty of best practice articles on product backlog management. However, I notice they don&#8217;t really address one point I find important: what to do with all the ideas (internal, from customers) that accumulate over the years and sit untouched? What they say is: &#8220;dump them, if nobody asked then it does not have value, and avoid clutter in the first place.&#8221;</p><p>I agree with that: a backlog is not an archive or a graveyard of once-good ideas. However, I think all product teams create oldies, and there is value in these items. We can do much better; let&#8217;s see how.</p><h2><strong>The issues</strong></h2><p>Without structure, your backlog becomes a liability: wasted product owner time, lost revenue from unimplemented value, and declining user engagement.</p><h3><strong>Setting the scene</strong></h3><p>Software businesses have product release cycles: companies want/need to make buzz at regular intervals to raise customers&#8217; and prospects&#8217; attention &#8211; and that&#8217;s fine. This is reinforced by seasonal trade shows and market analysts&#8217; publications. On the side: it&#8217;s not antagonistic to Continuous Deployments: feature locks can manage this.</p><p>Another source of seasonality is product roadmaps, which plan for the next 2-3 years and the next 12 months in rolling quarters.</p><p>Lastly: the fiscal year itself is a natural heartbeat.</p><p>Put all this together, and you get 3-months iteration planning, with several sprints within.</p><h3><strong>Issue 1: User Stories graveyard</strong></h3><p>Thus, user stories (lower-level backlog items) that do not make it (to sprint planning) within 12 months sink to the bottom, never to resurface. This is wasted time and effort: producing backlog items doesn&#8217;t come for free. When product owners and tech leads work on them, that&#8217;s less bandwidth to answer clarification questions from developers, testers, or technical writers.</p><p>On the other hand: producing new ideas is a key motivator for product owners and tech leads</p><p>&#8594; A balance is needed.</p><h3><strong> Issue 2: Customer feature suggestions / change requests archive.</strong></h3><p>In this case, I&#8217;m discussing the small items, not the strategic product directions you get from your key customers through Customer Advisory Boards (CABs) and such.</p><p>Whether or not suggestions or requests are consistently and regularly curated and transformed into user stories, many product and engineering organizations don&#8217;t implement most of them, if at all - the product roadmap primes. These are wasted opportunities.</p><p>Satisfying faithful customers through quick wins and quality-of-life changes is a great way to keep them engaged, with positive effects on customer satisfaction and NPS.</p><p>&#8594; A balance is needed.</p><p>Let&#8217;s see how such a balance could be achieved.</p><h2><strong>A plan of approach</strong></h2><p>This isn&#8217;t about cleaning up Jira. It&#8217;s about recovering business value, increasing retention, and reducing churn.</p><p>I&#8217;m proposing that you take a data-driven, quantitative, and qualitative approach to make your &#8220;oldies&#8221; provide business outcomes. This will take time and budget and will trigger resistance, so prepare to sell the plan and manage change &#8211; I&#8217;ll come back to it at the end.</p><p>Here&#8217;s the idea:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!c5r3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477ea456-6c0a-42c7-af8c-458b8ba043a9_513x191.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!c5r3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477ea456-6c0a-42c7-af8c-458b8ba043a9_513x191.png 424w, https://substackcdn.com/image/fetch/$s_!c5r3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477ea456-6c0a-42c7-af8c-458b8ba043a9_513x191.png 848w, https://substackcdn.com/image/fetch/$s_!c5r3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477ea456-6c0a-42c7-af8c-458b8ba043a9_513x191.png 1272w, https://substackcdn.com/image/fetch/$s_!c5r3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477ea456-6c0a-42c7-af8c-458b8ba043a9_513x191.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!c5r3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477ea456-6c0a-42c7-af8c-458b8ba043a9_513x191.png" width="513" height="191" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/477ea456-6c0a-42c7-af8c-458b8ba043a9_513x191.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:191,&quot;width&quot;:513,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!c5r3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477ea456-6c0a-42c7-af8c-458b8ba043a9_513x191.png 424w, https://substackcdn.com/image/fetch/$s_!c5r3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477ea456-6c0a-42c7-af8c-458b8ba043a9_513x191.png 848w, https://substackcdn.com/image/fetch/$s_!c5r3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477ea456-6c0a-42c7-af8c-458b8ba043a9_513x191.png 1272w, https://substackcdn.com/image/fetch/$s_!c5r3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477ea456-6c0a-42c7-af8c-458b8ba043a9_513x191.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>In what follows, I&#8217;ll be using &#8220;feature ideas&#8221; to refer to customer change requests, feature ideas, and internally generated user stories older than 12 months. The content to review and value is quite granular.</p><h2><strong>1. Clean the backlog</strong></h2><p><em>Step 1: Reduce your product backlog.</em></p><p>Make your active product backlog &#8220;operational&#8221; (by active, I mean: which the engineering teams consume on a &#8220;sprintly&#8221; basis from e.g. Jira). It should have a simple hierarchical structure, with the Epics of the rolling 4 quarters at the top. Unless your product has a broad functional span and your engineering organization is really large (e.g. 500+ FTEs), you probably don&#8217;t need the Initiative / Theme level.</p><p>Manage your operational backlog like you manage emails: after each iteration, move what was finished in a mirror &#8220;Done&#8221; backlog. This one can grow forever, it will be mostly used to check for regressions or security certifications.</p><p><em>Step 2: Build a Feature Ideas Archive</em></p><p>Move every feature idea that was not &#8220;done&#8221; in the past 12 months (or whatever limit you want to set) into an external database (can be an Excel sheet...) which product owners, product managers, and tech leads can slice and dice in a simple way.</p><p><em>Step 3: Augment your Feature Ideas Archive</em></p><p>Augment this database, which I&#8217;ll be referring to as the &#8220;Feature Ideas Archive&#8221; below, with customer change requests or feature ideas that you typically find in your customer support portal and other sources (user forums, internal individual treasure troves from Subject Matter Experts (SMEs), support reps, consultants, etc.). By &#8220;augment&#8221; I mean: copy. Leave the originals where they belong, and just make sure you maintain synchronization in the future.</p><p><em>Step 4: Curate your Feature Ideas Archive</em></p><p>Finally, curate the database: remove duplicates or similarities (e.g., change requests translated to user stories in the past). Remove those that don&#8217;t make sense at all (e.g., so old that the product has taken a different direction since then).</p><h2><strong>2. Map density</strong></h2><p><em>Step 1: Map the feature ideas.</em></p><p>Map the feature ideas archive to the reference functional decomposition of your product.</p><p>This is the hierarchical tree of functions and features your product has &#8211; tip: it is close to the outline of your user reference documentation.</p><p>Side note: I&#8217;ve observed that Product / Engineering organizations don&#8217;t have such a formal tree, and this is a problem, in my opinion. For one, recent hires don&#8217;t have a quick reference and will get lost, make assumptions, or burn experts&#8217; time with questions. For two: this means that you don&#8217;t know your functional test coverage at system level, which can be a major problem to assure quality. So, if you don&#8217;t have one, get one fast. A simple way is to start with the outline of your reference manuals, decompose it down to 4 to 5 levels, ask your LLM of choice to review and complete it, and ask your SMEs (customer support, professional services) to review.</p><p>Initializing this mapping will be a substantial effort, but it&#8217;s worth it. Keeping it up to date is a small effort.</p><p><em>Step 2: Analyze the mapping.</em></p><p>Once you have the mapping, you will be able to see where your product is challenged the most. Of course, I&#8217;m sure you will only confirm what your intuition already told you! But what&#8217;s important is: you will know how much. You will have indisputable quantitative insight into the state of your product.</p><p>In practice, you will be looking for 2 key information in the first 3 functional levels:</p><ol><li><p>What is the % of ideas vs. existing features? 10% to 20% is healthy, less than 10% is either ok, or a sign that users don&#8217;t care about this function or that your product owners don&#8217;t have the time to do regular due diligence and creative work. More than 20% either means that your function has big gaps, or that product owners/managers are not busy enough ;)</p></li><li><p>What are the top 5 / top 10 product areas with feature ideas, possibly weighted by age and some business score? These will be areas to focus on to delight your user base.</p></li></ol><h2><strong>3. Overlay telemetry.</strong></h2><p>Another source of quantitative information that can tell you where to add to your product is telemetry. Most of you already take advantage of it, but for the sake of others, let&#8217;s discuss it briefly.</p><p>Your telemetry information tells you about the users&#8217; journey in the product. Thus, you&#8217;re able to segment it across the functional decomposition I was explaining above and harvest insights such as:</p><ul><li><p>Most frequent product usage patterns and most used features</p></li><li><p>% of product usage time spent doing certain tasks</p></li><li><p>% of time spent by main usage pattern vs. your normalized UX journey time</p></li><li><p>% of drops (users interrupting a task and not resuming it) per use-case or function</p></li><li><p>Frequency of errors/warning messages per function</p></li></ul><p>Such indicators will guide you to value your feature ideas archive, especially related to quality-of-life improvements. Consider this:</p><ul><li><p>Function A is the second most-used product top-level function</p></li><li><p>Inside function A, 70% of users&#8217; time is spent performing use-case A.1</p></li><li><p>The average time spent performing A.1 is 30% above your reference UX test time for A.1, with a standard deviation of 15%</p></li></ul><p>Discuss this finding with your support organization (Does it correlate with usage issue tickets? Do they recognize the pattern themselves?) and your customer training team (Did they observe trainees struggling with this use case?). Depending on their feedback, it may be a clear sign to explore quality of life improvements from feature ideas mapped to function A. Those improvements, or their hints, have likely already been reported.</p><p> Correlating feature ideas density and telemetry insights will give you a valuable, data-driven focus on what truly matters to your users.</p><h2><strong>4. Engage &amp; sustain</strong></h2><h3><strong>4.1 Engage users</strong></h3><p>You can get much more insight from your user base.</p><p>You will likely find, to your frustration, that feature ideas in your Archive are too vague (precision or rationale). This is a call to gear up your user/usage information gathering. Here are a few ideas - you may already have them running in whole or in part. You don&#8217;t have to do it all - start small.</p><ul><li><p>Create a moderated user forum inside or next to your company&#8217;s extranet or within your support portal. Make it accessible directly from your product with a link (help or contextual menu).</p></li><li><p>Run a subreddit for your product. Make it accessible directly from your product.</p></li><li><p>Add a Slack (or similar) ideas chat directly in the product, next to the &#8220;help, I&#8217;m struggling&#8221; support chat.</p></li><li><p>Use LLMs to rewrite user suggestions in a more condensed / crisper way.</p></li><li><p>Hold user gatherings at each key external event (trade shows and your own users&#8217; conferences), and have an &#8220;idea board&#8221; on the side where anyone can suggest feature ideas without interrupting the sessions.</p></li><li><p>Add a &#8220;Suggest improvement&#8221; feature next to the &#8220;Report bug&#8221; one inside your product, with a simple screenshot &amp; text/drawing feature integrated, along with journey summary and log gathering - asking permission to share with appropriate anonymity.</p></li><li><p>Centralize all ideas sources on a single web &#8220;page&#8221; with convenient browsing and search, and offer users to vote. Gamify it and offer incentives such as extra usage credits, etc. Host online thematic voting sessions where the most active users moderate. Also, having a single ideas repository will help you have a single source to synchronize with your Feature Ideas Archive.</p></li><li><p>Make sure your Customer Advisory Board is well structured: next to the usual Exec / VP-level meeting, have a dedicated experts&#8217; group with your SMEs and some field experts from your key customers, and a Technical Advisory Board if your customers are corporate companies with complex IT requirements.</p></li></ul><h3><strong>4.2 Keep your promise and sustain</strong></h3><p><strong>Very important</strong>: This is a journey without a return.</p><p>Once you&#8217;ve started this journey, which will take budget and resources (see below), be conscious that you cannot stop, and you owe users regular feedback and tangible proof that you&#8217;re taking their input into account. It&#8217;s like authoring on LinkedIn or starting your YouTube channel: if you stop or slack off, you will lose your supporters and subscribers very quickly, and most will not come back if you resume.</p><p>In other words: if you don&#8217;t sustain, the impact on customer satisfaction and NPS will be important and hard to recover. But the rewards are certainly worth it, as we&#8217;ll see.</p><p>Users will make the effort to give you feedback if they get something in return. In the beginning, traction will be slow; they will behave as &#8220;constructively skeptical&#8221;: they will give it a try and give you a chance to prove yourself.</p><p>Thus, it&#8217;s important to be conscious of what it takes to keep the promise and sustain this initiative over time: transparency, feedback, budget, resources, and commitment.</p><h3><strong>4.3 Transparency and feedback</strong></h3><p>Stay true: even if early results are disappointing, demonstrate you are bold and committed.</p><p>Next to giving access to your Feature Ideas Archive to all users, I suggest that you publish broadly (i.e. even outside your paying customer base) some basic statistics every month or so, such as: # of new feature ideas captured in month, # of implemented feature ideas in month, average lead-time to implementation, % of feature ideas discarded, etc.</p><p>Next to that, just like in regular customer support, set yourself a feedback obligation SLA, such as:</p><p>&#8220;Any new feature idea is answered within 2 working days with either:</p><ol><li><p>Great idea! We will deliver in the coming 3 months or sooner.</p></li><li><p>Good idea, planned within 12 months.</p></li><li><p>We&#8217;re quite full already; your idea is #246 (next 12 months&#8217; list currently ends at #185).</p></li><li><p>We have carefully considered your idea and have decided not to pursue it. We understand your disappointment but encourage you to continue providing feedback to us and the community.&#8221;</p></li></ol><p>Finally, inform each reporting user when their idea has been implemented in the channel where they originally reported it, and make sure to update its status in the Feature Ideas Archive.</p><h3><strong>4.4 Resources and commitment</strong></h3><p>This is about one of my favorite personal aphorisms: &#8220;what does it take to be serious about it&#8221;&#8482;</p><p>What I&#8217;m describing above doesn&#8217;t come for free. Here&#8217;s a brief list of what you&#8217;ll need to make it successful.</p><ul><li><p>A community manager dedicated to user forums / subreddits / slack and monthly reporting to the community.</p></li><li><p>A fraction of time from your customer-facing product experts: support reps, consultants, SMEs. They will have to review user comms channels daily, on a rotating basis, to either guide users in best achieving their goals (there could be ways to achieve what they ask for, even if not the way they thought about, or not the &#8220;best&#8221; way) or to capture a feature idea in a clear, non-ambiguous and actionable way. In order to facilitate change internally, I suggest that this is funded from the Product budget back to the contributing departments.</p></li><li><p>Around 20% of the time of one of your product owners to curate, maintain, and drill through the Feature Ideas Archive</p></li><li><p>An aggregation portal, some BI development, and LLM costs to analyze verbatims.</p></li></ul><p>Obviously, you don&#8217;t have to go full-scale from the beginning. What I&#8217;ve listed above is more like your &#8220;dream state&#8221;. Start small and roadmap it; what is most important is to sustain the effort in time. Here are some minimal starting cost figures (EU standards):</p><ul><li><p>Community manager (someone with a reasonable understanding of your product and field): 75KEUR fully loaded.</p></li><li><p>Initial tooling: 20KEUR</p></li><li><p>Internal costs (left pocket - right pocket, it is not cash-out, but will become later on as you will consume existing resources up to a point that additional hires will be necessary): ca. 20KEUR</p></li></ul><p>Total initial investment: ~120KEUR. Keep this in mind until I discuss the ROI.</p><p>Lastly, I advise that you establish clear guardrails (i.e., engineering bandwidth) in each sprint to make sure that these initiatives are not sidelined. In clear words: in each sprint, each team should deliver at least one vetted feature idea. This means integrating feedback processing (e.g., from customer support) into iteration planning. By making it a non-negotiable part of the process, you ensure that user insights are continuously acted upon, maintaining momentum and delivering ongoing value.</p><h2><strong>5. Measure impact</strong></h2><p>Finally, here&#8217;s my value equation! We need to find proof in the pudding.</p><p>To measure the impact of your Feature Ideas Archive initiative, track changes in Customer Satisfaction, Customer Retention, and NPS that can be directly attributable to the regular, small product improvements (up to changing your quarterly and spot satisfaction surveys as needed).</p><p>I could not find research specifically correlating CSAT and NPS increase to revenue increase in B2B SaaS, but various correlation effects have been largely documented since the mid-2000s: NPS increase demonstrably leads to upsell increase, customer churn decrease, CLV increase, and CAC reduction.</p><p>Still, it&#8217;s not unreasonable to do some back-of-the-envelope calculations. Let&#8217;s suppose:</p><ul><li><p>Working on the &#8220;Feature Ideas Archive&#8221; results in a 5% increase in product-related customer satisfaction within 6 months.</p></li><li><p>A 5% increase in customer satisfaction translates into a 2% increase in retention or upsell opportunities &#8211; sounds reasonable.</p></li><li><p>For a company with 1,000 customers and an average annual revenue of $15K per deal, this could mean $300K in additional ARR.</p></li></ul><p>That&#8217;s an ROI within the fiscal year. <strong>In other words: it&#8217;s worth a try</strong></p><p>If you still struggle to sell the plan, you can refer to some well-known examples in the software industry. Companies like Slack, Adobe, and Atlassian are quite good at nurturing customer feedback, and there&#8217;s abundant literature about their approaches. Slack&#8217;s user forums and beta programs create a direct line to their community, enabling them to quickly iterate based on feedback. Adobe&#8217;s customer advisory boards and forums help prioritize features that matter most. Atlassian, through its community and transparent roadmap, ensures that users feel heard and valued.</p><h2><strong>Conclusion</strong></h2><p>Dormant feature ideas, whether from internal or external sources, often clutter product backlogs. If you keep archiving them where they are &#8220;just in case&#8221;, you&#8217;re wasting effort and revenue opportunities.</p><p>For many teams, this can be a sub-150KEUR initiative that returns its cost in-year, while re-engaging both customers and internal teams.</p><p>What&#8217;s key is: once you start, it&#8217;s a journey without return: you and your organization need to commit.</p><p>I hope I was able to come across and some of you readers will start advocating such an initiative in your company. If you&#8217;re considering it, let&#8217;s connect. I&#8217;m keen to hear how others are solving the same problem &#8211; and happy to share lessons learned in more detail.</p><p>I hope you have a rewarding journey!</p>]]></content:encoded></item><item><title><![CDATA[Software engineering: what could go wrong? Part 3: a CTO’s Repair Plan]]></title><description><![CDATA[A pragmatic repair plan for CTOs facing delivery slowdowns, quality erosion, and loss of control in growing engineering organisations.]]></description><link>https://mathiasprzybylowicz.substack.com/p/software-engineering-what-could-go-967</link><guid isPermaLink="false">https://mathiasprzybylowicz.substack.com/p/software-engineering-what-could-go-967</guid><dc:creator><![CDATA[Mathias Przybylowicz]]></dc:creator><pubDate>Thu, 27 Mar 2025 10:00:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!o77x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F464b3abc-e2a4-474b-8ec1-d537766dfce1_1280x720.png" 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_!o77x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F464b3abc-e2a4-474b-8ec1-d537766dfce1_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!o77x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F464b3abc-e2a4-474b-8ec1-d537766dfce1_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!o77x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F464b3abc-e2a4-474b-8ec1-d537766dfce1_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!o77x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F464b3abc-e2a4-474b-8ec1-d537766dfce1_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!o77x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F464b3abc-e2a4-474b-8ec1-d537766dfce1_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!o77x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F464b3abc-e2a4-474b-8ec1-d537766dfce1_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/464b3abc-e2a4-474b-8ec1-d537766dfce1_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;: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_!o77x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F464b3abc-e2a4-474b-8ec1-d537766dfce1_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!o77x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F464b3abc-e2a4-474b-8ec1-d537766dfce1_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!o77x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F464b3abc-e2a4-474b-8ec1-d537766dfce1_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!o77x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F464b3abc-e2a4-474b-8ec1-d537766dfce1_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In my previous articles in this series (<strong><a href="https://www.linkedin.com/pulse/software-engineering-what-could-go-wrong-part-1-mathias-przybylowicz-wtvee">Part 1: People</a></strong> and <strong><a href="https://www.linkedin.com/pulse/software-engineering-what-could-go-wrong-part-2-mathias-przybylowicz-dqmze">Part 2: Process and Technology</a></strong>), I&#8217;ve compiled a list of blockers, pain points, and issues that you typically meet in the engineering department of a software company or business. In this third part, I&#8217;m outlining how you can structure the repair journey, trying to provide as many pragmatic tips as possible while keeping this article digestible. You can use this advice w/o reading the first two parts, but I&#8217;d recommend it still so that you understand where I&#8217;m coming from.</p><p>Before I start, let me clarify the setup considered here: you&#8217;re the CTO of a software company or business unit with a 50+ strong engineering team, up to a couple of hundred. You&#8217;ve just taken your position, been promoted or externally hired, or made the firm decision to change the game.</p><h2><strong>Preamble</strong></h2><p>To assess the situation and build the adequate transformation plan, you will want to gauge 3 key dimensions:</p><ul><li><p>People: what&#8217;s the engineer&#8217;s morale/team spirit?</p></li><li><p>Efficiency: what&#8217;s the delivery flow from User Stories to customers experiencing them? (I&#8217;m focusing on engineering here; the journey from customer needs to User Stories is another potential can of worms)</p></li><li><p>What&#8217;s the product quality as experienced by end-users (at customers, partners and internally: Customer Support, for example)</p></li><li><p>What&#8217;s the level of technical debt?</p></li></ul><p>Let&#8217;s plot team morale against quality and efficiency:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!N0qs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42db9edc-449a-4430-9263-a26f3967186b_665x584.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N0qs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42db9edc-449a-4430-9263-a26f3967186b_665x584.png 424w, https://substackcdn.com/image/fetch/$s_!N0qs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42db9edc-449a-4430-9263-a26f3967186b_665x584.png 848w, https://substackcdn.com/image/fetch/$s_!N0qs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42db9edc-449a-4430-9263-a26f3967186b_665x584.png 1272w, https://substackcdn.com/image/fetch/$s_!N0qs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42db9edc-449a-4430-9263-a26f3967186b_665x584.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N0qs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42db9edc-449a-4430-9263-a26f3967186b_665x584.png" width="665" height="584" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/42db9edc-449a-4430-9263-a26f3967186b_665x584.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:584,&quot;width&quot;:665,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!N0qs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42db9edc-449a-4430-9263-a26f3967186b_665x584.png 424w, https://substackcdn.com/image/fetch/$s_!N0qs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42db9edc-449a-4430-9263-a26f3967186b_665x584.png 848w, https://substackcdn.com/image/fetch/$s_!N0qs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42db9edc-449a-4430-9263-a26f3967186b_665x584.png 1272w, https://substackcdn.com/image/fetch/$s_!N0qs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42db9edc-449a-4430-9263-a26f3967186b_665x584.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You need to know where your engineering department is in this chart. This will help create a sense of urgency, the need for change, and hint at where to start with. Roughly speaking: your goal is to improve customer satisfaction. Hence, product quality is your target. For that, you need to improve efficiency. This will start improving team morale. This virtuous circle will progressively allow resuming innovation with increased speed to market, which will also positively impact customer satisfaction and team morale.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cztp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8751df-3847-4306-83d8-a9018881e5c3_645x593.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cztp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8751df-3847-4306-83d8-a9018881e5c3_645x593.png 424w, https://substackcdn.com/image/fetch/$s_!cztp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8751df-3847-4306-83d8-a9018881e5c3_645x593.png 848w, https://substackcdn.com/image/fetch/$s_!cztp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8751df-3847-4306-83d8-a9018881e5c3_645x593.png 1272w, https://substackcdn.com/image/fetch/$s_!cztp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8751df-3847-4306-83d8-a9018881e5c3_645x593.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cztp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8751df-3847-4306-83d8-a9018881e5c3_645x593.png" width="645" height="593" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4f8751df-3847-4306-83d8-a9018881e5c3_645x593.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:593,&quot;width&quot;:645,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!cztp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8751df-3847-4306-83d8-a9018881e5c3_645x593.png 424w, https://substackcdn.com/image/fetch/$s_!cztp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8751df-3847-4306-83d8-a9018881e5c3_645x593.png 848w, https://substackcdn.com/image/fetch/$s_!cztp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8751df-3847-4306-83d8-a9018881e5c3_645x593.png 1272w, https://substackcdn.com/image/fetch/$s_!cztp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8751df-3847-4306-83d8-a9018881e5c3_645x593.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Legend: (A)=&gt;(B) means &#8220;Improving (A) improves (B)&#8221; &#8211; not all relations shown for readability</figcaption></figure></div><p>What&#8217;s fundamental is that Team Spirit is influenced by every other element and influences them back.</p><p>The proposed steps below proceed chronologically. Some steps can or will have to be undertaken in parallel. Don&#8217;t try to do everything at once though, especially when it comes to <em>how</em> things change &#8211; rushing it will trigger resistance and slow the whole journey.</p><p>Let&#8217;s assume the worst: dispirited teams, a quality crisis, and piles of technical debt both in tools and product. If parts of this don&#8217;t apply, skip them.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mF_y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98a0a899-0f32-4372-a546-8057a8b67865_504x336.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mF_y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98a0a899-0f32-4372-a546-8057a8b67865_504x336.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mF_y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98a0a899-0f32-4372-a546-8057a8b67865_504x336.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mF_y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98a0a899-0f32-4372-a546-8057a8b67865_504x336.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mF_y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98a0a899-0f32-4372-a546-8057a8b67865_504x336.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mF_y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98a0a899-0f32-4372-a546-8057a8b67865_504x336.jpeg" width="504" height="336" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98a0a899-0f32-4372-a546-8057a8b67865_504x336.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:336,&quot;width&quot;:504,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!mF_y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98a0a899-0f32-4372-a546-8057a8b67865_504x336.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mF_y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98a0a899-0f32-4372-a546-8057a8b67865_504x336.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mF_y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98a0a899-0f32-4372-a546-8057a8b67865_504x336.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mF_y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98a0a899-0f32-4372-a546-8057a8b67865_504x336.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">How the teams feel...</figcaption></figure></div><h2><strong>Stage 1: Diagnostic and master plan (first quarter)</strong></h2><p>In this stage, you will want to understand how acute issues are and which one to prioritize.</p><h3><strong>Step 1.1</strong></h3><p>In an engineering all-hands meeting, announce that you will engage in the improvement journey, reminding all that the situation is not sustainable for the company. Share the next 4 steps (1.2 to 1.5) below and:</p><ol><li><p>Invite <em>everyone</em> in the department to share their thoughts on the situation with you in an informal or 20-min format. You can easily meet 8 people per day without jeopardizing your other schedule &#8211; thus, in a month, you&#8217;ll have met around 150 people.</p></li><li><p>Make a public pledge of transparency: you will keep all staff informed even if findings are difficult.</p></li></ol><h3><strong>Step 1.2</strong></h3><p>Make a simple and honest maturity assessment across some key areas: requirement engineering &amp; management, architecture, UX (not UI), dev process (individual dev environment, Continuous Integration tooling), testing, product documentation, Continuous Delivery &amp; Deployment pipelines, and release management.</p><ol><li><p>Within engineering, at 2 levels: management and seniors (in-person) and staff (anonymous poll, just ask for the team the respondent belongs to, within anonymity constraints so that individuals can&#8217;t be identified &#8211; remember people have lost trust at this stage).</p></li><li><p>Within adjacent functions: product management, customer support, professional services, cloud operations if separate from engineering &#8211; ask their leaders to fill in the survey in one of their team meetings.</p></li></ol><p>The maturity survey scoring should be:</p><ul><li><p>Documented = 1</p></li><li><p>Measured = 2</p></li><li><p>Improved based on measure = 3</p></li><li><p>None of the above = 0</p></li></ul><p>In a struggling engineering org, many areas will likely score between 0.7 and 1.5, with some exceptions. What&#8217;s also very enlightening is the difference of perception from within engineering vs. within adjacent functions, highlighting silos, lack of cross-functional collaboration or emotional biases.</p><h3><strong>Step 1.3.</strong></h3><p>Complete the maturity assessment with an anonymous &#8220;cultural typology&#8221; survey at team level. You will be running it afterward every quarter or semester. This survey aims to find which type of culture the engineering staff perceives among these 3, as theorized by Ron Westrum whose work I mentioned in part 1. Here it is again for convenience:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iSUj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a61d260-b1bd-43ce-961f-133adb64b97d_602x366.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iSUj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a61d260-b1bd-43ce-961f-133adb64b97d_602x366.png 424w, https://substackcdn.com/image/fetch/$s_!iSUj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a61d260-b1bd-43ce-961f-133adb64b97d_602x366.png 848w, https://substackcdn.com/image/fetch/$s_!iSUj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a61d260-b1bd-43ce-961f-133adb64b97d_602x366.png 1272w, https://substackcdn.com/image/fetch/$s_!iSUj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a61d260-b1bd-43ce-961f-133adb64b97d_602x366.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iSUj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a61d260-b1bd-43ce-961f-133adb64b97d_602x366.png" width="602" height="366" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a61d260-b1bd-43ce-961f-133adb64b97d_602x366.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:366,&quot;width&quot;:602,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!iSUj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a61d260-b1bd-43ce-961f-133adb64b97d_602x366.png 424w, https://substackcdn.com/image/fetch/$s_!iSUj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a61d260-b1bd-43ce-961f-133adb64b97d_602x366.png 848w, https://substackcdn.com/image/fetch/$s_!iSUj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a61d260-b1bd-43ce-961f-133adb64b97d_602x366.png 1272w, https://substackcdn.com/image/fetch/$s_!iSUj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a61d260-b1bd-43ce-961f-133adb64b97d_602x366.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Ron Westrum: three types of cultures with their characteristics</figcaption></figure></div><p>The survey has 6 simple questions on a Likert scale (from 1 to 5 &#8220;strongly disagree &#8211; strongly agree&#8221;):</p><ol><li><p>In my team, information is actively sought.</p></li><li><p>In my team, failures are learning opportunities, and messengers of them are not punished.</p></li><li><p>In my team, responsibilities are shared.</p></li><li><p>In my team, cross-functional collaboration is encouraged and rewarded.</p></li><li><p>In my team, failure causes enquiry.</p></li><li><p>In my team, new ideas are welcomed.</p></li></ol><p>Insist on the &#8220;In my team&#8221;: respondents should not rate &#8220;the company&#8221; or &#8220;management&#8221;, which tends to happen instinctively. They probably have a different perception of the level &#8220;above&#8221; (e.g., their ideas and initiatives were regularly dismissed). This is ok and can be addressed later, after teams are strong, healthy, and delivering regularly.</p><p>I find this survey is far more enlightening for you and your management team than the yearly employee satisfaction survey (which is also useful, esp. for measuring eNPS, don&#8217;t take me wrong, but much harder to interpret).</p><h3><strong>Step 1.4.</strong></h3><p>As soon as you have gathered the responses, make a synthesis and organize an offsite with your management team (your direct reports) and a few well-selected senior engineers. Share the findings from above, and coach a problems/solutions brainstorming to confirm:</p><ol><li><p>The issues in People, Process and Technology, and their acuteness,</p></li><li><p>The overall sequence of repair actions and (timing unit: a quarter), election of the first ones and how to undertake them.</p></li></ol><p>Don&#8217;t be heavy with the change methodology. For short-term steps, I find OKR-like approaches work well and make progress transparent to the entire business, but you needn&#8217;t mention it is OKR or explain the OKR principles in detail (some engineers are a bit allergic to management consulting, shall we say &#128522;).</p><p>In short: stick to a no-nonsense approach.</p><h3><strong>Step 1.5.</strong></h3><p>Within 2 weeks following the offsite (important: don&#8217;t delay. You&#8217;ve created expectations and promised transparency!), call an engineering all-hands meeting, invite the adjacent functions (Product Management, Customer Support, Presales, Professional Services). Share the findings and kick off the journey.</p><p>If possible, make it an in-person meeting with a buffet lunch or afternoon snack at the end: informal conversations will spark, and you will get many more questions and interactions than the usual &#8220;any questions&#8221; silence you get at the end of an online event.</p><p>If you have multiple engineering sites in distant time zones, make the first one at the main/central site, invite some representatives from other sites, and prepare to travel: you must repeat this performance in person, even at locations with small headcounts. You want <em>everyone</em> on board and everyone to feel considered.</p><h3><strong>Step 1.6.</strong></h3><p>Set up a few key metrics and share them transparently but ONLY within engineering. The first one to start with is product quality. Yes, it&#8217;s a lagging metric. Yes, it&#8217;s an output metric, but you need to know because it&#8217;s leading to bad customer satisfaction, and since customers pay our salaries, everyone in engineering needs to understand how acute the product quality problem is (or isn&#8217;t !).</p><p>I suggest the following 6 metrics, which you can compound with appropriate weights (w=) and normalize them to a [0-100] &#8220;higher is better&#8221; range:</p><ol><li><p># of external defects per installation/tenant (w=4)</p></li><li><p># of external change requests per installation/tenant (w=1)</p></li><li><p>Ratio of external change requests to total external records (w=1)</p></li><li><p>Age of external defects&#8217; backlog (w=7)</p></li><li><p>Average severity of customer problems (use severity as defined in your SLA, w=7)</p></li><li><p>Trend of external defects (increasing or decreasing per period) &#8211; the most important one. (w=9)</p></li></ol><p>Notes:</p><ul><li><p>External defect = found outside of engineering (by customers, support, etc.)</p></li><li><p>Normalized score read: &lt;40: RED, 40-80: yellow, &gt;=80: green. A score below 60 spells occasional up to regular firefighting.</p></li><li><p>Hint: an ok-quality product has under 150 total external defects per million lines of code. This has proven working for me for the past 20 years, independently of the product size, type, technology, etc. and correlates very well with the perceived product quality dimension in customer satisfaction surveys.</p></li></ul><h3><strong>Step 1.7.</strong></h3><p>If your product quality index is RED, organize a commando operation to fix the ugliest: defects only, highest severity &amp; oldest first &#8211; with judgment (# of customers likely impacted, customer revenue at stake). Limit this to 3 months. Force it through whichever planning cycle is used.</p><p>This seems somewhat arbitrary and forceful. Why is it necessary? If you&#8217;re in the red, the engineering team (and customer support) <em>need</em> some breathing room for the next steps, otherwise, you can&#8217;t hope to improve. Field reality will keep holding you back, like an elastic strip tied at your waist when starting your marathon.</p><h3><strong>Step 1.8.</strong></h3><p>If your department doesn&#8217;t have a minimal InfoSec practice in dev and ops, get an assessment of the situation as a matter of urgency: external pentest, external code &amp; library review. Depending on the findings, prioritize repairs as part of the previous step: you don&#8217;t want to risk a security incident.</p><p>At this stage, based on your findings, you will have to explain to the leadership team that the current market release plans need to change and why. You will meet resistance, so make sure you have the CEO&#8217;s support. It&#8217;s really a sales act, where you will highlight the cost of doing nothing vs. the cost of the repair journey you&#8217;re planning. Here&#8217;s a metaphor I found useful: &#8220;We&#8217;re selling unmaintained cars, and our repair shop is a mess: customers will keep bringing their cars back, and we can&#8217;t hope to turn the situation around.&#8221;</p><p>If you&#8217;re not supported by the leadership team and your boss, you can&#8217;t hope to succeed in your transformation journey. Start looking for another job, I&#8217;m afraid it is as hard as that.</p><p>Once you&#8217;ve laid the foundations (diagnosis, communication, early trust), you&#8217;re ready to make visible progress. Let&#8217;s see how it could be done.</p><h2><strong>Stage 2: Detailed diagnostic and first repair actions (months 3 to 9)</strong></h2><p>This stage is about a deeper inquiry into previously identified issues and containment of the most urgent ones while planning the whole transformation journey. These steps are in no particular order, take what you need and reorder as you need.</p><h3><strong>Step 2.1.</strong></h3><p>Set up other metrics starting with <strong><a href="https://dora.dev/guides/dora-metrics-four-keys/">DORA</a></strong>, these are the only research-proven dev productivity metrics I know of. Plan a session to explain them, share a good YT overview and encourage people to read about it.</p><p>Always compound several dimensions and always mix outcome &amp; output metrics. In effect, no single metric, no single dimension can tell you objectively how (un)healthy your engineering performance is.</p><p>At the start, publish these metrics ONLY for engineering. Never let other functions access them at this stage: metric values will likely be low, and people without the proper background will likely misinterpret and possibly blame.</p><h3><strong>Step 2.2.</strong></h3><p>Review variable pay/bonus incentives. Change from individual to team-level, even if HR does not agree (you&#8217;re the CTO, you decide how your people are measured). Remove any output-related metrics in incentives &#8211; outcome only! It&#8217;s too easy for engineers to game output metrics. There&#8217;s plenty of literature to explain why / give examples. Trust me, I&#8217;ve made that mistake.</p><h3><strong>Step 2.3.</strong></h3><p>Ask your senior engineers to review the individual development setup and fix it fast if/as needed. I&#8217;ve seen teams where it took up to a week &amp; experts to get a new dev started... You can imagine the impact on productivity, quality, and so on.</p><h3><strong>Step 2.4.</strong></h3><p>Review your CI and fix it if broken. Require it to be green at all times, it&#8217;s far more important than delivering +/- on time. A healthy CI is likely the only means you have to catch defects at this stage. If necessary, force it through in coming sprints and be nicely reckless &#128522; about it.</p><h3><strong>Step 2.5.</strong></h3><p>Gather your senior staff &amp; review key elements of the Definition of Ready and the Definition of Done. If anything is missing/weak: ask for an improvement plan, which they have to work on team level, for their team, and with all team members. Ask them to implement it and check personally that it&#8217;s not just on &#8220;paper&#8221;, and that it is measured.</p><h3><strong>Step 2.6.</strong></h3><p>Analyze the test strategy (likely, there&#8217;s none) &amp; the test base at system level, i.e. the list of all system tests across the reference product functional structure (which is likely undocumented or incomplete)</p><ul><li><p>Looking for functional coverage: are there parts of the product which are not or insufficiently tested at system level? Check beyond the happy flow on critical features. Appreciate the % of automated system tests (likely in the 20%-40% range). Ask Customer Support to analyze defect density per main product function: you will know where to look and where to increase test effort.</p></li><li><p>Patiently ignore opinionated senior engineers who will tell you that unit tests suffice to secure good product quality &#8211; it does not.</p></li><li><p>Once you have this analysis, gather your leaders (seniors, managers) and help them build an improvement plan, focusing on 1) customer pain points with the product, 2) automation. Involve developers, not just testers. Actually, if automated testing is really low, everybody will code tests very soon, and at all levels (incl. system). Depending on your findings, ask for an improvement plan from every team, bottom-up, get them started, check their progress regularly, and celebrate it.</p></li></ul><h3><strong> Step 2.7.</strong></h3><p>Depending on your findings in Step 1.8, and if your company doesn&#8217;t have an established product security practice, get one started. To a minimum, you need:</p><ul><li><p>A DevSecOps expert engineer reporting outside of your department (into the CISO at internal IT / SG&amp;A is the usual choice), but make sure the person is paid from your budget so that you get them dedicated.</p></li><li><p>If your product is SaaS, plan a certification, such as ISO 27001 or SOC2 Type 2, within the next 12 to 18 months. Start with the Ops scope, then Dev.</p></li><li><p>An external pentest annually for all products and services, an internal one every 6 months</p></li><li><p>A clear relation between the CVE score and the defect severity (CVE&gt;=8 =&gt; highest severity defect (a.k.a. &#8220;Total Stop&#8221;) =&gt; immediate fix and release)</p></li><li><p>Security by design training for all team leads, esp. on Threat Modeling. The DevSecOps expert will need to coach architects and team leads accordingly.</p></li><li><p>Secure code as part of code reviews, and if you can afford it: a code scanner that can detect security vulnerabilities</p></li><li><p>Update all outdated 3rd party libraries embedded in your product or planned replacement</p></li></ul><p>At this stage, you&#8217;re ~9 months into the job (or journey), and you have identified your change agents, your champions &#8211; your golden circle.</p><p>Start meeting key/faithful customers and partners (VP+ level, esp. technical buying personas) and establish a personal, quarterly meeting routine with some of them. Recognize issues honestly (even if your sales VP or CRO doesn&#8217;t like it) and explain your plan. You can easily overlook this key step because you&#8217;re already with your head in the steering wheel, with growing expectations from everyone and high pressure, so be careful to keep a helicopter&#8217;s view. If you can&#8217;t see the whole engineering perspective, nobody else can. Don&#8217;t drown in customer crises, while they are very educational and need you to empathize.</p><h2><strong>Stage 3: Engaging in the real transformation journey (months 9 to 24-26)</strong></h2><p>This stage is about persistently grinding through change. First quick wins gave some hope to the crew, which supports their resilience while most of the difficulties are still ahead.</p><h3><strong>Step 3.1.</strong></h3><p>Gather your senior engineers &amp; architects and ask them to assess the technical debt by nature and ask for an improvement roadmap. Hint: it&#8217;s a 2-year-plus roadmap. The actual journey will likely be somewhat different down the road; what&#8217;s important is that all get a picture that makes sense (i.e., why certain things need repair before others).</p><h3><strong>Step 3.2.</strong></h3><p>In good cooperation with your colleague CPO, set up guardrails (yes, I know, guardrails come from Scaled Agile, and SAFe is challenged &#8211; but there are good bits in SAFe &#128578;) for quality, refactoring, AND learning. From this point on, make sure each iteration has its dose of bugfix &amp; refactoring, as needed, but don&#8217;t be dogmatic on percentages and don&#8217;t make it a &#8220;one size fits all&#8221;.</p><p>Make sure managers check that every engineer has at least 2h per week for personal learning on the job, and check it&#8217;s not a &#8220;fake&#8221; commitment, for example by fostering prototyping initiatives or spikes inside the sprint planning, which also have the benefit that people will structurally feed their findings back to other team members and beyond.</p><p>Launch a &#8220;lunch &amp; learn&#8221; routine if you have enough volunteers, and include yourself in it. In between 2 iterations, create space for half a week to a week of hackathon for all teams and accept ideas even unrelated to the business or the products.</p><p>For refactoring: make sure it is done by (very) small increments while you steer your organization towards continuous delivery. Don&#8217;t allow branching out for longer than 1 iteration &#8211; read <strong><a href="https://dora.dev/capabilities/trunk-based-development/">here</a></strong> for further information.</p><p>A good metaphor to picture the refactoring journey: the renovation of historical buildings. While the fa&#231;ade and key artwork is preserved, all the rest is progressively and completely re-hauled to modern standards. A product isn&#8217;t a disposable prototype. It must be treated like a heritage site: valuable, functional, and worth preserving through gradual renewal.</p><h3><strong>Step 3.3.</strong></h3><p>Engaging culture changes. You want to foster Autonomy, Mastery and Purpose for every single engineer and team. You want to bring your organization into a generative culture, as Ron Westrum defines it.</p><p>Review your senior staff &amp; the management chain. Don&#8217;t be harsh, don&#8217;t punish, but fix the obvious casting mistakes quickly (poor leadership for example, or people who have been kept in the shadows, especially women).</p><p>Help people to revert to a position they can succeed, or if it&#8217;s not possible, manage exit professionally (it&#8217;s rarely the person; it&#8217;s almost always the person <em>in the context</em>). For example, team leads lacking empathy or impact are often excellent technical experts, well-recognized as such by others. Another example: a colleague might be underperforming just because your organization is too chaotic, and the same person would thrive in a more mature organization (or vice versa).</p><h3><strong>Step 3.4.</strong></h3><p>Prepare a <strong><a href="https://www.linkedin.com/pulse/dual-career-ladder-dr-shivananda-koteshwar/">dual ladder</a></strong> and a basic talent management detection process for engineering with the help of HR. Both don&#8217;t have to span the entire company, but you need to have them soon for engineering, or you&#8217;ll lose your best people. Prepare a pay gap analysis for the next round of merit increase: you will probably have to use a good part of your merit increase budget to fix discrepancies, and thus can take 2 or 3 years.</p><h3><strong>Step 3.5.</strong></h3><p>Review and get the technical, team-level onboarding routine fixed, with clear objectives (again, you can use a lightweight OKR approach). For example: &#8220;In 3 months from now, newcomers&#8217; technical onboarding will be down from a week to half a day&#8221;. Or: &#8220;After 3 months of tenure, each engineer can pitch the product value and demonstrate the product to a customer&#8221;.</p><p>Create a schedule so that every single engineer is certified on the product at a &#8220;pro&#8221; level, using resources from your customer training organization. Partner with sales engineering &amp; professional services to achieve this.</p><h3><strong>Step 3.6.</strong></h3><p>Create a &#8220;live my life&#8221; program with Customer Support, so that each engineer starts getting closer to customers. For example, start with 1 &#8220;discovery&#8221; day, then set up a &#8220;1 week per quarter&#8221; rotation. Consider replicating it with Professional Services and Presales, but then voluntarily. With product management, secure regular engineers&#8217; participation in customer visits, and make sure every team gets its dose.</p><h3><strong>Step 3.7.</strong></h3><p>Review the teams&#8217; organization, team members, and change what needs to change. Be careful not to go too hard or too fast, and keep away from dogmatism such as &#8220;let&#8217;s have feature teams, let&#8217;s have platform teams, etc.&#8221;. Customer context and product context (f.e. product architecture) are your guides.</p><p>And when it comes to forming teams, quality is in the mix! Mix juniors, mediors, and seniors. Mix men &amp; women. Mix nationals and colleagues of foreign origin. Don&#8217;t worry too much about hard skills consistency and be reasonable with time zones. Nature, with mixing genes, is your foremost example.</p><h2><strong>Final advice for the CTO</strong></h2><p>That&#8217;s about as far as I can go in detailing the journey. Let me now end with a few pieces of advice for you, the CTO:</p><ul><li><p><em>Be radically transparent&#8212;but careful in tone.</em></p></li><li><p><em>You&#8217;re a coach; don&#8217;t do all the talking</em></p></li><li><p><em>Don&#8217;t rush the &#8220;how.&#8221; Let your teams own the tactics.</em></p></li><li><p><em>Stay connected to technology. Your judgment depends on it.</em></p></li><li><p><em>Manage expectations clearly with everyone in the business</em></p></li><li><p><em>Make yourself accessible, max meeting time = 50%</em></p></li><li><p><em>Read Accelerate by Nicole Forsgren &amp; al.. It is a MUST READ for C-level in software engineering</em></p></li><li><p><em>Prepare to be resilient yourself...</em></p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!odNa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F081e802a-b410-4bfb-bfcd-696c5737cbec_744x400.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!odNa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F081e802a-b410-4bfb-bfcd-696c5737cbec_744x400.jpeg 424w, https://substackcdn.com/image/fetch/$s_!odNa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F081e802a-b410-4bfb-bfcd-696c5737cbec_744x400.jpeg 848w, https://substackcdn.com/image/fetch/$s_!odNa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F081e802a-b410-4bfb-bfcd-696c5737cbec_744x400.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!odNa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F081e802a-b410-4bfb-bfcd-696c5737cbec_744x400.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!odNa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F081e802a-b410-4bfb-bfcd-696c5737cbec_744x400.jpeg" width="744" height="400" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/081e802a-b410-4bfb-bfcd-696c5737cbec_744x400.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:400,&quot;width&quot;:744,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!odNa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F081e802a-b410-4bfb-bfcd-696c5737cbec_744x400.jpeg 424w, https://substackcdn.com/image/fetch/$s_!odNa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F081e802a-b410-4bfb-bfcd-696c5737cbec_744x400.jpeg 848w, https://substackcdn.com/image/fetch/$s_!odNa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F081e802a-b410-4bfb-bfcd-696c5737cbec_744x400.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!odNa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F081e802a-b410-4bfb-bfcd-696c5737cbec_744x400.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Finally, remember that your goal is that your organization can work &#8220;without you&#8221; (so to speak &#128521;) in 3 years&#8217; time. I&#8217;d even say: your goal is to make yourself redundant and prepare your successor to take your position.</p><p>If this resonates or you&#8217;ve walked this path yourself, please share your thoughts. If you&#8217;re struggling in such a journey, reach out for advice or consulting.</p><p><strong>I wish you all a fruitful journey!</strong></p>]]></content:encoded></item><item><title><![CDATA[Software engineering: what could go wrong? Part 2: Process and Technology]]></title><description><![CDATA[Part 2: Process and Technology]]></description><link>https://mathiasprzybylowicz.substack.com/p/software-engineering-what-could-go-9b4</link><guid isPermaLink="false">https://mathiasprzybylowicz.substack.com/p/software-engineering-what-could-go-9b4</guid><dc:creator><![CDATA[Mathias Przybylowicz]]></dc:creator><pubDate>Tue, 18 Mar 2025 12:00:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/3007c32a-6026-4082-982b-3191b3fe50c9_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In Part 1 of this series (<strong>Software engineering: what could go wrong? Part 1: People</strong>), I&#8217;ve compiled a list of people-related dysfunctions in engineering in a software company or business. In this second part, I&#8217;m giving my take on typical / systemic issues in Process and Technology that hinder effective software development.</p><p>This article is somewhat technical as opposed to Part 1. I&#8217;ve made a sincere effort to make it digestible for non-technical audiences. In effect, I hope it speaks to non-technical audiences, especially decision-makers, with the hope that it will shed light on some &#8220;techy buzzwords&#8221; they&#8217;ve repeatedly heard, without getting clear examples of what they relate to (&#8220;Technical Debt&#8221;, as an example).</p><h2><strong>Process issues</strong></h2><p>Software engineering is complex, so it seems important that it is done the right way. Let&#8217;s open this next Pandora&#8217;s box.</p><h3><strong>Poor / ad-hoc software testing process.</strong></h3><p>Agile Principle #7 states:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KoaM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74638c7e-ec04-4c7f-aba5-f0a3e85c5994_498x127.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KoaM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74638c7e-ec04-4c7f-aba5-f0a3e85c5994_498x127.png 424w, https://substackcdn.com/image/fetch/$s_!KoaM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74638c7e-ec04-4c7f-aba5-f0a3e85c5994_498x127.png 848w, https://substackcdn.com/image/fetch/$s_!KoaM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74638c7e-ec04-4c7f-aba5-f0a3e85c5994_498x127.png 1272w, https://substackcdn.com/image/fetch/$s_!KoaM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74638c7e-ec04-4c7f-aba5-f0a3e85c5994_498x127.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KoaM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74638c7e-ec04-4c7f-aba5-f0a3e85c5994_498x127.png" width="498" height="127" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/74638c7e-ec04-4c7f-aba5-f0a3e85c5994_498x127.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:127,&quot;width&quot;:498,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!KoaM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74638c7e-ec04-4c7f-aba5-f0a3e85c5994_498x127.png 424w, https://substackcdn.com/image/fetch/$s_!KoaM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74638c7e-ec04-4c7f-aba5-f0a3e85c5994_498x127.png 848w, https://substackcdn.com/image/fetch/$s_!KoaM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74638c7e-ec04-4c7f-aba5-f0a3e85c5994_498x127.png 1272w, https://substackcdn.com/image/fetch/$s_!KoaM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74638c7e-ec04-4c7f-aba5-f0a3e85c5994_498x127.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">Credits to the Agile Alliance</figcaption></figure></div><p>So, we better know it&#8217;s <em>really</em> working.</p><p>Software testing is complex because of the huge combinatory explosion of inter-related parameters, conditions, and functions. Since you can&#8217;t hope to fully test a piece of software, how do you decide what&#8217;s &#8220;enough&#8221;?</p><ul><li><p>How do you know at which level (unit, integration, system) you need to focus your test effort, and by how much?</p></li><li><p>How do you know you&#8217;ve covered the highest-risk areas?</p></li><li><p>How do you know that your tests are disjointed, i.e., that you&#8217;re not testing the same feature several times?</p></li></ul><p>Next to that, testing quality attributes (performance, usability, maintainability, ...) can be very complicated, few engineers know how to approach this right.</p><p>Unfortunately, software testing seems to be the software engineering&#8217;s poor man:</p><ul><li><p>It has a bad vibe from the past (historically, testing was manual, and referred to as &#8220;monkey testing&#8221;)</p></li><li><p>Testers are chronically less paid than developers, but since tests are becoming more and more automated, they actually do the same job.</p></li><li><p>Software testing is a &#8220;by the way&#8221; detail in university curricula rather than a discipline of its own right.</p></li><li><p>Software testing rarely offers high &amp; well-paid expertise positions (have you ever met a distinguished or principal test engineer?). Luckily, with Site Reliability Engineering (SRE), extending QA automation, this is starting to change.</p></li><li><p>Software testing is fraught with clich&#233;s. &#8220;If you have more than 90% unit &amp; integration test coverage, you don&#8217;t need system testing.&#8221; &#128580;.</p></li></ul><p>To add to that, business leaders explain that &#8220;you can&#8217;t sell quality&#8221; (or refactoring, a key ingredient to sustaining better software quality) like you can sell a feature (but who sells features today?!). You know, the same business leaders who keep stressing the importance of NPS every single day.</p><p>Consequences of a weak software testing process: well, I just mentioned it: low customer satisfaction in the product dimension, leading to low NPS. Compare it to flight safety procedures: even a single overlooked check can lead to disaster. For executives: If your engineering department isn&#8217;t advocating for software testing, ask why. Are they lacking the right resources or leadership support?</p><h3><strong>Customer feedback through proxies.</strong></h3><p>Agile Principle #1 (yes, the very first one, on which the entire Agile philosophy is founded!) says:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!J2kY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731f5112-1798-4644-baa7-f4a97dfbd18f_564x128.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J2kY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731f5112-1798-4644-baa7-f4a97dfbd18f_564x128.png 424w, https://substackcdn.com/image/fetch/$s_!J2kY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731f5112-1798-4644-baa7-f4a97dfbd18f_564x128.png 848w, https://substackcdn.com/image/fetch/$s_!J2kY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731f5112-1798-4644-baa7-f4a97dfbd18f_564x128.png 1272w, https://substackcdn.com/image/fetch/$s_!J2kY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731f5112-1798-4644-baa7-f4a97dfbd18f_564x128.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J2kY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731f5112-1798-4644-baa7-f4a97dfbd18f_564x128.png" width="564" height="128" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/731f5112-1798-4644-baa7-f4a97dfbd18f_564x128.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:128,&quot;width&quot;:564,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!J2kY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731f5112-1798-4644-baa7-f4a97dfbd18f_564x128.png 424w, https://substackcdn.com/image/fetch/$s_!J2kY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731f5112-1798-4644-baa7-f4a97dfbd18f_564x128.png 848w, https://substackcdn.com/image/fetch/$s_!J2kY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731f5112-1798-4644-baa7-f4a97dfbd18f_564x128.png 1272w, https://substackcdn.com/image/fetch/$s_!J2kY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731f5112-1798-4644-baa7-f4a97dfbd18f_564x128.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Credits to the Agile Alliance</figcaption></figure></div><p>If engineers can&#8217;t talk directly to customers, how would they know how satisfied customers are, and by what? Is it a wonder that start-ups cultivate this to the highest degree, as a matter of survival? But then: why is it that direct engineering-customer contact is one of the first things that goes away when the startup scales?</p><p>In most of my career, I have rarely seen engineering teams with direct, regular contact with end-users. They don&#8217;t sit at Customer Advisory Boards - business does. They can&#8217;t afford user interviews / User Scene Investigation techniques. They don&#8217;t get a budget to implement telemetry in the product. The few cases where this happened, typically in small startups or research-driven teams, demonstrated how powerful this practice can be.</p><p>Yet, all these organizations claimed to be Agile... My personal research and reading tend to confirm that it is not uncommon. How can this fallacy persist?</p><p>I understand that often, end-users or customers make engineers uncomfortable. They&#8217;re often introverts, or fear facing difficult customers&#8217; questions. They know they can&#8217;t make any commitments when challenged with functional or quality issues. They may fear Sales will skin them if they lengthen a sales cycle. Or they&#8217;re simply forbidden to speak with customers because their management is concerned with leaking future Intellectual Property, or because another function (Product Management, Sales, Marketing) claims customer contact is their prerogative.</p><p>Sometimes, let&#8217;s be honest, it&#8217;s engineers themselves who don&#8217;t care: I&#8217;ve witnessed a few saying &#8220;I&#8217;m here to code and solve complex technical problems, I don&#8217;t care about the rest&#8221; (value, product, domain, users, customers, you name it), this being a &#8220;not my job&#8221; call, without management or leaders correcting. Hey, folks, wake up! Customers pay our salaries! How do you feel when you hit a bug in your favorite game and support does not answer?</p><p>Consequences: lack of Purpose, leading to lack of motivation. Features are not slick, to the end-users&#8217; frustration. Poor service to customers. All leading to the loss of new business or customer attrition, to the frustration of Sales and Customer Success, who don&#8217;t even realize that the root cause is the violation of Agile Principle #1.</p><h3><strong>Process dogmatism, one size fits all, process over-engineering.</strong></h3><p>Beyond missing customer feedback, software teams often suffer from rigid processes that fail to adapt to their reality. Let&#8217;s explore how process dogmatism hurts engineering teams.</p><p>&#8220;Let&#8217;s implement Scrum&#8221; (or SAFe, another frequent example). Why?! Why not Kanban, Scrumban, XP...?</p><p>&#8220;Everybody does TDD, let&#8217;s goooo!&#8221; Why? Is it really necessary? Is it even doable given the technical debt?</p><p>Why don&#8217;t you experiment, try at a small scale, and learn? Trust teams will find what works best for them to achieve the desired outcomes. (Agile principle #5)</p><p>&#8220;I require 90% code coverage at branch level in every team.&#8221; Why? Is this risk-based testing in any way? Is it even doable given the technical debt? Besides, proper test beds and especially mocks can be very tricky and time-consuming to set up. What about legacy code: how can we hope to catch up to 90%, while it&#8217;s in legacy code that the current issues lie?</p><p>Let&#8217;s remind ourselves of Agile Principle #12:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JpCz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31024547-19a6-4027-878c-e78877609ca0_562x99.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JpCz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31024547-19a6-4027-878c-e78877609ca0_562x99.png 424w, https://substackcdn.com/image/fetch/$s_!JpCz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31024547-19a6-4027-878c-e78877609ca0_562x99.png 848w, https://substackcdn.com/image/fetch/$s_!JpCz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31024547-19a6-4027-878c-e78877609ca0_562x99.png 1272w, https://substackcdn.com/image/fetch/$s_!JpCz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31024547-19a6-4027-878c-e78877609ca0_562x99.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JpCz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31024547-19a6-4027-878c-e78877609ca0_562x99.png" width="562" height="99" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/31024547-19a6-4027-878c-e78877609ca0_562x99.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:99,&quot;width&quot;:562,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!JpCz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31024547-19a6-4027-878c-e78877609ca0_562x99.png 424w, https://substackcdn.com/image/fetch/$s_!JpCz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31024547-19a6-4027-878c-e78877609ca0_562x99.png 848w, https://substackcdn.com/image/fetch/$s_!JpCz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31024547-19a6-4027-878c-e78877609ca0_562x99.png 1272w, https://substackcdn.com/image/fetch/$s_!JpCz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31024547-19a6-4027-878c-e78877609ca0_562x99.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Credits to the Agile Alliance</figcaption></figure></div><p>A common pitfall is to ignore what teams advise for themselves in the development process. Managers: you don&#8217;t do their jobs! (or not anymore). While managers often have prior hands-on experience, they don&#8217;t necessarily know better. Do you think Scrum can work in a team swamped with support tickets? I don&#8217;t think so. If you force the development process, here are some consequences you will quickly get: loss of purpose, loss of motivation and morale, energy spent complaining after bosses at the coffee machine, loss of productivity, and employee attrition.</p><h3><strong>Excess or absence of process support</strong></h3><p>I&#8217;m referring to chores carried out by job roles such as scrum masters, PMOs, or tooling support staff (a.k.a. platform teams in today&#8217;s lingo &#8211; life is a journey of re-discovery it seems &#128521;). Or product owners, for certain aspects of their work.</p><p>I&#8217;ve seen many Scrum teams where ceremonies become bureaucracy: 1h-long standups, poor moderation (discussing how to fix issues instead of just listing, confirming, and scoring them), iteration planning sessions lasting more than 3 hours, and involving all teams &amp; members including those not concerned in any way with parts of the conversation, sprint demos &amp; retros longer than 1h, inspect and adapt while there&#8217;s nothing special to inspect, or adapt actions remaining wishful thinking, user stories going in far too many details or, worse, tackling the &#8220;how it should be engineered&#8221;, etc.</p><p>Conversely, I&#8217;ve seen teams completely let down with tooling, quality input data, and information maintenance. Poor user stories (e.g. acceptance criteria unclear or not focused on user outcome), stories only addressing the happy flow or ignoring error conditions, fat backlogs that became paleolithic archives more than anything else, lack of templates for ceremonies, decisions not recorded, product owners responsible for too many teams and unable to answer clarification questions on the spot, team leads coding 100% of the time instead of supporting and coaching other team members, test cases disconnected from user stories because nobody checks&#8230;</p><p>Consequences: engineers complaining about bureaucracy and occasionally using this as an excuse for missed objectives, engineers ranting about &#8220;non-productive&#8221; headcount esp. when the team is missing positions. Negative energy (or loss of positive energy). Broken team dynamics (loss of communication and trust between team members). Loss of productivity.</p><h3><strong>Lack, excess of, or flawed metrics.</strong></h3><p>Recent research (cf. <strong><a href="https://dora.dev/guides/dora-metrics-four-keys/">DORA metrics</a></strong>) makes clear that appreciating software development productivity requires careful co-interpretation of specific sets of metrics. However, many leaders (including myself until recently, I&#8217;ll be honest) keep focusing on one or a few disconnected ones. Other typical pitfalls: detailed output metrics and no outcome metrics, metrics to please upper management instead of helping teams to improve, and metrics just for variable pay.</p><p>Heavy-handed metrics twist engineers&#8217; behavior: they will work for the metric and not for the customers&#8217; benefit. They will game the metrics (famous example: managers asked to increase velocity -&gt; teams redefine the &#8220;value&#8221; of story points or cut stories into smaller bits) and managers will not notice.</p><p>Consequences: loss of Purpose. Demotivation. Staff attrition, losing the best engineers.</p><h3><strong>No room to experiment or innovate.</strong></h3><p>Or very scarcely and only for the happy (?) few. No spikes or genuine feasibility studies for complex implementations.</p><p>I&#8217;ve already addressed this somewhat in Part 1 of this series, so I&#8217;ll keep it short: when the engineering process itself does not support learning on the job, you drastically reduce the chances of discoveries, value improvements, new product ideas, or overcoming certain parts of the technical debt.</p><p>Next to negative consequences on individual and team spirit, you risk losing quality and future business opportunities.</p><p>Process issues hampering good engineering are not just in engineering though. They can come from adjacent departments. Examples: pre-sales or professional services twisting the product beyond its specs, for example using product internals to configure a customer instance or disclosing internal APIs to customers. This, to me, shows a lack of quality control at their level, while the product and the engineering team can hardly do anything about it (other than keeping their encryption tokens safe and non-generic). Another example: the same departments refusing to participate in end-to-end testing, or even not opening defects against the product, while their field knowledge could provide invaluable insights (&#8221;not my job&#8221;, silos...).</p><p>The art of process is not just to understand the theory, but also and mostly to be able to use it and apply it in context - take what&#8217;s useful, simplify it as needed, and ignore the rest. You don&#8217;t even have to name them!</p><p>It&#8217;s not &#224; la carte though, the process needs to be coherent and comprehensive.</p><h2><strong>Technology issues</strong></h2><p>Let&#8217;s now review the last pillar of the &#8220;holy trinity&#8221; of People, Process, and Technology in some detail.</p><h3><strong>Technical Debt</strong></h3><p>Let&#8217;s start with the elephant in the room, the arcane and fabled technical debt. Compare it to deferred home maintenance: you must regularly repair or improve certain parts, some more frequently than others. Small ignored issues become costly disasters.</p><p>Examples: spaghetti architecture, prototypes that became part of the product due to time-to-market pressure. Rushed features from the early days when grabbing business was a matter of survival. Outdated technologies that don&#8217;t scale. Vendor lock-in putting product costs at risk. Cloud costs exploding because your technical stack scales linearly with users / tenants. And so on.</p><p>Specific to M&amp;A: an overly diverse technology stack, consequent to several acquisitions. Rationalization has not been planned and budgeted in the post-merger business plans.</p><p>Technical debt is inevitable: new technologies and new architecture patterns emerge constantly while evolving usage conditions make those we have in our products age, sometimes quite fast. We must live with it, anticipate it, and embrace it.</p><p>It becomes a major impediment to business growth and customer NPS when it has not been consistently and regularly addressed through what I call &#8220;patrimonial maintenance&#8221; &#8211; to the point it may simply limit the company&#8217;s growth horizon. The more you delay addressing it, the longer you&#8217;ll pay it, and the higher the interest on debt. In a way, it&#8217;s like public debt in some countries: you continuously borrow just to repay interest, and the principal keeps growing. And your customers are the ones paying for it without you appreciating it, and at some point, they may deny you further credit.</p><p>Do you know that it suffices 10mn research on the likes of Glassdoor and Trustpilot to get a good clue of what your technical debt looks like? Comments like &#8220;old technology&#8221; or &#8220;good product but difficult to configure&#8221; are very good hints.</p><p>Consequence: low customer satisfaction with the product, leading to NPS dropping, loss of reputation both as vendor and employer, and customer attrition. The company will progressively lose market value. It is slow, almost imperceptible in the beginning. Company leaders don&#8217;t perceive it; it&#8217;s insidious. Year-on-year growth rates slowly decrease from the glorious 20+% to below-market CAGR. Until one day comes an acquisition offer from a bigger / better competitor, at a disappointing price point. They will likely grab the market share, kill the original product(s), and eliminate redundancies.</p><h3><strong>Security debt - both on the product and on the tooling.</strong></h3><p>Product: 3rd party packages are not updated regularly. Lack of threat modeling on new features. Infrequent or no external pentesting. No review of legacy code from a DevSec point of view. No DevSec training for team leads and beyond.</p><p>Tooling: CI elements not updated, or not changed while proven to be major security &#8220;holes&#8221; for supply chain attacks. And beyond: no or flaky BCP / DRP, or not tested regularly.</p><p>Consequences: reputational damage at the first security incident. Loss of customers. Loss of market value... Get yourself an ISO27001 / SOC 2 Type II certification fast, both on Prod and Dev.</p><h3><strong>Lack of proper technical documentation</strong></h3><p>Engineers must discover how the product works internally by looking at the code. Over a codebase that&#8217;s typically several 100.000s or millions of lines, you can imagine what the learning curve is. Over time, original engineers left for various reasons: better pay, more responsibilities, and out of frustration to experience a better / more state-of-the-art technical working environment. Those who remain are hardly coding anymore because they spend their time helping others understand how it&#8217;s built. Or they simply don&#8217;t care, do their job, and help nobody because nobody helps them get out of this ditch. Do I need to spell out the consequences? I guess not.</p><h3><strong>Lack of representative and comprehensive &#8220;real-life-like&#8221; test data for end-to-end testing.</strong></h3><p>You might be surprised: shouldn&#8217;t it sit in the Process section? I claim such test datasets are a technical asset. They can take a lot of work to generate and require solid field knowledge (which is scarce). Often, customers won&#8217;t agree to use theirs beyond a support ticket, even if properly obfuscated.</p><p>Also, when your software drives target hardware, these can be very expensive to obtain or difficult to get access to.</p><p>Yet, if you forgo this effort of securing your real-life test data or environment, you won&#8217;t be able to complete your test strategy, and complex field defects will bite you back, resulting in dissatisfaction, support overhead, flying staff to debug at customers&#8217; site, and so on.</p><h3><strong>Poor tooling, broken CI pipelines, lack of standard development environments</strong></h3><p>I&#8217;ve mentioned it already in Part 1: a good onboarding experience strongly correlates with a company&#8217;s business performance &#8211; there are many studies about it. In IT, because human resources have been and is continuously scarce, HR and hiring managers take care of creating a good first experience and do a good job with employee onboarding at company level.</p><p>However, for various reasons, poor technical onboarding is not uncommon. Clunky individual development environments do exist, CIs with many workflow exceptions and manual bridges are not uncommon. This creates an eerie feeling of &#8220;what&#8217;s going on here, what have I stepped into?&#8221; sentiment with newcomers. The sad thing is, after some months, people (especially juniors and mediors) get used to it to the point that they forget how counter-productive such an experience is, and nothing improves.</p><p>Unconsciously, it becomes part of the norm. You don&#8217;t notice it anymore, it&#8217;s like a painting on the wall that you&#8217;ve always seen, and to which you don&#8217;t pay attention anymore.</p><p>Specific to M&amp;A: changing the project management tooling. Imagine your department works with Jira, and you&#8217;ve just acquired a company where people work with AzureDevOps, Redmine, etc. If you want to realize the planned technical synergies (joint use-cases, shared componentry, unified platform strategy, synchronous delivery), you&#8217;ll have to force one side (in general, the acquired one) to move to the other. I&#8217;m not saying this is a mistake, and there could be situations where you won&#8217;t have to do it. But such a move is structurally complex and will likely disrupt engineering for a month or more.</p><p>Luckily, all these tools offer comparable features and experience, with marginal pros &amp; cons. Many engineers already experienced different ones with different employers. The learning curve is not too steep. Yet, this alignment of tooling will meet resistance and some loss of momentum and productivity.</p><h3><strong>Technology fancies</strong></h3><p>Like the Process dogmatism I was writing about above, some manager or senior engineer with authority went to a conference, read books, and watched some YT videos about recent shiny technology and started actively lobbying to try it.</p><p>&#8220;Let&#8217;s do microservices! Let&#8217;s do serverless!&#8221;, etc. Likewise, Product Management comes with &#8220;Let&#8217;s put AI in the product&#8221; without any clear use case.</p><p>Reasonable engineers are starting to ask &#8220;why?&#8221; and often get no better answer than &#8220;because everybody goes for it and has super-duper benefits (on paper...) and it&#8217;s the future&#8221;.</p><p>Man, oh, man! I&#8217;ve seen many products, where a solid and well-engineered client-server monolithic architecture was doing the job and was able to scale for the next 10+ years, go into the ditch because of such initiatives. Bits of Docker embedded into architectures which were never ever designed to sustain it. Event-driven architecture initiatives, that make the product quickly very tricky to diagnose and maintain because the original logging was neither designed for it nor properly adapted.</p><p>A small, supposedly positive, and future-oriented initiative can result in a support nightmare and furious customers 3 years down the road and will take another 3 years to fix. I remember a company having developed its own event broker service back in the day because open-source solutions were not robust or fast enough, and commercial solutions outrageously expensive. The company nearly went bankrupt because of that.</p><p>Consequences: the best engineers leave and sell their vested stock before it&#8217;s too late, and you must cope with the resulting mess with underqualified staff, who are all the more frustrated that they did not create the problem in the first place. Loss of productivity, customer satisfaction down the drain, loss of NPS. Hostile takeover by a competitor&#8230;</p><h2>Bottom line, including Part 1</h2><p>There are many types and sources of People issues in software engineering. These influence strongly and negatively the ways of working (Process), and the perennity of the product&#8217;s Technology internals and tooling &#8211; and the other way around. All the while, the company is rushing to make the numbers, with little or insufficient attention to these unpleasant, &#8220;techy&#8221; matters. I am convinced that it&#8217;s worth taking a step back and acknowledging these hurdles.</p><p>As always, comments are welcome! Did I forget an obvious type of impediment? Any crushing anecdote you&#8217;d like to share (if you&#8217;re concerned about confidentiality, I can proxy &#224; la The Register with their excellent &#8220;Who, me?&#8221; articles &#8211; just contact me by PM). Software engineering is so complicated that there can&#8217;t be enough experience-sharing.</p><p>These challenges are deeply ingrained, but they can be addressed. But there is light at the end of the tunnel, and every problem has a solution. In Part 3, I&#8217;m mapping a pragmatic journey to overcome these hurdles.</p>]]></content:encoded></item><item><title><![CDATA[Software engineering: what could go wrong? Part 1: People]]></title><description><![CDATA[How people-related failure modes derail delivery as engineering organisations grow, and why predictable execution depends on shared understanding and clear ownership.]]></description><link>https://mathiasprzybylowicz.substack.com/p/software-engineering-what-could-go</link><guid isPermaLink="false">https://mathiasprzybylowicz.substack.com/p/software-engineering-what-could-go</guid><dc:creator><![CDATA[Mathias Przybylowicz]]></dc:creator><pubDate>Thu, 13 Mar 2025 10:45:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f12d3f5a-5868-4909-8f6c-33402250593b_504x336.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y-fv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4055492-9bc7-4c5b-801d-72fa83616afe_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y-fv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4055492-9bc7-4c5b-801d-72fa83616afe_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!y-fv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4055492-9bc7-4c5b-801d-72fa83616afe_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!y-fv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4055492-9bc7-4c5b-801d-72fa83616afe_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!y-fv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4055492-9bc7-4c5b-801d-72fa83616afe_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y-fv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4055492-9bc7-4c5b-801d-72fa83616afe_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4055492-9bc7-4c5b-801d-72fa83616afe_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;: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_!y-fv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4055492-9bc7-4c5b-801d-72fa83616afe_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!y-fv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4055492-9bc7-4c5b-801d-72fa83616afe_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!y-fv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4055492-9bc7-4c5b-801d-72fa83616afe_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!y-fv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4055492-9bc7-4c5b-801d-72fa83616afe_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Before I start, let me clarify the setup considered here: if you&#8217;re leading a software engineering department with 50+ engineers and find yourself constantly firefighting rather than building, this series is for you.</p><p>This article, part 1, is summing up the issues I&#8217;ve faced in the People dimension. Part 2 will summarize issues in the Process and Technology dimension, and the last one will propose an approach to overcome the issues I describe in the first two.</p><p>In the second half of my career, roughly from 2009 onwards after I reached D-level, I&#8217;ve spent much more energy trying to understand and fix failing software engineering than actually building great and innovative solutions - to the point that it has now become my main professional value proposition.</p><p>It&#8217;s not just me: patterns which make engineering teams struggle seem remarkably consistent across the industry. How is that so?!</p><p>Don&#8217;t take me wrong: I don&#8217;t mind addressing these challenges at all, quite the opposite. Improving or fixing complex systems in all dimensions of People, Process and Technology is an integral part of what we, as technology leaders, are trained for. We love it, and it is very rewarding.</p><p>But to be fair: I wish I had more occasions to start from a white sheet and have it first-time right, or close to, like those folks who started at some big names like FB or Uber in their early years.</p><p>But this is not about regrets (which as we all know are useless), it is about summing up what I&#8217;ve learned in this Bob-the-mechanic journey - most importantly with the hope that some of you readers will either avoid mistakes I&#8217;ve seen or made or are better equipped than I was when facing dysfunctional software engineering.</p><h2><strong>People issues</strong></h2><p>Software engineering is difficult to get right because each dimension of People, Process &amp; Technology is complex. A well-oiled software engineering department requires delicate balancing acts, requires all 3 dimensions to be &#8220;healthy&#8221; so that it ultimately delivers profit for the company. While I don&#8217;t have personal experience in other engineering verticals such as manufacturing or construction, I don&#8217;t know any single one where such a level of complexity shoots so early in the company&#8217;s history.</p><p>I claim that the most complex part, the most difficult to get right, the most delicate to keep right, is the People dimension. I&#8217;ve learned it the hard way in every single experience I had, including those where Process or Technology were ok.</p><p>Dysfunctional team dynamics are at the heart of this People-related complexity. I&#8217;ll describe my take on the key issues in 3 parts:</p><ol><li><p>Through the lens of the HR System</p></li><li><p>Zooming on Engineering Management</p></li><li><p>Taking the broader Cultural perspective</p></li></ol><h3><strong>Issues throughout the HR System</strong></h3><p>Let&#8217;s go chronologically through the main domains of the HR System.</p><p><strong>Recruitment mistakes or tradeoffs</strong></p><p>It is difficult to pick the right person, despite all the tooling and methods we have for screening candidates. It&#8217;s a gambit, and the probation period is there to help us check facts.</p><p>Recruitment mistakes are typically related to skills (especially &#8220;soft&#8221; ones, such as leadership, or can-do attitude, or abstract thinking&#8230;) and fit. IT in general, and software engineering in particular, has been chronically under heavy resourcing pressure. Remember Y2K, move to Euro, Mobile, then Cloud, Data Science, now AI or Cybersecurity: we often had to hire under-qualified candidates out of necessity.</p><p>These resourcing issues lead to loss of productivity, with high overhead for team leaders and seniors.</p><p><strong>Poor / no technical onboarding</strong></p><p>There are many research papers correlating poor onboarding to high turnover and low productivity. My point here is specifically about getting new engineers up to speed with the team&#8217;s working environment. No technical buddy, little or no documentation on tooling, product architecture, coding standards, testing. No planned hands-on product training. This increases ramp-up times, inadequate quality from newcomers&#8217; early contributions &#8211; even while their past track record is good.</p><p><strong>Basic performance management for engineers</strong></p><p>I&#8217;m assuming the company already has a proper (even simple) HRIS. I&#8217;m referring to symptoms like:</p><ul><li><p>Managers not knowing how to set SMART objectives &#8211; in software engineering, the Measurable component can be especially failing.</p></li><li><p>Managers not trained to appreciate the behavioral component in performance.</p></li><li><p>Individual objectives only, no team objectives</p></li><li><p>Objectives on output metrics instead of outcome metrics.</p></li></ul><p>This leads to frustration, jealousy, lack of commitment, lack of ownership, engineers gaming the system, with negative consequences on productivity and quality.</p><p><strong>No talent management</strong></p><p>It&#8217;s not just about performance; it is also potential that maps the career journey. Are people Insight Focused? People Orientated? Change Motivated? Result Orientated? Do they Aspire to grow?</p><p>And with lack of talent management: no job architecture, no career planning, no clear evolution or growth perspectives, no dual ladder (leading the best technical performers to the management track, which they didn&#8217;t ask for, in order to earn more).</p><p>Next to the previously mentioned consequences, this leads to losing your best people.</p><p><strong>Poor Learning &amp; Development experience</strong></p><p>Classic (and boring) classroom training, with no follow-up on application: the learning sticks only if you practice it right after your training. A specific example of that: old-school management training, and no leadership education for senior staff.</p><p>No budget to go to technical conferences. And no genuine time to learn on the job. Managers say: &#8220;Just do it in your free time at home&#8221; - but every engineer already does that!</p><p>Engineers are passionate about learning new things, and the opportunity to learn is a key motivation factor to join or to stay in a company.</p><p>Consequences? Already listed, and I won&#8217;t mention them further below.</p><p><strong>Flawed promotions</strong></p><p>Here&#8217;s some I&#8217;ve seen chronically:</p><ul><li><p>Managers promoting their &#8220;pets.&#8221;</p></li><li><p>Giving senior or higher status to people with weak or no leadership, empathy, or genuine interest in others</p></li><li><p>Promotion to management on the sole basis of technical seniority, as a means to give a pay raise to strong individual contributors.</p></li></ul><p><strong>Pay inequality that cannot be explained.</strong></p><ul><li><p>Lack of transparent job architecture (e.g., what does it take to become a senior)</p></li><li><p>Pay gap between new joiners and engaged employees with a long tenure (10% to 20% is common.</p></li><li><p>Gender pay gap &#8211; a proper scandal.</p></li></ul><p>If there&#8217;s ONE job category where pay is benchmarked, it is software engineering. Everyone knows pay ranges per specialty and level in their region. There are plenty of public sources available. Besides, after some time in the company, everyone has a good clue about their colleagues&#8217; pay.</p><p>Repairing this takes 2 to 3 rounds of annual merit cycles &#8211; and since you get a fixed merit increase budget, you must do it at the expense of the rest of the staff &#8211; who has no responsibility in the issue.</p><p><strong>Poor exit management</strong></p><p>No exit interviews, or not shared with managers, or not synthesized into corrective actions.</p><p>Luckily, I think this is going away.</p><p>That&#8217;s as much as HR management is concerned. The next people-related issue I want to discuss is:</p><h3><strong>Broken engineering management</strong></h3><p>Management is a discipline of its own right. You cannot improvise. Let me list a few common mistakes, some of them I reckon are not specific to software engineering.</p><p><strong>Not answering &#8220;why?&#8221;</strong> Why this feature over another, why features over quality &amp; refactoring, etc.</p><p>Purpose is a key motivator in everyone&#8217;s life, including on the job. Engineers are particularly good at asking this question, at challenging the answer (it&#8217;s not a game: we really need to know why to figure out the &#8220;what&#8221; and the &#8220;how &#8220;to do a good job!).</p><p>Engineers are very analytical. If the answer does not make sense to them, you&#8217;ll get lack of ownership, lack of commitment, low productivity.</p><p><strong>Failing to empower teams. </strong>Lack of listening, understanding and trust does not yield good performance, while <strong><a href="https://en.wikipedia.org/wiki/Shared_leadership">shared leadership</a></strong> does. Also, challenges from managers of adjacent functions, who influence de facto engineering, can have an adverse role.</p><p><strong>Framing individuals and teams</strong> in the <strong><a href="https://en.wikipedia.org/wiki/Project_management_triangle">iron triangle</a></strong>. Hard-committed delivery dates with fixed resources and content. Since the 1950s, we know that it does not work. If there are no degrees of freedom in this triangle, quality will be poor. It&#8217;s inevitable. Yet, some managers persist or can&#8217;t negotiate tradeoffs while representing their teams.</p><p><strong>Shielding software engineers from field reality (or vice-versa)</strong>. A typical example is forbidding customer support reps to talk to engineering, &#8220;because you see, engineers need a serene work environment to do their complicated job, so let&#8217;s not disturb them&#8221;. But they need to know, because only they can fix it, and they&#8217;ve created it in the first place (while not intentionally, of course)</p><p>Or the other way around: bombarding engineering teams with the latest support issue or the last idea of some big customer (committed under the hood by some sales leader. Disrupted planning leads to more pressure, more delay, less quality, more technical debt, resignations.</p><p><strong>Ignoring human dynamics</strong> when forming teams: social styles, personalities, seniority levels, diversity. Do you know how easy it is to manage a team of young alpha males who want to be architects, seniors, managers, etc., while they don&#8217;t qualify at all?</p><p><strong>Lack of managerial courage</strong>. For example, delayed structural changes, then sudden organizational, process, or technical revolutions. Inability to address underperformance properly and professionally leads to managers losing credibility and trust from other team members.</p><p>There&#8217;s a great saying in Dutch: trust arrives on foot and leaves on horseback (vertrouwen komt te voet en gaat te paard). You see my point.</p><p><strong>Weak change management</strong>, especially not listening to feedback on changes from staff &amp; teams, not involving them in why, what, and how to change, expecting change will happen on top of the existing workload automagically.</p><p><strong>Rants on Work from Home</strong>, while software engineering is THE job which is most WFH-friendly. Don&#8217;t take me wrong: I&#8217;m not a proponent of full remote, and WFH must be organized so that team members have an in-person routine and can also meet in person with other teams, as necessary.</p><p>In-person work is key to build trust in teams, reinforce a positive engineering culture, smooth out disagreements or conflict. Besides, certain engineering chores are done more efficiently in person (creativity or planning sessions as an example). In-person rotations are not difficult to organize, many companies have done it successfully.</p><p>On the other hand: software engineering requires extended periods of uninterrupted thinking, especially with complex architectures. Why would engineers burn time commuting to sit alone at their desk, chatting on Slack with a colleague two desks away? I honestly don&#8217;t know.</p><p>Nah &#8211; I believe these rants are essentially coming from leaders with excessive control anxiety.</p><p><strong>Micromanagement over coaching</strong> from former software engineers who&#8217;ve been promoted to first line management. They have patterns without reasonable &#8220;whys&#8221;: control (&#8220;I&#8217;m the boss, do it as I say&#8221;), assertiveness (&#8220;I know better&#8221;), technical hobbies (&#8221;let&#8217;s have a microservice&#8221;).</p><p><strong>Yourself as a CTO!</strong> Yes, you&#8217;re part of the problem when you don&#8217;t support your teams and directs, often by lack of attention to their issues, which you disguise for lack of time. You create the problem when you are unable to say &#8220;no&#8221; to the business when needed or negotiate tradeoffs. You&#8217;re part of the problem when you overpromise and your organization under-delivers. Consequences: loss of trust, loss of motivation, etc. - and possibly yourself losing your job.</p><h3><strong>Broken (engineering, but not only) culture.</strong></h3><p>Dr Ron Westrum, an American sociologist, has published key research in the area in 1988 based on his experience working for the US military. His findings apply fully to software engineering. His system lists three types of cultures with their characteristics:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D9gA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3642a1af-ec41-4d80-93d5-31c311c1d253_602x366.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D9gA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3642a1af-ec41-4d80-93d5-31c311c1d253_602x366.png 424w, https://substackcdn.com/image/fetch/$s_!D9gA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3642a1af-ec41-4d80-93d5-31c311c1d253_602x366.png 848w, https://substackcdn.com/image/fetch/$s_!D9gA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3642a1af-ec41-4d80-93d5-31c311c1d253_602x366.png 1272w, https://substackcdn.com/image/fetch/$s_!D9gA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3642a1af-ec41-4d80-93d5-31c311c1d253_602x366.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D9gA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3642a1af-ec41-4d80-93d5-31c311c1d253_602x366.png" width="602" height="366" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3642a1af-ec41-4d80-93d5-31c311c1d253_602x366.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:366,&quot;width&quot;:602,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!D9gA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3642a1af-ec41-4d80-93d5-31c311c1d253_602x366.png 424w, https://substackcdn.com/image/fetch/$s_!D9gA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3642a1af-ec41-4d80-93d5-31c311c1d253_602x366.png 848w, https://substackcdn.com/image/fetch/$s_!D9gA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3642a1af-ec41-4d80-93d5-31c311c1d253_602x366.png 1272w, https://substackcdn.com/image/fetch/$s_!D9gA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3642a1af-ec41-4d80-93d5-31c311c1d253_602x366.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Looking at the first 2 columns: how many of such organizational cultures have you seen or worked in during your career? Compare to the third. My personal experience: 10 to 1.</p><p>Even if you have well educated and benevolent engineers, even if you have the best toolset, even if you use the greatest technologies: I believe you can&#8217;t hope to have a performing engineering department without a generative culture. It&#8217;s true for all functions and all types of businesses, of course, I&#8217;m just saying that it is acutely true in software engineering. It heavily relies on brainpower, and good brainpower only comes when there&#8217;s peace of mind.</p><p>Note lastly that engineers themselves, hopefully without knowing, do contribute to the problem. Urgent support questions sitting an entire day in Slack. Unanswered questions from another team that has dependencies on theirs, etc. And their managers often don&#8217;t see the issue or ignore it, only a few senior &#8220;control tower&#8221; individuals maintain bridges the best they can.</p><p>I appreciate that this list of misery is depressing. Yet, it&#8217;s reality more often than not, so we need to responsibly acknowledge and embrace these issues. I also want to be clear that I&#8217;m no saint: I&#8217;ve made many of these mistakes, and some of them quite recently.</p><p>Let&#8217;s conclude this first part on an optimistic note by reminding ourselves of the 5th Agile Principle:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qloS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f6ad5b3-a6cd-491e-b7d4-3e7220e3633d_554x129.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qloS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f6ad5b3-a6cd-491e-b7d4-3e7220e3633d_554x129.png 424w, https://substackcdn.com/image/fetch/$s_!qloS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f6ad5b3-a6cd-491e-b7d4-3e7220e3633d_554x129.png 848w, https://substackcdn.com/image/fetch/$s_!qloS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f6ad5b3-a6cd-491e-b7d4-3e7220e3633d_554x129.png 1272w, https://substackcdn.com/image/fetch/$s_!qloS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f6ad5b3-a6cd-491e-b7d4-3e7220e3633d_554x129.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qloS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f6ad5b3-a6cd-491e-b7d4-3e7220e3633d_554x129.png" width="554" height="129" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f6ad5b3-a6cd-491e-b7d4-3e7220e3633d_554x129.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:129,&quot;width&quot;:554,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!qloS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f6ad5b3-a6cd-491e-b7d4-3e7220e3633d_554x129.png 424w, https://substackcdn.com/image/fetch/$s_!qloS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f6ad5b3-a6cd-491e-b7d4-3e7220e3633d_554x129.png 848w, https://substackcdn.com/image/fetch/$s_!qloS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f6ad5b3-a6cd-491e-b7d4-3e7220e3633d_554x129.png 1272w, https://substackcdn.com/image/fetch/$s_!qloS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f6ad5b3-a6cd-491e-b7d4-3e7220e3633d_554x129.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Credits to the Agile Alliance</figcaption></figure></div><p>Continued in Part 2: Process &amp; Technology.</p>]]></content:encoded></item><item><title><![CDATA[Beyond the Flagship: how B2B Software Companies can successfully expand their portfolio]]></title><description><![CDATA[How B2B Software Companies can successfully expand their portfolio]]></description><link>https://mathiasprzybylowicz.substack.com/p/beyond-the-flagship</link><guid isPermaLink="false">https://mathiasprzybylowicz.substack.com/p/beyond-the-flagship</guid><dc:creator><![CDATA[Mathias Przybylowicz]]></dc:creator><pubDate>Wed, 05 Mar 2025 13:13:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/3b1b8050-57ae-463d-b87b-24d01139b53c_1280x720.png" 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_!PIlJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21599a6-c5e6-4a9f-b8a8-1b961b6e6e4c_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PIlJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21599a6-c5e6-4a9f-b8a8-1b961b6e6e4c_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!PIlJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21599a6-c5e6-4a9f-b8a8-1b961b6e6e4c_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!PIlJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21599a6-c5e6-4a9f-b8a8-1b961b6e6e4c_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!PIlJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21599a6-c5e6-4a9f-b8a8-1b961b6e6e4c_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PIlJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21599a6-c5e6-4a9f-b8a8-1b961b6e6e4c_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b21599a6-c5e6-4a9f-b8a8-1b961b6e6e4c_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;: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_!PIlJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21599a6-c5e6-4a9f-b8a8-1b961b6e6e4c_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!PIlJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21599a6-c5e6-4a9f-b8a8-1b961b6e6e4c_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!PIlJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21599a6-c5e6-4a9f-b8a8-1b961b6e6e4c_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!PIlJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21599a6-c5e6-4a9f-b8a8-1b961b6e6e4c_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>At some point in its journey, a startup will meet success with their first product. As revenues and profit grow, the company will need to decide where to invest next in product development. Several options are available:</p><ol><li><p>Additional functionality in the flagship (paid option or not) or improving key quality attributes (performance, scalability, user experience - to name a few). For example: adding scripting or macro capabilities like Microsoft did with VBA in Office applications. This could also be a mobile client, or a SaaS version, or a companion product which requires the flagship, like a remote access client.</p></li><li><p>Pivoting your flagship to address a new customer category: from Corporate to Small and Medium Business, or vice versa, or adapting to new verticals. This is quite challenging: certain requirements are very different (think: ease of use, stability, or interoperability), while the need &amp; value proposition are similar / the same.</p></li><li><p>A new product in the same functional domain. For example, Atlassian introduced Confluence after they had launched Jira - both addressing project management in software engineering, one from the planning &amp; execution angle, the other from the knowledge and documentation angle, and complementing each other.</p></li><li><p>A new product in another functional domain, often adjacent, using the flagship&#8217;s existing technology to expand into a related market. For example: applying computer vision (image recognition) to OCR (Optical Character Recognition), enabling new use cases in forms processing.</p></li></ol><p>The discussion I&#8217;m proposing today is: which should you choose, and why? How can you secure the Return Over Innovation Investment (ROI2)? Let&#8217;s review these options.</p><h2><strong>Option 1: flagship functional augmentation</strong></h2><p>The crux: customer retention vs. customer acquisition</p><p>In the early stages of the flagship&#8217;s lifecycle, the user community will actively request additional functionality or improvements, and the business will have to decide whether such efforts, next to keeping the customer base happy, will be compensated by accelerated new sales. Strengthening customer relationships improves NPS, which is linked to faster sales growth, but it is also likely that new-new sales will continue progressing without major development efforts.</p><p>Here are a few questions that could help:</p><ul><li><p>Have you saturated your current geography &amp; verticals? Do you really need major innovation in the product to expand to adjacent geographies or verticals?</p></li></ul><p>If the answer is &#8220;probably not&#8221;, you should invest in polishing the flagship (a.k.a. &#8220;patrimonial maintenance&#8221;) and invest in several new product PoCs to prepare for your next 10 million ARR.</p><p>Another way of looking at it: as long as the flagship has not crossed the median of the innovation adoption curve and your product quality/experience is good, you should not over-invest in the flagship.</p><ul><li><p>Is your flagship was a precursor in the market, or is it a late entrant with prior and established competitors?</p></li></ul><p>If the former, honestly, you should be very cautious not over-investing in the flagship. In the latter case, you will want to increase the flagship&#8217;s market share. A thorough House of Quality benchmark (hands-on evaluation of competitor products by your Subject Matter Experts) together with a high-quality Voice of Customer approach will help you determine the product areas where you want to stay ahead, those where you need to catch-up and those you can sacrifice.</p><p>Be cautious with market analysts who push trends in a specific direction. While they can identify emerging needs, their adoption timing is often optimistic. If they tell you: &#8220;this feature will be the next big thing in 3 years&#8221;, you can safely assume it will be 5-6 years instead.</p><ul><li><p>If you reduce your engineering effort on the flagship to bare maintenance/bug fixing, will you really miss sales?</p></li></ul><p>I appreciate that this question is quite provocative... but I think the answer is more often &#8220;no / not really in the short term&#8221; than not, while your standing organization will try to preserve their budgets. With our heads in the steering wheel and our horizon set to the end of the fiscal year, we tend to repeat what we&#8217;ve always done - this was successful so far, and we&#8217;re making good profit, so why change?</p><p>We&#8217;re gregarious animals. We tend to stick to what we know and what works. This makes us safe.</p><p>If you can objectively answer &#8220;we won&#8217;t miss sales in the next 12 months if we stop engineering&#8221;, then this is another sign that you should pursue options 2, 3 or 4.</p><p>Before discussing these, I want to stress two very important preconditions: your flagship needs to have a spotless product quality, and a low level of technical debt. Otherwise, your engineering capacity will not be fully available to build the future, and recurring customer support issues will generate adverse tensions in your organization.</p><h2><strong>Option 2: pivoting the flagship to address a new customer size segment.</strong></h2><p>I won&#8217;t discuss this one extensively. The key requirement here is that your software architecture, especially at platform level, must be:</p><ul><li><p>Flexible enough to support a significantly different user experience (either much simpler for small customers, or feature-rich for bigger ones)</p></li><li><p>Capable of supporting a different set of technical requirements, esp. robustness, stability, and scalability</p></li></ul><p>If that&#8217;s not the case: forget about it, or fold it into your investment P&amp;L, unless poor customer satisfaction will bite you back hard.</p><h2><strong>Option 3 or 4: a new product and/or a new market</strong></h2><p>You made the clear diagnostic that it was time to launch a new product. New-new sales growth subtly slows down, while your sales organization is the same, and performing. Customer demographics show you&#8217;ve reached over 50% of your target addressable market and you&#8217;re an established regional player (going global is yet another challenge I&#8217;m not discussing here).</p><p>I&#8217;ve often observed that software companies tend to rely too heavily on their first successful product, to the point that the organization struggles to think beyond the flagship, even more so if you have delayed starting a new product journey. In particular, sales tend to stick to what they know is successful.</p><p>At the beginning of this new journey:</p><ul><li><p>The product and engineering organization struggles to identify a compelling enough value proposition for the new product (they keep thinking &#8220;in the box&#8221;). Subject Matter Experts keep spinning the same record. The Voice of Customers keeps advocating for the next version of your Porsche 911.</p></li></ul><p>Resulting in:</p><ul><li><p>6 months after launch, even with strong sales enablement and marketing campaigns, the new product struggles to gain traction. Your sales organization keeps reporting missing features with the flagship, keeps explaining why your new product doesn&#8217;t work instead of suggesting solutions, special sales incentives on the new product sales have no effect, and customers ignore your new baby. The few sales you get are from junior sales reps or recent joiners.</p></li></ul><p>What I&#8217;m hinting at here is that there&#8217;s a certain likelihood that your Revenue organization is your biggest challenge. The bulk of the effort will not be with engineering, but with changing the mindsets, and this needs careful planning and thorough investment.</p><p>I&#8217;ve seen many business cases where this is not accounted for at all: investment P&amp;Ls focus on engineering costs and ignore completely the necessary investment into sales and marketing, assuming that the customer-facing standing organization will &#8220;just do it&#8221;.</p><p>You need a fresh perspective. The original founders&#8217; vision, that something important was missing for a well-identified target market, is quite hard to reproduce in an established environment &#8212; and this often includes the founders themselves. Coincidentally, it is often at this stage that they sell their stakes to move to their next entrepreneurial challenge.</p><p>A fresh perspective is easier brought in by adding &#8220;fresh blood&#8221; to your organization (new joiners with a strong motivation to succeed, in particular new Subject Matter Experts, Technologists, and a small, dedicated, and entrepreneur-minded sales group) together with selected existing employees willing to take the risk. You will need to protect them in the beginning, until they have demonstrated to the rest of the organization that it actually works. Another avenue is M&amp;A, which de facto brings this new perspective on the market, while it comes with its own challenges, including differences in company culture &#8212; but that&#8217;s for another discussion.</p><h2><strong>To sum it up:</strong></h2><ul><li><p>If you can reduce your engineering effort on your flagship product down to maintenance with little consequence on sales and customer satisfaction, it&#8217;s a sure sign you&#8217;re ready for the next big product endeavor.</p></li><li><p>If you want your new product to meet with success, you must focus on its go-to-market with a dedicated organization, rather than on engineering alone.</p></li></ul><p>Do you have a similar experience? Did you observe these caveats?</p>]]></content:encoded></item><item><title><![CDATA[The CEO-CT/PO Divide]]></title><description><![CDATA[Why executives and technology leaders often talk past each other, and how misaligned incentives and decision rights create friction between business and tech.]]></description><link>https://mathiasprzybylowicz.substack.com/p/the-ceo-ctpo-divide</link><guid isPermaLink="false">https://mathiasprzybylowicz.substack.com/p/the-ceo-ctpo-divide</guid><dc:creator><![CDATA[Mathias Przybylowicz]]></dc:creator><pubDate>Tue, 25 Feb 2025 12:00:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!R0UC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa37ee59f-c4d7-4ae1-a0e2-eccd8fb52aa7_1024x576.png" 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_!R0UC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa37ee59f-c4d7-4ae1-a0e2-eccd8fb52aa7_1024x576.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!R0UC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa37ee59f-c4d7-4ae1-a0e2-eccd8fb52aa7_1024x576.png 424w, https://substackcdn.com/image/fetch/$s_!R0UC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa37ee59f-c4d7-4ae1-a0e2-eccd8fb52aa7_1024x576.png 848w, https://substackcdn.com/image/fetch/$s_!R0UC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa37ee59f-c4d7-4ae1-a0e2-eccd8fb52aa7_1024x576.png 1272w, https://substackcdn.com/image/fetch/$s_!R0UC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa37ee59f-c4d7-4ae1-a0e2-eccd8fb52aa7_1024x576.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!R0UC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa37ee59f-c4d7-4ae1-a0e2-eccd8fb52aa7_1024x576.png" width="1024" height="576" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a37ee59f-c4d7-4ae1-a0e2-eccd8fb52aa7_1024x576.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:576,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;: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_!R0UC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa37ee59f-c4d7-4ae1-a0e2-eccd8fb52aa7_1024x576.png 424w, https://substackcdn.com/image/fetch/$s_!R0UC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa37ee59f-c4d7-4ae1-a0e2-eccd8fb52aa7_1024x576.png 848w, https://substackcdn.com/image/fetch/$s_!R0UC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa37ee59f-c4d7-4ae1-a0e2-eccd8fb52aa7_1024x576.png 1272w, https://substackcdn.com/image/fetch/$s_!R0UC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa37ee59f-c4d7-4ae1-a0e2-eccd8fb52aa7_1024x576.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><blockquote><p>20% to 25%! You must be kidding Mathias. Take Oracle, they have 7% and they&#8217;re an R&amp;D machine!</p></blockquote><p>I remember this conversation with a CEO I met some years ago, arguing that for a company of the size he was running, that was the expected Engineering budget as a percentage of revenue. &#8220;Well, yes, but you&#8217;re not yet Oracle &#128521; and certain synergies don&#8217;t yet apply&#8221;.</p><p>In today&#8217;s fast-evolving software landscape, the dynamic between CEOs and CT/POs (or, in general, between business &amp; finance leaders (CEO, CFO, CRO, CSO) and tech leaders) is both a driving force for innovation and a battleground for differing priorities. Based on my leader&#8217;s experience on the tech side across varying sizes and verticals, I&#8217;ve witnessed or experienced firsthand how these two pivotal roles &#8212; each with its unique focus and mandate &#8212; can sometimes find themselves at odds. The tension isn&#8217;t born out of malice; rather, it emerges from the fundamental differences in perspective and objectives.</p><h2><strong>A Clash of Priorities</strong></h2><p>At its core, the friction between CEOs and CTOs stems from the divergent ways they view success. CEOs, with their overarching responsibility for the company&#8217;s bottom line and market position, often make decisions through the lens of immediate financial performance and investor expectations. In contrast, CTOs are champions of long-term innovation and technological robustness, focused on sustainable growth and the future-readiness of the organization. This divergence can lead to clashes on virtually every strategic front.</p><h2><strong>Key Areas of Disagreement</strong></h2><p>Before I go through some of these, I&#8217;d like to set the scene: I&#8217;m looking at established software businesses (independent companies or business units) from 50+ employees up to a few thousand. I will not consider &#8220;founder clash&#8221; as often met in early startups / seed phase: there are good articles aplenty about this specific situation, while some of the patterns I describe below would also apply. Also, the CEO is not necessarily a founder.</p><h3><strong>Budget vs. Product Roadmap</strong></h3><ul><li><p><strong>Fiscal Year Pressures:</strong> CEOs are tasked with meeting tight financial targets each fiscal year. Their drive to close the year on budget can sometimes lead to decisions that disrupt the established product roadmap. This might mean compromising on the quality or delaying investments in critical innovation just to meet short-term financial goals (which may come back biting the CEO later down the road, but as they then say: &#8220;one problem at a time, we&#8217;ll see about it when and if it occurs&#8221;). For further reading on this particular subject, see the recent article from Chris Barrett, <em><strong><a href="https://www.linkedin.com/pulse/few-dollars-more-how-sell-your-product-roadmap-chris-barrett-q02ue/">For a Few Dollars More: How to Sell your Product Roadmap</a></strong></em>.</p></li><li><p><strong>Product Integrity:</strong> On the other hand, CT/POs are deeply invested in maintaining a coherent and progressive product / technology strategy. For them, a stable, well-executed roadmap is vital to ensure the product remains competitive, serviceable, and scalable over time.</p></li></ul><h3><strong>Short-Term Financial Focus vs. Long-Term Innovation</strong></h3><ul><li><p><strong>Immediate Revenue vs. Future Growth:</strong> CEOs often need to show tangible, short-term results to satisfy investors and maintain market confidence. This focus on immediate revenue and market performance can sometimes lead to decisions that sideline long-term functional or technological investments.</p></li><li><p><strong>The Innovation Investment Dilemma:</strong> CT/POs understand that innovation is a marathon, not a sprint. They invest in long-term advancements of product quality attributes (functionality, ease of use, scalability, security &#8211; see ISO 25010 for complete reference), even when the direct financial benefits are not immediately apparent. Linking quality improvements and new features directly to increased revenue can be a challenging proposition, creating a persistent tension between immediate financial needs and long-term strategic.</p></li></ul><h3><strong>Different Success Metrics and Misaligned Incentives</strong></h3><ul><li><p><strong>Outcome vs. Output:</strong> CEOs typically measure success by financial outcomes, market share, customer satisfaction and growth metrics. For them, delivering strong quarterly figures is paramount. Conversely, CT/POs often gauge success by the quality of the technology, the robustness of the infrastructure, and the consistency and number of innovative features developed&#8212;even if these don&#8217;t immediately translate into higher sales.</p></li><li><p><strong>Incentive Misalignment:</strong> The problem deepens when the reward structures for CEOs and CT/POs are not aligned. While CEOs might receive bonuses based on short-term financial metrics, CT/POs might be rewarded for product output, sometimes for a significant part. This misalignment can foster a mindset where each leader champions their own metrics at the expense of a unified strategic vision.</p></li></ul><h3><strong>Risk Tolerance Discrepancies</strong></h3><ul><li><p><strong>Conservative vs. Calculated Risks:</strong> In many cases, CEOs are more risk-averse because their mandate is to protect the company&#8217;s fiscal health. This often leads to cautious decision-making aimed at preserving current revenue streams, especially when return over investment is longer than a year.</p></li><li><p><strong>Balancing Act:</strong> Conversely, CT/POs are sometimes willing to take calculated risks &#8212; launching a new product, investing in emerging technologies or re-architecting systems &#8212; to drive long-term growth. The irony is that the very innovation they champion might appear too risky from a &#8220;fiscal year&#8221; perspective. Furthermore, in certain scenarios, a CEO might want to aggressively pursue a new market opportunity, while the CT/PO could advocate for a more measured approach due to concerns over technical debt and product quality.</p></li></ul><h3><strong>Communication Gaps</strong></h3><ul><li><p><strong>Different Languages:</strong> The divide is exacerbated by the distinct terminologies and frameworks each leader uses. CEOs, though well-versed in the software business, often lack hands-on technical experience and are not familiar with key software architecture concepts (while these may have deep cost implications!). Even a hard and genuine effort to understand these issues can lead to micromanagement very fast. CT/POs, despite their business acumen, may struggle with the intricacies of financial planning and investment case analysis (think discounted cash flows and other financial metrics) &#8211; they don&#8217;t need to hold an MBA.</p></li><li><p><strong>Bridging the Divide:</strong> This communication gap can lead to misunderstandings about project statuses and priorities. While a CEO might be focused on high-level business metrics, the CTO might be immersed in technical details, leading to conversations that don&#8217;t always align.</p></li></ul><h3><strong>Resource Allocation Conflicts</strong></h3><ul><li><p><strong>The &#8220;More is Better&#8221; Mindset:</strong> With limited resources at their disposal, both roles often find themselves at loggerheads over where to invest. CEOs may continuously push for additional resources to fuel growth, sometimes overlooking the need to optimize or even postpone existing priorities.</p></li><li><p><strong>Choosing is Renouncing:</strong> For CT/POs, every new initiative means a trade-off. The struggle to decide whether to invest in new technology or enhance existing systems often results in conflicts that can derail a unified strategic approach.</p></li></ul><h3><strong>Operational Pragmatism vs. Visionary Thinking</strong></h3><ul><li><p><strong>The Tactical and the Strategic:</strong> CEOs are naturally drawn to solving immediate operational challenges. They may zero in on customer satisfaction metrics or short-term market performance to steer the company through turbulent times.</p></li><li><p><strong>The Future Beckons:</strong> CT/POs, however, are often the visionaries, pushing for future-proofing strategies and experimentation &#8212; even if that means chasing the latest shiny technology or product use-case. Conversely, a founder CEO, known for their bold, visionary ideas, clashes with an outcome- and detail-oriented CT/PO who is more focused on running the show for current and onboarding customers, execution, and feasibility.</p></li></ul><h3><strong>Different Strategic Time Horizons</strong></h3><ul><li><p><strong>Mid-Term vs. Long-Term:</strong> For many established software companies, CEOs work with a mid-term plan spanning three to five years. In contrast, CT/POs often view technology as a long-term investment, especially when scaling operations globally or building a tech platform designed to last a decade or more.</p></li><li><p><strong>Temporal Tension:</strong> This difference in planning horizons can lead to strategic misalignment, where immediate business pressures overshadow investments that could secure future competitive advantage.</p></li></ul><h3><strong>Opposing Leadership Styles</strong></h3><ul><li><p><strong>Decisive vs. Collaborative:</strong> The personal dynamics between a decisive, market-driven CEO and a collaborative, execution-oriented CT/PO can create friction. The CEO&#8217;s propensity to make swift decisions in a fast-paced market can be at odds with the CT/PO&#8217;s methodical, consensus-driven approach.</p></li><li><p><strong>Personality Clashes:</strong> Moreover, differing levels of ambition and assertiveness can intensify the divide. When each leader is deeply invested in their perspective, the gap can widen, making it challenging to reach a common ground on strategic directions.</p></li></ul><h2><strong>Actionable Takeaways for Bridging the Divide</strong></h2><p>Luckily and as always, there are ways to improve! Here&#8217;s a few I could think of, and I&#8217;m looking forward to additional insights from the community.</p><ol><li><p><strong>Establish Common Goals:</strong> Create a unified vision that integrates both short-term financial targets and long-term innovation goals. This involves crafting shared KPIs that value both immediate outcomes and the underlying technical achievements that drive future success. With that respect, Customer Satisfaction is certainly a leading indicator along which they can align their time reference and objectives. A product P&amp;L and investment business cases are also powerful tools for positive and fact-based joint conversations.</p></li><li><p><strong>Foster Regular Dialogue:</strong> Encourage ongoing and structured communication between CEOs and CT/POs. Regular strategy sessions, joint reviews, and cross-departmental workshops can help both parties understand each other&#8217;s perspectives and priorities. Note that I&#8217;m not referring to the regular 1-1&#8217;s or management team meetings but dedicated working sessions.</p></li><li><p><strong>Align Incentives:</strong> Revise reward systems to reflect a balanced approach. Consider bonus structures or performance metrics that reward collaboration and shared successes rather than siloed achievements.</p></li><li><p><strong>Bridge the Knowledge Gap:</strong> Invest in cross-training initiatives where CEOs gain a deeper understanding of technological, domain or process imperatives, and CT/POs enhance their financial literacy. This mutual education can demystify each other&#8217;s domains and reduce miscommunication.</p></li><li><p><strong>Implement Conflict-Resolution Mechanisms:</strong> Develop a clear process for resolving disagreements that leverages the strengths of both roles. This might include mediators from the broader leadership team or external advisory support to ensure that conflicts are addressed constructively.</p></li><li><p><strong>Adopt a Flexible Strategic Framework:</strong> Utilize agile planning methodologies that allow the company to pivot quickly in response to market changes, while still investing in long-term projects. Establishing agreed &#8220;rules of engagement&#8221; can also help: consider for example bandwidth guardrails (capacity reservation) for quality, research &amp; prototyping, technical debt, etc., together with a simple way to agree why to change (triggers). This balance can help manage the inherent tension between immediate operational needs and future innovation.</p></li><li><p><strong>Promote a Culture of Mutual Respect:</strong> At the heart of bridging the CEO-CT/POs divide is respect for the unique contributions each leader brings to the table. Cultivating an environment where both perspectives are valued can transform potential conflicts into opportunities for constructive collaboration. In other words, as always, trust is key.</p></li></ol><h2><strong>Conclusion</strong></h2><p>The divide between CEOs (or business and financial leaders at large) and CT/POs is not merely a clash of personalities but a reflection of the broader challenge of balancing immediate business imperatives with the long-term needs of technology innovation. As the software industry continues to evolve, companies that successfully bridge this gap will be better positioned to adapt to market changes, drive sustainable growth, and innovate continuously.</p><p>For tech businesses, recognizing and addressing these tensions is crucial. By fostering open communication, aligning incentives, and creating a strategic framework that embraces both immediate and long-term goals, organizations can transform a potential source of conflict into a competitive advantage.</p><p>Lastly, let me insist that such (short-long) tensions are necessary and &#8230; inevitable, and every single business will go through these. Pr. Greiner addressed this brilliantly in his HBR paper <em><strong><a href="https://hbr.org/1998/05/evolution-and-revolution-as-organizations-grow">Evolution and Revolution as Organizations Grow</a></strong></em> first published in &#8230; 1972!, and I cannot encourage you enough to read it and reflect in which phase your company is along Pr. Greiner&#8217;s growth curve: it could be an eye-opener.</p><h2><strong>What about you?</strong></h2><p>Have you experienced the challenges of navigating the CEO-CT/POs divide in your organization? Did I miss a key opposition area?</p>]]></content:encoded></item></channel></rss>