Saat Tim Anda Memiliki Perjalanan Penuh: Tim yang Selaras dengan Aliran dan Pengiriman

Bayangkan ini: tim Anda ingin menambahkan filter baru ke fitur pencarian di aplikasi e-commerce Anda. Anda sudah siap dengan desain, kode sudah ditulis, dan pengujian berhasil di lokal. Tapi Anda tidak bisa mengirimkannya. Anda membutuhkan tim lain untuk men-deploy-nya. Tim yang berbeda mengelola infrastruktur. Orang lain menangani perubahan database. Dan jadwal rilis dikendalikan oleh grup yang bertemu seminggu sekali.

Inilah kenyataan bagi banyak tim teknik. Pekerjaan mengirimkan satu fitur melibatkan serah terima antar beberapa tim. Setiap serah terima menambah waktu tunggu, peralihan konteks, dan overhead koordinasi. Fitur yang butuh tiga hari untuk dibangun bisa memakan waktu dua minggu untuk sampai ke pengguna.

Ada cara yang lebih baik. Ini disebut tim yang selaras dengan aliran (stream-aligned team), dan ini adalah pola fundamental dalam model Team Topologies.

Apa yang Membuat Tim Selaras dengan Aliran

Tim yang selaras dengan aliran memiliki value stream yang lengkap dari ide hingga pengguna. Tim tidak bergantung pada tim lain untuk mengirimkan fitur, memperbaiki bug, atau men-deploy ke produksi. Mereka memiliki semua yang diperlukan untuk membawa perubahan dari commit hingga penggunaan langsung.

Pertimbangkan tim yang memiliki fitur pencarian di aplikasi e-commerce. Tim ini mencakup pengembang backend yang menangani indeks dan kueri, pengembang frontend yang membangun halaman hasil pencarian, insinyur QA yang menguji skenario pencarian, dan seseorang yang mengelola deployment ke produksi. Ketika tim ini ingin menambahkan filter baru, mereka melakukannya sendiri: mendesain perubahan, menulis kode, mengujinya, dan men-deploy-nya. Tidak perlu menunggu tim lain menyelesaikan pekerjaan mereka terlebih dahulu.

Berikut adalah perbandingan berdampingan dari dua jalur pengiriman:

flowchart TD subgraph Traditional[Traditional Multi-Team Handoff] A1[Dev Team] -->|handoff| A2[Infra Team] A2 -->|handoff| A3[DB Team] A3 -->|handoff| A4[Release Team] A4 --> A5[User] end subgraph StreamAligned[Stream-Aligned Team] B1[Stream-Aligned Team] --> B2[User] end Traditional -.->|vs| StreamAligned

Inilah artinya memiliki value stream Anda sendiri. Value stream adalah urutan langkah yang mengubah ide menjadi nilai yang benar-benar dapat digunakan oleh pengguna. Dalam istilah CI/CD, value stream mencakup segalanya mulai dari commit kode hingga build, test, deploy, dan akhirnya fitur tersebut live untuk pengguna. Tim yang selaras dengan aliran memiliki semua tahapan ini.

Bagaimana Ini Mengubah CI/CD

Ketika sebuah tim memiliki value stream-nya, pipeline CI/CD berubah secara fundamental. Tim mendesain pipeline-nya sesuai dengan kebutuhannya sendiri. Mereka memutuskan kapan harus menjalankan pengujian integrasi, strategi deployment apa yang cocok untuk fitur mereka, dan kapan harus rollback. Mereka tidak perlu menyelaraskan jadwal rilis dengan tim lain.

Pola ini mengubah cara kita berpikir tentang kepemilikan. Dalam pengaturan tradisional, Anda sering melihat pemisahan: Tim A membangun fitur, Tim B menangani deployment, Tim C mengelola infrastruktur. Setiap kali ada yang salah, Tim A menunggu Tim B atau Tim C. Dengan tim yang selaras dengan aliran, kepemilikan bersifat end-to-end. Tim yang membangun fitur juga menjalankannya di produksi.

Dampak praktis pada desain pipeline Anda sangat signifikan. Alih-alih satu pipeline raksasa yang harus dilalui setiap tim, setiap tim dapat memiliki pipeline-nya sendiri. Tim backend mungkin memiliki pipeline dengan pengujian integrasi yang berat. Tim frontend mungkin fokus pada pengujian regresi visual. Setiap pipeline berjalan secara independen, dengan kecepatan tim itu sendiri.

