10 min read • Guide 828 of 877
Release Train Engineering
Trains run on schedule. GitScrum helps release train engineers coordinate cross-team delivery, ensuring regular, predictable releases.
Release Train Concept
How Trains Work
RELEASE TRAIN MODEL:
┌─────────────────────────────────────────────────────────────┐
│ │
│ THE TRAIN METAPHOR: │
│ ─────────────────── │
│ │
│ A release train: │
│ • Leaves the station on a fixed schedule │
│ • Takes whatever is ready when it departs │
│ • Doesn't wait for late features │
│ • Next train comes soon (no need to rush onto this one) │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ TRAIN SCHEDULE: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ ││
│ │ ──────────────────────────────────────────────────────► ││
│ │ ▲ Train 1 ▲ Train 2 ▲ Train 3 ▲ Train 4 ││
│ │ │ Jan 15 │ Jan 29 │ Feb 12 │ Feb 26 ││
│ │ │ │ │ │ ││
│ │ └──────────────┴──────────────┴──────────────┴────────► ││
│ │ Every 2 weeks, on schedule ││
│ │ ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ FEATURE FLOW: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ ││
│ │ Feature A: ████████ Ready ──► On Train 1 ✓ ││
│ │ Feature B: █████████████████ Ready ──► On Train 2 ✓ ││
│ │ Feature C: ████████████░░░░ Not Ready ──► Train 3 ││
│ │ Feature D: ███ Ready ──► On Train 1 ✓ ││
│ │ ││
│ │ Ready by cutoff = On the train ││
│ │ Not ready = Wait for next train ││
│ │ ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ BENEFITS: │
│ • Predictable releases │
│ • No waiting for "that one feature" │
│ • Lower stress (next train is coming) │
│ • Regular value delivery │
└─────────────────────────────────────────────────────────────┘
Release Train Engineer
RTE Role
RELEASE TRAIN ENGINEER RESPONSIBILITIES:
┌─────────────────────────────────────────────────────────────┐
│ │
│ FACILITATION: │
│ ───────────── │
│ • Plan and run PI Planning │
│ • Facilitate cross-team syncs │
│ • Lead system demos │
│ • Coordinate inspect & adapt │
│ │
│ COORDINATION: │
│ ───────────── │
│ • Manage cross-team dependencies │
│ • Track program-level progress │
│ • Coordinate integration │
│ • Align team schedules │
│ │
│ RISK MANAGEMENT: │
│ ──────────────── │
│ • Identify program risks │
│ • Escalate blockers │
│ • Clear impediments │
│ • Ensure contingencies │
│ │
│ COMMUNICATION: │
│ ────────────── │
│ • Stakeholder updates │
│ • Status reporting │
│ • Release communication │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ RTE IS NOT: │
│ ─────────── │
│ ❌ Project manager telling teams what to do │
│ ❌ Single point of failure │
│ ❌ Technical decision maker │
│ │
│ RTE IS: │
│ ───────── │
│ ✅ Servant leader for the train │
│ ✅ Facilitator and coordinator │
│ ✅ Blocker remover │
└─────────────────────────────────────────────────────────────┘
PI Planning
Program Increment Planning
PI PLANNING OVERVIEW:
┌─────────────────────────────────────────────────────────────┐
│ │
│ WHAT IS A PI: │
│ ───────────── │
│ Program Increment = 8-12 weeks │
│ Contains multiple sprints (typically 5-6) │
│ Ends with Innovation and Planning iteration │
│ │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ PROGRAM INCREMENT (10 weeks) ││
│ │ ││
│ │ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────────────┐ ││
│ │ │ S 1 │ │ S 2 │ │ S 3 │ │ S 4 │ │ IP Sprint │ ││
│ │ │ 2wk │ │ 2wk │ │ 2wk │ │ 2wk │ │ Innovation+ │ ││
│ │ │ │ │ │ │ │ │ │ │ PI Planning │ ││
│ │ └──────┘ └──────┘ └──────┘ └──────┘ └──────────────┘ ││
│ │ ││
│ │ Each sprint = train departure opportunity ││
│ │ IP Sprint = Innovation, planning, slack ││
│ │ ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ PI PLANNING EVENT (2 days): │
│ ─────────────────────────── │
│ Day 1: │
│ • Business context and vision │
│ • Architecture vision │
│ • Team breakouts: Draft plans │
│ • Management review │
│ │
│ Day 2: │
│ • Adjust plans │
│ • Identify dependencies │
│ • Risk identification │
│ • Confidence vote │
│ • Commitment │
│ │
│ OUTPUT: │
│ • PI objectives for each team │
│ • Program board (dependencies visualized) │
│ • Risk register │
│ • Committed features │
└─────────────────────────────────────────────────────────────┘
Dependency Management
Cross-Team Coordination
MANAGING DEPENDENCIES:
┌─────────────────────────────────────────────────────────────┐
│ │
│ PROGRAM BOARD: │
│ ────────────── │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ ││
│ │ SPRINT │ S1 │ S2 │ S3 │ S4 ││
│ │ ───────────┼─────────┼─────────┼─────────┼─────────── ││
│ │ │ │ │ │ ││
│ │ TEAM A │ [F1]────┼─────────┼────────►[F3] ││
│ │ │ ╲ │ │ │ ││
│ │ │ ╲ │ │ │ ││
│ │ TEAM B │ ╲──┼►[F2]────┼─────────┼────► ││
│ │ │ │ │ │ ││
│ │ │ │ │ │ ││
│ │ TEAM C │ │ [F4]─┼►───────►[F5] ││
│ │ │ │ │ │ ││
│ │ ───────────┴─────────┴─────────┴─────────┴─────────── ││
│ │ ││
│ │ Arrows = Dependencies between teams/features ││
│ │ Red string = Risk (on physical board) ││
│ │ ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ DEPENDENCY TYPES: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ TYPE EXAMPLE RISK ││
│ │ ──── ─────── ──── ││
│ │ Team→Team "We need Team B's API" High ││
│ │ External "Waiting on vendor" Very High ││
│ │ Tech "Need DB upgrade first" Medium ││
│ │ Release "Feature A before B" Medium ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ RTE MANAGES: │
│ • Identify dependencies in PI Planning │
│ • Track dependency resolution │
│ • Escalate at-risk dependencies │
│ • Coordinate cross-team communication │
└─────────────────────────────────────────────────────────────┘
Running the Train
Cadence and Sync
TRAIN CADENCE:
┌─────────────────────────────────────────────────────────────┐
│ │
│ REGULAR EVENTS: │
│ ─────────────── │
│ │
│ WEEKLY: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ SCRUM OF SCRUMS (30-60 min) ││
│ │ ││
│ │ Who: Team representatives ││
│ │ When: 2-3x per week ││
│ │ ││
│ │ Format: ││
│ │ • What we accomplished ││
│ │ • What we're working on ││
│ │ • Blockers needing escalation ││
│ │ • Dependencies update ││
│ │ ││
│ │ RTE facilitates, removes blockers ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ EVERY SPRINT: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ SYSTEM DEMO (1-2 hours) ││
│ │ ││
│ │ Who: All teams + stakeholders ││
│ │ When: End of each sprint ││
│ │ ││
│ │ Format: ││
│ │ • Demo integrated increment ││
│ │ • Show end-to-end functionality ││
│ │ • Gather feedback ││
│ │ ││
│ │ All teams integrate into single demo ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ EVERY PI: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ INSPECT & ADAPT (3-4 hours) ││
│ │ ││
│ │ Part 1: PI System Demo ││
│ │ Part 2: Quantitative metrics review ││
│ │ Part 3: Retrospective ││
│ │ Part 4: Problem-solving workshop ││
│ │ ││
│ │ Whole train reflects and improves ││
│ └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘
Risk Management
Program-Level Risks
PROGRAM RISK MANAGEMENT:
┌─────────────────────────────────────────────────────────────┐
│ │
│ ROAM BOARD: │
│ ─────────── │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ ││
│ │ RESOLVED OWNED ACCEPTED MITIGATED ││
│ │ ───────── ───── ──────── ───────── ││
│ │ ││
│ │ [Risk 1] [Risk 3] [Risk 5] [Risk 6] ││
│ │ [Risk 2] [Risk 4] [Risk 7] ││
│ │ ││
│ │ R = Done, no longer a risk ││
│ │ O = Assigned owner actively working ││
│ │ A = Accepted (low impact, we'll deal if happens) ││
│ │ M = Mitigated (reduced likelihood/impact) ││
│ │ ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ RISK REGISTER: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ ID RISK PROB IMPACT OWNER STATUS ││
│ │ ── ──── ──── ────── ───── ────── ││
│ │ R3 API delay Med High @sarah OWNED ││
│ │ - Daily sync with Team B ││
│ │ - Fallback: mock API for testing ││
│ │ ││
│ │ R4 Performance issue High Med @alex OWNED ││
│ │ - Early perf testing in S2 ││
│ │ - Spike for alternatives identified ││
│ │ ││
│ │ R5 Scope creep Low Low @pm ACCEPT ││
│ │ - Will track, address if materializes ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ RTE: │
│ • Surfaces risks in Scrum of Scrums │
│ • Ensures owners are actively mitigating │
│ • Escalates to stakeholders when needed │
└─────────────────────────────────────────────────────────────┘
Metrics
Train Health
RELEASE TRAIN METRICS:
┌─────────────────────────────────────────────────────────────┐
│ │
│ PI OBJECTIVES: │
│ ────────────── │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ PI 15 OBJECTIVE COMPLETION ││
│ │ ││
│ │ TEAM COMMITTED ACHIEVED PREDICTABILITY ││
│ │ ──── ───────── ──────── ───────────── ││
│ │ Team A 8 7 88% ││
│ │ Team B 7 7 100% ││
│ │ Team C 6 5 83% ││
│ │ Team D 8 6 75% ⚠️ ││
│ │ ││
│ │ TRAIN: 29 25 86% ││
│ │ ││
│ │ Target: 80%+ predictability ││
│ │ Team D needs support ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ RELEASE METRICS: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ TRAIN PERFORMANCE ││
│ │ ││
│ │ METRIC TARGET ACTUAL STATUS ││
│ │ ────── ────── ────── ────── ││
│ │ On-time releases 100% 100% ✅ ││
│ │ Features per PI 20+ 24 ✅ ││
│ │ Dependency hit rate 90%+ 85% ⚠️ ││
│ │ PI predictability 80%+ 86% ✅ ││
│ │ Defect escape rate <5% 3% ✅ ││
│ │ ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ TRACK OVER TIME: │
│ Is the train getting better at delivering predictably? │
│ Are dependencies being managed earlier? │
│ Is quality improving? │
└─────────────────────────────────────────────────────────────┘