Apa yang Terungkap dari Deployment Tim Anda
Duduklah di samping tim yang sedang melakukan deployment. Apa yang Anda lihat?
Satu orang duduk di depan laptop, membuka terminal atau dashboard CI/CD, lalu menekan tombol deploy. Beberapa anggota tim berkumpul di sekitarnya, mengamati status pipeline berubah dari kuning menjadi hijau. Ada yang menyesap kopi. Ada yang mengecek grup chat. Ada yang hanya menatap layar.
Setelah beberapa menit, pipeline selesai. Hijau. Tim pun menghela napas lega. Tapi belum selesai. Seseorang membuka aplikasi di browser untuk memeriksa apakah halaman utama bisa dimuat. Orang lain membuka dashboard monitoring, mencari lonjakan error. Seseorang bertanya di chat, "Ada yang lihat sesuatu yang aneh?" Hening. Tidak ada yang menjawab. Mereka menganggap semuanya baik-baik saja.
Namun terkadang situasinya berbeda. Pipeline gagal di tengah jalan. Sebuah pengujian tidak lolos. Atau build gagal karena ketidakcocokan dependensi. Orang yang melakukan deployment mulai panik. Anggota tim lain berkerumun. Ada yang menyarankan rollback. Ada yang bilang coba lagi. Ketegangan meningkat. Jika deployment ini berisi perbaikan bug yang sudah lama ditunggu pengguna, tekanannya semakin besar.
Atau skenario lain: deployment berhasil, tetapi setelah beberapa menit, dashboard monitoring menunjukkan tingkat error meningkat. Tim mulai mencari penyebabnya. Seseorang menggali log. Seseorang memeriksa database. Seseorang bertanya apakah ada perubahan infrastruktur. Satu jam kemudian, mereka menemukan bahwa sebuah query baru yang di-deploy bersamaan dengan kode berjalan lambat karena tidak menggunakan indeks.
Apa yang bisa Anda simpulkan dari ketiga skenario ini?
Anda bisa melihat cara tim bekerja. Anda bisa melihat siapa yang mengambil keputusan, siapa yang menunggu, siapa yang bekerja sendiri. Anda bisa melihat seberapa siap tim menghadapi kegagalan. Anda bisa melihat apakah mereka memiliki prosedur atau hanya mengandalkan keberuntungan. Anda bisa melihat apakah komunikasi berjalan lancar atau justru berantakan.
Deployment sebagai Cermin
Inilah yang dimaksud ketika orang mengatakan bahwa deployment adalah cermin organisasi. Cara tim melakukan deployment — siapa yang terlibat, apa yang diperiksa, berapa lama waktu yang dibutuhkan, bagaimana reaksi mereka saat terjadi masalah — semuanya mencerminkan bagaimana tim diorganisir, seperti apa budaya kerja mereka, dan seberapa matang proses pengembangan mereka.
Tim yang melakukan deployment dengan cepat dan jarang gagal cenderung memiliki ciri-ciri tertentu. Mereka memiliki pipeline yang terotomatisasi dengan baik. Mereka memiliki pengujian yang memadai sehingga percaya diri untuk melakukan deployment kapan saja. Mereka memiliki monitoring yang mendeteksi masalah sejak dini. Dan yang terpenting, mereka memiliki budaya di mana orang tidak takut untuk melakukan deployment, tetapi juga tidak melakukannya secara sembarangan.
Tim yang melakukan deployment dengan lambat, sering gagal, atau menjadikan setiap deployment sebagai krisis biasanya memiliki masalah yang lebih dalam. Mungkin mereka tidak memiliki pengujian yang memadai. Mungkin pipeline mereka manual dan bergantung pada satu orang. Mungkin mereka tidak punya cara untuk mendeteksi masalah selain menunggu laporan dari pengguna. Atau mungkin budaya tim membuat orang takut mengambil risiko, sehingga setiap deployment terasa seperti peristiwa besar.
Melampaui Aspek Teknis
Dari pengamatan sederhana ini, Anda bisa mulai melihat bahwa deployment bukan sekadar aktivitas teknis. Ini adalah sinyal. Ini memberi tahu Anda tentang kesehatan organisasi engineering Anda.
Jika deployment Anda terasa menyakitkan, memperbaiki pipeline saja tidak akan menyelesaikan masalah. Anda perlu melihat lebih dalam: bagaimana tim bekerja sama? Bagaimana mereka mengelola risiko? Bagaimana mereka menggunakan umpan balik dari production untuk belajar dan berkembang?
Tim yang memperlakukan deployment sebagai olahraga tim, dengan peran yang jelas, pemeriksaan otomatis, dan respons yang tenang terhadap kegagalan, adalah tim yang telah membangun kemampuan tersebut dari waktu ke waktu. Mereka tidak sampai di sana hanya dengan membeli alat CI/CD yang lebih baik. Mereka sampai di sana dengan mengubah cara mereka bekerja.
Tim yang memperlakukan deployment sebagai peristiwa berisiko tinggi, di mana satu orang memikul beban dan semua orang lainnya menonton dengan cemas, adalah tim yang belum membangun kemampuan tersebut. Tidak ada alat yang bisa memperbaikinya. Hanya perubahan dalam proses, budaya, dan praktik yang akan berhasil.
Apa yang Perlu Diperhatikan
Lain kali Anda menyaksikan deployment, perhatikan sinyal-sinyal ini:
- Siapa yang terlibat? Apakah hanya satu orang atau seluruh tim? Apakah semua orang tahu apa yang sedang terjadi?
- Apa yang diperiksa? Apakah mereka hanya melihat status pipeline, atau mereka memverifikasi bahwa aplikasi benar-benar berfungsi?
- Berapa lama waktu yang dibutuhkan? Apakah hitungan menit atau jam? Apakah waktunya dihabiskan untuk otomatisasi atau koordinasi manual?
- Bagaimana reaksi mereka terhadap kegagalan? Apakah mereka tetap tenang dan mengikuti prosedur, atau kepanikan menyebar? Apakah mereka memiliki rencana rollback yang siap?
- Apa yang terjadi setelah sukses? Apakah mereka memantau untuk sementara waktu, atau langsung pergi begitu saja?
Sinyal-sinyal ini memberi tahu Anda lebih banyak tentang organisasi engineering Anda daripada dashboard metrik mana pun.
Inti Sebenarnya
Deployment bukanlah garis akhir. Ini adalah momen ketika semua kebiasaan, praktik, dan budaya tim Anda menjadi terlihat. Jika Anda ingin meningkatkan deployment Anda, jangan mulai dengan mengubah pipeline Anda. Mulailah dengan melihat apa yang diungkapkan proses deployment Anda saat ini tentang tim Anda, dan perbaiki masalah mendasarnya dari sana.