<?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[Strong Ops]]></title><description><![CDATA[My personal Substack]]></description><link>https://blog.strongops.io</link><image><url>https://blog.strongops.io/img/substack.png</url><title>Strong Ops</title><link>https://blog.strongops.io</link></image><generator>Substack</generator><lastBuildDate>Thu, 30 Jul 2026 06:26:44 GMT</lastBuildDate><atom:link href="https://blog.strongops.io/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Sandy Strong]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[strongops@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[strongops@substack.com]]></itunes:email><itunes:name><![CDATA[Sandy Strong]]></itunes:name></itunes:owner><itunes:author><![CDATA[Sandy Strong]]></itunes:author><googleplay:owner><![CDATA[strongops@substack.com]]></googleplay:owner><googleplay:email><![CDATA[strongops@substack.com]]></googleplay:email><googleplay:author><![CDATA[Sandy Strong]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[When organizations outgrow the way they’re run]]></title><description><![CDATA[&#8230;and what to do about it as an operator]]></description><link>https://blog.strongops.io/p/when-organizations-outgrow-the-way</link><guid isPermaLink="false">https://blog.strongops.io/p/when-organizations-outgrow-the-way</guid><dc:creator><![CDATA[Sandy Strong]]></dc:creator><pubDate>Tue, 30 Jun 2026 14:57:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!6kgX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96da62bd-44a2-4a09-a143-152ba8efc01b_855x436.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_!6kgX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96da62bd-44a2-4a09-a143-152ba8efc01b_855x436.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6kgX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96da62bd-44a2-4a09-a143-152ba8efc01b_855x436.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6kgX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96da62bd-44a2-4a09-a143-152ba8efc01b_855x436.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6kgX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96da62bd-44a2-4a09-a143-152ba8efc01b_855x436.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6kgX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96da62bd-44a2-4a09-a143-152ba8efc01b_855x436.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6kgX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96da62bd-44a2-4a09-a143-152ba8efc01b_855x436.jpeg" width="855" height="436" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/96da62bd-44a2-4a09-a143-152ba8efc01b_855x436.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:436,&quot;width&quot;:855,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:86377,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.strongops.io/i/204047316?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96da62bd-44a2-4a09-a143-152ba8efc01b_855x436.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6kgX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96da62bd-44a2-4a09-a143-152ba8efc01b_855x436.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6kgX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96da62bd-44a2-4a09-a143-152ba8efc01b_855x436.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6kgX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96da62bd-44a2-4a09-a143-152ba8efc01b_855x436.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6kgX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96da62bd-44a2-4a09-a143-152ba8efc01b_855x436.jpeg 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 aria-hidden="true" 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><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 team has an operating model, whether or not anyone built it on purpose or wrote it down. It gives the answer to who owns which systems, who gets the call when something breaks, and how decisions get made. When you run a whole organization, you&#8217;re responsible for several operating models at once, one per function. They&#8217;re rarely at the same stage of maturity.</p><p>When a company is small, every function is small enough that its model can remain unwritten. That&#8217;s part of the fun. A handful of people who talk every day don&#8217;t need named owners or decision rights; putting them in place too early just gets in the way. It works because everyone can stay in close contact, and it often works well for longer than people expect. But functions grow at different rates. One by one, they outgrow their operating model, and they do it on their own schedule (see Figure 1).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jJtP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29c813c-8b82-4c31-b3d9-98d49e7e9b4f_1024x449.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jJtP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29c813c-8b82-4c31-b3d9-98d49e7e9b4f_1024x449.png 424w, https://substackcdn.com/image/fetch/$s_!jJtP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29c813c-8b82-4c31-b3d9-98d49e7e9b4f_1024x449.png 848w, https://substackcdn.com/image/fetch/$s_!jJtP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29c813c-8b82-4c31-b3d9-98d49e7e9b4f_1024x449.png 1272w, https://substackcdn.com/image/fetch/$s_!jJtP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29c813c-8b82-4c31-b3d9-98d49e7e9b4f_1024x449.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jJtP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29c813c-8b82-4c31-b3d9-98d49e7e9b4f_1024x449.png" width="1024" height="449" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a29c813c-8b82-4c31-b3d9-98d49e7e9b4f_1024x449.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:449,&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;:false,&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_!jJtP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29c813c-8b82-4c31-b3d9-98d49e7e9b4f_1024x449.png 424w, https://substackcdn.com/image/fetch/$s_!jJtP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29c813c-8b82-4c31-b3d9-98d49e7e9b4f_1024x449.png 848w, https://substackcdn.com/image/fetch/$s_!jJtP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29c813c-8b82-4c31-b3d9-98d49e7e9b4f_1024x449.png 1272w, https://substackcdn.com/image/fetch/$s_!jJtP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29c813c-8b82-4c31-b3d9-98d49e7e9b4f_1024x449.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 aria-hidden="true" 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><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"><em>Figure 1. Functions mature at their own pace.</em></figcaption></figure></div><p>Knowing when a function has outgrown its operating model is one of the things that is critical for an operator. Functions mature at different rates, and part of the job is noticing where one has outgrown its stage, and being discerning about risks: which to act on, and when. The first step is recognizing which stage each function is in.<br></p><h2>Recognizing the stages</h2><p>Most functions move through three stages as they grow: self-organizing, structured, and specialized. The signs of a functional area&#8217;s stage show up in how decisions are made and work is handled. To keep this concrete I&#8217;ll describe each stage from the perspective of an engineering function; however, the same arc shows up in operations, sales, or any function that grows.</p><p><strong>Self-organizing.</strong> A function in this stage runs on<em> close contact.</em></p><p>Early in my career I worked at a small company where the whole team sat at the same long tables, and most decisions got made in whatever conversation was happening nearby. If someone wanted a status update, they needed only to turn to their neighbor. New tasks were picked up by whoever was interested. It was fast, and it had the feeling of being in on something together. It&#8217;s exciting, and also chaotic in a way that&#8217;s easy to forgive at the time. Priorities swing with a single conversation. The urgency that makes it feel alive also makes it hard to predict, and now and then something gets dropped before anyone notices.</p><p>You can tell that a function is in this stage when people spend most of the day talking to the same few colleagues and can launch a new feature without seeking three levels of approval.</p><p><strong>Structured.</strong> A function in this stage runs on<em> what&#8217;s written down rather than who&#8217;s in the room</em>, and it feels steadier for it.</p><p>Almost every structured function I&#8217;ve worked on has shared a handful of traits. Someone could cover for a system even if they hadn&#8217;t built it, because the steps for debugging it were written down. Release processes were documented so anyone could take a turn running them. Developers reviewing each other&#8217;s work was expected, and was how new people learned. The effect is that anyone can take a day off and the team keeps moving. It feels calm even under real deadline pressure, more deliberate than frantic.</p><p>You can tell that a function is in this stage when responsibilities rotate on a schedule, a bad week ends with a good retrospective, and everyone on the team uses their vacation days.</p><p><strong>Specialized.</strong> A function in this stage has become multiple. Specialized teams form when one structured team can no longer cover the whole domain.</p><p>I once ran a reliability team that grew until it had to split into several, each aligned to a different part of the business it supported. The change that specialization enabled was depth: instead of spreading a few people thin across everything, each team could go deep on the area it owned, taking on more ambitious work and building what its part of the business needed. The people on those specialized teams know exactly what they are responsible for, and they become the experts in their area. In exchange, the function takes on more coordination: keeping teams aligned now takes deliberate effort, shared plans and standing meetings the simpler structure didn&#8217;t require.</p><p>You can tell that a function is in this stage when it has a charter and operational cadence meetings, and when much of its roadmap requires cross-functional planning and execution.<br></p><h2>Paying attention across functions</h2><p>Operators running an organization monitor several functions moving through these stages at once, each on its own clock. For example, Engineering might still be self-organizing, while Marketing has structured itself, and Sales is starting to specialize. There&#8217;s rarely a shared map that says which function is in which stage. The first step is to discern the operating models of your functions, and do the work to identify where any one of them has started to strain (see Figure 2).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L8z8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29d6ec5b-944c-456b-98e9-2fbcb6627456_1557x465.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L8z8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29d6ec5b-944c-456b-98e9-2fbcb6627456_1557x465.jpeg 424w, https://substackcdn.com/image/fetch/$s_!L8z8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29d6ec5b-944c-456b-98e9-2fbcb6627456_1557x465.jpeg 848w, https://substackcdn.com/image/fetch/$s_!L8z8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29d6ec5b-944c-456b-98e9-2fbcb6627456_1557x465.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!L8z8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29d6ec5b-944c-456b-98e9-2fbcb6627456_1557x465.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L8z8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29d6ec5b-944c-456b-98e9-2fbcb6627456_1557x465.jpeg" width="1456" height="435" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/29d6ec5b-944c-456b-98e9-2fbcb6627456_1557x465.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:435,&quot;width&quot;:1456,&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;: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="" srcset="https://substackcdn.com/image/fetch/$s_!L8z8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29d6ec5b-944c-456b-98e9-2fbcb6627456_1557x465.jpeg 424w, https://substackcdn.com/image/fetch/$s_!L8z8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29d6ec5b-944c-456b-98e9-2fbcb6627456_1557x465.jpeg 848w, https://substackcdn.com/image/fetch/$s_!L8z8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29d6ec5b-944c-456b-98e9-2fbcb6627456_1557x465.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!L8z8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29d6ec5b-944c-456b-98e9-2fbcb6627456_1557x465.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 aria-hidden="true" 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><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"><em>Figure 2. Identify operating models and where they&#8217;re straining.</em></figcaption></figure></div><p>What are the signs of strain? One sign is when the same kinds of problems are recurring in one function. For example, in Engineering, perhaps a software change shipped and broke something, and no one had been assigned to review it beforehand. Or, a migration stalled because the person driving it got pulled onto something else, and picking it back up wasn&#8217;t anyone&#8217;s responsibility yet. What marks a function as being <em>at the limit of its operating model</em> is that these problems keep happening. These signs are easy to miss from the outside, because a function&#8217;s own account of itself is partial: its leader is watching whether the team is okay, not whether the business is. For a more reliable signal on how the function is doing, observe the teams that depend on it. When they start routing around it, picking up the slack themselves, or going elsewhere, that&#8217;s a sign the function is straining.</p><p>Rebuilding how a function runs costs momentum, and sometimes it costs people who liked the old way and don&#8217;t want the new one. Letting a function outgrow its model runs up a bill that&#8217;s easy to miss, at least for a while, because no single aspect of the strain looks alarming. Work slips through the cracks and gets written off as a bad week. The teams it serves stop counting on it, communication slows, and relationships cool. The strongest people start to leave because they can&#8217;t see the work getting better. None of these on its own is acute enough to force a change, so a function can sit at its limit for a long time, the costs staying easy to ignore right up until they aren&#8217;t.</p><p>When deciding which function to rebuild first, start with where strain is compounding fastest. Sometimes that function is the least ready for a rebuild, and you do it anyway, because the conditions won&#8217;t improve on their own and the cost of waiting only grows.<br></p><h2>Deciding whether to rebuild</h2><p>Moving a function to its next stage takes two things:</p><ol><li><p>Deciding the rebuild is worth doing.</p></li><li><p>Designating someone to lead the rebuild and giving them the mandate to do it.</p></li></ol><p>Before committing, it&#8217;s important to assess whether the operating model is really what&#8217;s holding the function back, because a few other problems can look the same from outside. The most common is plain overload: a function with too many priorities will see its decisions stall regardless of how clean its ownership structure is. In this case, a shorter priority list will do more than any redesign. Other times, the gap is a missing manager to carry the day-to-day people work (the 1:1s, the hiring, keeping everyone unblocked). If one of those is what&#8217;s going on, that&#8217;s the place to start.</p><p>Priority overload and a missing manager are both about load: too much work, or no one tending to the people. A model problem is a gap in how the function is set up to run, in who owns what, who decides what, or what the guardrails are. The failures trace back to the ownership gap, rather than to load: a change nobody was assigned to review, or a migration nobody was on the hook to pick back up. When one of these recurs, consider who was supposed to handle it. If there&#8217;s a designated owner who was buried with other work then the problem is load; but if it was never anyone&#8217;s job to begin with, it&#8217;s the model.</p><p>From there, the rebuild itself is concrete work: naming an owner, working out decision rights, and adding guardrails for failures that the function has already encountered. The mechanics are described below.<br></p><h2>Running the rebuild</h2><p>Living with a real, recurring problem tells you what the fix needs to be. The through-line is: wait until the team can point to the problem before adding the structure that solves it.</p><ol><li><p><strong>Name an owner for how the function runs. </strong>Give one person the authority to set direction and own delivery, and make the role&#8217;s existence unambiguous. This may be the person who led the rebuild, or someone else (a new hire, or someone already on the team). Part of the job is deciding which decisions to delegate, and which to retain.<br></p></li><li><p><strong>Make ownership and decision rights explicit.</strong> Write down who owns which systems, and who makes which decisions. The latter is the part teams tend to get stuck on, so it&#8217;s worth being concrete about: who can say no to a launch, who breaks a tie, and who sets priorities when people can&#8217;t agree.<br></p></li><li><p><strong>Add guardrails.</strong> Put rules in place to prevent failures the team has already encountered. A rule that addresses a real failure earns its place; one added beforehand is just a guess. The way to tell them apart is to consider whether you can <em>name the failure the rule prevents</em>. Rules that stop a specific, nameable failure are almost always worth adding.</p></li></ol><blockquote></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3e8J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59757e4-1ebf-4ae9-8aad-49fc15848baf_1024x485.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3e8J!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59757e4-1ebf-4ae9-8aad-49fc15848baf_1024x485.png 424w, https://substackcdn.com/image/fetch/$s_!3e8J!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59757e4-1ebf-4ae9-8aad-49fc15848baf_1024x485.png 848w, https://substackcdn.com/image/fetch/$s_!3e8J!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59757e4-1ebf-4ae9-8aad-49fc15848baf_1024x485.png 1272w, https://substackcdn.com/image/fetch/$s_!3e8J!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59757e4-1ebf-4ae9-8aad-49fc15848baf_1024x485.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3e8J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59757e4-1ebf-4ae9-8aad-49fc15848baf_1024x485.png" width="1024" height="485" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e59757e4-1ebf-4ae9-8aad-49fc15848baf_1024x485.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:485,&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;: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="" srcset="https://substackcdn.com/image/fetch/$s_!3e8J!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59757e4-1ebf-4ae9-8aad-49fc15848baf_1024x485.png 424w, https://substackcdn.com/image/fetch/$s_!3e8J!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59757e4-1ebf-4ae9-8aad-49fc15848baf_1024x485.png 848w, https://substackcdn.com/image/fetch/$s_!3e8J!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59757e4-1ebf-4ae9-8aad-49fc15848baf_1024x485.png 1272w, https://substackcdn.com/image/fetch/$s_!3e8J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59757e4-1ebf-4ae9-8aad-49fc15848baf_1024x485.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 aria-hidden="true" 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><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"><em>Figure 3. What forces the move out of each stage, and the work to advance to the next.</em></figcaption></figure></div><p>Getting the rebuild approved is its own piece of work. A restructure usually needs someone above to fund it, and the instinct is to build an airtight proposal and bring it to that person. The decision maker leans on the people around them, so you need to win those people over before you ever make the formal ask. In practice that means going to the teams affected by the change, working out what they need, and shaping the proposal around those needs. By the time the proposal reaches the decision maker, the people they&#8217;d check with have already decided that they want it. Building the demand up front is most of what makes a restructure cross the finish line.<br></p><h2>The lag after the rebuild</h2><p>Operators sometimes underestimate the lag that follows an operating model rebuild. The new model can be designed and announced in a week, but the team continues following the old ways for a while out of habit. The rebuild is finished only when the new way is fully adopted and becomes how people actually work.</p><p>One place where this lag shows up is in whom people treat as being in charge. The new owner has the title, but peers and other teams keep going to whoever held the role before, because that&#8217;s who they trust to make things happen. The operator must be the one to close that gap, routing decisions through the new owner in front of everyone and declining the end-run when someone tries the old path. This effort continues until the new owner&#8217;s standing in the group catches up with their title.<br></p><h2>A continuous process</h2><p>A function that reaches the specialized stage doesn&#8217;t stop there. Specialties themselves grow, and each one starts the whole progression over inside itself. The pattern repeats at every level, one stage down each time. No function&#8217;s model is ever finally right, only right for what it needs now: enough to keep moving as it grows, without slowing it down.</p><p>Because you&#8217;re overseeing several functions at once, something is <em>always</em> due for a rebuild. The job is to keep watching across your functions, and to treat rebuilding the ones that have outgrown their model as part of the ordinary work of running the business. You won&#8217;t always get it right, but a &#8220;good enough&#8221; read is one that you can act on before waiting gets expensive.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.strongops.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Strong Ops! Subscribe for free to receive new insights about operations, software, and technology.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[How metrics lose their context]]></title><description><![CDATA[When metrics travel up an organization, does their meaning travel with them? Here's how the best teams handle this puzzle.]]></description><link>https://blog.strongops.io/p/how-metrics-lose-their-context</link><guid isPermaLink="false">https://blog.strongops.io/p/how-metrics-lose-their-context</guid><dc:creator><![CDATA[Sandy Strong]]></dc:creator><pubDate>Wed, 03 Jun 2026 15:02:52 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d6c5d058-dca2-4dcd-833b-7ce3719ffe47_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When software metrics flow upwards through the enterprise, there is compression and loss at every level. An engineer implements a system that emits thousands of metrics, a subset of which are promoted to a dashboard. Then, a smaller subset gets picked up by a manager and dropped into a KPI deck for leadership. And finally, an even smaller subset makes it into a quarterly review where a P&amp;L owner decides whether the product is healthy enough to keep investing in, a decision made on the basis of a number that&#8217;s been stripped of the context that would make it most meaningful.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1wLk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2b15ebb-9ec3-4ecc-8fad-1b2189e1a67c_1118x1670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1wLk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2b15ebb-9ec3-4ecc-8fad-1b2189e1a67c_1118x1670.png 424w, https://substackcdn.com/image/fetch/$s_!1wLk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2b15ebb-9ec3-4ecc-8fad-1b2189e1a67c_1118x1670.png 848w, https://substackcdn.com/image/fetch/$s_!1wLk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2b15ebb-9ec3-4ecc-8fad-1b2189e1a67c_1118x1670.png 1272w, https://substackcdn.com/image/fetch/$s_!1wLk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2b15ebb-9ec3-4ecc-8fad-1b2189e1a67c_1118x1670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1wLk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2b15ebb-9ec3-4ecc-8fad-1b2189e1a67c_1118x1670.png" width="456" height="681.1449016100179" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a2b15ebb-9ec3-4ecc-8fad-1b2189e1a67c_1118x1670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1670,&quot;width&quot;:1118,&quot;resizeWidth&quot;:456,&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_!1wLk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2b15ebb-9ec3-4ecc-8fad-1b2189e1a67c_1118x1670.png 424w, https://substackcdn.com/image/fetch/$s_!1wLk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2b15ebb-9ec3-4ecc-8fad-1b2189e1a67c_1118x1670.png 848w, https://substackcdn.com/image/fetch/$s_!1wLk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2b15ebb-9ec3-4ecc-8fad-1b2189e1a67c_1118x1670.png 1272w, https://substackcdn.com/image/fetch/$s_!1wLk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2b15ebb-9ec3-4ecc-8fad-1b2189e1a67c_1118x1670.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 aria-hidden="true" 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><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"><em>Figure 1. Metrics are abundant at the bottom, and compressed at the top. Context flows in the opposite direction.</em></figcaption></figure></div><p>Context is stripped away at each stage as the metrics flow upward. An engineer knows what the metric measures and how the system behaves when it moves. A manager knows it&#8217;s trending in the right direction and has a story for why. Leadership knows the number. By the time a metric reaches the top, it&#8217;s been separated from the system knowledge that grounds it.</p><p>This pipeline of abstraction reflects how organizational systems are designed, and how incentives are structured. The engineer is paid to ship features and keep the pager quiet; drawing a through line from their system to leadership three levels up isn&#8217;t in the job. The manager owes leadership a clear story, not an accounting of what the metric might fail to capture. Leadership needs metrics to govern by, and interrogating each one against its underlying mechanisms isn&#8217;t scalable at that altitude. P&amp;L owners make headcount and product strategy decisions based on information that has been compressed and separated from its original context. <strong>The work of connecting numbers to understanding falls between roles rather than inside any of them.</strong></p><p>The result is often an environment where metrics are abundant but understanding is scarce because the connective tissue is absent. Without an understanding of how a business outcome metric relates to the service-level metrics that support it, and to the related raw system signals underneath, companies end up making decisions from numbers they can&#8217;t validate.</p><p>The gap becomes visible when a top-line metric turns red and someone asks, &#8220;Why?&#8221; The efficiency that made it easy to communicate product health upward becomes a liability. The director doesn&#8217;t have the intermediate metrics on hand, the manager&#8217;s story doesn&#8217;t reach far enough down, and eventually a tech lead is explaining how the system works to an audience that just needs an answer. No one in that chain has done anything wrong; <strong>the chain simply doesn&#8217;t convey context in the same way that it carries numbers.</strong></p><h3>Mapping what drives what</h3><p>The best way to avoid this common deficit is to capture the causal relationships between metrics up, down, and across the product stack. When a top-line business metric moves, it&#8217;s because other metrics beneath it are moving, and usually more than one of them could be behind it. If an organization can&#8217;t see those relationships, it can&#8217;t explain why the top-line metric is moving, and that&#8217;s a problem for the business.</p><p>For example, imagine that revenue starts to decline. Often revenue drops because quality degraded, and quality degraded because of an underlying systems issue like CPU utilization spiking (see Figure 2). If leadership only sees the revenue decline and assumes it&#8217;s a pricing issue, the organization risks spending time solving for the wrong problem. Engineering cycles get burned, the metric stays red, leadership loses confidence, and the actual root cause continues to compound underneath.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7x37!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c177729-e4e1-4483-ad1c-3d609114df03_1070x1346.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7x37!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c177729-e4e1-4483-ad1c-3d609114df03_1070x1346.png 424w, https://substackcdn.com/image/fetch/$s_!7x37!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c177729-e4e1-4483-ad1c-3d609114df03_1070x1346.png 848w, https://substackcdn.com/image/fetch/$s_!7x37!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c177729-e4e1-4483-ad1c-3d609114df03_1070x1346.png 1272w, https://substackcdn.com/image/fetch/$s_!7x37!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c177729-e4e1-4483-ad1c-3d609114df03_1070x1346.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7x37!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c177729-e4e1-4483-ad1c-3d609114df03_1070x1346.png" width="490" height="616.392523364486" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7c177729-e4e1-4483-ad1c-3d609114df03_1070x1346.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1346,&quot;width&quot;:1070,&quot;resizeWidth&quot;:490,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!7x37!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c177729-e4e1-4483-ad1c-3d609114df03_1070x1346.png 424w, https://substackcdn.com/image/fetch/$s_!7x37!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c177729-e4e1-4483-ad1c-3d609114df03_1070x1346.png 848w, https://substackcdn.com/image/fetch/$s_!7x37!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c177729-e4e1-4483-ad1c-3d609114df03_1070x1346.png 1272w, https://substackcdn.com/image/fetch/$s_!7x37!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c177729-e4e1-4483-ad1c-3d609114df03_1070x1346.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 aria-hidden="true" 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><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"><em>Figure 2. Pricing held steady, so it isn&#8217;t the cause. The revenue drop traces to quality, and quality to CPU utilization.</em></figcaption></figure></div><h3>Two tests for every metric</h3><p>The work starts with cutting, not adding. Most product and engineering teams approach metrics as an additive exercise: </p><ul><li><p>What else should we measure?</p></li><li><p>What dashboard should we build?</p></li><li><p>What new instrumentation should we add?</p></li></ul><p>New initiatives bring new metrics, and old ones rarely get retired, resulting in accumulation. Product and engineering leadership should review the metrics they currently track together and eliminate everything that doesn&#8217;t pass the two tests (see Figure 3): </p><ol><li><p>What decision could this metric change, and for whom?</p></li><li><p>If it turns red, can the team explain why?</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9K1P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c2f8bed-aacd-4eee-99b1-9d1df4141308_1458x1822.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9K1P!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c2f8bed-aacd-4eee-99b1-9d1df4141308_1458x1822.png 424w, https://substackcdn.com/image/fetch/$s_!9K1P!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c2f8bed-aacd-4eee-99b1-9d1df4141308_1458x1822.png 848w, https://substackcdn.com/image/fetch/$s_!9K1P!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c2f8bed-aacd-4eee-99b1-9d1df4141308_1458x1822.png 1272w, https://substackcdn.com/image/fetch/$s_!9K1P!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c2f8bed-aacd-4eee-99b1-9d1df4141308_1458x1822.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9K1P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c2f8bed-aacd-4eee-99b1-9d1df4141308_1458x1822.png" width="490" height="612.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c2f8bed-aacd-4eee-99b1-9d1df4141308_1458x1822.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1820,&quot;width&quot;:1456,&quot;resizeWidth&quot;:490,&quot;bytes&quot;:278497,&quot;alt&quot;:&quot;&quot;,&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://blog.strongops.io/i/200333521?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c2f8bed-aacd-4eee-99b1-9d1df4141308_1458x1822.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!9K1P!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c2f8bed-aacd-4eee-99b1-9d1df4141308_1458x1822.png 424w, https://substackcdn.com/image/fetch/$s_!9K1P!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c2f8bed-aacd-4eee-99b1-9d1df4141308_1458x1822.png 848w, https://substackcdn.com/image/fetch/$s_!9K1P!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c2f8bed-aacd-4eee-99b1-9d1df4141308_1458x1822.png 1272w, https://substackcdn.com/image/fetch/$s_!9K1P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c2f8bed-aacd-4eee-99b1-9d1df4141308_1458x1822.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 aria-hidden="true" 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><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">Figure 3. Two tests for every metric: (1) What decision could it change? (2) If it turns red, can you explain why?</figcaption></figure></div><p>When in doubt, discard the metric. If you&#8217;re not adding some back in later, you didn&#8217;t cut enough in the first place.</p><p>This is a joint exercise. An engineering manager runs the tests against the metrics their team tracks. If a metric helps the engineer on-call debug an incident, it&#8217;s an operational metric: keep it on the team dashboard. If it tells the C-Suite how much revenue the product is generating, it&#8217;s a business metric: present it to leadership. If nobody can answer the question, throw it away! P&amp;L owners should be running the same test from the other direction: For every metric I&#8217;m being shown, what decision am I supposed to make with it? If the answer isn&#8217;t clear, push back.</p><p>For each metric that survives, someone needs to own the question: If it turns red tomorrow, can the team explain why? Not speculate, or bring in a tech lead to do an architecture deep dive, but actually explain what moved and the cause? If the answer is no, then causal relationships haven&#8217;t been established. Product and engineering leadership must assign this work as part of how the team ships, with dedicated resources and accountability for finishing it.</p><h3>What this costs leadership, and who can fix it</h3><p>When the effort of understanding metrics is positioned as a separate initiative, it is often starved. Feature work is tied to revenue and will always win the resource fight, and it should. The way to fund an effective metrics effort is not to give it its own line item, but to build it into how teams ship, so that it draws from the same budget and the same engineering cycles.</p><p>P&amp;L owners should look for excellence in metrics embedded in their teams&#8217; shipping process, not sitting on a separate roadmap competing for resources it will never win. If the metrics reaching the quarterly review can&#8217;t be traced back to the system behavior that drives them, then the organization hasn&#8217;t done the work yet, and the P&amp;L owner is the person with the authority and the budget to make it happen.</p><h3>What world class organizations do</h3><p>In order to know what&#8217;s actually driving the business, product and engineering should map the relationships between metrics top to bottom as part of planning and shipping. Product defines which outcomes matter, and engineering maps how the system metrics drive those outcomes.</p><p>Together the product team, and the engineering organization supporting it, must be able to trace the metric&#8217;s movement. If it turns red, can a manager point to the intermediate metrics that explain why, and follow the breadcrumbs from business outcome, through service behavior, to root cause? If not, as soon as the top-line business metric moves out of range, it&#8217;s time for a code red.</p><p>If this feels familiar, know that it&#8217;s nearly universal. <strong>The work ahead is figuring out which metrics should stay or go, and developing the capability to understand the ones you keep. </strong>Pick a place to start, keep it simple, and focus on an area where you&#8217;re most likely to earn early wins: for example, the service your team knows best, or the one you most recently had to do a deep dive on due to an incident. In practice this means running those two tests for each metric you are examining. The goal is to understand what the metric tells you, and whether it matters.</p><p>Working from the metrics that have passed the tests, narrow the scope to what the organization is actually trying to answer. Don&#8217;t attempt to map causal relationships across the entire product ecosystem. Focus on the three to five services that matter most to the business. If it&#8217;s not obvious which ones those are, then product and engineering leadership must ask together: Which services have triggered a code red in the past, which ones directly generate revenue, and which ones would have leadership asking questions within an hour of going down? Once there&#8217;s a short list, you can bring it to the P&amp;L owner for alignment.</p><h3>Mechanics for engineering teams</h3><p>The following practices have proven valuable to engineering teams. P&amp;L owners may find it useful to understand what they&#8217;re funding, but the suggestions here are for the people doing the work.</p><p>What are some good mechanics to use for embarking on this process? It depends on where your engineering team is at, in terms of maturity.</p><p>If the engineering team doesn&#8217;t have production on-call handoffs, now is a great time to set them up:</p><ul><li><p>Schedule a weekly team sync where the outgoing engineer hands off context about what happened in production to the incoming engineer.</p></li></ul><ul><li><p>Use this forum to identify and discuss emerging trends and, importantly, make decisions about what to do and who will do it. For example, what do you do with an inactionable alert?</p></li></ul><ul><li><p>Discuss, investigate, and assign an owner to address issues before fatigue sets in and people on rotation start ignoring signals (like ignoring alerts in the example above).</p></li></ul><p>If the engineering team is already doing handoffs:</p><ul><li><p>Establish a cadence of internal metrics reviews.</p></li><li><p>Devote the first 10 minutes of the handoff meeting to reviewing the metrics that the team currently tracks: Are they behaving as expected, are any missing, and does each one still belong in the review?</p></li><li><p>Once you&#8217;ve got a good internal metrics review cadence going, start a forum with peer teams where each one presents the metrics they track for their services and how they interpret them. This is where you pressure test whether what you&#8217;re projecting outside the team holds up, practice explaining your metrics to people who don&#8217;t share your context, and discover causal relationships that cross team boundaries.</p></li></ul><p>These practices will surface gaps, and that&#8217;s what makes them so valuable. Metrics that can&#8217;t be explained, alerts that aren&#8217;t actionable, and causal relationships that haven&#8217;t been mapped, are all important information. Often the gaps accumulate into an operational backlog which sits alongside the feature roadmap, and in most organizations the feature roadmap draws the resources first. <strong>The way forward is to treat the gaps as part of the feature work itself.</strong> If a feature moves a metric, explaining why is part of shipping that feature, not a separate item for a separate backlog.</p><h3>A final word</h3><p>Developing metrics as an effective tool for decision making is a process that begins with collecting the right data, and grows in importance and impact as that data reaches more people. It&#8217;s important that this develops alongside a capacity to reason about what the numbers really mean. <strong>An organization where understanding flows upward alongside the numbers will always be in a stronger position to make strong, data-driven decisions.</strong></p><p></p><div><hr></div><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.strongops.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Strong Ops! Subscribe for free to receive new insights about operations, software, and technologysoftware and .</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item></channel></rss>