Platform Team Patterns | Internal Developer Platform
Build platform teams that enable self-service for developers. Create internal developer platforms with CI/CD, provisioning, and observability using GitScrum.
9 min read
Platforms enable teams. GitScrum helps platform teams track their work and measure the impact of their internal products on delivery speed.
Platform Team Fundamentals
What Platform Teams Do
PLATFORM TEAM PURPOSE:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β MISSION: β
β ββββββββ β
β Enable stream-aligned teams to deliver faster β
β by providing self-service platform capabilities β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β WHAT PLATFORM TEAMS BUILD: β
β ββββββββββββββββββββββββββ β
β β
β INTERNAL DEVELOPER PLATFORM (IDP): β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β ββ
β β βββββββββββββββββββββββββββββββββββββββββββββββββββββ ββ
β β β SELF-SERVICE PORTAL β ββ
β β β β’ Create new service β ββ
β β β β’ Deploy to environment β ββ
β β β β’ Provision database β ββ
β β β β’ View service health β ββ
β β βββββββββββββββββββββββββββββββββββββββββββββββββββββ ββ
β β β ββ
β β βΌ ββ
β β βββββββββββββββββββββββββββββββββββββββββββββββββββββ ββ
β β β PLATFORM CAPABILITIES β ββ
β β β ββββββββββββ ββββββββββββ ββββββββββββ β ββ
β β β β CI/CD β β Infra β β Monitor β β ββ
β β β β Pipelinesβ βProvision β β /Observe β β ββ
β β β ββββββββββββ ββββββββββββ ββββββββββββ β ββ
β β β ββββββββββββ ββββββββββββ ββββββββββββ β ββ
β β β β Security β β Data β β Service β β ββ
β β β β Scanning β β Platform β β Mesh β β ββ
β β β ββββββββββββ ββββββββββββ ββββββββββββ β ββ
β β βββββββββββββββββββββββββββββββββββββββββββββββββββββ ββ
β β ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β KEY PRINCIPLE: β
β ββββββββββββββ β
β Teams can use the platform WITHOUT asking the platform β
β team for help. That's self-service. β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Product Mindset
Platform as Product
TREAT PLATFORM AS A PRODUCT:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β YOUR CUSTOMERS = Other development teams β
β β
β PRODUCT THINKING: β
β βββββββββββββββββ β
β β
β UNDERSTAND USERS: β
β β’ Talk to development teams β
β β’ Understand their pain points β
β β’ Watch them use your platform β
β β’ Collect feedback continuously β
β β
β PRIORITIZE: β
β β’ What problems cause most friction? β
β β’ What would save most time? β
β β’ What do teams ask for repeatedly? β
β β
β ITERATE: β
β β’ Start simple, improve based on feedback β
β β’ Don't over-engineer β
β β’ Release early, release often β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β PLATFORM BACKLOG: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β PLATFORM TEAM BACKLOG ββ
β β ββ
β β PRIORITY ITEM REQUESTER ββ
β β ββββββββ ββββ βββββββββ ββ
β β P1 One-click deploys (5 teams) ββ
β β P1 Database provisioning (4 teams) ββ
β β P2 Centralized logging (3 teams) ββ
β β P2 Secrets management (2 teams) ββ
β β P3 Feature flags service (1 team) ββ
β β ββ
β β PRIORITIZE BY: Customer demand + Strategic value ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β NOT A TICKET QUEUE: β
β βββββββββββββββββββ β
β Platform team decides WHAT to build β
β Not just fulfilling requests β
β Think strategically about capabilities β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Self-Service Design
Enable, Don't Block
SELF-SERVICE PRINCIPLES:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β BEFORE (Blocking): β
β ββββββββββββββββββ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Dev Team: "I need a new database" ββ
β β Platform: (Files ticket) ββ
β β Dev Team: (Waits 3 days) ββ
β β Platform: "Here's your database" ββ
β β ββ
β β PLATFORM TEAM = BOTTLENECK ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β AFTER (Self-Service): β
β βββββββββββββββββββββ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Dev Team: "I need a new database" ββ
β β (Uses platform portal) ββ
β β [Select: PostgreSQL, Size: Medium] ββ
β β [Create Database] ββ
β β Platform: (Automatic provisioning) ββ
β β Dev Team: (Has database in 5 minutes) ββ
β β ββ
β β PLATFORM TEAM = ENABLER ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β SELF-SERVICE CAPABILITIES: β
β β
β COMMON PLATFORM FEATURES: β
β β’ Create new service from template β
β β’ Deploy to any environment β
β β’ Provision database/cache/queue β
β β’ Configure monitoring/alerts β
β β’ Manage secrets β
β β’ View logs β
β β’ Rollback deployment β
β β
β GUARDRAILS, NOT GATES: β
β ββββββββββββββββββββββ β
β β’ Security scanning automatic β
β β’ Compliance built-in β
β β’ Cost visibility β
β β’ Best practices baked into templates β
β β
β Teams can move fast AND stay safe β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Platform Metrics
Measuring Success
PLATFORM TEAM METRICS:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β ADOPTION METRICS: β
β βββββββββββββββββ β
β How many teams use the platform? β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β PLATFORM ADOPTION ββ
β β ββ
β β Teams using platform: 12/15 (80%) ββ
β β ββ
β β BY CAPABILITY: ββ
β β β’ CI/CD Pipeline: 15/15 (100%) ββββββββββββββββ ββ
β β β’ Service Templates: 12/15 (80%) βββββββββββββ ββ
β β β’ Observability: 10/15 (67%) ββββββββββ ββ
β β β’ DB Provisioning: 8/15 (53%) ββββββββ ββ
β β β’ Feature Flags: 5/15 (33%) βββββ ββ
β β ββ
β β Low adoption = Discovery problem or usability issue ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β DEVELOPER EXPERIENCE: β
β βββββββββββββββββββββ β
β How happy are teams with the platform? β
β β
β β’ Developer Satisfaction Survey (quarterly) β
β β’ Net Promoter Score for platform β
β β’ Time to onboard new service β
β β’ Time from commit to production β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ORGANIZATIONAL IMPACT: β
β ββββββββββββββββββββββ β
β Is the platform making the org faster? β
β β
β DORA METRICS (Org-wide): β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β BEFORE PLATFORM AFTER PLATFORM IMPROVEMENT ββ
β β ββββββββββββββ ββββββββββββββ βββββββββββ ββ
β β Deploy: 2/week Deploy: 5/day +1650% ββ
β β Lead: 2 weeks Lead: 2 days -86% ββ
β β MTTR: 4 hours MTTR: 30 min -88% ββ
β β Fail: 15% Fail: 5% -67% ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β PLATFORM ROI: β
β Teams saved Γ hours saved per team = Platform value β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Team Interaction
Working with Stream Teams
INTERACTION MODES:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β X-AS-A-SERVICE (Primary): β
β βββββββββββββββββββββββββ β
β Platform provides capability β
β Teams consume via self-service β
β Minimal interaction needed β
β β
β COLLABORATION (When needed): β
β ββββββββββββββββββββββββββββ β
β Platform team works WITH stream team β
β For: new capabilities, complex requirements β
β Time-limited, specific goal β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β SUPPORT MODEL: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β PLATFORM SUPPORT ββ
β β ββ
β β TIER 1: Documentation (Self-Service) ββ
β β β’ Docs site ββ
β β β’ Tutorials ββ
β β β’ FAQs ββ
β β Most questions answered here ββ
β β ββ
β β TIER 2: Community (Async) ββ
β β β’ #platform-help Slack channel ββ
β β β’ Answered by platform team or community ββ
β β β’ SLA: Response within 4 hours ββ
β β ββ
β β TIER 3: Direct Support (When needed) ββ
β β β’ Scheduled pairing sessions ββ
β β β’ For complex issues ββ
β β β’ Office hours (1hr/week) ββ
β β ββ
β β ESCALATION: ββ
β β β’ Production issues: Immediate ββ
β β β’ Blocking issues: Within day ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β GOAL: Minimize direct support through better platform β
β High support load = Platform usability problem β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Building the Platform
Iterative Approach
PLATFORM EVOLUTION:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β DON'T BUILD EVERYTHING AT ONCE: β
β ββββββββββββββββββββββββββββββββ β
β β
β START THIN: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β PHASE 1: Foundation (3 months) ββ
β β β’ CI/CD pipeline ββ
β β β’ Basic deployment ββ
β β β’ Core observability ββ
β β ββ
β β VALUE: Teams can deploy independently ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β EXPAND BASED ON NEED: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β PHASE 2: Common Needs (3 months) ββ
β β β’ Service templates ββ
β β β’ Database provisioning ββ
β β β’ Secrets management ββ
β β ββ
β β VALUE: Faster service creation ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β PHASE 3: Advanced (Ongoing) ββ
β β β’ Feature flags ββ
β β β’ Canary deployments ββ
β β β’ Cost management ββ
β β ββ
β β VALUE: Sophisticated delivery capabilities ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β THIN-SLICE APPROACH: β
β ββββββββββββββββββββ β
β Get ONE team using platform end-to-end β
β Learn from their experience β
β Improve before scaling to more teams β
β β
β AVOID: Building "complete" platform in isolation β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