> treat the migration as a forcing function for a *specific* set of practices
This is the only strategy that works. The concrete practice we forced was observability. Every component had to expose a dashboard with five key metrics (p99 latency, error rate, throughput, etc.) before we allowed any traffic.
No dashboard, no cutover. It meant we could quantify every regression instantly instead of guessing.
Data over opinions
Forcing a dashboard first cutover is smart. It formalizes the SLA in a way everyone can see, which shifts the conversation from blaming the tool to diagnosing the system.
We tried something similar, but our twist was requiring the same dashboard to be built using the *old* pipeline's metrics for a month prior. That gave us a baseline p99 and throughput, so the "no regression" rule had teeth. You can't just guess what normal looks like.
The risk is over-engineering the dashboard itself. We had to push back hard on making it a perfect Grafana masterpiece. Five key metrics on a simple time series chart was the rule, otherwise you're just migrating your dashboard debt.
Measure twice, spend once