Menu

Tier 2 Topic PM.2.08

Technical Product Management

Bridge product and engineering. Build vs. buy decisions, tech debt quantification, architecture trade-offs, and speaking engineering's language.

25% Theory 50% Methods & Templates 25% Examples
Theory

What technical product management is and how it differs

Technical product management is the practice of managing products where deep technical understanding is essential to making good product decisions. All PMs need some technical literacy, but a Technical PM needs to understand system architecture well enough to evaluate trade-offs, estimate feasibility, and spot when an engineering proposal solves the wrong problem. TPMs typically own platform products, infrastructure, APIs, developer tools, or internal systems — products where the end user is often another engineer or where the product's value is deeply intertwined with its technical implementation.

The distinguishing skill isn't writing code — it's translating between business value and technical complexity. When a stakeholder says "we need real-time sync," a TPM knows to ask: "Do you mean sub-second latency or just faster than the current 5-minute batch job? Because the former requires WebSockets and event-driven architecture, and the latter just requires running the batch job every 30 seconds." That translation prevents the team from over-engineering a solution to a problem that doesn't require it.

TPMs earn trust differently from business-side PMs. Engineering teams respect a PM who can read a pull request, understand a system design document, and ask informed questions about database schema choices. You don't need to be the best engineer — you need to be fluent enough that engineers don't have to simplify every explanation to the point where nuance is lost.

Practical

Build vs. buy decisions

Build vs. Buy Framework Core Method

Use when: the team is debating whether to build custom infrastructure or adopt an existing solution.

Evaluate along five dimensions:

  • Differentiation — does building this create competitive advantage? If authentication isn't your product's differentiator, don't build an auth system.
  • Total cost — compare the full cost of building (engineering time × loaded cost × opportunity cost) against buying (license fees + integration time + vendor management + migration risk).
  • Control — does building give you control over something critical?
  • Time — how fast do you need a solution? Building takes months; buying takes weeks.
  • Maintenance — building means you own maintenance forever; buying means vendor dependency.

The default should be "buy" unless building creates meaningful differentiation. Most teams over-build because engineers enjoy building and under-weight the ongoing maintenance burden.

Build vs. Buy Scoring Matrix Tool

Use when: you need to present the decision to stakeholders in a structured way.

Score each option on a 1-5 scale across: differentiation potential, time to value, total 3-year cost, integration complexity, team capability match, and vendor risk. Weight criteria based on context (startup weights time-to-value; enterprise weights vendor risk). Present the weighted score alongside a qualitative narrative — the matrix structures the conversation, but the narrative captures nuance the numbers miss.

Common mistake

Comparing the cost of buying (vendor quotes a price) against building (engineers estimate 3 months). Engineering estimates are consistently 2-3x optimistic. If the build estimate is "3 months," plan for 6-9 months including edge cases, testing, documentation, and maintenance. Then re-run the math.

Tech debt quantification and management

Tech Debt Quantification Core Method

Use when: engineering says "we need to pay down tech debt" but can't quantify the business impact.

Categorize debt by its effect:

  • Velocity debt — slows feature development ("adding a new payment method takes 3 weeks instead of 3 days").
  • Reliability debt — causes outages ("2 incidents per month from the legacy auth system").
  • Scalability debt — limits growth ("we handle 10K concurrent users but break at 50K").
  • Security debt — creates vulnerabilities ("deprecated encryption library").

For each category, quantify: velocity debt = extra days per feature × features per quarter × engineering cost per day. Reliability debt = incidents per month × average cost per incident. This transforms "we need to refactor" from an engineering wish into a business case with dollar amounts.

20% Time Allocation Framework

Use when: tech debt keeps growing because it loses every prioritization battle against features.

Reserve 15-20% of engineering capacity for tech debt and infrastructure. This capacity is non-negotiable — it doesn't compete with features. Engineering leads decide how to spend it, with TPM input on business impact. The benefit: debt gets addressed continuously instead of accumulating until it forces an emergency. Track what the 20% produces: reduced incident rate, faster feature delivery time, improved test coverage. If you can't show impact, the allocation will get questioned.

Architecture decision-making

Architecture Decision Record (ADR) Core Method

Use when: the team makes a significant technical decision that future team members need to understand.

