Latar Belakang
Pair programming adalah salah satu praktik dalam Extreme Programming (XP) di mana dua orang berkolaborasi menulis kode menggunakan satu layar dan satu keyboard. Ketika dilakukan secara jarak jauh, praktik ini dikenal sebagai Distributed Pair Programming (DPP). Namun dalam konteks Global Software Development (GSD), DPP menghadapi tantangan serius akibat perbedaan zona waktu, variasi budaya, dan keterbatasan berbagi layar secara real-time. Untuk mengatasi hal ini, penelitian ini mengeksplorasi Hybrid Pair Programming sebagai kombinasi antara personal programming dan pair programming yang disesuaikan dengan kebutuhan setiap aktivitas pengembangan perangkat lunak.
Tujuan Penelitian
Penelitian ini menguji tiga hipotesis. Pertama, tidak semua aktivitas pengembangan perangkat lunak dapat dilakukan secara efektif dengan pair programming. Kedua, pair programming memberikan produktivitas lebih baik dibanding personal programming dalam lingkungan GSD. Ketiga, hybrid pair programming dapat diterapkan dalam Global Software Development.
Metode
Penelitian menggunakan action research yang melibatkan mahasiswa dari tiga kelas berbeda di satu universitas. Kelompok Alpha terdiri dari 114 mahasiswa S1 yang menerapkan personal programming dalam mata kuliah pemrograman berorientasi objek. Kelompok Beta terdiri dari 107 mahasiswa S1 yang menerapkan pair programming secara terdistribusi dalam mata kuliah yang sama. Kelompok Charlie terdiri dari 23 mahasiswa S2 yang berfungsi sebagai validator untuk hybrid pair programming dalam mata kuliah pengembangan perangkat lunak.
Semua kelompok menggunakan bahasa C# dan GitHub untuk mengelola kode sumber selama dua belas minggu. Produktivitas diukur menggunakan satuan KLOC per jam, kualitas produk dinilai dengan rubrik berbasis object-oriented quality rubric berskala 0–100, dan pengalaman kualitatif diukur melalui survei skala Likert lima tingkat. Validitas dan reliabilitas instrumen diuji menggunakan korelasi Product Moment Pearson dan Cronbach’s Alpha.
Hasil: Personal Programming (Kelompok Alpha)
Kelompok Alpha menghasilkan rata-rata 1.970 baris kode dengan waktu pengembangan rata-rata 66,89 jam, menghasilkan kecepatan 71,34 LOC per jam. Kualitas rata-rata proyek mencapai 86 poin dari skala 100, yang termasuk kategori sangat baik.
Dari survei kualitatif, personal programming dianggap paling efektif dalam mengurangi bug dalam pengembangan (skor bobot tertinggi 126) dan menjaga komitmen terhadap target (111). Di sisi efektivitas, personal programming paling cocok untuk mendesain database (89) dan mendesain fitur (83), namun kurang efektif untuk perbaikan bug (30) dan acceptance test (35). Kesulitan utama yang dirasakan adalah kurangnya pengetahuan pemrograman (88) dan tidak adanya mitra diskusi (79).
Hasil: Pair Programming (Kelompok Beta)
Kelompok Beta menghasilkan rata-rata 4.610 baris kode dengan waktu rata-rata 151 jam, menghasilkan kecepatan 128,86 LOC per jam. Dibandingkan personal programming, pair programming memberikan produktivitas 55% lebih tinggi (dari 72 menjadi 129 LOC per jam).
Dari sisi potensi, pair programming paling dinilai dalam hal tanggung jawab terhadap tugas (bobot 139), berbagi pengetahuan antar anggota (136), dan koreksi error yang lebih cepat (123). Namun pair programming justru dinilai mengurangi ruang privat pengembang (bobot negatif -15). Dari sisi efektivitas, pair programming paling unggul untuk mendesain fitur (123) dan mendesain user story (116), serta bug fix (115), tetapi kurang efektif untuk unit testing (77). Kesulitan utamanya adalah kesulitan teknis (28) dan sinkronisasi jadwal (25).
Hasil: Hybrid Pair Programming (Kelompok Charlie)
Kelompok Charlie memvalidasi hybrid pair programming dengan memilih sendiri aktivitas mana yang dilakukan secara personal dan mana yang dilakukan secara berpasangan. Tiga model yang paling banyak diadopsi adalah Pair Development (bekerja berpasangan hanya saat ada kode yang sulit dikerjakan sendiri), Ping-Pong (bergantian antara personal dan pair di setiap tahap), dan Driver-Navigator (sebagian besar aktivitas dilakukan berpasangan).
Dari hasil survei efektivitas, hybrid pair programming mampu menyelesaikan semua aktivitas dengan memuaskan. Berdasarkan pembobotan aktivitas, urutan aktivitas yang lebih baik dilakukan secara berpasangan adalah: mendesain fitur (23 poin), perbaikan bug (21 poin), menulis kode (17 poin), mendesain user story (15 poin), unit testing (13 poin), mendesain database (11 poin), dan acceptance test (10 poin) — aktivitas terakhir ini lebih disarankan dikerjakan secara personal.
Rekomendasi Implementasi Hybrid Pair Programming
Berdasarkan perbandingan data dari ketiga kelompok, studi ini mengusulkan pemetaan aktivitas pengembangan perangkat lunak sebagai berikut: mendesain fitur, mendesain user story, menulis kode, dan perbaikan bug sebaiknya dilakukan secara berpasangan (sinkron, menggunakan live sharing atau rapat daring). Sementara mendesain database, unit testing, dan acceptance test lebih baik dikerjakan secara personal (asinkron, melalui to-do list atau forum diskusi).
Validitas dan Reliabilitas
Semua item instrumen survei dinyatakan valid berdasarkan uji korelasi Product Moment dengan tingkat signifikansi 5%. Uji reliabilitas menggunakan Cronbach’s Alpha menunjukkan nilai di atas 0,70 untuk semua variabel (rentang 0,752–0,828), yang mengindikasikan reliabilitas tinggi.
Kesimpulan
Ketiga hipotesis penelitian diterima. Tidak semua aktivitas pengembangan perangkat lunak cocok dilakukan dengan pair programming secara penuh. Pair programming memberikan produktivitas 55% lebih tinggi dibanding personal programming dalam lingkungan GSD. Hybrid pair programming terbukti dapat diimplementasikan dalam GSD dan mampu mengatasi kendala koordinasi, sinkronisasi jadwal, dan kesulitan teknis yang muncul dalam pair programming murni.
Keterbatasan utama penelitian ini adalah konteks akademis dengan kompleksitas proyek yang terbatas dan tidak adanya perubahan kebutuhan seperti dalam proyek industri nyata. Penelitian selanjutnya disarankan untuk menguji hybrid pair programming dalam setting industri, termasuk dalam konteks kebijakan kerja jarak jauh perusahaan.
Paper ini cocok disitasi oleh peneliti yang tengah mencari penelitian yang:
- Mengkaji efektivitas pair programming dalam lingkungan Global Software Development yang terdistribusi
- Membandingkan produktivitas personal programming, pair programming, dan pendekatan hibrid dalam pengembangan perangkat lunak
- Mencari model kolaborasi pengembang yang dapat mengatasi tantangan perbedaan zona waktu, budaya, dan keterbatasan teknis
- Mengeksplorasi pemetaan aktivitas pengembangan perangkat lunak mana yang lebih efektif dikerjakan secara personal versus berpasangan
- Meneliti implementasi Extreme Programming dalam konteks tim yang tersebar secara geografis
Judul: Hybrid Pair Programming in Global Software Development
Jurnal: International Journal of Agile Systems and Management (IJASM)
Unduh Publikasi Lengkap di: https://doi.org/10.1504/IJASM.2026.150554