Apakah Anda menggunakan ini atau alur kerja percabangan git yang serupa?
Kami menggunakan alur kerja serupa di tempat kerja, tetapi sedikit kurang rumit. Namun sangat terinspirasi oleh alur kerja ini, karena saya sudah membaca artikel ini berkali-kali. Saya bahkan memiliki pdf model percabangan dicetak dalam warna di samping meja saya :)
Apakah Anda menganggap ini pendekatan yang produktif?
Produktif. Bagaimana Anda mendefinisikan produktivitas? Ya, dalam pikiran saya yang paling penting adalah memiliki kualitas tinggi, setidaknya untuk mencoba dan mencapai kualitas yang lebih baik setiap saat. Terus meningkatkan proses dll. Jika Anda dapat menghasilkan kode kualitas, produktivitas akan mendapat manfaat darinya. Jadi pertanyaannya adalah: Apakah ini meningkatkan kualitas perangkat lunak? Dan jawaban saya untuk itu pasti ya.
Apa yang paling saya sukai dengan model percabangan jenis ini, adalah ia memperkenalkan cabang-cabang dalam berbagai lapisan kualitas. Semakin ke kanan dalam gambar, semakin tinggi stabilitas dan kualitas semakin tinggi. Cabang utama adalah suci dan semua komitmen di atasnya harus dianggap sebagai versi stabil dari perangkat lunak. Semakin ke kiri Anda pergi, semakin eksperimental dan semakin rendah stabilitas yang Anda dapatkan.
Segera setelah Anda menguji fitur-fitur baru dan perbaikan bug, Anda dapat secara bertahap mentransfernya dari kiri ke kanan dan dengan demikian memindahkan kode dengan kualitas tinggi tepat ketika Anda tahu bahwa kode memenuhi persyaratan kualitas yang Anda minta dari kode. Yah, setidaknya secara teori, karena Anda tidak dapat menguji semuanya hingga 100% dan tahu pasti bahwa kode tersebut tidak mengandung bug, karena selalu ada bug. Tapi itu memungkinkan Anda untuk menjaga kepercayaan diri yang tinggi.
Tidak ada yang menyebalkan sebagai programmer, selain bekerja dalam sistem di mana tidak ada yang percaya kode, karena mereka tahu itu hanya menyebalkan dan ada banyak bug di dalamnya.
Apakah Anda melihat ada kekurangan dengan pendekatan ini? Adakah potensi penurunan?
Sangat penting untuk memikirkan model percabangan Anda sehingga cocok dengan kebutuhan organisasi Anda. Hanya karena model ini berfungsi baik untuk sebagian orang, tidak berarti model ini optimal atau diinginkan untuk orang lain.
Selalu ada trade off dan bahkan dalam kasus ini. Satu trade off adalah jumlah cabang versus kompleksitas. Dengan memperkenalkan banyak jenis cabang yang berbeda, Anda meningkatkan kompleksitas alur kerja. Misalnya mungkin salah untuk selalu memaksa orang untuk membuat cabang fitur baru, ketika mereka mencoba untuk memperbaiki bug sederhana dengan mengubah beberapa baris kode.
Kita semua tahu bahwa bug lebih atau kurang rumit untuk dipecahkan. Jadi, ketika bug sepele ditemukan Anda mungkin ingin mengurangi kompleksitas dan administrasi untuk menyingkirkan overhead tambahan dan hanya membiarkan orang berkomitmen langsung ke mis master atau mengembangkan cabang. Tetapi karena sifat perbaikan Anda menjadi lebih rumit, ada baiknya biaya tambahan untuk membuat cabang baru bagi mereka. Terutama jika Anda tidak yakin dengan ukuran dan panjangnya atau jika Anda ingin meningkatkan kolaborasi antara Anda dan pengembang lainnya.
Jika Anda memiliki pendekatan yang lebih baik, maukah Anda berbagi, atau memberikan tautan ke artikel atau diskusi tentangnya?
Ini tidak diragukan lagi pendekatan yang baik dan mungkin cocok untuk sebagian besar kasus karena kebanyakan dari kita memiliki proses pengembangan yang sama, tetapi mungkin tidak cocok untuk semua orang. Saya sangat mendorong Anda untuk memikirkan bagaimana Anda menangani kode Anda sekarang, dan mencoba membuat model percabangan yang sesuai dengan yang sudah Anda miliki.
Poin terpenting adalah memulai dengan git dan sisanya akan mengikuti secara alami. Mulai yang sederhana dan secara bertahap tingkatkan! Jadilah kreatif!
Bersulang