An ADR documents: the decision context (what problem we're solving), the decision itself (what we chose), alternatives considered (what we rejected and why), consequences (what trade-offs we accepted), and status (proposed, accepted, deprecated, superseded). The PM's role isn't writing ADRs — it's ensuring they get written, reviewed, and stored where people can find them. ADRs are the technical equivalent of product decision logs: without them, new team members re-litigate settled decisions.

Keep ADRs short (1-2 pages). Store them in the codebase alongside the code they describe, not in a wiki nobody checks. Number them sequentially. Never delete an ADR — mark deprecated ones as such with a pointer to the superseding ADR.

Dependency Risk Matrix Technique

Use when: evaluating the risk profile of your technical dependencies.

List every critical external dependency (databases, third-party APIs, libraries, cloud services). For each, assess: Substitutability (how hard is it to switch?), Vendor health (is the company/project stable?), Usage depth (surface-level or deeply embedded?), and Failure impact (what happens if it goes down?). Dependencies that score high on all four dimensions are existential risks that need mitigation plans: abstraction layers, fallback strategies, or contractual SLAs.

Migration and platform rewrite planning

Migration Planning Template Core Method

Use when: moving from one system to another (database migration, platform rewrite, vendor switch).

Every migration plan needs:

  • Scope — what's migrating and what stays.
  • Dual-write period — how long both systems run in parallel.
  • Rollback plan — how you revert if migration fails.
  • Data validation — how you prove the new system produces identical results.
  • Customer communication — what users need to know and when.
  • Success criteria — how you know the migration is complete.

The biggest migration risk is the "big bang" approach: flip a switch and hope everything works. Instead, migrate incrementally: start with read traffic (shadow the new system against the old), then migrate write traffic for low-risk operations, then high-risk operations, then cut over remaining traffic. Each phase has its own rollback plan.

Practical tip

The Strangler Fig pattern: instead of rewriting a system from scratch, gradually route traffic from the old system to the new one, endpoint by endpoint. The old system shrinks as the new one grows, like a strangler fig growing around a host tree. This eliminates the "big bang" risk and lets you ship value incrementally.

Engineering partnership model

Engineering Partnership Model Framework

Use when: you want to build trust and effective working relationships with engineering leads.

The TPM-engineering relationship has three modes:

  • Collaborate — decisions where PM and engineering have equal input (what to build, how to sequence work).
  • Advise — engineering decisions where PM provides business context but engineering decides (architecture choices, technology selection, code quality standards).
  • Inform — PM decisions where engineering needs to know the outcome but doesn't need to weigh in (pricing strategy, market positioning). Explicitly agree on which mode applies to which decisions. Most PM-engineering conflict comes from mode mismatch: PM trying to collaborate on architecture, or engineering trying to collaborate on product strategy.
Checklist Technical PM Fluency Checklist
  • Can read and understand a system architecture diagram
  • Can follow a pull request discussion and ask relevant questions
  • Understands the difference between synchronous and asynchronous processing
  • Can explain the product's database schema at a high level
  • Knows the team's deployment process and release cadence
  • Can estimate whether a feature is "days" or "months" of engineering work
  • Understands API design basics (REST, versioning, rate limiting)
  • Can read and interpret monitoring dashboards and error logs
  • Knows the major technical risks and dependencies in the product
  • Can participate in incident post-mortems productively
Examples

Real-world examples

Case study

Slack: Managing the database migration at scale

Slack's migration from a single MySQL database to a sharded architecture was one of the most complex technical PM challenges in recent SaaS history. The TPMs involved had to coordinate a multi-year migration that couldn't cause downtime for millions of users. They used the Strangler Fig pattern, migrating one data type at a time, running shadow reads against the new system for months before switching writes. The rollback plan for each phase was tested in production before the actual migration.

Why it works: The TPMs treated the migration as a product launch, not just an engineering project. They defined success criteria (zero customer-visible impact), managed stakeholder expectations (this will take years, not months), and made scope trade-offs (some legacy features were deprecated rather than migrated).

Case study

Figma: Build vs. buy for the multiplayer engine

Figma's real-time multiplayer editing engine is custom-built using CRDTs (Conflict-free Replicated Data Types). This was a deliberate build-over-buy decision: real-time collaboration on a design canvas is Figma's core differentiator. No off-the-shelf solution could handle the specific requirements of vector graphics conflict resolution at the latency they needed. The TPM decision was clear: this is the one thing worth building from scratch because it's the product's competitive moat.

Why it works: They applied the build-vs-buy framework rigorously. Authentication? Buy (Auth0). Payments? Buy (Stripe). Real-time canvas collaboration? Build, because no one else has solved this specific problem, and solving it is why customers choose Figma.

Common pitfalls

!

Overstepping into engineering decisions

A TPM who dictates technology choices or architecture decisions erodes engineering trust quickly. Your role is to ensure business context informs technical decisions, not to make the technical decisions yourself. Say "this feature needs sub-200ms response time because users abandon after 200ms" — not "use Redis for caching."

!

Treating tech debt as a favor to engineering

Tech debt work isn't a concession to engineers — it's infrastructure investment that enables future product velocity. If you frame it as "I'm giving you time to refactor" instead of "we're investing in faster delivery," you create the wrong dynamic. Tech debt allocation should have business metrics attached, just like feature work.

!

Ignoring the "second system effect"

When teams rewrite a system, they tend to over-engineer the replacement ("we'll do it right this time"). The second system accumulates every wish-list feature from the past three years. Scope the rewrite to match current needs plus 12 months of anticipated growth, not the dream architecture. You can always iterate.

Connected topics in your library

Deep Dive

Appendix

On this page