Skip to main content

XP | Pair Programming di Mata Dummy

Tak terasa 2018 sudah memasuki hari ke-2, resolusi tahun lalu nampaknya masih belum bisa terpenuhi karena hanya sebatas tertulis di ingatan, yang alangkah lebih baik jika di tulis secara visual.

Tapi kali ini saya tidak akan membahas mengenai resolusi tahun 2018.
Di posting kali ini saya ingin berbagi pengalaman saya menjalankan Pair Programming selama lebih kurang 7 bulan di perusahaan tempat saya bekerja sekarang.
Saya sudah mengetahui Pair Programming ini saat masih di perusahaan lama, namun di perusahaan baru inilah saya langsung mengalaminya sendiri. Jika diterjemahkan secara praktek, Pair Programming adalah dua orang programmer bekerja secara bersamaan dengan 1 workspace saja (1 komputer, 2 programmer, 2 mouse dan 2 keyboard ^_^). Bersamaan di sini bukan berarti 2 programmer tersebut "mengetik kode secara bersamaan", melainkan mereka bekerja sama dalam menyelesaikan suatu story. Secara istilah 2 programmer tersebut dibagi menjadi dua role
  • Driver, programmer yang bertugas mengetik kode, dan
  • Navigator/Observer, yang bertugas melakukan review dari kode yang ditulis oleh driver
Role ini bisa ditukar kapanpun, sesuai kesepakatan/kemauan pair (*pasangan).

Berdasarkan pengalaman saya, keuntungan yang didapatkan dengan menerapkan pair programming adalah sebagai berikut :
  1. Tidak perlu ada code review, karena dalam pair bisa saling melakukan review. Akan tetapi jika ada story yang berkaitan dengan banyak pair, atau issue yang cukup kompleks, code review oleh tim besar masih tetap dijalankan.

  2. Melatih komunikasi, khususnya bagi pribadi yang kurang banyak bicara dan introvert seperti saya, menjalankan pair programming = memiliki partner komunikasi setiap bekerja.

  3. Tidak perlu ada training, karena kita bisa langsung terjun dalam pekerjaan dan belajar sambil jalan dari pair kita.

  4. Belajar banyak dari pair.
    Pernah suatu waktu dalam sesi 1 on 1 dengan VP of Engineering, saya ditanya sudah "diajari" apa saja selama 3 bulan masa percobaan dengan pair. Saya jawab dengan datar saya belum diajari apa-apa. Tapi dalam 1 on 1 tersebut saya diberitahu bahwa "pairing adalah teaching", dan memang betul. Karena jika dicermati, sebenarnya secara tidak langsung kita diajari oleh pair kita, mulai dari cara berpikir, problem solving, best practices, bahkan sampai urusan rumah tangga dan anak (*hehe, maklum pair-pair saya mayoritas sudah berkeluarga).

    Satu kalimat yang paling saya ingat dalam sesi 1 on 1 tersebut adalah, "Being a good pair is a journey". Ya, menjadi pair yang baik membutuhkan waktu dan usaha, bukan hanya dalam pekerjaan tapi juga dengan "halal pair" nantinya. *Single lagi ngode keras, haha
Untuk saat ini, beberapa hal di atas adalah manfaat yang sangat saya rasakan selama menjalankan pair programming. Apakah teman-teman mau mencoba mempraktekkannya? Cobain deh


Mungkin jika teman-teman ada pendapat lain, saya tunggu di comment ya :)

Terima kasih

Comments

Popular posts from this blog

Java | Menambahkan Dialog Konfirmasi Sebelum Keluar dari Aplikasi

Kali ini saya ingin berbagi cara sederhana untuk menampilkan dialog konfirmasi sebelum keluar dari aplikasi. Dengan syarat aplikasi yang kita buat harus menggunakan JFrame sebagai frame utama. Langkah-langkah yang harus kita lakukan adalah sebagai berikut: 1. Ganti property default close operation dari JFrame menjadi DO_NOTHING_ON_CLOSE, value ini dimaksudkan agar ketika button close dari JFrame diklik tidak akan terjadi apa-apa. Sebaliknya jika valuenya adalah EXIT_ON_CLOSE, maka ketika button close dari JFrame diklik maka program akan tertutup. setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); 2. Yang kedua adalah kita harus menambahkan WindowListener pada JFrame. Interface WindowListener memiliki beberapa method terkait event terhadap window (yakni JFrame), namun yang harus kita override hanyalah method windowClosing, method ini akan dipanggil ketika button close diklik.   Sebagai informasi, apabila kita menambahkan WindowListener secara langsung maka semua method dari i

PostgreSQL | Membuat Nomor Urut dengan Window Function ROW_NUMBER()

Pengguna Oracle Database mungkin sudah sangat familiar dengan clausa ROWNUM. Bagi yang belum tahu apa itu ROWNUM,  ROWNUM  adalah  pseudo column  (kolom bayangan) yang berisi nomor urut dari hasil eksekusi query. Sayangnya fitur ini belum tersedia pada PostgreSQL . Namun ada kabar gembira bagi kita pengguna  PostgreSQL , dimana sejak versi 8.4, PostgreSQL telah menyediakan 1 window function  yang mengakomodasi masalah ROWNUM, yakni ROW_NUMBER() . Sesuai dengan dokumentasi yang disediakan, cara menggunakan fungsi ini adalah dengan menggabungkannya dengan clausa OVER  yang didalamnya berisi clausa ORDER BY . Supaya lebih jelas dan lebih mudah dipahami, lebih baik langsung kita praktekkan saja. Saya membuat sebuah table dengan struktur sebagai berikut CREATE TABLE name ( code CHAR(1) ); yang kemudian saya isi kolom code dengan alfabet mulai dari a s/d z  dan angka 0 (nol). Sebelumnya kita lakukan query ke table name tanpa clausa ORDER BY : SELECT code FROM name; Outputny

PostgreSQL | Ekspresi Kondisional CASE Pada Query

Salah satu fitur yang saya sukai dari PostgreSQL adalah dapat digunakannya ekspresi kondisional pada query. PostgreSQL menyediakan ekpresi CASE yang memiliki fungsi yang sama dengan statemen IF/ELSE pada bahasa pemrograman. Berikut adalah bentuk dari ekspresi CASE pada PostgreSQL CASE WHEN condition THEN result      [WHEN ...]      [ELSE result] END Untuk melihat bagaimana cara menggunakan ekspresi CASE, saya memiliki sebuah tabel number dengan sebuah kolom nomor yang memuat data bertipe integer. SELECT nomor FROM number ORDER BY nomor;  nomor -------      1      3     32     37     38     97 (6 rows) Sekarang mari kita gunakan ekspresi CASE untuk menentukan apakah nomor tersebut merupakan bilangan ganjil atau genap. SELECT nomor, (CASE WHEN nomor % 2 = 0 THEN 'Bilangan Genap' ELSE 'Bilangan Ganjil' END) AS status FROM number ORDER BY nomor; dan hasilnya adalah sebagai berikut:  nomor |     status     -------+-----------------      1 | Bilangan