Platform Engineering Foundations
Platform-as-Product Mindset
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:
- Developer Surveys: Quarterly satisfaction checks
- User Interviews: Deep dive into pain points
- Usage Analytics: Track what features are used
- 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). :::