Platform Engineering Foundations

Platform-as-Product Mindset

3 min read

In 2025, more than 80% of enterprise platforms are managed as products, not projects. This fundamental shift separates successful platform teams from those that struggle with adoption.

Projects vs Products

The difference is critical:

Aspect Project Mindset Product Mindset
Timeline Has an end date Continuous evolution
Success On-time, on-budget User adoption, satisfaction
Ownership Team disbands after Dedicated team ownership
Feedback Post-mortem reviews Continuous user research
Funding One-time budget Ongoing investment
Project Thinking:
"Build it, hand it off, move on"
   Low adoption, becomes shelfware

Product Thinking:
"Build, measure, learn, iterate"
   High adoption, continuous value

Your Developers Are Your Customers

The most successful platform teams treat developers as paying customers—even though no money changes hands:

# Platform Product Canvas
product_name: "Internal Developer Platform"

customers:
  primary: "Application Developers"
  secondary: "DevOps Engineers, SREs"

value_proposition:
  - "Ship features faster without infrastructure expertise"
  - "Self-service resources in minutes, not days"
  - "Consistent, secure defaults"

jobs_to_be_done:
  - "I need to deploy a new microservice"
  - "I need a database for my application"
  - "I need to understand what services exist"
  - "I need to onboard quickly to a new team"

success_metrics:
  - "Time to first deployment < 1 hour"
  - "Developer satisfaction score > 8/10"
  - "Self-service completion rate > 90%"

Developer Experience (DevEx)

Developer Experience is the sum of all interactions a developer has with your platform:

Developer Journey Map:
┌──────────────────────────────────────────────────────────┐
│ Day 1: Onboarding                                        │
│ ├─ Access portal                                         │
│ ├─ Explore service catalog                               │
│ └─ Find documentation                                    │
├──────────────────────────────────────────────────────────┤
│ Day 2-5: First Deployment                                │
│ ├─ Use template to scaffold service                      │
│ ├─ Request cloud resources                               │
│ └─ Deploy to staging                                     │
├──────────────────────────────────────────────────────────┤
│ Week 2+: Daily Work                                      │
│ ├─ Monitor service health                                │
│ ├─ Debug issues                                          │
│ └─ Ship features                                         │
└──────────────────────────────────────────────────────────┘

At each stage, ask: "What friction can we remove?"

The Thinnest Viable Platform (TVP)

Don't build a massive platform upfront. Start with the Thinnest Viable Platform:

TVP Approach:
Week 1-4:   ┌─────────────────┐
            │ Basic Catalog   │  ← Start here
            │ (list services) │
            └─────────────────┘
Week 5-8:   ┌─────────────────┐
            │ + Templates     │  ← Add scaffolding
            │ (create service)│
            └─────────────────┘
Week 9-12:  ┌─────────────────┐
            │ + Self-Service  │  ← Add infrastructure
            │ (provision DB)  │
            └─────────────────┘
Week 13+:   ┌─────────────────┐
            │ + Observability │  ← Add monitoring
            │ (dashboards)    │
            └─────────────────┘

Measuring Platform Success

Product teams track metrics. Platform teams should too:

# Platform KPIs
adoption_metrics:
  - name: "Monthly Active Users"
    target: "80% of developers"
  - name: "Template Usage Rate"
    target: "> 90% of new services"

efficiency_metrics:
  - name: "Time to First Deployment"
    baseline: "3-5 days"
    target: "< 1 hour"
  - name: "Infrastructure Request Time"
    baseline: "Ticket (2-3 days)"
    target: "Self-service (< 5 min)"

satisfaction_metrics:
  - name: "Developer NPS"
    target: "> 50"
  - name: "Support Ticket Volume"
    direction: "Decreasing"

User Research for Platforms

Product managers conduct user research. Platform engineers should too:

Techniques to use:

  1. Developer Surveys: Quarterly satisfaction checks
  2. User Interviews: Deep dive into pain points
  3. Usage Analytics: Track what features are used
  4. Support Ticket Analysis: Identify common issues
# Example: Tracking template usage
kubectl get pods -A -o json | \
  jq '.items[].metadata.annotations["backstage.io/template-name"]' | \
  sort | uniq -c | sort -rn

In the next lesson, we'll explore the components of an Internal Developer Platform (IDP). :::

Quiz

Module 1 Quiz: Platform Engineering Foundations

Take Quiz