Hambatan Komunikasi Menghilang

Salah satu keuntungan terbesar dengan tim yang selaras dengan aliran adalah pengurangan hambatan komunikasi. Tim Anda tidak perlu rapat koordinasi hanya untuk deploy ke staging. Anda tidak menunggu slot rilis. Anda bergerak dengan kecepatan Anda sendiri, dalam batas yang disepakati dengan tim lain.

Pikirkan tentang terakhir kali tim Anda mengalami masalah produksi. Jika Anda adalah tim yang selaras dengan aliran, Anda akan memperbaikinya segera karena Anda memiliki kode dan deployment. Anda tidak perlu mengajukan tiket, menunggu tim infrastruktur memberikan akses, atau menjelaskan masalah ke tim lain yang tidak tahu basis kode Anda.

Tidak Semua Tim Bisa Selaras dengan Aliran

Tim yang selaras dengan aliran tidak muncul dalam semalam. Di organisasi kecil, satu tim mungkin menangani seluruh aplikasi. Di organisasi besar, satu tim mungkin menangani satu area produk seperti pencarian, rekomendasi, atau pembayaran. Kuncinya adalah setiap tim memiliki batasan yang jelas tentang apa yang mereka miliki dan apa yang menjadi milik tim lain.

Pola ini juga tidak berarti tim bekerja dalam isolasi. Tim yang selaras dengan aliran masih membutuhkan tooling, lingkungan, dan infrastruktur untuk bekerja. Mereka membutuhkan platform untuk membangun. Di sinilah pola tim lain berperan, seperti tim platform yang menyediakan fondasi sehingga tim yang selaras dengan aliran dapat bergerak cepat tanpa harus membangun semuanya dari awal.

Daftar Periksa Praktis untuk Bergerak Menuju Tim yang Selaras dengan Aliran

Jika Anda ingin mulai menggerakkan tim Anda menuju model ini, berikut adalah daftar periksa praktis untuk dikerjakan:

  • Petakan value stream Anda saat ini. Tulis setiap langkah dari ide hingga produksi. Catat tim mana yang terlibat di setiap langkah. Hitung jumlah serah terima.
  • Identifikasi satu area yang terbatas. Pilih fitur atau layanan yang memiliki batasan jelas. Ini bisa berupa pencarian, pembayaran, notifikasi, atau profil pengguna. Mulailah dengan satu area, bukan seluruh sistem.
  • Berikan tim kepemilikan end-to-end. Biarkan mereka memiliki kode, pengujian, deployment, dan pemantauan produksi untuk area tersebut. Hapus ketergantungan pada tim lain untuk lingkup ini.
  • Biarkan mereka mendesain pipeline mereka sendiri. Jangan paksa mereka ke dalam template pipeline perusahaan. Biarkan mereka memilih strategi pengujian, frekuensi deployment, dan pendekatan rollback.
  • Sediakan platform, bukan gerbang. Bangun infrastruktur dan tooling bersama yang dapat digunakan tim, tetapi jangan buat mereka menunggu persetujuan atau mengantre untuk slot rilis.
  • Tetapkan batasan yang jelas. Definisikan apa yang dimiliki tim ini dan apa yang dimiliki tim lain. Dokumentasikan antarmuka antar tim. Pastikan semua orang tahu di mana tanggung jawab satu tim berakhir dan yang lain dimulai.

Inti Sebenarnya

Tim yang selaras dengan aliran mengubah pengalaman pengiriman dari menunggu dan berkoordinasi menjadi bergerak dan mengirimkan. Ketika sebuah tim memiliki value stream-nya, gesekan serah terima menghilang. Pipeline CI/CD menjadi alat yang dikendalikan tim, bukan proses yang harus dipatuhi tim. Tim dapat merespons masalah produksi segera, mengirimkan fitur dengan kecepatan mereka sendiri, dan fokus pada membangun nilai alih-alih menavigasi ketergantungan organisasi.

Mulailah dari yang kecil. Pilih satu area yang terbatas, berikan tim kepemilikan penuh, dan lihat bagaimana kecepatan pengiriman mereka berubah. Perbedaan antara menunggu izin dan memiliki perjalanan penuh lebih besar dari yang diperkirakan kebanyakan tim.