<?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[Software Team Dynamics 101]]></title><description><![CDATA[Your real world guidebook to create happy and productive software development teams.]]></description><link>https://www.pmahajan.org</link><image><url>https://substackcdn.com/image/fetch/$s_!79uO!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3aef27a-1b6a-442c-b4a1-7034b1ffd1ce_960x960.png</url><title>Software Team Dynamics 101</title><link>https://www.pmahajan.org</link></image><generator>Substack</generator><lastBuildDate>Mon, 18 May 2026 04:52:23 GMT</lastBuildDate><atom:link href="https://www.pmahajan.org/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Pranshu Mahajan]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[teamdynamics101@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[teamdynamics101@substack.com]]></itunes:email><itunes:name><![CDATA[Pranshu Mahajan]]></itunes:name></itunes:owner><itunes:author><![CDATA[Pranshu Mahajan]]></itunes:author><googleplay:owner><![CDATA[teamdynamics101@substack.com]]></googleplay:owner><googleplay:email><![CDATA[teamdynamics101@substack.com]]></googleplay:email><googleplay:author><![CDATA[Pranshu Mahajan]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The Meeting Tax]]></title><description><![CDATA[Quantifying how much productive time your team is actually losing]]></description><link>https://www.pmahajan.org/p/the-meeting-tax</link><guid isPermaLink="false">https://www.pmahajan.org/p/the-meeting-tax</guid><dc:creator><![CDATA[Pranshu Mahajan]]></dc:creator><pubDate>Thu, 26 Feb 2026 09:59:07 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1629594267100-28ec56c73ace?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0aW1lJTIwaXMlMjBtb25leXxlbnwwfHx8fDE3NzIwMjQyNzd8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1629594267100-28ec56c73ace?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0aW1lJTIwaXMlMjBtb25leXxlbnwwfHx8fDE3NzIwMjQyNzd8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1629594267100-28ec56c73ace?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0aW1lJTIwaXMlMjBtb25leXxlbnwwfHx8fDE3NzIwMjQyNzd8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1629594267100-28ec56c73ace?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0aW1lJTIwaXMlMjBtb25leXxlbnwwfHx8fDE3NzIwMjQyNzd8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1629594267100-28ec56c73ace?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0aW1lJTIwaXMlMjBtb25leXxlbnwwfHx8fDE3NzIwMjQyNzd8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1629594267100-28ec56c73ace?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0aW1lJTIwaXMlMjBtb25leXxlbnwwfHx8fDE3NzIwMjQyNzd8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1629594267100-28ec56c73ace?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0aW1lJTIwaXMlMjBtb25leXxlbnwwfHx8fDE3NzIwMjQyNzd8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080" width="588" height="588" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1629594267100-28ec56c73ace?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0aW1lJTIwaXMlMjBtb25leXxlbnwwfHx8fDE3NzIwMjQyNzd8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3104,&quot;width&quot;:3104,&quot;resizeWidth&quot;:588,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;clear hour glass with coins&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="clear hour glass with coins" title="clear hour glass with coins" srcset="https://images.unsplash.com/photo-1629594267100-28ec56c73ace?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0aW1lJTIwaXMlMjBtb25leXxlbnwwfHx8fDE3NzIwMjQyNzd8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1629594267100-28ec56c73ace?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0aW1lJTIwaXMlMjBtb25leXxlbnwwfHx8fDE3NzIwMjQyNzd8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1629594267100-28ec56c73ace?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0aW1lJTIwaXMlMjBtb25leXxlbnwwfHx8fDE3NzIwMjQyNzd8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1629594267100-28ec56c73ace?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHx0aW1lJTIwaXMlMjBtb25leXxlbnwwfHx8fDE3NzIwMjQyNzd8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/@rdiazcaris">Ricardo D&#237;az</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p></p><p>Every software engineer has had <em>that</em> Wednesday.</p><p>You know the one. You open your calendar in the morning and it looks like a game of Tetris played by someone who has never seen an L-shaped block. Standup at 9:15. Refinement at 10. A &#8220;<em>quick sync</em>&#8221; at 11 that is never quick. Lunch, if you&#8217;re lucky. Then a sprint review, a cross-team alignment and a 1:1 squeezed into the last hour of the day.</p><p>Somewhere between all of that, you&#8217;re supposed to write code. Or think. Or heaven forbid, solve an actual problem.</p><p>Welcome to the meeting tax. It&#8217;s the silent killer of engineering productivity and almost nobody treats it with the seriousness it deserves.</p><div><hr></div><p>Let&#8217;s get nerdy for a moment.</p><p>In computer science, there&#8217;s a well-known concept called context switching overhead. When an operating system switches between processes, it doesn&#8217;t happen for free. The CPU has to save the current process state, load the new one, flush parts of the cache and warm up again. The switch itself takes time and the performance cost is often larger than you&#8217;d expect because of all the cache misses that follow.</p><p>Human brains work the same way, except worse.</p><p>Research from the University of California found that it takes an average of 23 minutes and 15 seconds to fully return to a task after an interruption. Twenty-three minutes. Now think about that engineer with six meetings spread across the day. Each meeting isn&#8217;t just 30 or 60 minutes of time. It&#8217;s the meeting itself plus the context switch tax on both sides.</p><p>A 30-minute meeting in the middle of an afternoon doesn&#8217;t cost you 30 minutes. It costs you roughly 75 minutes once you account for the wind-down, the meeting itself and the ramp-up to get back into whatever you were doing before. That&#8217;s not a rounding error. That&#8217;s a 2.5x multiplier.</p><p>If your engineers have four meetings a day, you&#8217;re not losing four hours. You&#8217;re losing something closer to five or six hours of effective deep work. On an eight-hour day, that leaves maybe two hours of actual focused building time. <em>And we wonder why estimates slip.</em></p><div><hr></div><p>Here&#8217;s where it gets interesting.</p><p>Meetings aren&#8217;t inherently evil. I want to be clear about that. Some meetings are genuinely useful. A well-run design review can save weeks of wasted effort. A good retrospective can change how a team operates. A difficult conversation handled in person (or on a call) can resolve what would otherwise fester for months in Slack threads.</p><p>The problem isn&#8217;t meetings. The problem is that we&#8217;ve built a culture where scheduling a meeting is the default response to uncertainty. </p><p>Someone doesn&#8217;t know what&#8217;s happening? Meeting. </p><p>Two teams need to agree on something? Meeting. </p><p>A stakeholder wants visibility? Meeting. </p><p>Nobody read the document you shared? Believe it or not, also a meeting.</p><p>It&#8217;s like malloc() without free(). We keep allocating meetings but we never release them. The calendar fills up. The garbage collector never runs. Eventually the whole system starts thrashing.</p><p>In operating systems, thrashing is what happens when the system spends more time swapping between processes than actually executing them. If that metaphor doesn&#8217;t perfectly describe your average Tuesday, I don&#8217;t know what does.</p><div><hr></div><p>I&#8217;ve worked in teams where people spent 60 to 70 percent of their week in meetings and then wondered why we weren&#8217;t shipping on time. The answer was staring at them from their own calendars.</p><p>Let me share a pattern I&#8217;ve seen play out multiple times. A team starts a new quarter with ambitious goals. Energy is high. Then meetings begin to accumulate. Alignment meetings. Status updates. Steering committees. Check-ins on the check-ins. By mid-quarter, engineers are coding in the margins of their day. Early mornings. Late evenings. Weekends. They&#8217;re putting in more hours but producing less.</p><p>Leadership sees the declining output and responds predictably: more meetings to figure out what&#8217;s wrong. The irony writes itself.</p><p>At some point someone bravely suggests &#8220;<em>meeting-free Wednesdays</em>&#8221; and for a week or two it works, until someone books a &#8220;<em>critical</em>&#8221; meeting on a Wednesday because it was the only slot that worked for everyone. The dam breaks. Wednesday returns to normal. The experiment is declared a failure.</p><p>The truth is, meeting-free days are a band-aid. They treat the symptom, not the disease. The disease is a culture that doesn&#8217;t value uninterrupted time. That treats calendar availability as a resource to be consumed rather than protected.</p><div><hr></div><p>If you want to actually fix this, you need to start thinking about meetings the way you think about technical debt. Because that&#8217;s exactly what they are. Organizational debt.</p><p>Every recurring meeting that no longer serves its purpose is debt. Every &#8220;<em>just in case</em>&#8221; sync is debt. Every meeting that could have been a Loom video or a Confluence page or a well-written Slack message is debt. And like technical debt, it compounds. One unnecessary meeting becomes three because people start scheduling pre-meetings and follow-up meetings to compensate for the first meeting being unfocused.</p><p>Here are a few things I&#8217;ve seen work in practice.</p><p>First, make the cost visible. Most people have no idea how much their meetings actually cost. Do the math for them. If you have 8 engineers in a room for an hour, that&#8217;s 8 engineering hours. At a fully loaded cost of, say, $150 per hour, that&#8217;s a $1,200 meeting. Ask yourself: did we get $1,200 of value from that hour? If the answer is no, that&#8217;s not a meeting. That&#8217;s a slow bleed.</p><p>Second, apply a &#8220;<em>two pizza</em>&#8221; rule to meetings, not teams. Amazon&#8217;s two-pizza rule was about team size, but it applies beautifully to meetings. If the meeting has more than eight people, it&#8217;s almost certainly a broadcast, not a collaboration. Turn it into a slack message. Or a recorded video. Or a document with a comment thread.</p><p>Third, default to 25 minutes instead of 30 and 50 instead of 60. This isn&#8217;t just about giving people a bathroom break between calls (though that matters more than anyone admits). It&#8217;s about creating a forcing function for focus. When you know you only have 25 minutes, you skip the 7 minutes of small talk about the weather and get to the point. Parkinson&#8217;s Law is real: work expands to fill the time available for its completion. Give it less time.</p><p>Fourth, require an agenda. No agenda, no meeting. This single rule eliminates a surprising number of meetings because it forces the organizer to actually think about what they want to accomplish. If you can&#8217;t articulate the purpose of a meeting in three bullet points, you don&#8217;t need a meeting. You need to think more.</p><p>Fifth and this is the hardest one, protect your team&#8217;s maker schedule. Paul Graham wrote about this years ago: managers operate on a manager&#8217;s schedule where a meeting is just another block in the day, but makers (engineers, designers, writers) operate on a maker&#8217;s schedule where a single meeting can blow up an entire afternoon. If you&#8217;re a leader, your job is to be the shield. Take the meetings so your team doesn&#8217;t have to. Batch the necessary ones together. Fight for contiguous blocks of deep work time.</p><div><hr></div><p>There&#8217;s a deeper philosophical point here too.</p><p>We&#8217;ve built an industry that confuses visibility with productivity. Being in meetings makes you <em>look</em> busy. Being available on Slack makes you <em>look</em> responsive. Having a packed calendar makes you <em>look</em> important. None of these things correlate with actually shipping software that works well and solves real problems.</p><p>The best engineering work I&#8217;ve ever seen happened when teams had space. Space to think. Space to experiment. Space to sit with a problem long enough to find an elegant solution instead of a quick hack. You can&#8217;t create that space when every hour is pre-allocated.</p><p>I sometimes think about the great works of computer science. Dijkstra didn&#8217;t discover his shortest path algorithm between a standup and a sprint review. Knuth didn&#8217;t write The Art of Computer Programming in 25-minute increments between syncs. These things required deep, sustained, uninterrupted thought. We don&#8217;t all need to be Dijkstra. But we do need to respect that the same principle applies at every level: good work requires focus and focus requires time.</p><div><hr></div><p>Here&#8217;s my challenge to anyone reading this who supports a team or runs an organization.</p><p>Open your team&#8217;s calendars. Not yours. Theirs. Look at next week. Count the hours of meetings for each engineer. Multiply each meeting by 2.5 to get the true cost in focus time. Now look at what&#8217;s left. Is it enough? Is it enough to do the work you&#8217;re expecting them to do?</p><p>If the answer makes you uncomfortable, good. That discomfort is the beginning of change.</p><p>The meeting tax is real. It&#8217;s measurable. And unlike actual taxes, you can do something about it. You just have to decide that your team&#8217;s time is worth protecting.</p><p>Stop scheduling. Start cancelling.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pmahajan.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pmahajan.org/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[From High Performers to High Performing Teams]]></title><description><![CDATA[You can hire stars, but you still need a formation that lets them play together]]></description><link>https://www.pmahajan.org/p/from-high-performers-to-high-performing</link><guid isPermaLink="false">https://www.pmahajan.org/p/from-high-performers-to-high-performing</guid><dc:creator><![CDATA[Pranshu Mahajan]]></dc:creator><pubDate>Fri, 28 Nov 2025 08:54:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!uCkP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ebc5838-51f4-4c6e-a377-4e182bc50882_3024x4032.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_!uCkP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ebc5838-51f4-4c6e-a377-4e182bc50882_3024x4032.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uCkP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ebc5838-51f4-4c6e-a377-4e182bc50882_3024x4032.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uCkP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ebc5838-51f4-4c6e-a377-4e182bc50882_3024x4032.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uCkP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ebc5838-51f4-4c6e-a377-4e182bc50882_3024x4032.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uCkP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ebc5838-51f4-4c6e-a377-4e182bc50882_3024x4032.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uCkP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ebc5838-51f4-4c6e-a377-4e182bc50882_3024x4032.jpeg" width="1456" height="1941" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ebc5838-51f4-4c6e-a377-4e182bc50882_3024x4032.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1941,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:977530,&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://www.pmahajan.org/i/180004160?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ebc5838-51f4-4c6e-a377-4e182bc50882_3024x4032.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_!uCkP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ebc5838-51f4-4c6e-a377-4e182bc50882_3024x4032.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uCkP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ebc5838-51f4-4c6e-a377-4e182bc50882_3024x4032.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uCkP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ebc5838-51f4-4c6e-a377-4e182bc50882_3024x4032.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uCkP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ebc5838-51f4-4c6e-a377-4e182bc50882_3024x4032.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/@joshua_hoehne?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Joshua Hoehne</a> on <a href="https://unsplash.com/photos/white-soccer-ball-on-green-grass-field-kl6VSadl5mA?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure></div><p>There is a famous story about the England football team in the 2000s. They had world class talent across the pitch. Lampard, Gerrard, Rooney, Beckham, Terry, Scholes. A lineup any manager should be thrilled to work with. Yet the team never delivered on its potential. They played like a collection of talented individuals who never fully became a unit. Everyone had ability. The problem was how they played together.</p><p>In tech and in many modern organizations we love to repeat the phrase &#8220;<em>hire great people and get out of the way</em>&#8221;. It is simple and attractive. It taps into the idea that autonomy fuels creativity and that smart people can figure things out on their own. There is truth in that, but it is not the whole story.</p><p>Getting out of the way works when the person you hired is doing work that depends heavily on individual contribution. A developer deep in a piece of logic. A designer working through a tricky flow. A researcher analyzing data patterns. These moments benefit from focus. You do not need a manager standing over someone&#8217;s shoulder telling them how to do their craft.</p><p>But once the work shifts from individual execution to team outcomes the equation changes. Building software, running a product organization or driving a strategic change is not an individual sport. It looks more like football. Complex interactions. Shared dependencies. Decisions that cross boundaries. People with different skills trying to solve one problem together.</p><p>This is the point where &#8220;<em>get out of the way</em>&#8221; stops being helpful. You can hire ten brilliant people, give them no direction and end up with ten different interpretations of the goal. You get duplicated effort, competing priorities, unclear ownership and frustration. Talent without alignment is noise.</p><div><hr></div><p>Leaders have a real job here. Not to micromanage and not to control every detail. Their job is to create the structure that allows talented people to operate as a team. This sounds simple. It rarely is. </p><ul><li><p>It means getting clear on the purpose of the work. </p></li><li><p>It means agreeing on what success looks like. </p></li><li><p>It means setting constraints that focus the team rather than restrict them. Constraints like scope, priorities, time horizons, decision-making rules and how teams hand work over to each other.</p></li></ul><p>This is the same lesson England learned the hard way. You can fill a pitch with stars and still struggle if the formation does not make sense. If the players do not understand how to work off each other. If the system does not support the way they naturally operate. Talent is only useful when the environment turns that talent into something coherent.</p><p>A leader&#8217;s job is to shape that environment. To design how the team works. To make sure people understand the strategy and the direction. To create interfaces between roles so that collaboration feels natural rather than forced. To remove blockers. To prevent thrash. To help the team make good decisions quickly instead of waiting for clarity that never comes.</p><div><hr></div><p>There is another layer to this. Great people often carry strong opinions about how to work. In a team setting those opinions can collide. A leader needs to help the team navigate those disagreements. Not by picking sides, but by guiding the team toward shared principles. This is part of the formation. It is how you turn individual strengths into collective strength.</p><p>So yes, hire skilled people. Hire people who care about the craft. Hire people who bring ideas and energy and depth. Then put just as much care into helping them function as a real team. The magic is not in the r&#233;sum&#233;s. It is in how the people connect. It is in how they move together. It is in the system around them.</p><p>High performance rarely appears just because you assemble high performers. It appears when leadership builds the conditions where collaboration becomes a force multiplier. That is the job. That is the impact. And that is when work starts to feel less like coordination and more like a team playing to its strengths.</p><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pmahajan.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pmahajan.org/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[The Hidden Cost of “Quick Wins”]]></title><description><![CDATA[and how they sabotage in long run]]></description><link>https://www.pmahajan.org/p/the-hidden-cost-of-quick-wins</link><guid isPermaLink="false">https://www.pmahajan.org/p/the-hidden-cost-of-quick-wins</guid><dc:creator><![CDATA[Pranshu Mahajan]]></dc:creator><pubDate>Wed, 29 Oct 2025 19:35:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!jrma!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87b2dcf-3cc5-45f3-80a3-e754039147f0_640x427.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jrma!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87b2dcf-3cc5-45f3-80a3-e754039147f0_640x427.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jrma!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87b2dcf-3cc5-45f3-80a3-e754039147f0_640x427.jpeg 424w, https://substackcdn.com/image/fetch/$s_!jrma!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87b2dcf-3cc5-45f3-80a3-e754039147f0_640x427.jpeg 848w, https://substackcdn.com/image/fetch/$s_!jrma!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87b2dcf-3cc5-45f3-80a3-e754039147f0_640x427.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!jrma!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87b2dcf-3cc5-45f3-80a3-e754039147f0_640x427.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jrma!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87b2dcf-3cc5-45f3-80a3-e754039147f0_640x427.jpeg" width="640" height="427" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d87b2dcf-3cc5-45f3-80a3-e754039147f0_640x427.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:427,&quot;width&quot;:640,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:108055,&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://www.pmahajan.org/i/176943732?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87b2dcf-3cc5-45f3-80a3-e754039147f0_640x427.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_!jrma!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87b2dcf-3cc5-45f3-80a3-e754039147f0_640x427.jpeg 424w, https://substackcdn.com/image/fetch/$s_!jrma!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87b2dcf-3cc5-45f3-80a3-e754039147f0_640x427.jpeg 848w, https://substackcdn.com/image/fetch/$s_!jrma!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87b2dcf-3cc5-45f3-80a3-e754039147f0_640x427.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!jrma!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87b2dcf-3cc5-45f3-80a3-e754039147f0_640x427.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/@floriancordier?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Florian Cordier</a> on <a href="https://unsplash.com/photos/a-bunch-of-trophies-sitting-on-top-of-a-table-E6R0Kn8TKQg?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure></div><p></p><p>In every software company, there&#8217;s a moment when a team looks at a problem and says, <em>we can fix this fast.</em></p><p>It&#8217;s a tempting phrase. Quick wins feel good. They create the illusion of momentum. They give stakeholders confidence that things are moving. They help teams prove they can deliver.</p><p>But most of the time, quick wins aren&#8217;t really wins. They&#8217;re shortcuts dressed up as progress.</p><p>In the short term, they make people feel productive. In the long term, they quietly erode trust, stability and focus. The debt they create isn&#8217;t just technical. It&#8217;s organizational. It builds slowly, disguised as speed, until one day everything slows down and no one knows why.</p><p>I&#8217;ve seen this pattern play out in every kind of team; from scrappy startups to scaled engineering organizations. The impulse comes from a good place. Someone wants to show impact fast. A customer needs something urgently. A new leader wants to prove value. So the team skips one layer of design, compromises on testing or defers integration with the main system until <em>later.</em></p><p>Later never comes.</p><p>That&#8217;s the thing about quick wins. They multiply. Once a company gets used to chasing them, they become the default operating mode. The team stops asking whether the work aligns with strategy. They just ask how fast it can be done.</p><p>Leadership starts rewarding firefighting instead of focus. Engineers learn that fixing what&#8217;s visible matters more than building what&#8217;s right.</p><p>It feels great at first.</p><p>Number of things <em>done </em>goes up. Releases become more frequent. Dashboards show movement. But under the surface, something starts to rot. The codebase becomes harder to change. Teams spend more time debugging than developing. Every new project needs another workaround for the last one. Eventually, the company reaches a point where progress looks busy but feels heavy.</p><div><hr></div><p>One of my favorite examples came from a company where we shipped &#8220;<em>quick wins</em>&#8221; for almost a year straight. Every sprint, something new went out. Sales loved it. The board loved it. Customers thought we were unstoppable. Then we hit a wall.</p><p>A simple change request from a key customer took six weeks to deliver. Every part of the system was entangled with temporary fixes and &#8220;<em>short-term</em>&#8221; logic that had never been rewritten. We hadn&#8217;t built a product. We had built a collection of patches held together by optimism and duct tape.</p><p>When you peel it back, the core problem is that most organizations confuse urgency with importance. A quick win feels urgent because it&#8217;s visible. A scalable solution feels important but abstract. It&#8217;s hard to show progress when the work is mostly invisible i.e. refactoring, architecture decisions, infrastructure improvements etc.</p><p>Those things take time, yet they&#8217;re the only foundation for lasting speed.</p><div><hr></div><p>Quick wins don&#8217;t just accumulate in code. They seep into culture.</p><p>Teams learn that short-term wins get celebrated and long-term work gets questioned. Product managers start optimizing for the next demo instead of the next quarter. Leadership reviews become a showcase of small wins instead of a reflection on outcomes. People start to believe that shipping something is always better than waiting.</p><p>The result is a culture addicted to motion without meaning.</p><p>There&#8217;s a simple test for whether a quick win is worth doing. Ask yourself if it moves the system forward or just hides the problem.</p><p>Sometimes, a quick win genuinely helps. For example, adding a short-term manual process to validate an idea before automating it can be smart. It tests assumptions before investing heavily. But shipping an unscalable feature because &#8220;<em>we&#8217;ll fix it later</em>&#8221; isn&#8217;t a win. It&#8217;s a delay of pain.</p><div><hr></div><p>Good leaders know that momentum is not the same as progress. They protect their teams from the illusion of speed. They push for clarity on what actually matters. They slow down when things start moving too fast. They help everyone remember that the goal isn&#8217;t to look productive; it&#8217;s to be effective.</p><p>Actual progress in software feels almost boring. It&#8217;s when teams quietly strengthen the foundations. It&#8217;s when engineers delete code instead of adding it. It&#8217;s when the organization says no to things that don&#8217;t align with strategy, even when those things could be done quickly.</p><p>It takes discipline to say no to quick wins. It takes even more discipline to build systems that make quick wins unnecessary.</p><p>If you find yourself chasing short-term deliverables over long-term direction, take a step back. Look at your roadmap. Look at how much of it is reactive. Look at what you&#8217;ve postponed in the name of speed. That&#8217;s your real backlog.</p><p>Quick wins feel satisfying, but sustainable success comes from the unglamorous work of making better decisions, not faster ones.</p><p>In the end, the best teams don&#8217;t chase quick wins. They build durable systems that keep winning, long after the rush has worn off.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pmahajan.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pmahajan.org/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Stop Measuring Time, Start Measuring Outcomes ]]></title><description><![CDATA[We&#8217;ve built an industry obsessed with tracking time instead of value. It&#8217;s time to fix that.]]></description><link>https://www.pmahajan.org/p/stop-measuring-time-start-measuring</link><guid isPermaLink="false">https://www.pmahajan.org/p/stop-measuring-time-start-measuring</guid><pubDate>Tue, 14 Oct 2025 15:38:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wRCB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1015c78a-b18e-41f3-b386-219714671ca3_3948x2221.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_!wRCB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1015c78a-b18e-41f3-b386-219714671ca3_3948x2221.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wRCB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1015c78a-b18e-41f3-b386-219714671ca3_3948x2221.jpeg 424w, https://substackcdn.com/image/fetch/$s_!wRCB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1015c78a-b18e-41f3-b386-219714671ca3_3948x2221.jpeg 848w, https://substackcdn.com/image/fetch/$s_!wRCB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1015c78a-b18e-41f3-b386-219714671ca3_3948x2221.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!wRCB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1015c78a-b18e-41f3-b386-219714671ca3_3948x2221.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wRCB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1015c78a-b18e-41f3-b386-219714671ca3_3948x2221.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1015c78a-b18e-41f3-b386-219714671ca3_3948x2221.jpeg&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;:1114032,&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://www.pmahajan.org/i/148966872?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1015c78a-b18e-41f3-b386-219714671ca3_3948x2221.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_!wRCB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1015c78a-b18e-41f3-b386-219714671ca3_3948x2221.jpeg 424w, https://substackcdn.com/image/fetch/$s_!wRCB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1015c78a-b18e-41f3-b386-219714671ca3_3948x2221.jpeg 848w, https://substackcdn.com/image/fetch/$s_!wRCB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1015c78a-b18e-41f3-b386-219714671ca3_3948x2221.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!wRCB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1015c78a-b18e-41f3-b386-219714671ca3_3948x2221.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/@dilucidus?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Kai Dahms</a> on <a href="https://unsplash.com/photos/fire-control-panel--5paXZX8lWk?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure></div><p></p><p>If there&#8217;s one thing I&#8217;ve learned leading software delivery teams, it&#8217;s that time tracking is the easiest metric to measure and the least meaningful one.<br>We&#8217;ve built entire dashboards around hours logged, sprint velocity and burn-down charts. Yet none of them tell us if we actually moved the needle for the business or the user.</p><p>Somewhere along the way, measuring time became a substitute for measuring value.</p><p>We love numbers because they make us feel in control. When teams are behind, we measure harder. When they&#8217;re overworked, we add more tracking. But in all honesty, time is a poor proxy for progress. In high-performing teams, impact replaces effort as the primary unit of measurement.</p><div><hr></div><p>I&#8217;ve seen teams spend months delivering exactly on schedule, only to realize that what they built didn&#8217;t solve the problem it was meant to. They hit every milestone, every sprint goal and every release date. The product just didn&#8217;t matter.</p><p>When you measure time, you optimize for busyness. You reward people for being available, not for making decisions that improve outcomes. You build systems that look efficient on paper but are disconnected from customer value.</p><p>A team working ten focused hours in the right direction achieves more than a team working fifty hours in the wrong one. Yet we continue to celebrate utilization instead of effectiveness.</p><div><hr></div><p>If you want to understand whether your teams are truly delivering, shift your attention to outcomes that matter.</p><p><strong>1. Cycle time to customer impact</strong><br>How quickly does an idea become something a user can experience?</p><p><strong>2. Adoption and retention metrics</strong><br>Are people using what we built, and does it actually make their job easier or faster?</p><p><strong>3. Learning rate</strong><br>How fast can the team validate assumptions and adapt based on feedback?</p><p><strong>4. Operational resilience</strong><br>How often does something break and how long does it take to recover?</p><p><strong>5. Team health and predictability</strong><br>Are people proud of what they ship and can they consistently deliver value without burning out?</p><p>These are not softer KPIs. They&#8217;re leading indicators of organizational health. When teams obsess over outcomes instead of hours, accountability shifts from <em>&#8220;did you do the work&#8221;</em> to <em>&#8220;did the work make a difference&#8221;</em></p><div><hr></div><p>Time-based metrics often appear in cultures that don&#8217;t yet trust their teams to own results. The assumption is that if people aren&#8217;t closely monitored, they won&#8217;t perform.<br>But high-trust environments work in reverse: autonomy breeds accountability.</p><p>If you can&#8217;t measure trust directly, look for its shadow; psychological safety, ownership and clarity of purpose. When teams know <em>why</em> they&#8217;re building something, they don&#8217;t need a timer to tell them <em>how long</em> to work on it.</p><div><hr></div><p>Every meeting, every sprint, every project should start with a single question:<br><strong>What will be different when this is done?</strong></p><p>If you can answer that clearly, time becomes a byproduct, not the target.</p><p>The best teams I&#8217;ve worked with treat time as a constraint, not a goal. They focus on making the biggest possible impact within that constraint.<br>They optimize for clarity, flow and value; not man-hours or velocity.</p><div><hr></div><h2>The Takeaway</h2><p>Software is not an assembly line. You don&#8217;t win by clocking more hours; you win by making better decisions.</p><p>If your dashboards are full of time metrics, you&#8217;re measuring effort, not effectiveness.<br>Start tracking what actually matters; outcomes that solve problems for customers and reflect value for your business.</p><p>Stop asking <em>&#8220;how long did this take?&#8221;</em><br>Start asking <em>&#8220;was it worth it?&#8221;</em></p><div><hr></div><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pmahajan.org/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 Software Team Dynamics 101! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Busy is not a badge: Why leaders need time to lead]]></title><description><![CDATA[In tech, we often wear busyness as a badge of honor.]]></description><link>https://www.pmahajan.org/p/busy-is-not-a-badge-why-leaders-need</link><guid isPermaLink="false">https://www.pmahajan.org/p/busy-is-not-a-badge-why-leaders-need</guid><dc:creator><![CDATA[Pranshu Mahajan]]></dc:creator><pubDate>Wed, 03 Sep 2025 14:18:33 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/08afafd3-93e8-4a76-909a-e5683ccfd2d6_500x280.gif" 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_!AWQZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25cdbc70-bf5d-47f3-9050-f55a424c774c_500x280.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AWQZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25cdbc70-bf5d-47f3-9050-f55a424c774c_500x280.gif 424w, https://substackcdn.com/image/fetch/$s_!AWQZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25cdbc70-bf5d-47f3-9050-f55a424c774c_500x280.gif 848w, https://substackcdn.com/image/fetch/$s_!AWQZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25cdbc70-bf5d-47f3-9050-f55a424c774c_500x280.gif 1272w, https://substackcdn.com/image/fetch/$s_!AWQZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25cdbc70-bf5d-47f3-9050-f55a424c774c_500x280.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AWQZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25cdbc70-bf5d-47f3-9050-f55a424c774c_500x280.gif" width="500" height="280" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/25cdbc70-bf5d-47f3-9050-f55a424c774c_500x280.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:280,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:919207,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.pmahajan.org/i/169552860?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25cdbc70-bf5d-47f3-9050-f55a424c774c_500x280.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!AWQZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25cdbc70-bf5d-47f3-9050-f55a424c774c_500x280.gif 424w, https://substackcdn.com/image/fetch/$s_!AWQZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25cdbc70-bf5d-47f3-9050-f55a424c774c_500x280.gif 848w, https://substackcdn.com/image/fetch/$s_!AWQZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25cdbc70-bf5d-47f3-9050-f55a424c774c_500x280.gif 1272w, https://substackcdn.com/image/fetch/$s_!AWQZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25cdbc70-bf5d-47f3-9050-f55a424c774c_500x280.gif 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 tech, we often wear busyness as a badge of honor. Slack notifications flood our screens and calendars fill up with back-to-back operational meetings. But there&#8217;s an uncomfortable truth: if you're a leader consistently caught up in day-to-day operations, you're NOT leading. You're managing. And there's a crucial difference.</p><p>True leadership requires space. Space to think deeply, to connect dots, to identify trends and to envision future states. Without it, leaders risk becoming bottlenecks rather than catalysts, losing sight of the strategic direction (aka the North Star), that their teams rely upon.</p><div><hr></div><p>Consider this common scenario: a scaling tech startup has a senior director who is incredibly talented, ambitious and driven. In the early days, being hands-on made sense. But as the team expanded, her involvement in routine operational tasks, like reviewing minor product tweaks, attending every sprint event or responding to every customer complaint, began consuming all her available time. </p><p>Initially, the hands-on approach felt supportive and reassuring to her team. But gradually, a problem emerged. Her engineers, product managers and designers began feeling directionless. Questions like, &#8220;<em>What are we ultimately trying to achieve here?</em>&#8221; or &#8220;<em>What&#8217;s our broader strategic objective?</em>&#8221; became frequent. Her constant operational presence ironically created confusion rather than clarity.</p><div><hr></div><p>This scenario isn't unusual. In tech, especially within high-growth startups, leaders often mistakenly equate activity with effectiveness. Operational involvement gives an immediate sense of productivity and achievement but it's deceptively short-lived. Without dedicated strategic thinking, the team soon hits an inevitable wall: lack of clarity, stalled progress and decreased morale. The short-term gains of micro-involvement evaporate quickly, replaced by a long-term loss of momentum.</p><p>Contrast this with a different scenario - a leader who consciously creates boundaries around operational engagement, prioritizing strategic time. Instead of being omnipresent, this leader trusts her teams to handle daily tasks, intervening only when truly necessary. She dedicates specific time each week for strategic contemplation, market &amp; data analysis and deep dives into industry trends. Her conversations shift from day-to-day troubleshooting to future-oriented strategic dialogues. She asks questions like, &#8220;<em>Where will our industry be in three years?</em>&#8221; and &#8220;<em>How do we position ourselves uniquely in a competitive landscape?</em>&#8221; Her team feels empowered because they have clarity on their North Star and a clear understanding of their role in reaching it.</p><div><hr></div><p>If you're a leader feeling trapped in operational quicksand, it&#8217;s essential to start reclaiming your calendar. Begin with delegation - genuinely trusting your team with execution. Remember, delegation isn&#8217;t just about offloading work; it&#8217;s an act of trust and empowerment that boosts your team's confidence and ownership.</p><p>Next, create dedicated "<em>thinking time</em>" blocks. These are non-negotiable hours on your calendar strictly reserved for reflection and strategic planning. Protect these fiercely; treat them as the most critical meetings of your week, because in reality, they are. During these times, disconnect from immediate tasks, reflect on your organization&#8217;s long-term vision and realign your strategic priorities.</p><div><hr></div><p>Lastly, openly communicate the rationale behind your shift in approach. Make it clear to your team that your stepping back from daily operations isn&#8217;t about disengagement but about giving them the space and clarity to excel while you focus on steering the ship toward success.</p><p>Ultimately, being busy isn't the hallmark of great leadership. Strategic clarity and the ability to guide effectively toward a shared vision are. It&#8217;s time we stop glorifying busyness and start celebrating purposeful leadership.</p><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pmahajan.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pmahajan.org/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[When Good Code Isn't Good Enough]]></title><description><![CDATA[There's a certain beauty in well-written code.]]></description><link>https://www.pmahajan.org/p/when-good-code-isnt-good-enough</link><guid isPermaLink="false">https://www.pmahajan.org/p/when-good-code-isnt-good-enough</guid><dc:creator><![CDATA[Pranshu Mahajan]]></dc:creator><pubDate>Thu, 17 Jul 2025 14:56:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!oOa5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F103236c7-12db-4479-b02b-1ce3d8413bae_5276x5190.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_!oOa5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F103236c7-12db-4479-b02b-1ce3d8413bae_5276x5190.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oOa5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F103236c7-12db-4479-b02b-1ce3d8413bae_5276x5190.jpeg 424w, https://substackcdn.com/image/fetch/$s_!oOa5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F103236c7-12db-4479-b02b-1ce3d8413bae_5276x5190.jpeg 848w, https://substackcdn.com/image/fetch/$s_!oOa5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F103236c7-12db-4479-b02b-1ce3d8413bae_5276x5190.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!oOa5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F103236c7-12db-4479-b02b-1ce3d8413bae_5276x5190.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oOa5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F103236c7-12db-4479-b02b-1ce3d8413bae_5276x5190.jpeg" width="1456" height="1432" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/103236c7-12db-4479-b02b-1ce3d8413bae_5276x5190.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1432,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1342854,&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://www.pmahajan.org/i/168456230?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F103236c7-12db-4479-b02b-1ce3d8413bae_5276x5190.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_!oOa5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F103236c7-12db-4479-b02b-1ce3d8413bae_5276x5190.jpeg 424w, https://substackcdn.com/image/fetch/$s_!oOa5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F103236c7-12db-4479-b02b-1ce3d8413bae_5276x5190.jpeg 848w, https://substackcdn.com/image/fetch/$s_!oOa5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F103236c7-12db-4479-b02b-1ce3d8413bae_5276x5190.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!oOa5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F103236c7-12db-4479-b02b-1ce3d8413bae_5276x5190.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/@aserusainhuu?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash">Aserusainhuu</a> on <a href="https://unsplash.com/photos/good-everything-text-dnkIRQEU1Hk?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash">Unsplash</a></figcaption></figure></div><p></p><p>There's a certain beauty in well-written code. I don't mean the superficial kind; the glossy, polished veneer of neatly arranged functions or the sleek uniformity of carefully placed comments. No, I'm talking about a deeper elegance. It's the quiet harmony that happens when code perfectly solves a customer's pain, addresses a business need or delights a user.</p><p>And yet, sometimes we lose sight of that harmony.</p><p>I've seen developers get caught up in the allure of writing the shiniest, most impressive solution. Something that would make peers whistle in admiration. I am sure I&#8217;ve done it myself. It's human nature to chase after perfection, especially in tech, where the new and exciting forever beckons us onward. But shiny, perfect code that doesn't actually solve the user's problem is about as useful as a beautifully built boat that never touches water.</p><p>This isn't to diminish the importance of technical excellence. Far from it. Caring deeply about technology means making intentional decisions - when to scale up, when to simplify, how complex a solution should really be etc. It means respecting your craft enough to know when a quick and dirty fix isn't enough, and when it&#8217;s exactly what's needed.</p><p>Though the truth is a bit bitter - code isn&#8217;t written for the coder. It&#8217;s written for the user. A feature that doesn't solve a real-world problem, no matter how cleverly coded, is ultimately hollow.</p><p>I recall a team wrestling with a tricky problem: an elegant microservice architecture was on the table, but the business needed a feature yesterday. After hours of debate, it became clear that though the microservice was the <em>better</em> technical solution, a simpler, monolithic feature release would get the job done fast and effectively. They chose the latter, shipped quickly and solved an immediate user problem. Technical purity lost the battle that day, but user satisfaction and business value won the war.</p><p>Does that mean sacrificing quality or technical excellence? Of course not. It means prioritizing carefully, intentionally. It's about knowing when good enough is genuinely good enough and when you truly need the perfect solution.</p><p>Context, as always, is king. There are no easy answers here. Anyone selling you a simple formula isn't telling the full truth. The art of building great software lies in navigating these trade-offs thoughtfully. It's a dance; delicate and sometimes frustrating but always worthwhile.</p><p>And let&#8217;s clear something up: there is no "<em>us vs them</em>". There&#8217;s no "<em>business team</em>" against "<em>product team</em>" against "<em>engineering team</em>". We're all on the same side, working toward the same goals and solving the same problems. The moment we forget that, we've already lost the plot.</p><p>So let's continue to write beautiful code. Let&#8217;s keep pushing the envelope technically, but let&#8217;s never lose sight of the reason we're here in the first place: to solve problems, make things better and build something that truly matters.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pmahajan.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pmahajan.org/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[PDD aka Pressure Driven Development]]></title><description><![CDATA[In the mythical land of Agiletopia, an enchanting place frequently celebrated in corporate fairytales, we encounter a curious beast: Pressure Driven Development, what the townsfolk whisper in hushed tones, PDD. Unlike its nobler cousin Test-Driven Development or its elusive sibling Behavior-Driven Development; PDD thrives in shadows cast by Gantt charts and arbitrary executive deadlines. It emerges when leadership speaks agile but breathes waterfall.]]></description><link>https://www.pmahajan.org/p/pdd-aka-pressure-driven-development</link><guid isPermaLink="false">https://www.pmahajan.org/p/pdd-aka-pressure-driven-development</guid><dc:creator><![CDATA[Pranshu Mahajan]]></dc:creator><pubDate>Thu, 03 Jul 2025 07:30:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!GgKG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacab413-3cf5-419b-a3b7-6e8076a57779_4801x3189.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_!GgKG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacab413-3cf5-419b-a3b7-6e8076a57779_4801x3189.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GgKG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacab413-3cf5-419b-a3b7-6e8076a57779_4801x3189.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GgKG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacab413-3cf5-419b-a3b7-6e8076a57779_4801x3189.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GgKG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacab413-3cf5-419b-a3b7-6e8076a57779_4801x3189.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GgKG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacab413-3cf5-419b-a3b7-6e8076a57779_4801x3189.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GgKG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacab413-3cf5-419b-a3b7-6e8076a57779_4801x3189.jpeg" width="1456" height="967" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cacab413-3cf5-419b-a3b7-6e8076a57779_4801x3189.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:967,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3009371,&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://www.pmahajan.org/i/167382504?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacab413-3cf5-419b-a3b7-6e8076a57779_4801x3189.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_!GgKG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacab413-3cf5-419b-a3b7-6e8076a57779_4801x3189.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GgKG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacab413-3cf5-419b-a3b7-6e8076a57779_4801x3189.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GgKG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacab413-3cf5-419b-a3b7-6e8076a57779_4801x3189.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GgKG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcacab413-3cf5-419b-a3b7-6e8076a57779_4801x3189.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/@thandyung?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash">Thandy Yung</a> on <a href="https://unsplash.com/photos/green-plant-house-zeW9BQbWmJs?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash">Unsplash</a></figcaption></figure></div><p>In the mythical land of Agiletopia, an enchanting place frequently celebrated in corporate fairytales, we encounter a curious beast: Pressure Driven Development, what the townsfolk whisper in hushed tones, <em><strong>PDD</strong></em>. Unlike its nobler cousin Test-Driven Development or its elusive sibling Behavior-Driven Development; PDD thrives in shadows cast by Gantt charts and arbitrary executive deadlines. It emerges when leadership speaks agile but breathes waterfall.</p><p>Picture this: The CEO proclaims himself Chief Product Visionary, decreeing from atop Mount Gantt that all products shall be developed with agility, flexibility and innovation. As long as they precisely match the roadmap etched in stone during an executive retreat six months prior. This visionary, much like Tolkien's stubborn dwarven kings, hoards timelines and scope like precious gems, oblivious to the army of hobbits. Sorry, engineers - scurrying about trying to deliver.</p><p>Engineers, the tireless minions of this tale, find themselves caught between epic quests ("<em>Build me an MVP, but with every feature imaginable!</em>") and side missions ("<em>We must demo something to the customer tomorrow - so just, you know, hack it together!</em>"). Meanwhile, everyone outside of engineering eagerly dons the pretend title of Project Manager, wielding their precious Roadmaps as if the salvation of Middle-earth depended on them.</p><p>And iteration? That whimsical creature, agile's very spirit animal, is banished to the dark forest, replaced by rigid plans and impossible timelines. &#8220;<em>Deliver on time, on scope, quickly&#8212;but please don&#8217;t waste precious time iterating. Iteration is for those who fail the first time</em>,&#8221; bellows the self-appointed head of product.</p><p>Here's a spoiler: this isn't my first adventure in the land of PDD. Over the years, I've journeyed through many corporate kingdoms where leaders swear allegiance to agile principles at the surface, yet quietly conspire with traditionalist villains beneath. The tales are always eerily similar; buzzwords thrown around campfires, stand-ups turned status updates, retrospectives reduced to polite grumbling sessions.</p><div><hr></div><p>The path out of this enchanted forest of dysfunction is simple, yet as daunting as Frodo's journey to Mordor. Shifting power, control and mindset. True agility requires the courage to embrace uncertainty, accepting iterative learning over rigid predictions. </p><p>Engineers and RnD must step out of their cozy Shire-like comfort zones to guide, educate and influence those clutching their beloved Gantt charts. We must teach them that iterative development is not a shortcut or failure but a strategic embrace of reality itself.</p><p>For those brave enough to embark on this transformation, remember this, real agility isn't declared from the ivory towers of leadership. It's forged in the trenches, shaped by engineers empowered to build iteratively, honestly and courageously.</p><div><hr></div><p>So, here's my parting advice to leaders lost in the labyrinth of PDD: put down your precious charts. Stop hoarding control like it's your last lembas bread and trust your fellowship. It&#8217;s not magic, it&#8217;s simply good sense.</p><p>After all, Agiletopia, much like Harper Lee's Maycomb, has no room for pretension; it demands authenticity and most of the time a pinch of rebellious humor definitely helps. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pmahajan.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pmahajan.org/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Collaboration Cafe: Engineering Leadership and Technical Program Management]]></title><description><![CDATA[Introduction]]></description><link>https://www.pmahajan.org/p/collaboration-cafe-engineering-leadership</link><guid isPermaLink="false">https://www.pmahajan.org/p/collaboration-cafe-engineering-leadership</guid><dc:creator><![CDATA[Pranshu Mahajan]]></dc:creator><pubDate>Tue, 18 Mar 2025 09:46:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!mvVB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6002b4b3-eec1-4f01-bbe0-7ca19fc4d3fc_640x424.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_!mvVB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6002b4b3-eec1-4f01-bbe0-7ca19fc4d3fc_640x424.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mvVB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6002b4b3-eec1-4f01-bbe0-7ca19fc4d3fc_640x424.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mvVB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6002b4b3-eec1-4f01-bbe0-7ca19fc4d3fc_640x424.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mvVB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6002b4b3-eec1-4f01-bbe0-7ca19fc4d3fc_640x424.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mvVB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6002b4b3-eec1-4f01-bbe0-7ca19fc4d3fc_640x424.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mvVB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6002b4b3-eec1-4f01-bbe0-7ca19fc4d3fc_640x424.jpeg" width="640" height="424" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6002b4b3-eec1-4f01-bbe0-7ca19fc4d3fc_640x424.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:424,&quot;width&quot;:640,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:45693,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mvVB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6002b4b3-eec1-4f01-bbe0-7ca19fc4d3fc_640x424.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mvVB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6002b4b3-eec1-4f01-bbe0-7ca19fc4d3fc_640x424.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mvVB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6002b4b3-eec1-4f01-bbe0-7ca19fc4d3fc_640x424.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mvVB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6002b4b3-eec1-4f01-bbe0-7ca19fc4d3fc_640x424.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 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"><a href="https://unsplash.com/photos/person-holding-white-ceramic-mug-with-coffee-TKcblSslEVs?utm_content=creditShareLink&amp;utm_medium=referral&amp;utm_source=unsplash">Source</a></figcaption></figure></div><h4><strong>Introduction</strong></h4><p>When I first joined the team as a Technical Program Manager (TPM), my now-collaborator, Jono, wasn&#8217;t convinced that my role was necessary. Like many engineering leaders, he saw TPMs as a <em>necessary evil</em> - another layer of process, meetings and overhead.</p><p>Fast forward a year and we built an incredible partnership, one that&#8217;s helped our teams and the company deliver better, faster and with more clarity. Today, we&#8217;re sitting down for an honest conversation about how our collaboration evolved, the initial skepticism and what we&#8217;ve learned about making TPM-Engineering partnerships work.</p><p>Here&#8217;s our conversation.</p><div><hr></div><h3><strong>The Evolution of an Engineering-TPM Partnership</strong></h3><p><strong>Pranshu</strong>: Let&#8217;s start at the beginning. When I first joined as a TPM, you were skeptical about the role. Can you share what your initial concerns were?</p><p><strong>Jono</strong>: <em>Before we worked together, my perception of the TPM role was quite limited. I saw TPMs primarily as facilitators of reports and status updates, occasionally stepping in to coordinate dependencies across teams. They often seemed to enforce processes without providing clear rationale, which made their role feel more administrative than strategic. At best, I viewed TPMs as responsible for running standup meetings and ensuring teams stayed on track to meet deadlines. At worst, I saw them as an additional layer of management that added overhead, requiring extra explanations about the project's status rather than actively contributing to its success.</em></p><p><strong>Pranshu</strong>: That makes sense. At what point did your perception start to shift?</p><p><strong>Jono</strong>: <em>The turning point for me came when we were down a product manager. As the Engineering Manager, I had to work closely with you as the TPM to determine not just what we were going to build, but also how and when. The real shift in my perception happened when I saw you thinking beyond just the features and timelines, focusing on how we could break down deliverables to validate assumptions earlier. That was my AHA! moment. I realized that having someone who not only understands the technical side but also thinks strategically about delivery can be incredibly valuable.</em></p><p><strong>Pranshu</strong>: That&#8217;s a huge shift! What do you think makes a TPM valuable to an engineering team?</p><p><strong>Jono</strong>: <em>The best TPMs aren&#8217;t just workload managers. They act as force multipliers for engineering teams. I think about it in a few ways:</em></p><ul><li><p><em>They reduce cognitive load - so engineers can focus on solving technical problems rather than chasing down dependencies or aligning stakeholders.</em></p></li><li><p><em>They bring structure to chaos - especially in cross-team projects where things can get messy fast.</em></p></li><li><p><em>They help engineers communicate their needs better - whether it&#8217;s with leadership, product or other teams.</em></p></li></ul><p><strong>Pranshu</strong>: We&#8217;ve worked together on some challenging projects. What&#8217;s been one of the biggest wins from our collaboration?</p><p><strong>Jono</strong>: <em>One that stands out when we had to align multiple RnD teams to work against an external deadline. That was a tough one - high visibility, shifting requirements and a ton of dependencies. I remember thinking there was no way we&#8217;d hit the deadline. But you helped cut through the noise, keep stakeholders aligned and make sure we focused on the right things. I don&#8217;t think we would have delivered it before time without that level of coordination.</em></p><p><strong>Pranshu</strong>: On the flip side, what&#8217;s the biggest lesson you&#8217;ve learned about working with TPMs?</p><p><strong>Jono</strong>: <em>That it&#8217;s a partnership, not a handoff. Early on, I thought of TPMs as just project trackers, but now I see the best results come when we&#8217;re aligned as a leadership team. That means including TPMs in technical discussions, strategy, and decision-making, not just status updates. When we treat TPMs as true partners, everything runs smoother.</em></p><p><strong>Pranshu</strong>: For other engineering leaders who are skeptical about TPMs, what advice would you give?</p><p><strong>Jono</strong>: <em>Give it a chance. But also, be clear about what you need from a TPM. If you&#8217;ve had bad experiences in the past, don&#8217;t assume all TPMs operate the same way. And on the other end, if you&#8217;re a TPM, focus on delivering value early - help with something tangible, unblock something, make a decision easier. That&#8217;s how you earn trust.</em></p><div><hr></div><h3><strong>Closing Thoughts</strong></h3><p>When we started working together, we were on opposite ends of the TPM debate - one skeptical but open minded, the other eager to prove value. Today, we&#8217;re a stronger team because we learned how to collaborate effectively. This experience has taught me that great engineering and program management partnerships don&#8217;t just happen, they are built.</p><p>To all the engineering leaders who still see TPMs as a necessary evil: The right TPM won&#8217;t slow you down - they&#8217;ll help you move faster. And to TPMs trying to gain trust: Don&#8217;t just track work&#8212;help teams win.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pmahajan.org/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! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[The 70/30 Rule: How Planning for Less Can Help Achieve More ]]></title><description><![CDATA[Maximizing Productivity While Fostering Innovation in Software Development]]></description><link>https://www.pmahajan.org/p/the-7030-rule-how-planning-for-less</link><guid isPermaLink="false">https://www.pmahajan.org/p/the-7030-rule-how-planning-for-less</guid><dc:creator><![CDATA[Pranshu Mahajan]]></dc:creator><pubDate>Tue, 25 Feb 2025 08:31:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!3QGD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a93e11e-dd01-4172-b3ee-4b48a38d445a_640x800.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_!3QGD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a93e11e-dd01-4172-b3ee-4b48a38d445a_640x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3QGD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a93e11e-dd01-4172-b3ee-4b48a38d445a_640x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3QGD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a93e11e-dd01-4172-b3ee-4b48a38d445a_640x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3QGD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a93e11e-dd01-4172-b3ee-4b48a38d445a_640x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3QGD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a93e11e-dd01-4172-b3ee-4b48a38d445a_640x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3QGD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a93e11e-dd01-4172-b3ee-4b48a38d445a_640x800.jpeg" width="640" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1a93e11e-dd01-4172-b3ee-4b48a38d445a_640x800.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:640,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:75699,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3QGD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a93e11e-dd01-4172-b3ee-4b48a38d445a_640x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3QGD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a93e11e-dd01-4172-b3ee-4b48a38d445a_640x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3QGD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a93e11e-dd01-4172-b3ee-4b48a38d445a_640x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3QGD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a93e11e-dd01-4172-b3ee-4b48a38d445a_640x800.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 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"><a href="https://unsplash.com/photos/water-in-clear-drinking-glass-nfj1gzws7HM?utm_content=creditShareLink&amp;utm_medium=referral&amp;utm_source=unsplash">Source</a></figcaption></figure></div><p>Have you ever felt overwhelmed by the sheer amount of work your software team takes on? What if embracing less could actually produce more? In the fast-paced world of software development, where planning is both an art and a science, finding the right balance between productivity and creativity is crucial. The strategic 70/30 rule provides a framework that enhances both performance and innovation, fostering a work environment that thrives on flexibility and adaptability.</p><div><hr></div><h3>Why Embrace the 70/30 Rule?</h3><p>This approach suggests that teams should plan to utilize only 70% of their total capacity for core projects and deliverables each quarter. The remaining 30% is reserved for the unexpected; be it surprises, cross-team assistance, experimentation or continued learning. But why allocate such a significant portion to seemingly unproductive time? The answer lies in the unpredictable nature of software development and the immense benefits of preparedness and creativity.</p><div><hr></div><h3>Benefits of the 70/30 Rule</h3><p>Implementing the 70/30 rule not only facilitates better project management but also nurtures a healthy work environment. Here are the key benefits, presented as compelling reasons to consider this approach:</p><ul><li><p><strong>Enhanced Team Morale and Reduced Burnout:</strong> By not overloading the team with excessive commitments, you foster a less stressful atmosphere. This can lead to higher job satisfaction, lower turnover, and more committed employees.</p></li><li><p><strong>Increased Flexibility to Address Urgent Issues:</strong> The reserved 30% acts as a buffer, allowing teams to handle unexpected challenges without disrupting the planned workflow. This flexibility is crucial for maintaining continuous delivery in a dynamic work environment.</p></li><li><p><strong>Fosters a Culture of Innovation:</strong> By allocating time for experimentation, teams can explore new technologies and methodologies that could lead to significant breakthroughs in projects. This kind of environment encourages creativity and out-of-the-box thinking.</p></li><li><p><strong>Continuous Skill Development:</strong> Setting aside time for learning ensures that your team stays updated with the latest industry standards and technologies, which can enhance their efficiency and the quality of their work.</p></li><li><p><strong>Improved Project Outcomes:</strong> With more focus on manageable workloads, teams can produce higher quality work. Detailed attention to fewer projects tends to result in better outcomes and fewer errors, leading to greater client satisfaction.</p><div><hr></div><h3>Implementing 70/30 in Sprint Planning</h3><p>To effectively implement this model, break down your quarterly goals into shorter, achievable targets. Here&#8217;s how you can structure this:</p><ul><li><p><strong>Quarterly Planning:</strong> At the start of each quarter, outline the main objectives and key results you aim to achieve. Ensure these account for only 70% of your team's total capacity.</p></li><li><p><strong>Sprint (or Iteration) Goals:</strong> Divide these quarterly objectives into smaller, incremental goals. Each sprint should have its goal that align with the broader quarterly targets.</p></li><li><p><strong>Weekly Check-ins:</strong> Use these meetings to track progress, adjust plans, and redistribute tasks as needed to deal with the unexpected. This keeps the team flexible and responsive.</p></li><li><p><strong>Reflection and Adaptation:</strong> At the end of each quarter (not limited to), review what was accomplished, what wasn&#8217;t and why. This reflection will inform the next quarter&#8217;s planning, allowing for adjustments based on what works and what doesn&#8217;t.</p><div><hr></div><h3>Conclusion</h3><p>As software teams, our capacity for work is not just about the quantity but also the quality and impact of what we deliver. By planning for only 70% of our capacity, we open up space for growth, support and flexibility (key ingredients to thriving in the tech industry). In the journey of software development, remember, flexibility is as important as efficiency. Let the 70/30 rule be your guide to a more balanced and innovative approach to planning.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pmahajan.org/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. Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div></li></ul></li></ul>]]></content:encoded></item><item><title><![CDATA[Why Teams Are Terrified of Empowerment ]]></title><description><![CDATA[And How to Help Them Cope]]></description><link>https://www.pmahajan.org/p/why-teams-are-terrified-of-empowerment</link><guid isPermaLink="false">https://www.pmahajan.org/p/why-teams-are-terrified-of-empowerment</guid><dc:creator><![CDATA[Pranshu Mahajan]]></dc:creator><pubDate>Tue, 18 Feb 2025 08:31:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!XWPw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d14522-ea8c-4dc0-81e5-2c21644caa4e_640x426.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_!XWPw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d14522-ea8c-4dc0-81e5-2c21644caa4e_640x426.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XWPw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d14522-ea8c-4dc0-81e5-2c21644caa4e_640x426.jpeg 424w, https://substackcdn.com/image/fetch/$s_!XWPw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d14522-ea8c-4dc0-81e5-2c21644caa4e_640x426.jpeg 848w, https://substackcdn.com/image/fetch/$s_!XWPw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d14522-ea8c-4dc0-81e5-2c21644caa4e_640x426.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!XWPw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d14522-ea8c-4dc0-81e5-2c21644caa4e_640x426.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XWPw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d14522-ea8c-4dc0-81e5-2c21644caa4e_640x426.jpeg" width="640" height="426" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/85d14522-ea8c-4dc0-81e5-2c21644caa4e_640x426.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:426,&quot;width&quot;:640,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:73720,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XWPw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d14522-ea8c-4dc0-81e5-2c21644caa4e_640x426.jpeg 424w, https://substackcdn.com/image/fetch/$s_!XWPw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d14522-ea8c-4dc0-81e5-2c21644caa4e_640x426.jpeg 848w, https://substackcdn.com/image/fetch/$s_!XWPw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d14522-ea8c-4dc0-81e5-2c21644caa4e_640x426.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!XWPw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85d14522-ea8c-4dc0-81e5-2c21644caa4e_640x426.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 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"><a href="https://unsplash.com/photos/a-picture-frame-with-the-word-emporer-spelled-in-scrabble-Q6m52fJ9pqw?utm_content=creditShareLink&amp;utm_medium=referral&amp;utm_source=unsplash">Source</a></figcaption></figure></div><h3></h3><p>Empowerment<strong> -</strong> The golden word of modern tech leadership. The dream of every well-intentioned leader. The promise of autonomy, decision-making power and the ability to &#8220;own&#8221; one&#8217;s work.</p><p>And yet, when leaders actually try to empower their teams, something odd happens.</p><ul><li><p>Engineers suddenly look&#8230; uneasy.</p></li><li><p>Product managers nervously ask, "So... what's the catch?"</p></li><li><p>Designers stare at their Figma files like they're waiting for an executive to swoop in with "final feedback."</p></li><li><p>Everyone starts cautiously asking "Who approved this?" before making any decisions.</p></li></ul><p>Because let&#8217;s be honest, most software teams have been burned before. They&#8217;ve heard the &#8220;you are empowered&#8221; speech before and it usually comes with strings attached, hidden expectations, or an unspoken "but."</p><p>So today, let&#8217;s talk about why software development teams are secretly terrified of empowerment and more importantly, how leaders can actually help them embrace it.</p><div><hr></div><h3><strong>Why Teams Are Scared of Empowerment (And Rightfully So)</strong></h3><h4><strong>1. They&#8217;ve Been &#8216;Empowered&#8217; Before&#8230; And It Was a Trap</strong></h4><p>In many organizations, "empowerment" is just a sugar-coated way of saying "you're on your own now."</p><ul><li><p>"You're empowered to make decisions!" (<em>Translation: We're offloading responsibility, but still expect you to hit all targets with no additional support</em>)</p></li><li><p>"You don&#8217;t need to ask for approval anymore!" (<em>Translation: We&#8217;re still going to judge your decisions retroactively and wonder why you didn&#8217;t do it differently</em>)</p></li><li><p>"We trust you!" (<em>Translation: But if anything goes wrong, you&#8217;ll still need 17 approvals to fix it</em>)</p></li></ul><p>No wonder teams hesitate when leaders suddenly want to &#8220;empower&#8221; them.</p><p></p><h4><strong>2. They&#8217;ve Been Taught to Follow Orders, Not Make Decisions</strong></h4><p>Many software teams operate in command-and-control environments, even when leadership swears they don&#8217;t.</p><ul><li><p>Product makes the roadmap.</p></li><li><p>Engineering executes the backlog.</p></li><li><p>Leadership sets the direction.</p></li><li><p>Teams are "consulted" but rarely get to make the final call.</p></li></ul><p>And suddenly, after years of this structure, leadership declares:<br><em>"We want YOU to decide what to build next!"</em></p><p>That&#8217;s like telling someone who&#8217;s only ever followed GPS directions to suddenly drive without a map. Sure, it sounds nice but where the hell do they even start?</p><p></p><h4><strong>3. They Know &#8216;Empowerment&#8217; Still Has Unwritten Rules</strong></h4><p>Teams have seen what happens when someone truly takes empowerment at face value.</p><ul><li><p>An engineer refactors a critical component because it was a mess. Leadership: &#8220;Why wasn&#8217;t this on the roadmap?&#8221;</p></li><li><p>A designer takes creative risks. Leadership: &#8220;Can we make it look more like [insert competitor]?&#8221;</p></li><li><p>A product manager makes a bold call to cut scope. Leadership: "Why didn't you consult more stakeholders?"</p></li></ul><p>Teams know that empowerment only goes as far as leadership&#8217;s tolerance for surprise.</p><div><hr></div><h3><strong>How to Actually Help Teams Embrace Empowerment</strong></h3><p>Alright, so teams are understandably hesitant. But how do leaders actually create an environment where empowerment isn&#8217;t just a scary buzzword?</p><h4>1. Define Empowerment in Plain English (or your local language)</h4><p>Empowerment isn&#8217;t just a warm feeling, it needs clear boundaries.</p><ul><li><p>What are they actually empowered to do? (E.g., &#8220;You own tech debt prioritization within your sprint&#8221;)</p></li><li><p>What guardrails exist? (E.g., &#8220;You can change architecture decisions, but let&#8217;s do a design review first&#8221;)</p></li><li><p>Who has final say on what? (E.g., &#8220;You own feature scope, but let&#8217;s align on quarterly priorities&#8221;)</p></li></ul><p>If empowerment means everything, it actually means nothing.</p><p></p><h4><strong>2. Show, Don&#8217;t Just Tell</strong></h4><p>Leaders need to demonstrate that empowerment isn&#8217;t a trap.</p><ul><li><p>When a team makes a decision - back them up.</p></li><li><p>When an experiment fails - celebrate the learning, not the mistake.</p></li><li><p>When someone takes initiative - don&#8217;t micromanage or override them.</p></li></ul><p>Empowerment isn&#8217;t just about saying <em>"You can make decisions now."</em> It&#8217;s about proving that those decisions will be respected.</p><p></p><h4><strong>3. Reduce the Fear of Failure</strong></h4><p>Most teams aren&#8217;t scared of empowerment itself. They&#8217;re scared of what happens if they get it wrong.</p><p>So, leaders need to normalize smart risks by:<br>&#9989; Encouraging small bets (A/B test an idea instead of launching a massive feature)<br>&#9989; Framing failures as learning ("That didn&#8217;t work, what did we learn?")<br>&#9989; Modeling vulnerability ("I&#8217;ve made bad calls too, but we adjusted. That&#8217;s how we grow")</p><p></p><h4><strong>4. Make Decisions WITH the Team, Not FOR the Team</strong></h4><p>Teams will only trust empowerment if they are part of the decision-making process from the start.</p><ul><li><p>Instead of handing down a roadmap, co-create it.</p></li><li><p>Instead of setting goals in a vacuum, define success together.</p></li><li><p>Instead of waiting for teams to speak up, actively ask: &#8220;What do you think?&#8221;</p></li></ul><p>Nothing makes people feel more empowered than actually having a say in the direction.</p><div><hr></div><h3><strong>Final Thoughts: If You Want Teams to Feel Empowered, Make It Safe to Be Empowered</strong></h3><p>Software teams don&#8217;t fear empowerment itself. They fear the consequences of taking it seriously.</p><p>So if you&#8217;re a leader who wants your team to truly own their work, ask yourself:</p><ul><li><p>Do I reward initiative, or punish deviation?</p></li><li><p>Do I support their decisions, or quietly override them?</p></li><li><p>Do I create a space where failure is part of learning, or something to be avoided at all costs?</p></li></ul><p>Because at the end of the day, teams don&#8217;t need <em>permission</em> to be empowered.</p><p>They need proof that it&#8217;s real.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pmahajan.org/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! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[How to be a Mediocre Product Manager]]></title><description><![CDATA[A Masterclass in Bare Minimum Excellence]]></description><link>https://www.pmahajan.org/p/how-to-be-a-mediocre-product-manager</link><guid isPermaLink="false">https://www.pmahajan.org/p/how-to-be-a-mediocre-product-manager</guid><dc:creator><![CDATA[Pranshu Mahajan]]></dc:creator><pubDate>Tue, 11 Feb 2025 08:30:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ZhQo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef591e1-a6df-4e9b-a609-b667bfe909e8_640x640.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_!ZhQo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef591e1-a6df-4e9b-a609-b667bfe909e8_640x640.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZhQo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef591e1-a6df-4e9b-a609-b667bfe909e8_640x640.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZhQo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef591e1-a6df-4e9b-a609-b667bfe909e8_640x640.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZhQo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef591e1-a6df-4e9b-a609-b667bfe909e8_640x640.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZhQo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef591e1-a6df-4e9b-a609-b667bfe909e8_640x640.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZhQo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef591e1-a6df-4e9b-a609-b667bfe909e8_640x640.jpeg" width="640" height="640" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ef591e1-a6df-4e9b-a609-b667bfe909e8_640x640.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:640,&quot;width&quot;:640,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:50576,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZhQo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef591e1-a6df-4e9b-a609-b667bfe909e8_640x640.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZhQo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef591e1-a6df-4e9b-a609-b667bfe909e8_640x640.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZhQo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef591e1-a6df-4e9b-a609-b667bfe909e8_640x640.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZhQo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ef591e1-a6df-4e9b-a609-b667bfe909e8_640x640.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 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"><a href="https://unsplash.com/photos/yellow-and-black-robot-toy-mou0S7ViElQ?utm_content=creditShareLink&amp;utm_medium=referral&amp;utm_source=unsplash">Source</a></figcaption></figure></div><p></p><p>So, you want to be a <em>Product Manager.</em> But not just any product manager, You want to be a solidly, unapologetically mediocre product manager. Not great, not terrible, just comfortably wedged in the middle of the competency bell curve. The kind of PM that people tolerate, but no one would actively recommend.</p><p>Well, good news! I&#8217;ve put together the perfect guide to underwhelming product leadership. Follow these steps and you&#8217;ll blend into the corporate scenery so seamlessly that no one will ever think to promote (or fire) you.</p><div><hr></div><h3><strong>1. Have No Clear Vision, Just Vibes</strong></h3><p>A great product manager has a compelling vision. But you? You don't need that kind of pressure. Instead, make vague, inspirational statements that sound deep but mean nothing.</p><p>Example:</p><ul><li><p>"We need to leverage AI to disrupt our space!" (<em>Leverage AI how? For what? Who cares! It&#8217;s AI!</em>)</p></li><li><p>"We should be more customer-centric" (<em>Groundbreaking insight, really. Now let&#8217;s all sit quietly and let the engineers figure it out.</em>)</p></li></ul><p>Pro tip: When someone asks for specifics, just say, "It depends" Then move to another meeting before anyone can follow up.</p><div><hr></div><h3><strong>2. Master the Art of the Buzzword Bingo</strong></h3><p>Great PMs articulate real problems. You, however, should focus on sounding like a product visionary without actually saying anything.</p><p>Here&#8217;s a handy template for any situation:<br><em>"We need to align our roadmap to drive synergies across scalable, data-driven, AI-powered ecosystems while ensuring a seamless, customer-centric experience."</em></p><p>Bonus points if you say "north star" at least twice per meeting.</p><div><hr></div><h3><strong>3. Don&#8217;t Prioritize, Just Say Yes to Everything</strong></h3><p>Real prioritization is hard. It requires saying "no" sometimes and that might make someone mildly unhappy. Instead, commit to everything, all the time and let engineering deal with the consequences.</p><p>When your team gets overwhelmed, remind them: <em>"We&#8217;re an agile company! Just be more agile!"</em></p><p>And when leadership asks why nothing is shipping, blame "cross-team dependencies"</p><div><hr></div><h3><strong>4. Hold as Many Meetings as Humanly Possible</strong></h3><p>You may not be great at building products, but you can be great at filling people&#8217;s calendars with pointless meetings.</p><ul><li><p>Status update? Meeting.</p></li><li><p>Review the roadmap that&#8217;s already in Confluence? Meeting.</p></li><li><p>Alignment meeting to discuss the alignment of future meetings? Yes.</p></li></ul><p>If someone asks, &#8220;<em>Could this have been a slack message?</em>&#8221; just say: "<em>We need real-time collaboration</em>", Then schedule a retrospective on meeting efficiency.</p><div><hr></div><h3><strong>5. Delegate All the Hard Work, Take Credit for Success</strong></h3><p>Why get your hands dirty when there are engineers, designers and data analysts for that? Your real skill should be delegating everything, then swooping in at the last moment to present the results as if you personally built the product with your own two hands.</p><p>And if the project fails? Just say: "<em>We lacked executive buy-in</em>"</p><div><hr></div><h3><strong>6. Feature Factory? Yes, Please!</strong></h3><p>Forget about solving customer problems, just focus on shipping as many features as possible. More features mean more impact, right? Right?!</p><ul><li><p>Don&#8217;t bother validating ideas.</p></li><li><p>Don't define success metrics.</p></li><li><p>Just launch things and hope for the best.</p></li></ul><p>When leadership asks about the adoption rate of your last five features, distract them by saying "<em>We need to revisit our OKRs</em>"</p><div><hr></div><h3><strong>7. Ignore Engineering Constraints. They&#8217;ll Figure It Out</strong></h3><p>The best way to be a <em>true</em> mediocre PM is to treat engineers like vending machines. You put in a vague requirement and poof, software comes out.</p><ul><li><p>If an engineer pushes back on feasibility, say "<em>Let&#8217;s be solutions-oriented</em>"</p></li><li><p>If they ask for trade-offs, respond with "<em>Can't we just make it an MVP?</em>"</p></li><li><p>And if all else fails, "<em>What would Amazon do?</em>"</p></li></ul><p>Bonus: Write "Just a small tweak" in JIRA tickets that requires three months of backend refactoring.</p><div><hr></div><h3><strong>8. User Research? Nah, Just Assume</strong></h3><p>Why waste time talking to users when you can just assume what they want?</p><ul><li><p>Never test hypotheses.</p></li><li><p>Never check analytics.</p></li><li><p>Just follow your gut, or better yet, ask the HiPPO (highest-paid person) in the room.</p></li></ul><p>When someone suggests a usability study, roll your eyes and say: "<em>Steve Jobs never did user research</em>"</p><div><hr></div><h3><strong>9. Be the Master of Roadmap Chaos</strong></h3><p>Your roadmap should be a work of art, constantly shifting and changing so no one ever really knows what&#8217;s happening.</p><ul><li><p>Shift priorities every other week.</p></li><li><p>Always be in &#8220;exploration mode&#8221;</p></li><li><p>When leadership asks what&#8217;s actually launching this quarter, say "<em>We&#8217;re taking an iterative approach</em>"</p></li></ul><p>If all else fails, just send a beautifully formatted PowerPoint deck. People love decks.</p><div><hr></div><h3><strong>10. Have No Opinion, But Insist on Consensus</strong></h3><p>Your job isn&#8217;t to drive decisions - it&#8217;s to make sure no one is unhappy.</p><ul><li><p>Instead of making tough calls, endlessly gather more "alignment"</p></li><li><p>Instead of defining trade-offs, ask "<em>What does everyone think?</em>" until people stop showing up to meetings.</p></li><li><p>When leadership asks for your recommendation, just say, "<em>It&#8217;s a complex problem</em>"</p></li></ul><p>Congratulations! You&#8217;ve officially created decision paralysis and delayed every roadmap item by six months.</p><div><hr></div><h3><strong>Final Thoughts: Embrace the Mediocrity</strong></h3><p>If you follow these steps, you won&#8217;t be known as a <em>great</em> PM but you also won&#8217;t be known as a <em>terrible</em> one. You&#8217;ll exist in that comfortable middle space where expectations are low, meetings are plenty and you always have a new PRD to share.</p><p>And isn&#8217;t that what corporate success is all about?</p><p><strong>Now, if you&#8217;ll excuse me, I need to send a Slack message asking if we should schedule a meeting about the roadmap.</strong></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pmahajan.org/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! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[The Cost of Waiting]]></title><description><![CDATA[The biggest risk of decision paralysis is the opportunity cost!]]></description><link>https://www.pmahajan.org/p/the-cost-of-waiting</link><guid isPermaLink="false">https://www.pmahajan.org/p/the-cost-of-waiting</guid><dc:creator><![CDATA[Pranshu Mahajan]]></dc:creator><pubDate>Tue, 04 Feb 2025 08:30:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!nbxb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe493d13f-aef7-4fad-99d1-d854f238b575_640x427.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_!nbxb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe493d13f-aef7-4fad-99d1-d854f238b575_640x427.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nbxb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe493d13f-aef7-4fad-99d1-d854f238b575_640x427.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nbxb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe493d13f-aef7-4fad-99d1-d854f238b575_640x427.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nbxb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe493d13f-aef7-4fad-99d1-d854f238b575_640x427.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nbxb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe493d13f-aef7-4fad-99d1-d854f238b575_640x427.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nbxb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe493d13f-aef7-4fad-99d1-d854f238b575_640x427.jpeg" width="640" height="427" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e493d13f-aef7-4fad-99d1-d854f238b575_640x427.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:427,&quot;width&quot;:640,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:75432,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nbxb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe493d13f-aef7-4fad-99d1-d854f238b575_640x427.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nbxb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe493d13f-aef7-4fad-99d1-d854f238b575_640x427.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nbxb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe493d13f-aef7-4fad-99d1-d854f238b575_640x427.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nbxb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe493d13f-aef7-4fad-99d1-d854f238b575_640x427.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 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 the world of software development, decision paralysis is the bogeyman we talk about often but rarely address head-on. Among its many repercussions, one stands out as the most insidious: opportunity cost aka the cost of delay. While the cost of making the wrong decision is often visible and tangible, the cost of waiting (the cost of not deciding) is a silent killer that can erode the foundation of an organization, a product, or a team.</p><p>When I think about the most successful organizations I&#8217;ve worked with or observed, one principle unites them: <em>speed beats perfection</em>. These organizations are not reckless; they don&#8217;t act without thought. But they deeply understand that every second spent deliberating is a second not spent building, learning, or serving their customers. They act decisively, embrace the unknown and prioritize momentum over inertia.</p><p>Let&#8217;s unpack why the cost of waiting is the ultimate competitive disadvantage and how addressing it can transform the way your organization operates.</p><div><hr></div><h3><strong>The Real Cost of Doing Nothing</strong></h3><p>Inaction feels deceptively safe. It gives teams the illusion of risk avoidance. &#8220;<em>We&#8217;re waiting until we&#8217;re sure</em>&#8221; becomes the mantra. But every delay comes with hidden costs that compound over time:</p><h4><strong>1. Falling Behind the Competition</strong></h4><p>In software, time isn&#8217;t just money, it&#8217;s market share. While your team is debating edge cases, your competitors are shipping updates, winning customers and setting new expectations. The window of opportunity narrows every time you hesitate.</p><h4><strong>2. Stalling Innovation</strong></h4><p>The pace of innovation thrives on experimentation and iteration. When teams delay decisions, they lose the ability to learn from the market. Products stagnate, ideas go stale and the opportunity to evolve slips through the cracks.</p><h4><strong>3. Declining Team Morale</strong></h4><p>Prolonged indecision frustrates teams. Developers lose enthusiasm when they&#8217;re left waiting for clarity. Designers feel disconnected when their work is deprioritized. Over time, a culture of hesitation can erode team morale and motivation, leaving people disengaged and disconnected from their work.</p><h4><strong>4. Eroding Customer Trust</strong></h4><p>Customers notice delays. They may not know the internal bottlenecks, but they feel the absence of progress - features that haven&#8217;t launched, bugs that haven&#8217;t been fixed, promises that haven&#8217;t been fulfilled. In the age of instant gratification, customers don&#8217;t wait; they leave.</p><div><hr></div><h3><strong>Why Opportunity Cost Is the Most Critical Metric</strong></h3><p>Every decision has a cost, but <strong>waiting has the highest cost of all</strong> because it robs you of time, the one resource you can&#8217;t replenish. Here's why understanding and acting on opportunity cost is the key to success for any organization, product, or team:</p><h4><strong>1. Opportunity Cost Forces Prioritization</strong></h4><p>When you acknowledge that waiting has a cost, it forces you to prioritize ruthlessly. Suddenly, the question shifts from &#8220;<em>What&#8217;s the perfect solution?</em>&#8221; to &#8220;<em>What&#8217;s the most impactful thing we can do right now?</em>&#8221; This shift in mindset is transformational.</p><h4><strong>2. Opportunity Cost Drives Experimentation</strong></h4><p>Acknowledging the cost of waiting encourages a culture of experimentation. Instead of striving for perfection, teams test hypotheses, ship MVPs and collect feedback. Every experiment yields data and every iteration brings you closer to the right answer.</p><h4><strong>3. Opportunity Cost Aligns Stakeholders</strong></h4><p>When leaders articulate the cost of delay, it aligns teams and stakeholders around a shared sense of urgency. It eliminates the &#8220;<em>let&#8217;s wait and see</em>&#8221; mentality and replaces it with a collective commitment to action.</p><div><hr></div><h3><strong>How to Avoid the Cost of Waiting</strong></h3><h4><strong>1. Build a Culture of Action</strong></h4><p>Leaders must encourage teams to make decisions with the information they have. Emphasize that mistakes are learning opportunities, not failures. Celebrate momentum, not just results.</p><h4><strong>2. Create Clear Decision Frameworks</strong></h4><p>Define criteria for when decisions should be made. For example:</p><ul><li><p>Low-risk, low-impact decisions: Take a call, move quickly and validate.</p></li><li><p>High-risk, high-impact decisions: Involve stakeholders, but set a deadline for action.</p></li></ul><h4><strong>3. Measure Opportunity Cost</strong></h4><p>Ask your team:</p><ul><li><p>What&#8217;s the cost of not making this decision?</p></li><li><p>What would we learn if we acted now?</p></li><li><p>How does waiting impact our customers, competitors and morale?</p></li></ul><h4><strong>4. Communicate with Transparency</strong></h4><p>When a decision is delayed, communicate why and set clear timelines. Transparency builds trust and keeps everyone aligned.</p><div><hr></div><h3><strong>Leadership&#8217;s Role in Fighting Decision Paralysis</strong></h3><p>Great leaders don&#8217;t wait for perfect conditions - they create conditions for progress. They empower teams to act, support them when things go wrong and remind everyone that momentum is the lifeblood of success.</p><p>One of the best leaders I&#8217;ve worked with used to say, &#8220;<em>The riskiest decision is the one we didn&#8217;t make</em>&#8221; She understood that hesitation wasn&#8217;t just a delay, it was a lost opportunity. And in the fast-paced world of software, lost opportunities compound faster than we realize.</p><div><hr></div><h3><strong>The Bottom Line</strong></h3><p>The cost of waiting isn&#8217;t just about lost time, it&#8217;s about lost opportunities, lost learning and lost momentum. In software development, progress beats perfection every time. The most successful organizations, products and teams are those that embrace uncertainty, act with confidence and iterate their way to success.</p><p>So, the next time you&#8217;re tempted to wait for perfect clarity, ask yourself: What is the cost of waiting? Chances are, it&#8217;s higher than you think.</p><div><hr></div><h2><strong>A Personal Announcement</strong></h2><p>If you've enjoyed exploring the themes of patience and timing in today&#8217;s article, you might find my book, </p><p><em><strong>Wisdom of Middle-earth: 50 Lessons Inspired by The Lord of the Rings</strong></em>, particularly enlightening. </p><p>It delves into timeless wisdom drawn from the depths of Tolkien&#8217;s world, offering unique insights that resonate with our lives today. </p><p>Don&#8217;t wait to check it out. <strong>It&#8217;s <a href="https://amzn.eu/d/5OetU6c">available on Kindle now</a></strong> for those who are ready to embark on a journey of discovery and inspiration!</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pmahajan.org/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"></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[7 Ways To Effectively Kill Agile]]></title><description><![CDATA[A Step-by-Step Guide to Turning Agile Into a Buzzword Graveyard]]></description><link>https://www.pmahajan.org/p/7-ways-weve-effectively-killed-agile</link><guid isPermaLink="false">https://www.pmahajan.org/p/7-ways-weve-effectively-killed-agile</guid><dc:creator><![CDATA[Pranshu Mahajan]]></dc:creator><pubDate>Tue, 28 Jan 2025 08:30:52 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/93f93dc1-d812-42d6-bec6-694889872bda_393x285.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!E6ky!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731db956-0b09-4b1a-9973-f7f7c139a074_393x285.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E6ky!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731db956-0b09-4b1a-9973-f7f7c139a074_393x285.jpeg 424w, https://substackcdn.com/image/fetch/$s_!E6ky!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731db956-0b09-4b1a-9973-f7f7c139a074_393x285.jpeg 848w, https://substackcdn.com/image/fetch/$s_!E6ky!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731db956-0b09-4b1a-9973-f7f7c139a074_393x285.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!E6ky!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731db956-0b09-4b1a-9973-f7f7c139a074_393x285.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E6ky!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731db956-0b09-4b1a-9973-f7f7c139a074_393x285.jpeg" width="393" height="285" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/731db956-0b09-4b1a-9973-f7f7c139a074_393x285.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:285,&quot;width&quot;:393,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;IMG_2937&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="IMG_2937" title="IMG_2937" srcset="https://substackcdn.com/image/fetch/$s_!E6ky!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731db956-0b09-4b1a-9973-f7f7c139a074_393x285.jpeg 424w, https://substackcdn.com/image/fetch/$s_!E6ky!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731db956-0b09-4b1a-9973-f7f7c139a074_393x285.jpeg 848w, https://substackcdn.com/image/fetch/$s_!E6ky!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731db956-0b09-4b1a-9973-f7f7c139a074_393x285.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!E6ky!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F731db956-0b09-4b1a-9973-f7f7c139a074_393x285.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 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"><a href="https://tisquirrel.me/2016/01/03/say-agile-one-more-time/">Source</a></figcaption></figure></div><p>Agile once held the promise of flexibility, collaboration, and actual working software delivered frequently. But that was <em>before</em> we got our hands on it. We&#8217;ve twisted it, stretched it, and buried its original values so deep that all that&#8217;s left is the skeleton of a &#8220;framework&#8221; that we awkwardly nod at during meetings.</p><p>Today, I&#8217;ll show you the <strong>7 surefire ways we&#8217;ve made agile utterly unrecognizable</strong>, with a little extra credit to leadership for adding their own flavor of chaos.</p><div><hr></div><h3><strong>1. Sprints That Never End</strong></h3><p>Sprints are meant to be short, iterative cycles, but where&#8217;s the fun in that? Stretch your sprint goals like rubber bands. Spill unfinished work into the next sprint. Who cares if the backlog is growing faster than weeds in a garden? Deadlines are a social construct anyway.</p><p><strong>Pro Tip:</strong><br>Aim for a sprint backlog that looks like a family-size buffet; ambitious, chaotic, and far too much for anyone to digest.</p><p><strong>Real-Life Example:</strong><br>We had a 2-week sprint that turned into a 5-week crawl. By the time we finished, no one remembered what the original goal was. True agile spirit, right?</p><div><hr></div><h3><strong>2. Daily Stand-Ups That Last Longer Than Your Lunch Break</strong></h3><p>Stand-ups are supposed to be quick syncs. But why stop at 15 minutes when you can turn it into a full-blown strategy session, therapy hour, or debate club? There&#8217;s nothing like someone giving a 10-minute monologue about &#8220;this one blocker&#8221; to derail the entire team.</p><p><strong>Pro Tip:</strong><br>The golden phrase is: &#8220;While we&#8217;re on this topic...&#8221; If no one&#8217;s actively checking the clock, you&#8217;re winning.</p><p><strong>Real-Life Example:</strong><br>With one team, our 15-minute stand-up always turned into an hour-long rant on implementation details, code reviews etc. Did we resolve anything? No. But we did <em>thoroughly</em> explore the concept of inefficiency.</p><div><hr></div><h3><strong>3. Agile by Name, Waterfall by Nature</strong></h3><p>Sure, we call ourselves &#8220;agile,&#8221; but let&#8217;s keep operating like it&#8217;s the 1990s. Long roadmaps, unmovable deadlines, and milestone charts that look like they were drawn with a ruler. Flexibility? Please.</p><p><strong>Pro Tip:</strong><br>Use agile buzzwords like &#8220;iteration&#8221; while demanding multi-month plans signed in blood. Nothing screams agile like rigid, top-down processes.</p><p><strong>Real-Life Example:</strong><br>I once watched a team spend <strong>2 weeks crafting the world&#8217;s most colorful Gantt chart</strong> to &#8220;plan&#8221; a 3-month roadmap. The chart was a thing of beauty. So many colors, so many milestones, and zero reality. By the time we actually started work, the plans were outdated, half the dependencies were non-negotiated or broken, and our will to live had officially expired. But hey, at least we had a <em>stunning visual</em> of what could have been.</p><div><hr></div><h3><strong>4. Leadership That Refuses to Give Teams Autonomy</strong></h3><p>Agile thrives on empowered teams making decisions. But why trust the experts you hired when leadership can swoop in, second-guess every choice, and micromanage the backlog? Decisions aren&#8217;t for the team, they&#8217;re for the people <em>above</em> the team.</p><p><strong>Pro Tip:</strong><br>Make sure every decision needs leadership approval, no matter how small. Bonus points if you say things like, &#8220;I just want to make sure we&#8217;re aligned&#8221; while ensuring alignment never happens.</p><p><strong>Real-Life Example:</strong><br>A team I knew couldn&#8217;t even choose what tool to use without a VP weighing in. Autonomy? Never heard of it. Agile? Mostly just in name.</p><div><hr></div><h3><strong>5. Jumping on Fancy Frameworks Like SAFe</strong></h3><p>SAFe - the perfect framework for leadership that wants the illusion of agile while maintaining their love for top-down control. Why stick to simple, flexible agile principles when you can add layers of bureaucracy, redundant ceremonies, and so many acronyms that no one knows what&#8217;s happening?</p><p><strong>Pro Tip:</strong><br>Talk about &#8220;alignment&#8221; and &#8220;scaled agility&#8221; while introducing unnecessary overhead. Nothing kills team flexibility faster than rigid frameworks disguised as solutions.</p><p><strong>Real-Life Example:</strong><br>I once attended a SAFe &#8220;PI Planning&#8221; session that spanned <em>two full days.</em> Did we align? Nope. But we did create 100 sticky notes that no one ever looked at again.</p><div><hr></div><h3><strong>6. Letting Jira Run the Show</strong></h3><p>Jira - the tool that turns agile teams into ticket-checking zombies. Forget collaboration and creativity. Your only job is to click &#8220;In Progress,&#8221; &#8220;Blocked,&#8221; and &#8220;Done&#8221; while praying you don&#8217;t forget a subtask.</p><p><strong>Pro Tip:</strong><br>If anyone asks how the project is going, just send them a link to the 37,000-ticket backlog. Real progress happens in Jira, not in code.</p><p><strong>Real-Life Example:</strong><br>A development team I worked with spent more time managing tickets than actually coding. By the end of their sprints, we didn&#8217;t have working software, but our board sure looked <em>immaculate</em>.</p><div><hr></div><h3><strong>7. Retrospectives That Change Absolutely Nothing</strong></h3><p>Retros, where we bravely admit everything that&#8217;s wrong, knowing full well it won&#8217;t matter. Write it all down on colorful (miro) sticky notes, nod enthusiastically at &#8220;action items,&#8221; and then promptly ignore them until next sprint&#8217;s retro.</p><p><strong>Pro Tip:</strong><br>If someone asks about last sprint&#8217;s action items, look confused and mumble something about &#8220;bandwidth.&#8221; Retros are about <em>venting,</em> not improving.</p><p><strong>Real-Life Example:</strong><br>Our team once spent an hour identifying &#8220;communication issues&#8221; as a recurring problem. Solution? Another meeting to discuss communication strategies. Did it work? Take a guess.</p><div><hr></div><h3><strong>Agile Is Dead, Long Live Agile</strong></h3><p>If you&#8217;ve followed these steps, congratulations! You&#8217;ve successfully killed agile while maintaining the illusion of progress. Your sprints are chaotic, your retros are pointless, and your teams are drowning in Jira tickets. But hey, at least you can still throw around buzzwords like &#8220;velocity&#8221; and &#8220;incremental delivery&#8221; in leadership meetings.</p><p>The true spirit of agile isn&#8217;t about collaboration or delivering value. It&#8217;s about <em>looking</em> agile while doing the exact opposite.</p><p>So go forth and kill agile, one sprint at a time.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pmahajan.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pmahajan.org/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Leadership by Proximity: Why Being ‘Close to the Code’ is Bad]]></title><description><![CDATA[A Masterclass in Micromanaging Your Way to Mediocrity]]></description><link>https://www.pmahajan.org/p/leadership-by-proximity-why-being</link><guid isPermaLink="false">https://www.pmahajan.org/p/leadership-by-proximity-why-being</guid><dc:creator><![CDATA[Pranshu Mahajan]]></dc:creator><pubDate>Tue, 21 Jan 2025 08:30:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_eFa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa201a36f-2344-4c02-abe4-a183d96768ea_640x427.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_!_eFa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa201a36f-2344-4c02-abe4-a183d96768ea_640x427.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_eFa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa201a36f-2344-4c02-abe4-a183d96768ea_640x427.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_eFa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa201a36f-2344-4c02-abe4-a183d96768ea_640x427.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_eFa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa201a36f-2344-4c02-abe4-a183d96768ea_640x427.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_eFa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa201a36f-2344-4c02-abe4-a183d96768ea_640x427.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_eFa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa201a36f-2344-4c02-abe4-a183d96768ea_640x427.jpeg" width="640" height="427" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a201a36f-2344-4c02-abe4-a183d96768ea_640x427.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:427,&quot;width&quot;:640,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:14237,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_eFa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa201a36f-2344-4c02-abe4-a183d96768ea_640x427.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_eFa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa201a36f-2344-4c02-abe4-a183d96768ea_640x427.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_eFa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa201a36f-2344-4c02-abe4-a183d96768ea_640x427.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_eFa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa201a36f-2344-4c02-abe4-a183d96768ea_640x427.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/@markusspiske?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash">Markus Spiske</a> on <a href="https://unsplash.com/photos/brown-game-pieces-on-white-surface-QozzJpFZ2lg?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash">Unsplash</a></figcaption></figure></div><p></p><p>Leadership is a tricky business. You want to stay involved, remain informed and <em>appear</em> helpful. So what&#8217;s the solution? Hovering over your team, reviewing every pull request and questioning every decision. After all, the closer you are to the code, the better the product&#8230; right?</p><p>Wrong.</p><p>Welcome to <strong>Leadership by Proximity</strong>, where leaders can&#8217;t let go of their developer glory days and insist on being &#8220;hands-on&#8221;, not because it helps but because <em>trusting your team</em> is apparently too risky. If you&#8217;ve ever wondered how to completely kill team morale, stifle growth and slow down delivery while believing you&#8217;re being an &#8220;involved leader,&#8221; buckle up.</p><p>Let&#8217;s explore why being &#8220;close to the code&#8221; doesn&#8217;t make you a great leader and what you&#8217;re missing out on while micromanaging everyone to oblivion.</p><div><hr></div><h3><strong>1. Your Team Doesn&#8217;t Need a &#8216;Backseat Developer&#8217;</strong></h3><p>Here&#8217;s the truth: You were probably a great developer back in the day. Maybe you optimized queries, built clean abstractions, or wrote code so beautiful it deserved to hang in the Louvre. But now? Your job isn&#8217;t to code. It&#8217;s to <strong>lead</strong>.</p><p>Hovering over your team like a backseat driver (&#8220;Why&#8217;d you use that approach? Have you thought about doing X?&#8221;) doesn&#8217;t help. It just frustrates. Your team didn&#8217;t sign up for <em>two code reviews</em>: one from the relevant team members and one from you, the self-appointed &#8220;Chief Code Commenter&#8221;.</p><p><strong>Pro Tip:</strong><br>Ask yourself, &#8220;Does this <em>really</em> need my input?&#8221; If the answer is no, step back. Micromanagement doesn&#8217;t improve quality, it just slows everyone down.</p><p><strong>Real-Life Example:</strong><br>I once worked with a leader who spent hours reviewing his team&#8217;s (perfectly functional) code because it didn&#8217;t <em>&#8220;feel&#8221;</em> right. In the end, the team spent more time explaining their work than actually delivering. Progress? Nonexistent.</p><div><hr></div><h3><strong>2. Micromanagement Is a Morale Killer</strong></h3><p>Nothing screams &#8220;I don&#8217;t trust you&#8221; like nitpicking every decision. The irony? You probably hired this team because they&#8217;re skilled, experienced and capable. So why treat them like interns?</p><p>Micromanagement isn&#8217;t just annoying, it&#8217;s demotivating. Teams that feel constantly watched stop thinking creatively, lose confidence and eventually give up. Why bother making decisions when the boss is going to override everything anyway?</p><p><strong>Pro Tip:</strong><br>If you can&#8217;t stop micromanaging, take up a hobby. Try woodworking, gardening, or writing the next Lord of the Rings, anything that keeps your hands off the code.</p><p><strong>Real-Life Example:</strong><br>A former colleague had a manager who would <em>&#8220;shadow deploy&#8221;</em> every release. After the team delivered, he&#8217;d secretly push his own changes live, like some kind of coding vigilante. Did it improve things? No. Did it destroy team morale? Absolutely.</p><div><hr></div><h3><strong>3. Proximity Isn&#8217;t Productivity</strong></h3><p>The &#8220;close to the code&#8221; leadership style comes from a good place: the desire to stay informed. But being close to every commit, meeting and Slack message doesn&#8217;t make you productive; it makes you a bottleneck.</p><p>Instead of empowering the team to work autonomously, you&#8217;ve inserted yourself into every process. Now, nothing moves forward without your blessing and everyone&#8217;s just waiting for you to <em>&#8220;review when you have time.&#8221;</em> Congrats, you&#8217;ve become the single point of failure.</p><p><strong>Pro Tip:</strong><br>Great leaders unblock their teams. If you&#8217;re holding things up because you need to &#8220;check in&#8221; on everything, you&#8217;re not leading, you&#8217;re stalling.</p><p><strong>Real-Life Example:</strong><br>A manager once joined <em>every single stand-up</em> and asked individual developers for updates on Jira tickets. By the time we finished explaining things to him, the team had lost half the morning. &#8220;Productivity&#8221; was achieved only in his weekly report.</p><div><hr></div><h3><strong>4. Autonomy Builds Better Teams (and Leaders)</strong></h3><p>Here&#8217;s a radical idea: <strong>trust your team.</strong> Empowering your people to make decisions doesn&#8217;t mean you&#8217;re disconnected; it means you&#8217;re building a team that doesn&#8217;t depend on you for every tiny thing.</p><p>When leaders back off and give teams the freedom to solve problems their way, amazing things happen. People take ownership, build confidence and start delivering better results. And here&#8217;s the kicker, you finally get to focus on actual <em>leadership</em> instead of micromanaging GitHub commits.</p><p><strong>Pro Tip:</strong><br>Set clear goals, align on priorities and then <em>get out of the way</em>. If something goes wrong, great leaders coach teams through the problem instead of saying, &#8220;I knew we should&#8217;ve done it my way.&#8221;</p><p><strong>Real-Life Example:</strong><br>One of the good leaders I ever had trusted us to experiment, learn and fail fast. The team delivered faster, collaborated better and felt like we actually <em>owned</em> the work. Weird how trust works, huh?</p><div><hr></div><h3><strong>5. Fancy Frameworks Won&#8217;t Save You</strong></h3><p>When leaders realize micromanagement doesn&#8217;t scale, they often turn to fancy frameworks like SAFe, hoping for the illusion of control. Spoiler alert: SAFe doesn&#8217;t mean safe. It just means you&#8217;ve added more layers of process and bureaucracy to slow everyone down.</p><p>Instead of empowering teams, these frameworks introduce redundant rituals, endless planning sessions and enough acronyms to make your head spin. Flexibility? Gone. Innovation? Stifled. But hey, at least the Gantt chart looks good.</p><p><strong>Pro Tip:</strong><br>If your solution to chaos is &#8220;more process,&#8221; you&#8217;re probably solving the wrong problem. Focus on trust, transparency and clear goals, not over-engineering your team&#8217;s workflow.</p><p><strong>Real-Life Example:</strong><br>I once sat in a 2-day SAFe PI Planning session. By the end, we&#8217;d spent more time debating <em>alignment</em> than actually building anything. Did we scale agility? Nope. Did we scale confusion? Absolutely.</p><div><hr></div><h3><strong>6. Leadership Is About Outcomes, Not Outputs</strong></h3><p>Great leaders focus on results, not micromanaging the &#8220;how.&#8221; If the product gets delivered, customers are happy and the team is thriving, does it really matter if someone didn&#8217;t follow <em>your</em> exact coding style?</p><p>When you fixate on outputs (individual lines of code or exact processes) you lose sight of what matters: delivering value. Let your team own the <em>how</em> and you focus on the <em>why</em> and <em>what next</em>.</p><p><strong>Pro Tip:</strong><br>Measure success in outcomes (user value, business impact), not in code reviews, velocity and Jira ticket updates.</p><p><strong>Real-Life Example:</strong><br>A leader once spent an hour critiquing a function name. That hour could&#8217;ve been spent shipping the feature or aligning on strategy. Instead, we got a lecture on &#8220;naming conventions.&#8221; Priorities.</p><div><hr></div><h3><strong>7. Good Leaders Scale Themselves Out of the Day-to-Day</strong></h3><p>Good leaders don&#8217;t need to be &#8220;close to the code&#8221; because they&#8217;ve built teams they can trust. By empowering your people, you scale yourself. You&#8217;re no longer the bottleneck, you&#8217;re the enabler.</p><p>Your focus shifts from micromanaging to creating an environment where teams thrive. That&#8217;s real leadership, not hovering over pull requests.</p><p><strong>Pro Tip:</strong><br>If you&#8217;ve built a team that can function without you, you haven&#8217;t made yourself obsolete - you&#8217;ve made yourself a <em>great leader</em>.</p><p><strong>Real-Life Example:</strong><br>The best leader I knew spent more time coaching, mentoring and removing obstacles than scrutinizing technical decisions. The result? A team that delivered, grew and trusted each other.</p><div><hr></div><h3><strong>Conclusion: Step Back to Lead Better</strong></h3><p>Being &#8220;close to the code&#8221; might make you <em>feel</em> helpful, but it doesn&#8217;t make you a good leader. Real leadership is about trust, autonomy and enabling teams to do their best work without you watching their every move.</p><p>So, take a step back, let your team own their decisions and focus on the bigger picture. After all, nobody&#8217;s looking to follow a backseat developer. They&#8217;re looking for a leader.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pmahajan.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pmahajan.org/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Decisions with Half the Information]]></title><description><![CDATA[Why It's Okay to Not Have All the Answers!]]></description><link>https://www.pmahajan.org/p/decisions-with-half-the-information</link><guid isPermaLink="false">https://www.pmahajan.org/p/decisions-with-half-the-information</guid><dc:creator><![CDATA[Pranshu Mahajan]]></dc:creator><pubDate>Tue, 14 Jan 2025 08:30:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Npbo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6795b2-f052-4982-b936-d7168a2ebb49_6000x4000.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_!Npbo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6795b2-f052-4982-b936-d7168a2ebb49_6000x4000.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Npbo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6795b2-f052-4982-b936-d7168a2ebb49_6000x4000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Npbo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6795b2-f052-4982-b936-d7168a2ebb49_6000x4000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Npbo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6795b2-f052-4982-b936-d7168a2ebb49_6000x4000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Npbo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6795b2-f052-4982-b936-d7168a2ebb49_6000x4000.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Npbo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6795b2-f052-4982-b936-d7168a2ebb49_6000x4000.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be6795b2-f052-4982-b936-d7168a2ebb49_6000x4000.jpeg&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;:5372156,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Npbo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6795b2-f052-4982-b936-d7168a2ebb49_6000x4000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Npbo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6795b2-f052-4982-b936-d7168a2ebb49_6000x4000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Npbo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6795b2-f052-4982-b936-d7168a2ebb49_6000x4000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Npbo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6795b2-f052-4982-b936-d7168a2ebb49_6000x4000.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/@jontyson?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash">Jon Tyson</a> on <a href="https://unsplash.com/photos/a-yellow-triangle-on-a-road-UfV8Lt4y-5g?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash">Unsplash</a></figcaption></figure></div><p>As a software team, how often do you find yourself stuck in decision paralysis, waiting for perfect clarity before moving forward? Spoiler alert: perfection rarely arrives. Yet, the hesitation to act without "all the answers" can stall progress, kill momentum, and frustrate teams into oblivion. Here's a reality check: making decisions with incomplete information isn&#8217;t just okay, it&#8217;s often the only way forward.</p><div><hr></div><h3>The Unattainable Myth of Perfection</h3><p>Let&#8217;s start with a truth most of us know but don&#8217;t always accept: we will never have all the data. Requirements will change. Stakeholders will add new conditions. Unknown dependencies will rear their ugly heads. If we wait until we feel completely certain, we&#8217;re not avoiding mistakes; we&#8217;re just creating a new kind of failure - failure to act.</p><p>This doesn&#8217;t mean we should act recklessly, but it does mean we should embrace a mindset that values progress over perfection. After all, software development is inherently iterative. You build, you learn, you adjust. Waiting for certainty robs us of the chance to learn faster.</p><div><hr></div><h3>Why Teams Hesitate</h3><p>Several factors fuel this hesitation:</p><ul><li><p><strong>Fear of Being Wrong:</strong> No one wants to be the one who made the &#8220;wrong&#8221; decision. But here&#8217;s the thing: sometimes the wrong decision teaches us what the right one should have been.</p></li><li><p><strong>Overvaluation of Data:</strong> Teams can fall into the trap of believing they need a mountain of data to validate every choice. Ironically, by the time you&#8217;ve gathered all that data, the problem may have evolved.</p></li><li><p><strong>Stakeholder Expectations:</strong> Teams feel the pressure to present foolproof plans to stakeholders, which often leads to analysis paralysis.</p><div><hr></div></li></ul><h3>Acting with Confidence, Not Perfection</h3><p>The key is to make decisions with confidence, even when the information is incomplete. Confidence doesn&#8217;t mean arrogance; it means trusting your team&#8217;s expertise, using available data, and knowing when to move forward.</p><h4>Example: Shipping Features with Iterative Releases</h4><p>Imagine a team debating whether to release a new feature. They&#8217;re stuck on edge cases - what if this fails under XYZ scenario? While those concerns are valid, the endless back-and-forth halts progress. Instead, they could:</p><ul><li><p>Roll out the feature to a small user segment.</p></li><li><p>Collect real-world feedback.</p></li><li><p>Address any issues in subsequent sprints.</p></li></ul><p>By shipping iteratively, the team learns faster and adapts sooner, instead of wasting weeks debating hypothetical scenarios.</p><div><hr></div><h3>Practical Steps for Decision-Making with Limited Information</h3><h4>1. Define Your Risk Tolerance</h4><p>Not every decision needs exhaustive scrutiny. Evaluate the potential blast radius:</p><ul><li><p>High impact, high risk? Slow down and involve more voices.</p></li><li><p>Low impact, low risk? Make the call and move on.</p></li></ul><h4>Example: Refactoring a Legacy Feature</h4><p>Instead of waiting for a complete understanding of dependencies, a team could focus on one small module at a time. If something breaks, the impact is isolated, and they&#8217;ve still made progress.</p><h4>2. Use Data Strategically</h4><p>Leverage the data you have, but don&#8217;t obsess over what&#8217;s missing. Often, 60-70% certainty is enough to act. Use the remaining 30% as an opportunity to learn and refine.</p><h4>3. Create Feedback Loops</h4><p>Build mechanisms to quickly validate or invalidate decisions:</p><ul><li><p>Roll out changes in A/B tests.</p></li><li><p>Use feature flags to control visibility.</p></li><li><p>Rely on metrics like user behavior, error rates, and engagement to guide iterations.</p><div><hr></div></li></ul><h4>4. Communicate Transparently</h4><p>Make sure your team and stakeholders understand that not all decisions are final. Position them as steps in a broader learning journey.</p><h4>Example: Prioritizing a Sprint Goal</h4><p>A team chooses to focus on enhancing performance for one feature, knowing there might be trade-offs with others. They communicate this decision and align on metrics to evaluate its success after deployment.</p><div><hr></div><h3>The Role of Leadership: Creating a Safe Space</h3><p>Leaders play a critical role in fostering a culture where decisions can be made confidently without the fear of failure. This includes:</p><ul><li><p>Encouraging teams to experiment and iterate.</p></li><li><p>Backing the team when things don&#8217;t go as planned.</p></li><li><p>Shifting the focus from "getting it right" to "getting it moving."</p></li></ul><p>One of the good leaders I worked with often said, "The worst decision is no decision." And they meant it. Waiting for perfect information wasn&#8217;t an option because they understood the opportunity cost of stagnation.</p><div><hr></div><h3>The Cost of Waiting</h3><p>The biggest risk of decision paralysis is the opportunity cost. While you wait for all the answers, competitors move ahead, user needs evolve, and your team&#8217;s morale suffers. Remember, no amount of analysis can guarantee a flawless outcome. But no action guarantees no outcome.</p><div><hr></div><h3>What Progress Really Looks Like</h3><p>True progress isn&#8217;t about getting every decision right the first time. It&#8217;s about maintaining momentum, learning from mistakes, and iterating toward success. The magic of software development lies in its agility. The ability to adapt, refine, and improve. Don&#8217;t let the fear of imperfection rob your team of that magic.</p><p>So, the next time you&#8217;re stuck in the endless loop of &#8220;Do we know enough to act?&#8221; remind yourself: decisions made with half the information are often better than no decisions at all. Move forward, embrace uncertainty, and let your team&#8217;s expertise guide the way.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pmahajan.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pmahajan.org/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[The Art of Feedback]]></title><description><![CDATA[How to Help Your Team Grow Without Crushing Their Souls!]]></description><link>https://www.pmahajan.org/p/the-art-of-feedback</link><guid isPermaLink="false">https://www.pmahajan.org/p/the-art-of-feedback</guid><dc:creator><![CDATA[Pranshu Mahajan]]></dc:creator><pubDate>Tue, 07 Jan 2025 08:31:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cXUy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb757ba24-2323-42dd-b230-7a8d3a6197a9_1280x853.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_!cXUy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb757ba24-2323-42dd-b230-7a8d3a6197a9_1280x853.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cXUy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb757ba24-2323-42dd-b230-7a8d3a6197a9_1280x853.jpeg 424w, https://substackcdn.com/image/fetch/$s_!cXUy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb757ba24-2323-42dd-b230-7a8d3a6197a9_1280x853.jpeg 848w, https://substackcdn.com/image/fetch/$s_!cXUy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb757ba24-2323-42dd-b230-7a8d3a6197a9_1280x853.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!cXUy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb757ba24-2323-42dd-b230-7a8d3a6197a9_1280x853.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cXUy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb757ba24-2323-42dd-b230-7a8d3a6197a9_1280x853.jpeg" width="1280" height="853" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b757ba24-2323-42dd-b230-7a8d3a6197a9_1280x853.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:853,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:53617,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cXUy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb757ba24-2323-42dd-b230-7a8d3a6197a9_1280x853.jpeg 424w, https://substackcdn.com/image/fetch/$s_!cXUy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb757ba24-2323-42dd-b230-7a8d3a6197a9_1280x853.jpeg 848w, https://substackcdn.com/image/fetch/$s_!cXUy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb757ba24-2323-42dd-b230-7a8d3a6197a9_1280x853.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!cXUy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb757ba24-2323-42dd-b230-7a8d3a6197a9_1280x853.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 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">Image by <a href="https://pixabay.com/users/geralt-9301/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=7245372">Gerd Altmann</a> from <a href="https://pixabay.com//?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=7245372">Pixabay</a></figcaption></figure></div><p>Happy New Year Folks! Let&#8217;s get into it. </p><p>Giving feedback is not an easy task. You&#8217;re essentially telling someone, &#8220;Hey, you could do and/or be better,&#8221; without making them want to pack up their desk or mute you forever on Slack. The secret? Delivering constructive criticism that sparks growth without leaving a trail of shattered confidence.</p><p>Spoiler alert: It&#8217;s <em>not</em> about sugar-coating the truth or drowning it in compliments. It&#8217;s about being clear, actionable, and, dare I say it, a little human. Let&#8217;s dive into how to master the art of feedback without turning your one-on-ones into therapy sessions.</p><div><hr></div><h3><strong>1: Be Blunt, but Not Brutal</strong></h3><p>Honesty is the foundation of good feedback, but there&#8217;s a difference between being direct and being a jerk. Skip the fluff and get to the point. Your team doesn&#8217;t need a Shakespearean monologue about their work ethic; they need clarity.</p><p><strong>Example:</strong></p><ul><li><p>Instead of: &#8220;This project isn&#8217;t meeting expectations, but you tried really hard, and that counts for something.&#8221;</p></li><li><p>Say: &#8220;This project isn&#8217;t meeting expectations. Let&#8217;s break down why and figure out a way forward.&#8221;</p></li></ul><p>It&#8217;s not about being &#8220;nice&#8221;. It&#8217;s about being constructive while still being human.</p><div><hr></div><h3><strong>2: Focus on the Work, Not the Person</strong></h3><p>The quickest way to destroy morale is to make feedback personal. Critique the task or the decisions, not the individual. Remember, you&#8217;re here to fix the output, not their personality.</p><p><strong>Example:</strong></p><ul><li><p>Instead of: &#8220;You&#8217;re disorganized and it&#8217;s affecting the team.&#8221;</p></li><li><p>Say: &#8220;The project tracking isn&#8217;t as clear as it could be. Let&#8217;s look at tools or approaches to improve it.&#8221;</p></li></ul><p>See? Same message, less drama.</p><div><hr></div><h3><strong>3: Make It Specific and Actionable</strong></h3><p>Vague feedback is about as useful as a GPS that says &#8220;Turn somewhere soon.&#8221; Your team needs actionable advice, not riddles.</p><p><strong>Example:</strong></p><ul><li><p>Instead of: &#8220;You need to improve your communication.&#8221;</p></li><li><p>Say: &#8220;In our last meeting, the action items weren&#8217;t clear. Let&#8217;s try ending with a summary next time.&#8221;</p></li></ul><p>Specific feedback gives people something to work with. Ambiguity just makes them frustrated or worse, defensive.</p><div><hr></div><h3><strong>4: Timing Is Everything</strong></h3><p>There&#8217;s a fine line between providing timely feedback and blindsiding someone. Feedback works best when it&#8217;s given promptly and when emotions aren&#8217;t running high, think right after a sprint retro, not mid-crisis.</p><p><strong>Pro Tip:</strong><br>Deliver feedback as soon as it&#8217;s relevant, ideally when it can still make a difference, like after an incomplete deliverable but before the next deadline.</p><p><strong>What Not to Do:</strong><br>Don&#8217;t wait until the next big project to say, &#8220;By the way, your last report was confusing.&#8221; Nothing screams &#8220;I&#8217;ve been holding a grudge&#8221; quite like late feedback.</p><div><hr></div><h3><strong>5: Ask Questions Instead of Dictating</strong></h3><p>Instead of barking out orders or handing down judgments from your managerial throne, try turning feedback into a conversation. Questions help the other person think critically and feel like they&#8217;re part of the solution.</p><p><strong>Example:</strong></p><ul><li><p>Instead of: &#8220;You need to stop overcomplicating designs.&#8221;</p></li><li><p>Say: &#8220;What&#8217;s the core problem you&#8217;re trying to solve with this design? Is there a simpler way to achieve it?&#8221;</p></li></ul><p>Questions encourage dialogue, not defensiveness. Plus, it subtly implies, &#8220;Hey, I trust your brain to figure this out.&#8221;</p><div><hr></div><h3><strong>6: Don&#8217;t Forget the Bigger Picture</strong></h3><p>Feedback is more effective when it&#8217;s tied to goals and outcomes, not just nitpicking for the sake of it. Frame your critique in terms of how it contributes to the team&#8217;s or company&#8217;s success.</p><p><strong>Example:</strong></p><ul><li><p>Instead of: &#8220;Your code review comments aren&#8217;t helpful.&#8221;</p></li><li><p>Say: &#8220;By providing more detailed and actionable comments in code reviews, we can help the team improve quality faster and reduce rework during the sprint.&#8221;</p></li></ul><p>When people see how their improvement aligns with the bigger picture, they&#8217;re more likely to take it seriously and less likely to roll their eyes when you&#8217;re not looking.</p><div><hr></div><h3><strong>7: Follow Up Without Hovering</strong></h3><p>Feedback isn&#8217;t a one-and-done deal. Following up shows that you care about progress without micromanaging. Think of it like watering a plant, too much attention, and you drown it; too little, and it withers.</p><p><strong>Example:</strong></p><ul><li><p>&#8220;Hey, I noticed some improvements in how you&#8217;ve been organizing tasks. Great work! Let me know if you need support to keep building on that.&#8221;</p></li></ul><p>Follow-ups show that you&#8217;re invested in their growth, not just ticking a box for HR.</p><div><hr></div><h3><strong>8: Know When to Keep Your Mouth Shut</strong></h3><p>Not all feedback is worth sharing. Sometimes, the best feedback is letting people learn from their own mistakes. If the error isn&#8217;t critical or doesn&#8217;t impact the team&#8217;s success, consider giving them the space to figure it out.</p><p><strong>Pro Tip:</strong><br>Before you give feedback, ask yourself: &#8220;Is this worth bringing up, or am I just nitpicking to feel important?&#8221; (Spoiler: It&#8217;s probably the latter.)</p><div><hr></div><h3><strong>9: Feedback Isn&#8217;t Just for the Bad Stuff</strong></h3><p>When we hear "feedback," we often assume it&#8217;s code for &#8220;Here&#8217;s everything you did wrong.&#8221; But feedback is a two-way street. It&#8217;s just as important to highlight what&#8217;s working well as it is to point out what needs improvement.</p><p>Celebrating wins and reinforcing positive behavior isn&#8217;t just about making people feel good (though that&#8217;s nice too), it encourages the team to double down on what they&#8217;re already doing well and builds a culture of trust and recognition.</p><p><strong>Pro Tip:</strong><br>Positive feedback is most impactful when it&#8217;s specific. Don&#8217;t just say &#8220;Good job&#8221;; explain <em>why</em> it was good and how it made a difference.</p><p><strong>Example:</strong></p><ul><li><p>Don&#8217;t just say: &#8220;Your problem solving approach was innovative.&#8221;</p></li><li><p>Add: &#8220;Your approach saved us significant time during implementation, and I think we should apply it to future projects as a best practice.&#8221;</p></li></ul><div><hr></div><h3><strong>Be Direct, Be Kind, Be Useful</strong></h3><p>Good feedback doesn&#8217;t need to be sugar-coated, but it does need to be helpful. It&#8217;s about showing your team where they can grow while giving them the tools and confidence to actually do it.</p><p>So, ditch the compliment sandwiches and focus on being clear, constructive, and maybe just a little bit human. Who knows? You might just foster growth without anyone sobbing into their coffee.</p><p>Now go forth, feedback warriors, and make the workplace a better (and slightly less awkward) place. One honest conversation at a time.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pmahajan.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pmahajan.org/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Thank You for an Incredible Start 🎄]]></title><description><![CDATA[As the year winds down, I wanted to take a moment to pause, reflect, and thank all of you for being part of this journey.]]></description><link>https://www.pmahajan.org/p/thank-you-for-an-incredible-start</link><guid isPermaLink="false">https://www.pmahajan.org/p/thank-you-for-an-incredible-start</guid><dc:creator><![CDATA[Pranshu Mahajan]]></dc:creator><pubDate>Fri, 20 Dec 2024 08:30:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!c42g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15916065-6f2b-4ab7-b010-ec374fce58d9_540x540.gif" 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_!c42g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15916065-6f2b-4ab7-b010-ec374fce58d9_540x540.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!c42g!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15916065-6f2b-4ab7-b010-ec374fce58d9_540x540.gif 424w, https://substackcdn.com/image/fetch/$s_!c42g!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15916065-6f2b-4ab7-b010-ec374fce58d9_540x540.gif 848w, https://substackcdn.com/image/fetch/$s_!c42g!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15916065-6f2b-4ab7-b010-ec374fce58d9_540x540.gif 1272w, https://substackcdn.com/image/fetch/$s_!c42g!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15916065-6f2b-4ab7-b010-ec374fce58d9_540x540.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!c42g!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15916065-6f2b-4ab7-b010-ec374fce58d9_540x540.gif" width="540" height="540" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/15916065-6f2b-4ab7-b010-ec374fce58d9_540x540.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:540,&quot;width&quot;:540,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Movie gif. A Minion from Despicable Me excitedly hops and dances around in an ugly Christmas sweater and Santa hat. Several other minions, dressed in green choir gowns, sway back and forth or copy him as they sing along.&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="Movie gif. A Minion from Despicable Me excitedly hops and dances around in an ugly Christmas sweater and Santa hat. Several other minions, dressed in green choir gowns, sway back and forth or copy him as they sing along." title="Movie gif. A Minion from Despicable Me excitedly hops and dances around in an ugly Christmas sweater and Santa hat. Several other minions, dressed in green choir gowns, sway back and forth or copy him as they sing along." srcset="https://substackcdn.com/image/fetch/$s_!c42g!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15916065-6f2b-4ab7-b010-ec374fce58d9_540x540.gif 424w, https://substackcdn.com/image/fetch/$s_!c42g!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15916065-6f2b-4ab7-b010-ec374fce58d9_540x540.gif 848w, https://substackcdn.com/image/fetch/$s_!c42g!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15916065-6f2b-4ab7-b010-ec374fce58d9_540x540.gif 1272w, https://substackcdn.com/image/fetch/$s_!c42g!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15916065-6f2b-4ab7-b010-ec374fce58d9_540x540.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExZGVjdHM1aHk4aDJvZndvMjNsN2x1ZTFtZDJwNHRtY2o4NTA2eTZyaCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/9w475hDWEPVlu/giphy.gif">Source</a></figcaption></figure></div><p>As the year winds down, I wanted to take a moment to pause, reflect, and thank all of you for being part of this journey.</p><p>I started <em>Team Dynamics 101</em> just a few months ago, driven by my passion for sharing my experience around what makes software teams tick. It&#8217;s been a wild and rewarding ride, and seeing so many of you join, read, and share these articles has been the greatest gift I could ask for.</p><p>From exploring the quirks of ineffective meetings to poking fun at the pitfalls of agile, this space has become something I&#8217;m genuinely excited about each week. Your support, whether it&#8217;s through subscriptions, feedback, or just the occasional &#8220;Hey, I needed that laugh today&#8221;, means the world to me.</p><div><hr></div><h3><strong>What&#8217;s Next?</strong></h3><p>I&#8217;ll be taking a short New Year&#8217;s break to recharge (and maybe plot a few more sarcastic rants). The next article will drop on <strong>January 7th</strong>, and trust me, there&#8217;s plenty more cool stuff coming your way in 2025.</p><p>Until then, I hope you all get some well-deserved rest, time with loved ones, and maybe even a meeting-free week (imagine that!).</p><p>Wishing you a Merry Christmas, Happy Holidays, and a New Year full of great ideas, productive teams, and slightly fewer &#8220;quick syncs.&#8221;</p><p>See you in January! &#127881;</p><p><strong>- Pranshu</strong></p>]]></content:encoded></item><item><title><![CDATA[Technical Debt Isn’t Just an Engineering Problem]]></title><description><![CDATA[Let&#8217;s get one thing straight: technical debt isn&#8217;t the secret playground of engineers.]]></description><link>https://www.pmahajan.org/p/technical-debt-isnt-just-an-engineering</link><guid isPermaLink="false">https://www.pmahajan.org/p/technical-debt-isnt-just-an-engineering</guid><dc:creator><![CDATA[Pranshu Mahajan]]></dc:creator><pubDate>Tue, 17 Dec 2024 08:31:02 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/57037f34-48f6-4e73-81e9-1e2ae5397d56_4496x3000.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_!RfiZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa7810d3-e37d-4d29-8b4a-7ea7f3a1f3fb_480x270.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RfiZ!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa7810d3-e37d-4d29-8b4a-7ea7f3a1f3fb_480x270.gif 424w, https://substackcdn.com/image/fetch/$s_!RfiZ!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa7810d3-e37d-4d29-8b4a-7ea7f3a1f3fb_480x270.gif 848w, https://substackcdn.com/image/fetch/$s_!RfiZ!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa7810d3-e37d-4d29-8b4a-7ea7f3a1f3fb_480x270.gif 1272w, https://substackcdn.com/image/fetch/$s_!RfiZ!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa7810d3-e37d-4d29-8b4a-7ea7f3a1f3fb_480x270.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RfiZ!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa7810d3-e37d-4d29-8b4a-7ea7f3a1f3fb_480x270.gif" width="480" height="270" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aa7810d3-e37d-4d29-8b4a-7ea7f3a1f3fb_480x270.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:270,&quot;width&quot;:480,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Please Stand By Technical Difficulties GIF by Enchanted Studios&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="Please Stand By Technical Difficulties GIF by Enchanted Studios" title="Please Stand By Technical Difficulties GIF by Enchanted Studios" srcset="https://substackcdn.com/image/fetch/$s_!RfiZ!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa7810d3-e37d-4d29-8b4a-7ea7f3a1f3fb_480x270.gif 424w, https://substackcdn.com/image/fetch/$s_!RfiZ!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa7810d3-e37d-4d29-8b4a-7ea7f3a1f3fb_480x270.gif 848w, https://substackcdn.com/image/fetch/$s_!RfiZ!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa7810d3-e37d-4d29-8b4a-7ea7f3a1f3fb_480x270.gif 1272w, https://substackcdn.com/image/fetch/$s_!RfiZ!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa7810d3-e37d-4d29-8b4a-7ea7f3a1f3fb_480x270.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExMGxseDd1cXBpa2pxcHEyYmdheThmeDA1bjZ2c2JibXFtb2N2NDBlYiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/hhbsgAvBkZqkKx2ys7/giphy.gif">Source</a></figcaption></figure></div><p>Let&#8217;s get one thing straight: technical debt isn&#8217;t the secret playground of engineers. It doesn&#8217;t quietly sit in the background while teams merrily ship features. It&#8217;s a ticking time bomb, and when it goes off, the blast radius impacts everyone; Product Managers, stakeholders, users, and yes, even the engineers who warned about it in the first place.</p><p>Yet, technical debt is often brushed aside as &#8220;engineering problem,&#8221; something to be dealt with later when there&#8217;s &#8220;time&#8221;. Spoiler alert: there&#8217;s never time. And by the time you do get around to addressing it, the costs have ballooned, timelines have slipped, and user trust has eroded.</p><p>So let&#8217;s talk about why technical debt is everyone&#8217;s problem and, more importantly, how we can tackle it together.</p><div><hr></div><h3>What Is Technical Debt?</h3><p>Technical debt is like cutting corners to meet a deadline. It&#8217;s the code you know isn&#8217;t optimal but works <em>for now</em>. It&#8217;s the shortcuts, the hacks, the &#8220;we&#8217;ll refactor this later&#8221;, decisions that pile up over time. But just like financial debt, it accrues interest. The more you ignore it, the harder it becomes to move quickly and effectively.</p><h4>Example:</h4><p>Imagine you&#8217;re building a house. You decide to skip insulation to save time and money. The house looks fine, but when winter arrives, heating costs skyrocket. Fixing it later means tearing down walls; a much bigger (and costlier) problem than doing it right the first time.</p><p>In software, technical debt manifests as slower (future) development cycles, more bugs, and increased maintenance costs. The real kicker? It eventually blocks your ability to innovate and deliver value.</p><div><hr></div><h3>Why Should Everyone Care?</h3><h4>1. <strong>It Slows Down Feature Delivery</strong></h4><p>The same codebase that shipped your MVP quickly becomes a drag when debt piles up. Every new feature takes longer to implement because the foundation is shaky. Engineers spend more time untangling old decisions than building new solutions.</p><h4>2. <strong>It Affects User Experience</strong></h4><p>Technical debt isn&#8217;t just an internal issue. Users notice when systems crash, when performance lags, or when features are half-baked because the underlying code is duct-taped together.</p><h4>Example:</h4><p>A team rushed to ship a feature for a major customer demo, skipping proper testing and ignoring warnings about scalability. The feature worked during the demo but crashed under real-world user load. The fallout? Lost revenue and a strained customer relationship.</p><h4>3. <strong>It Increases Costs</strong></h4><p>Bugs caused by technical debt lead to rework, firefighting, and longer development cycles. These costs are rarely factored into project budgets, but they&#8217;re very real and they grow exponentially over time.</p><div><hr></div><h3>Addressing Technical Debt: A Team Sport</h3><p>The good news? Addressing technical debt doesn&#8217;t have to be a blame game. It&#8217;s about collaboration, alignment, and shared responsibility.</p><h4>1. <strong>Acknowledge It Openly</strong></h4><p>The first step is to admit that technical debt exists and affects everyone. Avoid framing it as an &#8220;engineering issue&#8221;. Instead, discuss it as a barrier to delivering business value.</p><h4>2. <strong>Make It Visible</strong></h4><p>Use metrics to quantify technical debt and its impact. Highlight things like bug resolution time, developer productivity, and user feedback. When stakeholders see the data, it&#8217;s easier to prioritize debt alongside features.</p><h4>Example Metrics:</h4><ul><li><p><strong>Cycle Time:</strong> How long does it take to complete a task?</p></li><li><p><strong>Error Rates:</strong> Bugs caused by rushed solutions.</p></li><li><p><strong>Downtime:</strong> How often are users affected by system failures?</p></li><li><p><strong>MTTR:</strong> How long does it take us to restore service?</p></li><li><p><strong>Deployment Frequency:</strong> How often can we deploy? How painful is each deployment?</p></li></ul><h4>3. <strong>Prioritize It Like Any Other Work</strong></h4><p>Technical debt shouldn&#8217;t live in the shadows. Bring it into the backlog. Make it part of the conversation during refinements and planning.</p><h4>4. <strong>Build It Into the Roadmap</strong></h4><p>Just like features, technical debt has a place on the roadmap. Use initiatives like &#8220;tech sprints&#8221; to get this going and then dedicate a percentage of each sprint to tackling it. Product Managers, this is where you shine; connect the debt to business outcomes, like faster delivery or improved user satisfaction.</p><h4>5. <strong>Set the Right Culture</strong></h4><p>Leaders need to create an environment where engineers feel empowered to call out technical debt without fear of being labeled blockers. Teams should celebrate proactive maintenance, not just shiny new features.</p><div><hr></div><h3>Balancing Debt and Delivery</h3><p>Here&#8217;s the tricky part: You can&#8217;t eliminate all technical debt, nor should you try. Some debt is necessary to move quickly, especially in the early stages of a project. The key is knowing when to take on debt and when to pay it off.</p><h4>Example:</h4><p>A startup rushes to release a feature critical for landing funding. They knowingly accrue debt but have a plan to address it in the next quarter. That&#8217;s smart debt. Compare this to a team that accrues debt without a strategy. This is where things spiral out of control.</p><div><hr></div><h3>Final Thoughts</h3><p>Technical debt is everyone&#8217;s problem because it affects what we all care about: delivering value to users, staying competitive, and maintaining a healthy team culture. It&#8217;s not about pointing fingers; it&#8217;s about working together to build something sustainable.</p><p>So, the next time someone asks why we&#8217;re spending time &#8220;cleaning up code,&#8221; remind them: It&#8217;s not just cleanup. It&#8217;s an investment in your team&#8217;s ability to innovate, deliver, and thrive. Let&#8217;s stop treating technical debt like a dirty secret and start treating it like the strategic priority it is.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pmahajan.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pmahajan.org/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Who Still Cares About Velocity?]]></title><description><![CDATA[Start focusing on Outcomes]]></description><link>https://www.pmahajan.org/p/who-still-cares-about-velocity</link><guid isPermaLink="false">https://www.pmahajan.org/p/who-still-cares-about-velocity</guid><dc:creator><![CDATA[Pranshu Mahajan]]></dc:creator><pubDate>Tue, 10 Dec 2024 08:30:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cj5k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b6ab9ba-95e1-4062-b9c2-e34d76bb5bae_499x500.gif" 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_!cj5k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b6ab9ba-95e1-4062-b9c2-e34d76bb5bae_499x500.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cj5k!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b6ab9ba-95e1-4062-b9c2-e34d76bb5bae_499x500.gif 424w, https://substackcdn.com/image/fetch/$s_!cj5k!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b6ab9ba-95e1-4062-b9c2-e34d76bb5bae_499x500.gif 848w, https://substackcdn.com/image/fetch/$s_!cj5k!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b6ab9ba-95e1-4062-b9c2-e34d76bb5bae_499x500.gif 1272w, https://substackcdn.com/image/fetch/$s_!cj5k!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b6ab9ba-95e1-4062-b9c2-e34d76bb5bae_499x500.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cj5k!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b6ab9ba-95e1-4062-b9c2-e34d76bb5bae_499x500.gif" width="499" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0b6ab9ba-95e1-4062-b9c2-e34d76bb5bae_499x500.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:499,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;loop numbers GIF&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="loop numbers GIF" title="loop numbers GIF" srcset="https://substackcdn.com/image/fetch/$s_!cj5k!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b6ab9ba-95e1-4062-b9c2-e34d76bb5bae_499x500.gif 424w, https://substackcdn.com/image/fetch/$s_!cj5k!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b6ab9ba-95e1-4062-b9c2-e34d76bb5bae_499x500.gif 848w, https://substackcdn.com/image/fetch/$s_!cj5k!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b6ab9ba-95e1-4062-b9c2-e34d76bb5bae_499x500.gif 1272w, https://substackcdn.com/image/fetch/$s_!cj5k!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b6ab9ba-95e1-4062-b9c2-e34d76bb5bae_499x500.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExbThhN2NuaTN1ZWo0N3JzMWQybWxuZ2Noa2V5bmQ2bzNtb2o3aGxpaCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/JdFEeta1hLNnO/giphy.gif">Source</a></figcaption></figure></div><p>Ah, velocity. The cherished metric of software teams everywhere; or at least by the managers who love charts and graphs with upward trajectories. For those unfamiliar, velocity is the measure of how many story points a team delivers in a Sprint. And while it sounds useful, in my experience, it&#8217;s one of the most misunderstood and misused concepts.</p><p>So, let&#8217;s dig in. Is velocity the holy grail of team productivity, or is it the illusion of control dressed up as a metric? Spoiler: it&#8217;s the latter.</p><div><hr></div><h2><strong>The Story Points Illusion</strong></h2><p>At its core, story points are a relative measure of effort, complexity and risk. They make sense <em>within a team</em>. Emphasis on <em>within</em>. Team A&#8217;s story points are not comparable to Team B&#8217;s, and even within Team A, story points are just a tool to facilitate discussions. Yet somehow, people outside the team love to treat them like absolute truths.</p><p>Enter the dreaded question: <strong>&#8220;Why is our velocity lower this Sprint?&#8221;</strong></p><p>Here&#8217;s the thing - story points are not deadlines. They&#8217;re not commitments. They&#8217;re not progress indicators. They&#8217;re simply a way for a team to collectively understand the complexity of their work. However, when managers start equating velocity with productivity, it quickly devolves into nonsense metrics that drive unhealthy behaviors.</p><div><hr></div><h2><strong>When Velocity Becomes a Problem</strong></h2><h3><strong>1. The Illusion of Control</strong></h3><p>Velocity gives some managers the illusion that they&#8217;re in control. By tracking the &#8220;number&#8221; of story points delivered, they think they&#8217;re driving efficiency. But here&#8217;s the truth: asking &#8220;Why is velocity down?&#8221; doesn&#8217;t magically solve user problems. It just pressures the team to inflate numbers or sacrifice quality to hit an arbitrary target.</p><h3><strong>2. Unhealthy Comparisons</strong></h3><p>&#8220;Team B is delivering 100 story points per Sprint; why are we only doing 60?&#8221;<br>This question is the equivalent of comparing apples to oranges. Different teams, different contexts, different baselines. It&#8217;s not only unproductive; it undermines team morale.</p><h3><strong>3. Missing the Bigger Picture</strong></h3><p>Focusing on velocity distracts teams from what actually matters: solving user problems and delivering outcomes. The goal isn&#8217;t to deliver the most story points. It&#8217;s to deliver the most value.</p><div><hr></div><h2><strong>What Story Points Are Actually Good For</strong></h2><p>Let&#8217;s be fair: story points aren&#8217;t inherently bad. They serve one valuable purpose - <strong>building a shared understanding</strong>.</p><p>When a team estimates a story, it forces them to discuss complexities, dependencies, and potential risks. That&#8217;s the real value. It&#8217;s not about whether a task is a &#8220;3&#8221; or a &#8220;5.&#8221; It&#8217;s about the conversation that happens when someone says, &#8220;Wait, why do you think this is a 13? Did we miss something?&#8221;</p><p>Story points drive collaboration. They help teams align on what needs to be done and how difficult it will be. But beyond that? The actual number doesn&#8217;t matter.</p><div><hr></div><h2><strong>Stop Obsessing over Velocity and Start Measuring Outcomes</strong></h2><p>The most productive teams don&#8217;t obsess over how many story points they&#8217;ve delivered. Instead, they focus on the outcomes they&#8217;re driving.</p><p>Here&#8217;s what that looks like:</p><ul><li><p><strong>Instead of asking:</strong> &#8220;What&#8217;s our velocity this Sprint?&#8221;</p></li><li><p><strong>Ask:</strong> &#8220;Did we achieve our Sprint Goal? Did we move closer to solving our user&#8217;s problem?&#8221;</p></li></ul><p>The best metrics aren&#8217;t about how many tasks you&#8217;ve completed. They&#8217;re about the value you&#8217;ve delivered. For example:</p><ul><li><p><strong>Did we reduce user churn by X%?</strong></p></li><li><p><strong>Did we speed up onboarding by Y minutes?</strong></p></li><li><p><strong>Did we address a critical user pain point?</strong></p></li></ul><p>Velocity is about output. Outcomes are about impact. Choose wisely.</p><div><hr></div><h2><strong>The Role of Leadership in Fixing This</strong></h2><p>If you&#8217;re in a leadership role and you&#8217;re still using velocity as your north star, it&#8217;s time to rethink. Your job isn&#8217;t to push the team to deliver more points, it&#8217;s to create an environment where the team can deliver meaningful results. That means:</p><ul><li><p><strong>Trusting your team&#8217;s expertise.</strong> They&#8217;re closest to the ground. Let them define how to get there.</p></li><li><p><strong>Setting clear goals.</strong> Help the team focus on outcomes, not tasks.</p></li><li><p><strong>Removing obstacles.</strong> Whether it&#8217;s endless meetings or unclear priorities, your role is to clear the path for your team to thrive.</p></li></ul><p>And most importantly, stop asking why velocity is low. Start asking how you can help the team achieve their goals.</p><div><hr></div><h2><strong>A Real-World Example</strong></h2><p>Eons ago, I worked with a team that consistently delivered &#8220;low velocity&#8221; compared to others in the organization. On paper, it looked bad. But here&#8217;s the thing: they were solving <strong>big, hairy problems</strong> that had gone unaddressed for years. Their work directly reduced customer churn, improved retention metrics, and created new revenue streams.</p><p>Meanwhile, another team with &#8220;high velocity&#8221; was churning out low-impact features no one asked for. Guess which team added more value to the company?</p><div><hr></div><h2><strong>Where Do We Go From Here?</strong></h2><p>If we want to build better teams and better software, we need to stop obsessing over how many story points we can cram into a Sprint. Instead, we need to:</p><ul><li><p><strong>Focus on meaningful goals.</strong> Set Sprint Goals that solve real problems.</p></li><li><p><strong>Measure what matters.</strong> Define metrics that reflect user impact, not task completion.</p></li><li><p><strong>Use story points for alignment. Not as a scoreboard.</strong></p></li></ul><p>Velocity isn&#8217;t inherently evil, but it&#8217;s not a measure of success either. If we keep treating it like one, we&#8217;ll miss the forest for the trees. So let&#8217;s stop caring about how fast we&#8217;re moving and start caring about where we&#8217;re going. </p><p>Because in the end, the goal isn&#8217;t just to move fast. It&#8217;s to move forward in the right direction.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pmahajan.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pmahajan.org/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[When Done Isn’t Done]]></title><description><![CDATA[The Dark Side of a Poor Definition of Done]]></description><link>https://www.pmahajan.org/p/when-done-isnt-done</link><guid isPermaLink="false">https://www.pmahajan.org/p/when-done-isnt-done</guid><dc:creator><![CDATA[Pranshu Mahajan]]></dc:creator><pubDate>Tue, 03 Dec 2024 08:31:04 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/fd85aefe-00b4-46fd-9c5d-5997f04027f8_480x270.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xd5r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810a19c2-2211-4243-9774-1f9d180f6c1c_480x270.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xd5r!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810a19c2-2211-4243-9774-1f9d180f6c1c_480x270.gif 424w, https://substackcdn.com/image/fetch/$s_!xd5r!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810a19c2-2211-4243-9774-1f9d180f6c1c_480x270.gif 848w, https://substackcdn.com/image/fetch/$s_!xd5r!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810a19c2-2211-4243-9774-1f9d180f6c1c_480x270.gif 1272w, https://substackcdn.com/image/fetch/$s_!xd5r!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810a19c2-2211-4243-9774-1f9d180f6c1c_480x270.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xd5r!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810a19c2-2211-4243-9774-1f9d180f6c1c_480x270.gif" width="480" height="270" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/810a19c2-2211-4243-9774-1f9d180f6c1c_480x270.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:270,&quot;width&quot;:480,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Thats It Oh No GIF by NOW WE'RE TALKING TV SERIES&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="Thats It Oh No GIF by NOW WE'RE TALKING TV SERIES" title="Thats It Oh No GIF by NOW WE'RE TALKING TV SERIES" srcset="https://substackcdn.com/image/fetch/$s_!xd5r!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810a19c2-2211-4243-9774-1f9d180f6c1c_480x270.gif 424w, https://substackcdn.com/image/fetch/$s_!xd5r!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810a19c2-2211-4243-9774-1f9d180f6c1c_480x270.gif 848w, https://substackcdn.com/image/fetch/$s_!xd5r!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810a19c2-2211-4243-9774-1f9d180f6c1c_480x270.gif 1272w, https://substackcdn.com/image/fetch/$s_!xd5r!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810a19c2-2211-4243-9774-1f9d180f6c1c_480x270.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExNjM3cmcxYTE3MHhqZGcycXNyN3c5ang3bW0xbDV5Z3F0bWhmMmFmeiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/j3yXW5mDHn86qEgQSS/giphy.gif">Source</a></figcaption></figure></div><p>In software development, there&#8217;s nothing quite as frustrating as the word &#8220;<em>done</em>.&#8221; It sounds definitive, but without a clear <strong>Definition of Done (DoD),</strong> it&#8217;s anything but. </p><p>&#8220;Done&#8221; can mean different things to different people; developers, testers, Product Owners, and stakeholders. And when those definitions clash, chaos isn&#8217;t far behind.</p><div><hr></div><h3><strong>Why Do You Need a Definition of Done?</strong></h3><p>A strong DoD is more than a box-ticking exercise. It&#8217;s the backbone of a team&#8217;s workflow, ensuring that what gets shipped is valuable, reliable, and ready for users. Here&#8217;s what it accomplishes:</p><ul><li><p><strong>Creates a Common Understanding of Quality</strong><br>The DoD establishes a baseline for what &#8220;done&#8221; looks like. Without it, teams often assume wildly different standards. One person might think a PBI is done when the code is written; another might expect full integration testing.</p></li><li><p><strong>Reduces Rework</strong><br>By preventing PBIs that don&#8217;t meet the DoD from moving forward, you avoid the costly cycle of revisiting incomplete or broken work.</p></li><li><p><strong>Builds Stakeholder Confidence</strong><br>When teams follow a clear DoD, stakeholders know they&#8217;re getting features that meet agreed-upon standards, not half-baked code rushed to production.</p></li><li><p><strong>Prevents Unfinished Work from Reaching Users</strong><br>A poorly implemented feature can damage your product, reputation, and user experience. The DoD ensures only high-quality work makes it out the door.</p><div><hr></div></li></ul><h3><strong>Why Poor DoD Is a Recipe for Disaster</strong></h3><ul><li><p><strong>Misaligned Expectations</strong><br>Imagine this: A developer marks a feature as done because the code works locally. The tester assumes it's incomplete because it hasn&#8217;t been integrated. Meanwhile, the Product Manager expected it live in production yesterday. This kind of misalignment is the hallmark of a poorly defined DoD.</p></li><li><p><strong>Endless Rework</strong><br>I once worked with a team that shipped a &#8220;done&#8221; feature, only to spend three more sprints fixing bugs, scaling it for production, and updating documentation. Why? Their DoD didn&#8217;t include performance benchmarks or documentation updates.</p></li><li><p><strong>Stakeholder Frustration</strong><br>When features are marked as &#8220;done&#8221; but don&#8217;t work as expected, stakeholders lose trust in the team. Worse, they might start micromanaging future sprints, undermining the team&#8217;s autonomy.</p></li></ul><div><hr></div><h3><strong>DoD vs Acceptance Criteria</strong></h3><ul><li><p><strong>Definition of Done:</strong> Focuses on technical completeness and team-defined quality standards that apply to all PBIs.</p></li><li><p><strong>Acceptance Criteria:</strong> Focuses on user needs, specific to each PBI, ensuring the feature delivers the intended value.</p></li><li><p><strong>DoD vs. Acceptance Criteria</strong></p><p>Here&#8217;s a simple metaphor to understand the distinction. Imagine you&#8217;re building a car.</p><ul><li><p><strong>Definition of Done (DoD):</strong> The car passes all official technical inspections and is roadworthy.</p></li><li><p><strong>Acceptance Criteria:</strong> The car has a red exterior, a trunk size above X liters, and built-in Bluetooth.</p></li></ul><p></p><p>Both are critical, but they serve different purposes. Without meeting the DoD, the car isn&#8217;t safe to drive. Without meeting the Acceptance Criteria, the customer won&#8217;t buy it.</p></li></ul><div><hr></div><h3><strong>How to Build a Strong DoD</strong></h3><p>Creating an effective DoD doesn&#8217;t happen overnight, but here&#8217;s a roadmap:</p><ul><li><p><strong>Collaborate to Define It</strong><br>Involve developers, testers, Product Managers and even stakeholders. The DoD should reflect the needs of everyone involved.</p></li><li><p><strong>Start Simple</strong><br>Begin with a basic checklist: code reviews, unit tests, and integration tests. Add more layers over time, like performance testing and scalability benchmarks.</p></li><li><p><strong>Document It Clearly</strong><br>Post your DoD where it&#8217;s easily accessible. Ambiguity is the enemy of productivity.</p></li><li><p><strong>Revisit Regularly</strong><br>As your team grows and the product evolves, your DoD should too. Periodically review it to ensure it remains relevant and effective.</p></li></ul><div><hr></div><h3><strong>What&#8217;s in a Good Definition of Done?</strong></h3><p>A strong Definition of Done (DoD) ensures that work is complete, high-quality, and ready to deliver value. A robust DoD evolves over time and can be categorized into<strong> levels of maturity</strong>; Good-Enough, Good and Mature. </p><p>Regardless of the maturity level, a good DoD focuses on <strong>Quality Standards</strong> and <strong>Non-Functional Requirements.</strong></p><p></p><p><strong>1. Quality Standards</strong></p><p>These are the technical checks and balances that ensure your code and features meet the team&#8217;s defined expectations. Here's an example of how they evolve:</p><h4><strong>Initial DoD: Foundational Quality</strong></h4><ul><li><p><strong>Unit Test Coverage</strong>: At least 85% to ensure critical parts of the codebase are tested.</p></li><li><p><strong>Functional Testing</strong>: All functional tests pass without issues.</p></li><li><p><strong>No Known Defects</strong>: Any bugs identified during testing are resolved before release.</p></li><li><p><strong>Peer Code Reviews</strong>: Every piece of code is reviewed and approved by teammates.</p></li><li><p><strong>Documentation</strong>: Completed and updated to reflect changes.</p></li></ul><p></p><p><strong>Mature DoD: Improving Quality Assurance</strong></p><ul><li><p><strong>Maintainability Index</strong>: Ensuring code maintainability with a score of 90 or higher.</p></li><li><p><strong>Functional Test Automation</strong>: Over 75% of functional tests are automated to improve efficiency.</p></li><li><p><strong>No Coding Standard Errors</strong>: Adherence to best practices and agreed coding standards.</p></li><li><p><strong>Technical Debt</strong>: Addressed promptly and kept under 5 days (subjective).</p></li></ul><p></p><p><strong>Stringent DoD: Advanced Quality Standards</strong></p><ul><li><p><strong>Regression Testing</strong>: All regression tests are completed and pass.</p></li><li><p><strong>Performance and Load Testing</strong>: Benchmarked to ensure the feature meets performance standards under expected loads.</p></li><li><p><strong>PEN Testing</strong>: Ensuring security vulnerabilities are addressed.</p></li><li><p><strong>Regulatory and Compliance Updates</strong>: Meets industry regulations and standards.</p></li><li><p><strong>UAT Approved</strong>: User Acceptance Testing is completed and approved by relevant people.</p></li></ul><p></p><p><strong>2. Non-Functional Requirements</strong></p><p>These often-overlooked aspects ensure the software remains reliable, scalable, and user-friendly over time:</p><ul><li><p><strong>Availability</strong>: The system meets uptime requirements.</p></li><li><p><strong>Scalability</strong>: The feature or application can handle future growth and increasing user demand.</p></li><li><p><strong>Performance</strong>: Features meet predefined benchmarks, ensuring speed and efficiency.</p></li><li><p><strong>Security</strong>: Complies with legal, regulatory, and organizational standards to protect data and systems.</p></li><li><p><strong>Maintainability</strong>: Code is well-structured, easy to understand, and simple to update.</p></li><li><p><strong>Usability</strong>: Features meet user experience guidelines, ensuring they are intuitive and functional.</p><div><hr></div></li></ul><h3><strong>The True Meaning of Done</strong></h3><p>Here&#8217;s the bottom line: &#8220;Done&#8221; isn&#8217;t just about shipping a feature. It&#8217;s about delivering value. Without a strong Definition of Done, you&#8217;re not building software. You&#8217;re building confusion.</p><p>The next time someone says a PBI is done, don&#8217;t just take their word for it. Ask them:</p><ul><li><p>Has it passed all the tests?</p></li><li><p>Is it ready for production?</p></li><li><p>Does it meet user needs and expectations?</p></li><li><p>Does the customer know about this? Can they use it? (<em>credits: </em><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Kris Muhi&quot;,&quot;id&quot;:31167548,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d6f2c8f2-03a2-465e-8f49-de421c312b14_1000x1000.png&quot;,&quot;uuid&quot;:&quot;e03c3965-5f0b-47b6-829c-cb38f2cef465&quot;}" data-component-name="MentionToDOM"></span>)</p></li></ul><p>Because if it doesn&#8217;t check all the boxes, <strong>it isn&#8217;t done.</strong></p><p>And remember: <strong>Done</strong> is more than a checkbox. It&#8217;s a commitment to quality, alignment, and user satisfaction.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pmahajan.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pmahajan.org/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item></channel></rss>