Digital Transformation
Trunk-Based Development
Trunk-based development adalah strategi versioning di mana semua developer commit ke satu branch utama dan rilis lewat feature flag, bukan branch panjang yang lama digabung.
TL;DR: Trunk-based development adalah praktik di mana seluruh tim commit ke satu branch utama (trunk/main) minimal sekali sehari. Fitur belum siap diisolasi pakai feature flag, bukan branch terpisah. Tujuannya menghindari merge hell dan mempercepat siklus rilis.
Apa itu Trunk-Based Development?
Trunk-based development (TBD) adalah strategi version control di mana developer menghindari branch panjang. Semua perubahan masuk ke branch utama lewat pull request kecil yang di-merge dalam hitungan jam, bukan minggu. Fitur yang masih dikerjakan disembunyikan di balik feature flag atau dark launch supaya tidak terlihat pengguna.
Analogi sederhananya seperti satu jalan tol bersama. Semua mobil pakai jalan yang sama dan diatur lewat rambu (flag), bukan dipisah ke jalan tikus yang akhirnya susah balik ke tol utama.
TBD vs Git Flow
| Aspek | Trunk-Based | Git Flow |
|---|---|---|
| Lifetime branch | Jam sampai 1-2 hari | Minggu sampai bulan |
| Merge conflict | Jarang, kecil | Sering, besar |
| Cocok untuk | Tim kontinu, CI/CD matang | Rilis terjadwal, versi publik |
| Kebutuhan flag | Wajib | Opsional |
| Kecepatan deploy | Beberapa kali sehari | Mingguan atau bulanan |
Kenapa Penting?
State of DevOps Report dari DORA (Google Cloud) menunjukkan tim performa tinggi konsisten memakai trunk-based development. Praktiknya menurunkan lead time dan meningkatkan deploy frequency. Untuk tim Indonesia yang mau mengejar composable architecture dan rilis cepat, TBD memaksa disiplin code review dan testing otomatis sejak awal.
Pertanyaan Umum
Apakah trunk-based artinya tidak boleh punya branch sama sekali?
Boleh. Branch pendek 1-2 hari masih disebut trunk-based. Yang dihindari adalah feature branch berumur minggu yang akhirnya susah di-merge.
Apakah TBD cocok untuk tim kecil?
Sangat cocok. Tim 2-5 orang justru paling diuntungkan karena overhead branching minimal dan komunikasi langsung lebih mudah.