Mengapa Perbaikan CI/CD Anda Terasa Sibuk tapi Tidak Berguna
Anda baru saja menyelesaikan asesmen maturity. Tim Anda mendapat skor di enam dimensi. Dashboard terlihat berwarna-warni. Semua orang siap bertindak.
Maka tim platform mulai membangun provisioning self-service. Tim governance menulis kebijakan baru. Tim database mengotomatiskan migrasi. Semua orang sibuk. Semua orang mengirimkan perubahan. Namun setelah tiga bulan, pengiriman masih terasa lambat. Rilis masih menyakitkan. Tidak ada yang bisa menunjukkan satu perbaikan pun yang benar-benar membuat perbedaan.
Ini adalah jebakan paling umum setelah asesmen maturity: mencoba memperbaiki semuanya sekaligus.
Masalah Sebenarnya Bukan Skor Rendah
Skor rendah dalam model maturity bukanlah masalah. Itu adalah gejala. Masalah sebenarnya adalah bottleneck yang membuat proses pengiriman Anda lambat, bahkan ketika bagian lain berjalan dengan baik.
Bottleneck adalah titik paling lambat dalam keseluruhan alur pengiriman Anda. Tidak peduli seberapa cepat bagian lainnya. Jika satu langkah memakan waktu berhari-hari, seluruh proses akan memakan waktu berhari-hari.
Berikut adalah diagram sederhana dari pipeline pengiriman untuk membuat bottleneck terlihat.
Berikut cara mengenalinya. Tim Anda dapat men-deploy aplikasi dalam lima menit. Namun sebelumnya, mereka menunggu dua hari untuk persetujuan manual. Persetujuan itu adalah bottleneck Anda. Pipeline Anda berjalan sempurna. Namun provisioning environment staging memakan waktu tiga hari karena Anda harus membuka tiket ke tim infrastruktur. Langkah provisioning itu adalah bottleneck Anda. Deployment aplikasi Anda sepenuhnya otomatis. Namun setiap rilis membutuhkan DBA untuk menjalankan migrasi database secara manual. Langkah database manual itu adalah bottleneck Anda.
Ketika Anda mencoba memperbaiki semuanya sekaligus, Anda menyebarkan energi ke area yang tidak menghalangi siapa pun. Bottleneck tetap tidak tersentuh. Pengiriman tetap lambat. Dan tim Anda kelelahan karena melakukan banyak pekerjaan yang tidak dirasakan manfaatnya oleh siapa pun.
Cara Menemukan Bottleneck Sebenarnya
Lihat profil maturity Anda di enam dimensi: delivery, infrastruktur, platform, database, governance, dan testing. Kemudian tanyakan satu pertanyaan sederhana kepada tim Anda: dimensi mana yang paling sering menjadi alasan rilis tertunda?
Jika pipeline gagal di tengah jalan dan tidak ada yang tahu penyebabnya, bottleneck Anda ada di delivery. Jika environment tidak pernah siap saat Anda membutuhkannya, bottleneck Anda ada di infrastruktur atau platform. Jika perubahan database selalu memerlukan proses terpisah yang memakan waktu berhari-hari, bottleneck Anda ada di database. Jika persetujuan memerlukan banyak tanda tangan dari orang yang tidak tersedia, bottleneck Anda ada di governance.
Jangan menebak. Tanyakan kepada orang yang benar-benar melakukan pekerjaan. Mereka tahu persis langkah mana yang paling menyakitkan.
Bangun Roadmap yang Menargetkan Satu Hal
Setelah Anda mengetahui bottleneck Anda, roadmap Anda menjadi sederhana. Pilih satu dimensi. Tetapkan satu level target yang realistis. Beri batas waktu. Biarkan semua hal lain di level saat ini.
Berikut contohnya dalam praktik.
Asesmen Anda menunjukkan delivery di level 3, tetapi database di level 1. Setiap rilis terhambat oleh perubahan database manual. Roadmap Anda untuk tiga bulan ke depan: naikkan database dari level 1 ke level 2 dengan mengotomatiskan migrasi untuk perubahan skema yang tidak merusak. Itu saja. Anda tidak menyentuh governance. Anda tidak menyentuh platform. Anda tidak mencoba mendorong delivery ke level 4.
Atau asesmen Anda menunjukkan delivery di level 3, tetapi governance di level 1. Setiap rilis menunggu proses persetujuan multi-langkah yang memakan waktu dua hari. Roadmap Anda untuk enam bulan ke depan: naikkan governance dari level 1 ke level 2 dengan menyederhanakan persetujuan menjadi satu langkah untuk perubahan yang sudah melewati staging. Semua hal lain tetap di tempatnya.
Ini terasa tidak nyaman. Terasa seperti Anda membiarkan skor rendah tidak tersentuh. Namun justru itulah tujuannya. Anda tidak mengabaikannya. Anda memprioritaskan satu hal yang benar-benar akan membuat pengiriman lebih cepat hari ini.
Mengapa Ini Berhasil
Ketika Anda fokus pada satu bottleneck, setiap anggota tim melihat target yang sama. Tim platform tahu mengapa mereka mengotomatiskan migrasi database. Tim governance tahu mengapa mereka menyederhanakan persetujuan. Tim testing tahu mengapa mereka tidak diminta untuk menulis ulang semua suite pengujian mereka sekarang.
Semua orang memahami alasannya. Roadmap bukanlah daftar proyek. Ini adalah solusi untuk masalah yang mereka rasakan setiap hari.
Bandingkan dengan alternatifnya. Ketika Anda mencoba memperbaiki semuanya, setiap tim bekerja sendiri-sendiri. Tim platform membangun alat self-service yang tidak digunakan siapa pun karena tim database masih melakukan migrasi manual. Tim governance menulis kebijakan yang memperlambat pipeline yang sudah berjalan baik. Tim testing menambahkan lebih banyak pemeriksaan ke proses yang bukan bottleneck. Semua orang sibuk. Tidak ada yang berubah.
Checklist Praktis untuk Roadmap Anda Berikutnya
Sebelum memulai siklus perbaikan berikutnya, jalankan checklist ini bersama tim Anda.
- Identifikasi satu dimensi yang paling sering menunda rilis. Tanyakan pada tim, bukan pada dashboard.
- Tetapkan satu level target untuk dimensi tersebut. Bukan level tertinggi. Level realistis berikutnya.
- Tentukan batas waktu. Tiga bulan atau enam bulan. Jangan terbuka.
- Komunikasikan alasannya ke setiap tim. Bukan hanya rencananya. Alasannya.
- Biarkan semua dimensi lain di level saat ini. Jangan sentuh sampai bottleneck terselesaikan.
- Jadwalkan asesmen berikutnya dalam enam bulan. Bottleneck akan bergeser. Anda perlu menemukan yang baru.
Lakukan Asesmen Ulang Secara Teratur, tapi Hanya Setelah Anda Bertindak
Maturity bukanlah pengukuran satu kali. Ini adalah siklus. Anda menemukan bottleneck. Anda memperbaikinya. Pengiriman menjadi lebih cepat. Kemudian bottleneck baru muncul di tempat lain. Anda menemukannya lagi. Anda memperbaikinya lagi.
Inilah mengapa Anda perlu melakukan asesmen ulang setiap enam bulan. Bukan untuk memeriksa apakah skor Anda naik. Untuk memeriksa apakah bottleneck yang Anda targetkan benar-benar terselesaikan, dan untuk menemukan bottleneck berikutnya yang sekarang menghalangi tim Anda.
Model maturity bukanlah etalase piala. Ini adalah cermin. Anda melihatnya untuk mengetahui di mana Anda terjebak, bukan untuk mengagumi seberapa jauh Anda telah melangkah.
Kesimpulan Konkret
Berhentilah mencoba memperbaiki semuanya. Temukan satu hal yang benar-benar memperlambat tim Anda. Perbaiki itu. Kemudian temukan yang berikutnya. Itulah satu-satunya roadmap yang membuat pengiriman lebih cepat tanpa membuat tim Anda semakin sibuk.