Cara membangun kerangka metrik untuk keputusan teknis dan bisnis: membedakan leading vs lagging metrics, menghindari vanity metrics dan Goodhart's law, menyusun metrics framework untuk inisiatif, dan berargumen dengan data yang tak terbantahkan

Setelah di episode 14 kita membangun program reliability dengan SLO dan error budget, pada episode ini kita generalisasi skill di baliknya: data & metrics for decisions. Hampir semua argumen staff engineer bertumpu pada angka — angka yang dipercaya. Engineer yang datanya benar bisa mengarahkan organisasi mana pun; engineer dengan opini tajam tapi tanpa data akan kalah oleh slide siapa pun yang membawa grafik.
Kita bedah cara memilih metrik yang jujur, jebakan psikologisnya, dan cara merangkai metrik menjadi framework yang mendukung keputusan nyata — bukan sekadar dashboard dekoratif.
Empat dimensi yang perlu dipahami sebelum memakai metrik apa pun:
Program kalian butuh keduanya: leading untuk kemudi harian, lagging untuk pembuktian dampak.
"Latensi p95 420 ms" sendirian tidak bermakna. 420 ms dibanding 380 ms bulan lalu, atau vs target SLO 300 ms — barulah bercerita. Selalu sertakan pembanding: tren waktu, baseline, target, atau benchmark kompetitor.
Metrik pengganti ketika metrik sesungguhnya sulit diukur ("kepuasan developer" → time-to-first-deploy). Proxy sah asal dua syarat terpenuhi: ada alasan kausal yang masuk akal, dan kalian sadar ia proxy — uji ulang berkala apakah hubungannya masih berlaku.
Angka yang selalu naik dan membuat senang tanpa bisa ditindaklanjuti: total sign-up kumulatif, jumlah baris kode, jumlah PR. Ciri pembedanya: tidak ada keputusan yang berubah karena angka itu. Buang dari rapat keputusan.
Hukum Goodhart: ketika sebuah ukuran menjadi target, ia berhenti menjadi ukuran yang baik. Contoh klasik engineering:
| Metrik Dijadikan Target | Perilaku Merusak yang Muncul | |------| | Jumlah bug ditutup | Bug dilaporkan sebagai banyak tiket kecil; duplikasi | | Coverage test 100% | Test tanpa assertion demi centang coverage | | Velocity sprint naik | Estimasi digelembungkan; story dipecah kosong | | Deploy frequency | Deploy kosong berkali-kali dalam sehari |
Strategi melawan:
Warning
Waspadai metrik yang mudah di-game saat kalian mengusulkannya ke manajemen. Usulan "ukur X per tim" tanpa counter-metric dan tanpa aturan pakai akan berubah menjadi tekanan KPI dalam satu kuartal.
Untuk setiap inisiatif besar (episode 7), rangkai metrik dalam tiga lapis:
LAPIS 1 - Input/aktivitas (apakah kami bekerja?)
- Layanan on golden path / total layanan
- Persentase pipeline template terpakai
LAPIS 2 - Output/proses (apakah sistem membaik?)
- Lead time rilis: 9 hari -> target 1 hari
- Change failure rate: 30% -> target < 10%
- MTTR rollback manual -> otomatis
LAPIS 3 - Outcome/bisnis (apakah bernilai?)
- Kapasitas rilis fitur naik tanpa tambah headcount
- Biaya insiden (person-jam x rate) turun 60%
- Survey kepercayaan tim terhadap rilis (1-5)Aturan penyusunannya:
Data yang kuat tetap butuh penyampaian yang tepat:
Contoh paragraf argumen yang matang:
Sejak golden path fase 1 (12 Juni), lead time billing turun
dari 9 ke 2 hari (dashboard DORA, sumber CI). Change failure
rate stabil di 8% (sebelumnya 28%) - jadi percepatan tidak
membayar dengan mutu. Catatan jujur: sampel masih 1 tim;
rekomendasi rollout ke 3 tim berikutnya adalah uji replikasi,
bukan konfirmasi. Saya akan mundur dari rekomendasi jika CFR
melewati 15% pada dua tim pertama fase rollout.Paragraf seperti ini jarang dibantah — karena sudah membantah dirinya lebih dulu dengan jujur.
Selain per-inisiatif, staff engineer sering merapikan metrik lintas area. Susun ~/staff-lab/metrics/framework.md:
# Metrics Framework - Area Platform
## Prinsip
1. Setiap metrik punya: definisi rumus, sumber data, pemilik,
frekuensi review, counter-metric pasangan.
2. Metrik untuk keputusan, bukan dekorasi laporan.
3. Tidak ada metrik individu sebagai KPI personal.
## Katalog inti (contoh entri)
METRIK : Lead time change
RUMUS : median(waktu merge->deploy produksi) per layanan
SUMBER: pipeline CI + registry events
PASANGAN: change failure rate (jaga <= 10%)
REVIEW : bulanan di forum engineering
## Ritual
- Scorecard bulanan otomatis (no manual spreadsheet).
- Enam-bulanan: audit definisi + retire metrik mati.Bagian retire metrik mati penting: katalog metrik yang hanya bertambah akan menjadi rawa dashboard yang tak seorang pun baca.
Inti yang harus dibawa pulang:
Di episode 16 selanjutnya kita akan membahas scaling engineering practices — cara menskalakan standar kode, proses review, dan developer experience ke puluhan tim tanpa menjadi birokrasi yang membunuh otonomi. Sampai jumpa di episode 16!