<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Product-Strategy on Damian Galarza | Software Engineering &amp; AI Consulting</title><link>https://www.damiangalarza.com/tags/product-strategy/</link><description>Recent posts from Damian Galarza | Software Engineering &amp; AI Consulting</description><generator>Hugo</generator><language>en-us</language><managingEditor>Damian Galarza</managingEditor><atom:link href="https://www.damiangalarza.com/tags/product-strategy/feed.xml" rel="self" type="application/rss+xml"/><item><title>The Double-Edged Sword of Customer Obsession</title><link>https://www.damiangalarza.com/posts/2025-07-02-balancing-customer-obsession/</link><pubDate>Wed, 02 Jul 2025 00:00:00 -0400</pubDate><author>Damian Galarza</author><guid>https://www.damiangalarza.com/posts/2025-07-02-balancing-customer-obsession/</guid><description>Customer obsession can sharpen focus and drive urgency—but left unchecked, it burns out teams and breaks products. Here's how to get it right.</description><content:encoded><![CDATA[<p>I’ve worked at startups where ‘customer obsession’ was a guiding value—plastered on walls, repeated in all-hands, baked into the culture. And for good reason: it keeps teams close to the people they serve. But over time, I started to notice something else: when over-applied or misunderstood, customer obsession can quietly erode focus, morale, and long-term product thinking.</p>
<h2 id="what-makes-customer-obsession-powerful">What Makes Customer Obsession Powerful</h2>
<p>At its core, the biggest benefit of customer obsession is that it keeps teams grounded in the real needs of their users. It’s easy to get caught up in trends, internal politics, or our own biases about what we <em>think</em> customers want. Customer obsession forces us to step outside those assumptions and truly listen to the people we’re building for.</p>
<p>When building a product, it&rsquo;s easy to get lost in the weeds of features, bugs, and deadlines. Customer obsession reconnects teams to the “why” behind what they&rsquo;re building. Teams that understand the problems they’re solving build better products—and do it with urgency and clarity. This mindset must inform prioritization and long-term vision. Knowing what truly moves the needle for customers is how you build a product that lasts.</p>
<p>Customer obsession also prevents over-engineering. Often, when presented with a blank canvas, teams start to overcomplicate. I’ve been in many conversations where we were trying to solve a problem with unnecessary complexity. At one point, we debated building a rules engine to handle a dozen edge cases. But when we stepped back and asked, <em>“What’s the actual problem we’re solving?”</em>—we realized only two of those cases would realistically occur. That insight let us ship a simpler solution in weeks instead of spending months designing for hypotheticals.</p>
<p>Lastly, this mindset ensures teams aren’t building in a vacuum—hoping that customers will eventually show up. It grounds teams in real-world pain points. That’s especially critical in the early stages, when you’re still hunting for product-market fit. By staying close to the customer, teams can iterate faster and pivot more confidently.</p>
<h2 id="where-it-starts-to-break-down">Where It Starts to Break Down</h2>
<p>Customer obsession is a powerful value—but like any value, taken to the extreme, it can backfire.</p>
<p><strong>From Proactive to Reactive</strong></p>
<p>It starts when teams become reactive. When every decision is driven by the latest piece of feedback or the loudest customer voice, product development turns into a game of whack-a-mole. Instead of building toward a long-term vision, teams chase requests, patch holes, and deliver features that don’t always fit the broader strategy.</p>
<p>Over time, this leads to a fragmented product. The roadmap becomes a mirror of urgency, not insight. It’s essential to balance genuine customer needs with a strong product point of view—one that understands when to say “not yet.”</p>
<p><strong>When Teams Get Left Behind</strong></p>
<p>Customer obsession can also take a toll internally. When “the customer is always right” becomes the default, teams fall into a service posture—dropping everything to respond to asks, skipping <a href="/posts/2025-06-26-tech-debt-for-startups">tech debt</a> paydown, and deprioritizing their own needs.</p>
<p>Morale suffers. Engineers stop feeling like collaborators and start feeling like a support queue. Burnout sets in, and ironically, the quality of what gets delivered to customers declines.</p>
<p>One of my favorite mental models here is Jocko Willink’s idea of <a href="https://echelonfront.com/how-to-build-and-spend-leadership-capital/">leadership capital</a>. You earn it by building trust and making sound decisions. But when you consistently trade your team’s focus and well-being for short-term customer appeasement, you burn through that capital fast—and lose the trust that makes long-term success possible.</p>
<p>Customer empathy doesn’t mean saying yes to everything. It means understanding your customers well enough to say “not now”—and trusting your team to hold that line.</p>
<p><strong>Loudest ≠ Most Important</strong></p>
<p>Another failure mode: letting urgency override strategy. It’s easy to prioritize the enterprise client pushing for a custom workflow or the user threatening churn. But chasing the loudest voice often means overlooking quieter patterns that represent broader impact.</p>
<p>This can skew your roadmap, introduce one-off features, and erode UX consistency. You might please a few accounts, but the product loses cohesion—and the long-term vision suffers.</p>
<p>Being customer-obsessed doesn’t mean being customer-led. It means being customer-informed, and strategic about what you act on.</p>
<p><strong>When Boundaries Erode</strong></p>
<p>Especially in early-stage startups, customer obsession can blur boundaries. Every customer feels existential. Teams stretch themselves thin—responding to every fire drill, making last-minute changes, or shipping quick fixes that compromise architecture.</p>
<p>It all comes from a good place: wanting to deliver value fast. But it’s not sustainable. Deep work disappears. Strategy is replaced by scramble. And systems begin to crack under the weight of constant urgency.</p>
<p>The irony? Customers might be happy today—but missed deadlines, brittle infrastructure, and team attrition catch up quickly.</p>
<p>True customer obsession means building systems—and a team—that can serve customers not just today, but sustainably over time.</p>
<h2 id="lessons-for-founders-and-product-leaders">Lessons for Founders and Product Leaders</h2>
<p>Customer obsession isn’t inherently bad—it just needs boundaries, clarity, and intentionality. If you want it to be a healthy part of your culture, it helps to define what it actually means inside your org.</p>
<p>First: it’s not heroics. It’s not about dropping everything, skipping lunch, or jumping on Slack at 9pm to fix something that wasn’t scoped properly. Healthy customer obsession is strategic, not reactive.</p>
<p>Obsess over the right signals. Anecdotes are useful—but they’re not the whole story. Look for patterns in customer behavior, common threads across feedback, and needs that align with your product vision. One urgent email shouldn’t derail months of intentional work.</p>
<p>Balance advocacy with sustainability. Yes, we’re here to serve customers. But we can’t do that well if we burn out our teams or build systems too fragile to scale. Advocate for the customer, but protect the team.</p>
<p>And finally: empower your ICs. Engineers, designers, and PMs should feel confident saying, “This isn’t the right time,” or “Let’s solve this in a way that scales.” If customer obsession becomes a top-down directive, it stops being empathy—and starts being pressure.</p>
<p>Done right, customer obsession aligns teams around purpose. Done poorly, it erodes the very systems that serve your customers. Choose wisely. If you’re seeing signs of imbalance, you’re not alone. Let’s build better cultures — together.</p>
]]></content:encoded></item><item><title>The AI Prompt I Wish I Had While Documenting SaMD Systems in Rails</title><link>https://www.damiangalarza.com/posts/2025-06-22-generate-sds-docs-samd-ai/</link><pubDate>Sat, 21 Jun 2025 00:00:00 -0400</pubDate><author>Damian Galarza</author><guid>https://www.damiangalarza.com/posts/2025-06-22-generate-sds-docs-samd-ai/</guid><description>How AI could have helped me generate FDA audit-ready SDS documentation faster while building regulated software.</description><content:encoded><![CDATA[<p>At Buoy Software, I led the design and development of our first <strong>Software as a Medical Device (SaMD)</strong>, which was my first experience operating within an FDA-regulated environment. It was a great learning experience, but it came with a lot of heavy documentation. One of the most time-consuming parts was compiling the Design History File (DHF) — the set of artifacts that describe how the system was built and tested. A central piece of that file is the Software Design Specification (SDS), which describes the behavior, design, and rationale for each component in the system.</p>
<p>For every Rails class we shipped, we had to trace requirements, detail business logic and interfaces, and map out risk controls — all in a format that is audit-ready for FDA review.</p>
<p>This post kicks off a series called ‘AI Prompts I Wish I Had’, sharing prompts that could’ve made our engineering workflows smoother while building regulated software.</p>
<p>The goal of this series is to offer <strong>practical, high-context AI prompts</strong> that help teams move faster toward an FDA submission — without compromising quality, traceability, or compliance.</p>
<hr>
<h2 id="-the-prompt">🧠 The Prompt</h2>
<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-markdown" data-lang="markdown"><span style="display:flex;"><span><span style="color:#fab387;font-weight:bold"># SDS Documentation Prompt
</span></span></span><span style="display:flex;"><span><span style="color:#fab387;font-weight:bold"></span>
</span></span><span style="display:flex;"><span>You are a SaMD software engineer generating regulatory documentation.
</span></span><span style="display:flex;"><span>I will provide you with one or more Ruby/Rails classes used in a regulated
</span></span><span style="display:flex;"><span>Software as a Medical Device (SaMD) product.
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Based on the code I provide, generate a <span style="font-weight:bold">**Software Design Specification (SDS)**</span> entry suitable
</span></span><span style="display:flex;"><span>for inclusion in a Design History File (DHF).
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Your output should include:
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#cba6f7">1.</span> <span style="font-weight:bold">**Component Name**</span>  
</span></span><span style="display:flex;"><span><span style="color:#cba6f7">2.</span> <span style="font-weight:bold">**Purpose / Role in the System**</span>  
</span></span><span style="display:flex;"><span><span style="color:#cba6f7">3.</span> <span style="font-weight:bold">**Description of Logic / Behavior**</span> – Provide detailed explanations including:
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> Specific business rules with exact criteria and thresholds  
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> All possible status values/enums with definitions of what each represents  
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> Step-by-step process flows with decision points  
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> Data validation rules and constraints  
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> Error handling and edge cases  
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#cba6f7">4.</span> <span style="font-weight:bold">**External Interfaces**</span> – Include:
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> Specific API endpoints and GraphQL mutations/queries  
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> Database table names and key fields  
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> Session storage keys and data structures  
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> Third-party service integrations  
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#cba6f7">5.</span> <span style="font-weight:bold">**How It Satisfies Specific SRS Requirements**</span> – Expand on:
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> Security controls with implementation details  
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> Audit logging mechanisms and what data is captured  
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> Regulatory compliance features  
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> Data integrity safeguards  
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#cba6f7">6.</span> <span style="font-weight:bold">**Design Considerations**</span> – Detail:
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> Security flags and their enforcement mechanisms  
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> Session state management and validation logic  
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> Performance optimizations and their rationale  
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> Safety mechanisms and fail-safes  
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#cba6f7">7.</span> <span style="font-weight:bold">**Traceability Notes**</span> – Include:
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> Specific risk control implementations  
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> Audit trail mechanisms (PaperTrail, analytics events, etc.)  
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> Logging infrastructure for regulatory compliance  
</span></span><span style="display:flex;"><span>   <span style="color:#cba6f7">-</span> Known technical limitations with business impact  
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="font-weight:bold">**Additional Requirements:**</span>
</span></span><span style="display:flex;"><span><span style="color:#cba6f7">-</span> **No abbreviations or “etc.”** – List all status values, rules, and conditions explicitly  
</span></span><span style="display:flex;"><span><span style="color:#cba6f7">-</span> **Implementation details** – Show actual code snippets for critical security or compliance logic  
</span></span><span style="display:flex;"><span><span style="color:#cba6f7">-</span> **Business rule explanations** – Explain the medical/regulatory rationale behind complex rules  
</span></span><span style="display:flex;"><span><span style="color:#cba6f7">-</span> **Security deep-dive** – Cover authentication, authorization, session management, and data protection  
</span></span><span style="display:flex;"><span><span style="color:#cba6f7">-</span> **Audit compliance** – Document all logging, tracking, and audit trail mechanisms required for regulatory review
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Format the output in Markdown with headers for each section. Be comprehensive, technical, and audit-ready.
</span></span></code></pre></div><p><strong>Example usage:</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-markdown" data-lang="markdown"><span style="display:flex;"><span>The system we are documenting is located within <span style="color:#a6e3a1">`packs/authentication`</span>.
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>I want documentation covering the login and session management flow for users.  
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>How does the system validate credentials?
</span></span><span style="display:flex;"><span>How is the session established and managed?
</span></span><span style="display:flex;"><span>What audit trails are recorded for access attempts?
</span></span></code></pre></div><p>Like anything generated with AI it requires a careful review, but this prompt can help you quickly generate a starting point for a comprehensive SDS entry that meets FDA requirements. It ensures that you cover all necessary aspects of the system&rsquo;s design and behavior, making it easier to compile your Design History File.</p>
<p>Let me know if this is helpful — and if you want me to share the next prompt in this series.</p>
<p>If you&rsquo;re building a SaMD or working in a regulated domain and want help tuning your dev workflows with AI, <a href="/services/">let&rsquo;s talk</a>.</p>
]]></content:encoded></item></channel></rss>