Memberi skor pada kemajuan platform: platform maturity model, scorecards di Backstage untuk menilai setiap service, dan metrik adopsi yang menunjukkan apakah platform benar-benar berfungsi atau sekadar ada

Di episode 22 platform sudah dikelola seperti produk dengan roadmap dan KPI. Tapi bagaimana tahu seberapa matang platform itu? Dan bagaimana menilai setiap service di dalamnya secara konsisten? Episode ini membahas scorecard & maturity platform — platform maturity model, scorecards di Backstage, dan metrik adopsi yang membedakan platform yang hidup dari platform yang sekadar ada.
Mengapa ini penting? "Semua aman" adalah penilaian subjektif; scorecard mengubahnya menjadi angka. Maturity model memberi peta perjalanan — di mana kalian sekarang dan apa langkah berikutnya. Tanpa keduanya, perbaikan platform mengikuti intuisi yang sering meleset, dan service-service tua yang melenceng dari standar tidak pernah terlihat.
CNCF Platform Engineering Maturity Model menilai platform pada lima dimensi, masing-masing dengan level 0-4:
| Dimensi | Level 0-1 | Level 3-4 |
|---|---|---|
| Automation | Provisioning manual, banyak klik | Everything-as-code, self-service penuh |
| Autonomy | Developer menunggu tiket | Developer mandiri di golden path |
| Resilience | Perbaikan reaktif | SLO + error budget aktif (ep. 17) |
| Security | Per-meter bolong | Zero trust, policy-as-code (ep. 16-20) |
| User experience | Portal sekadar link | Golden path + AI-assist (ep. 12, 21) |
Maturity bukan "mencapai level 4 di semua dimensi" — itu target jangka panjang. Nilai utamanya adalah menunjukkan ketimpangan: misalnya automation sudah 4 tapi UX masih 1, jelas di mana harus fokus kuartal ini.
Scorecard di Backstage (episode 6) menilai tiap entity service terhadap seperangkat aturan, menghasilkan skor dan checklist yang bisa ditindaklanjuti. Contoh aturan untuk service:
| Aturan | Kriteria lolos |
|---|---|
| Ownership | Punya owner di catalog (entity owner terisi) |
| Documentation | Memiliki TechDocs (ep. 24) |
| CI/CD | Terdaftar di pipeline platform (ep. 7) |
| Security baseline | Image di-scan & ter-sign (ep. 19) |
| Observability | Punya dashboard dan alerting (ep. 9) |
| Cost | Punya label biaya/team (ep. 11) |
apiVersion: backstage.io/v1alpha1
kind: Scorecard
metadata:
name: platform-baseline
title: Platform Baseline
spec:
rules:
- title: Ownership
kind: Component
checks:
- entity.owner
- title: TechDocs
kind: Component
checks:
- entity.metadata.annotations.backstage.io/techdocs-ref
- title: CI registered
kind: Component
checks:
- entity.metadata.annotations["platform/pipeline"]Skor ditampilkan di halaman service: developer langsung tahu "service kalian 3/6" dan link untuk memperbaiki. Tanpa menghakimi — scorecard adalah GPS, bukan vonis.
Maturity dan scorecard berujung pada satu pertanyaan: apakah platform dipakai? Metrik adopsi yang perlu dipantau:
| Metrik | Definisi |
|---|---|
| Golden path adoption | % deploy lewat jalur standar (bukan manual) |
| Catalog coverage | % service yang terdaftar di catalog |
| Self-service rate | % request tanpa intervensi manusia (ep. 12) |
| Scorecard average | Rata-rata skor semua service |
| Time-to-provision | Waktu environment siap |
Kombinasi yang penting: adopsi tinggi + maturity rendah = developer terpaksa memakai platform yang belum siap; maturity tinggi + adopsi rendah = platform hebat yang tidak dikenal. Keduanya membutuhkan aksi yang berbeda.
Service Score Detail
payments-api 5/6 Kekurangan: TechDocs
orders-svc 6/6 Semua baseline terpenuhi
inventory 2/6 Owner kosong, no docs, no pipelineTip
Mulai dari scorecard kecil yang bisa dicapai. Satu dashboard Backstage dengan 3-5 aturan yang realistis lebih berharga daripada maturity model 5 dimensi yang tidak pernah dievaluasi. Angka pertama yang kalian ukur hari ini adalah baseline yang akan membuktikan dampak platform di masa depan.
Inti yang harus dibawa pulang:
Di episode 24 selanjutnya kita masuk ke hati pengalaman developer: developer experience (DevEx) — feedback loops yang cepat, dokumentasi sebagai produk, dan pengurangan toil yang membuat developer tidak ingin kembali ke cara lama!