Hi Co.Creators!
Kamu sudah pernah dengar istilah pair programming belum? Buat kamu para programmer, istilah ini pasti sudah gak asing lagi. Seperti yang kamu tau, pair programming adalah teknik pengembangan aplikasi yang Agile, yang mana terdiri atas 2 programmer yang bekerja bersama-sama dalam sebuah komputer dengan tujuan memecahkan masalah pemrograman yang mereka hadapi.
Teknik kolaboratif ini bukan cuma memecahkan masalah pemrograman, tapi juga melatih kemampuan komunikasi, berpikir kritis, dan bisa saling bertukar pengetahuan seputar programming. Umumnya teknik ini dipakai oleh teman-teman programmer yang baru bergabung di dalam sebuah tim atau perusahaan.
Ada beberapa cara yang dapat dilakukan untuk penerapan teknik pair programming:
1. Driver & Navigator
Driver adalah orang yang menuliskan coding pada layar, sedangkan Navigator berperan sebagai orang yang memperhatikan dan mengoreksi kalau ada kesalahan penulisan coding. Biasanya Driver dan Navigator saling bergantian peran setiap 30 menit sekali.
2. Ping Pong
Ini adalah teknik yang dikombinasikan dengan TDD (test driven development). Dalam teknik ini salah satu dari mereka bakal mulai dengan menulis tes yang gagal, lalu memberikan keyboard kepada partner mereka untuk membuat tes tersebut hijau dan melakukan refactor. Lalu partnernya akan menulis tes yang gagal dan memberikan keyboard kembali pada yang pasangan yang memberikannya keyboard di awal untuk membuat tes tersebut hijau dan melakukan refactor. Lempar balik giliran seperti ini yang jadi alasan teknik ini disebut “Ping Pong”. Hal ini akan terus berlanjut hingga tugas yang dikerjakan selesai dan melakukan putaran baru bila mengerjakan tugas baru pula.
Teknik ini pun banyak memberi manfaat buat sebuah tim lho, misalnya:
- Meningkatkan produktivitas dengan timeline yang terasa jadi lebih cepat. Hal ini karena kita memikirkannya bersama-sama sehingga bisa menemukan solusi terbaik dari dua pemikiran.
- Bisa saling berbagi pengetahuan, mulai dari yang sederhana seperti penulisan code yang lebih mudah, atau tentang logic sederhana.
- Membuat proses review code lebih cepat dan mudah.
- Bisa mengurangi distraksi yang muncul dari luar, seperti saat tiba-tiba diajak ngobrol dengan orang lain, satu orang bisa menjawab obrolan tersebut dan sedikit minggir, dan yang satu lagi masih bisa tetap fokus dengan apa yang dikerjakan, lalu selanjutnya bisa bekerja bersama lagi.
Jenius pun menerapkan teknik pair programming lho. Buat teman-teman programmer yang baru bergabung di Jenius, kami punya mekanisme flow seperti ini:
- Programmer yang baru bergabung ke masing-masing Tech Squad (yang biasa kita sebut new joiner) bakal mendapatkan guidance book tentang codebase yang wajib diketahui dan dipakai di Jenius—semacam kitab coding Jenius gitu deh.
- Setelah itu akan ada pembagian task berupa story bagi para new joiner dan bergabung di squad masing-masing sesuai task atau story yang sudah ditentukan.
- Selanjutnya, new joiner yang sudah join di squad tersebut akan dipasangkan dengan masing-masing buddy. Buddy adalah programmer senior atau yang sudah join lebih lama di Jenius).
- Buddy dan new joiner tersebut akan melakukan teknik pair programming bersama.
- Setelah mengerjakan secara kolaboratif, code akan di-review apakah sudah sesuai dengan codebase Jenius.
- Terakhir, setelah new joiner tersebut dirasa sudah menguasai codebase Jenius dan sudah cocok dengan environment Jenius, maka proses pair programming bagi para new joiner selesai dan tetap dibimbing melalui berbagai materi programming lainnya di Jenius.
Nah, itulah sedikit banyak mengenai teknik pair programming. Kamu sendiri sudah menerapkan teknik ini di tim kamu atau belum? Kalau sudah, apa yang jadi keuntungan dan kekurangannya? Share yuk di kolom komentar.