Kita Agile sih, tapi ya gitu deh

Obral-obral kata Agile biar keliatan keren.

Belakangan kata Agile mulai sering dipakai oleh banyak kalangan. Mulai dari ibu-ibu di pasar, supir ojek sampai CIO yang baru baca artikel dari website CIO.com. Obrolan mengenai Agile kian marak di setiap sudut kota mulai dari pasar-pasar sampai lapangan golf. Pokoknya Agile lagi ngetren deh. Kalau lu ga pake kata Agile, ga gaul lu. Banyak perusahaan yang jadi sama seperti anak ABG yang ikut-ikutan gaya temannya supaya tidak ketinggalan tren.

I invented Extreme Programming to make the world safe for programmers.
 — Kent Beck

Industri software development di Indonesia mengalami kemajuan dengan adanya gerakan seperti Scrum Day Bandung dan SARCCOM yang menekankan professionalisme dalam software development. Tapi ya gitu deh. Belakangan ini menjadi mundur ke belakang lagi karena ada kalangan yang menahan pergerakan itu dengan membingungkan masyarakat dan memasukkan definisi dia sendiri mengenai Agile yang tidak sejalan dengan Agile values & principles. Kata Agile sekarang ini mengalami difusi semantik dan sering kali di-abuse untuk tujuan yang salah oleh kalangan tertentu. Dengan pemahaman yang terbatas, orang-orang menginterpretasikan Agile untuk keuntungan sepihak. Dan ujung-ujungnya yang lagi-lagi merana adalah software developer. Ya naseeb ya naseeb.

Baru pake JIRA sudah bisa ngaku Agile.
agile (adj) : able to move quickly and easily

Semua perusahaan mengaku kalau perusahaannya sudah Agile, walaupun apa yang mereka maksud dengan Agile juga tidak jelas. Bahkan terkadang bukan hanya definisi Agile mereka tidak sesuai dengan Agile values and principles, definisi tersebut tidak sesuai kamus Bahasa Inggris. Setiap orang memiliki definisinya sendiri-sendiri mengenai apa itu Agile karena tidak ada definisi konkrit mengenai Agile dan sering kali hal ini hanya membuat semakin banyak kostumer, software developer dan pimpinan perusahaan semakin bingung dengan Agile. Di satu sisi kebingungan tersebut menjadi lahan subur bagi sebagian pihak yang ingin memasukkan doktrin Agile mereka sendiri.

1. Kita Agile sih, tetapi scope dan time masih fixed

Cheetah in a cage

Agile dalam fixed scope dan fixed deadline …. coba pikirkan sejenak. Cheetah seringkali dipakai untuk menggambarkan Agile. Agile dalam fixed scope dan fixed deadline seperti Cheetah yang berada dalam kerangkeng! Kalau fixed scope dan fixed time adalah Agile, lalu apa yang membedakannya dengan Waterfall? Kalau fixed mindset kita anggap Agile, mungkin ada yang salah dengan cara kita menerjemahkan Agile dari kamus. Can something that is fixed become Agile, move with flexibility? Agile with fixed scope and fixed deadline doesn’t make any sense. It can not be Agile. It’s mini-waterfall! Stop fooling people. Dan apa konsekuensi dari mini-waterfall? Developer lembur hingga mata berdarah. Kualitas software semakin buruk. Kalau definisi Agile adalah mini-waterfall dan itu lebih parah daripada metode kerja lama, mungkin lebih baik kita menggunakan large-waterfall saja daripada meng-abuse software developer dan tetap menamakannya Agile.

2. Kita Agile sih, tetapi software developer masih di-assign pekerjaan

You don’t manage people, you manage things. You lead people.
 — Grace Hopper

Banyak perusahaan yang mengaku Agile tapi software developer masih di-assign pekerjaan. Agile diterjemahkan sebagai micro-management software developer. Coba pikirkan … bisakah seseorang yang di-micro-manage menjadi Agile? Software developer yang dewasa untuk self-organise mengambil pekerjaan sendiri dianggap sebagai sebuah utopia oleh karena itu software developer masih harus di-assign pekerjaan. Atau singkatnya perusahaan males untuk meng-coaching software developer dan merekrut coach. Coaching dianggap lama dan mahal, apalagi dengan konsekuensi turnover software developer tinggi, menyuapi software developer dianggap lebih cepat dan praktis. Kalau Agile hanya sekedar diterjemahkan “cepet” dan kita males untuk investasi ke coaching dan masih menganggap software developer sebagai pribadi yang bodoh dan tidak cukup dewasa untuk self-organise mengambil pekerjaan sendiri lebih baik kita tetap menggunakan metode lama saja. Ya karena kalau dipikir apa gunanya menggunakan label baru dengan perilaku lama? Supaya dapat pengakuan dari publik?

3. Kita Agile sih, tetapi change request terjadi setiap hari

Kata Agile sering disalah-artikan sebagai “boleh berubah-ubah …. seenak udelnya”. Kostumer dengan pemahaman terbatas ini menerjemahkan Agile seperti ini hanya untuk keuntungan ia sepihak: “saya tidak tahu apa yang saya mau, saya mau berubah-rubah requirement, tapi nilai proyek harus tetap sama” tetapi merugikan software developer. Software developer jadi lembur tidak karuan. Dan pihak vendor akan menerjemahkan Agile sebagai proyek yang kagak karuan kapan selesainya, proyek yang tidak memiliki visi jelas dan hanya akan membawa kerugian finansial. Pantas saja banyak vendor yang defensif tidak percaya dengan Agile.

Cynefin Framework

Dave Snowden mengklasifikasikan masalah ke 5 tipe: simple, complicated, complex, chaotic dan disordered. Permasalahan chaos adalah permasalahan yang tidak memiliki kepastian sama sekali. Proyek yang berubah-ubah tanpa visi yang jelas bukan Agile, tapi chaos. Proyek chaos seharusnya dihindari, bukan dijadikan alasan sebagai pembenaran kalau perusahaan Agile. Ini pembodohan. Kalau memang pengertian Agile adalah berubah-ubah tidak karuan dengan nilai kontrak tetap, maka sebenarnya software development di Indonesia telah mengalami kemunduran. Stop menyebut proyek chaos sebagai Agile. Stop menggunakan kata Agile sebagai justifikasi dari tidak adanya visi yang solid mengenai produk dari sisi bisnis.

4. Kita Agile sih, tetapi kita tidak menulis test automation

Agile sering secara dangkal diartikan “asal cepet selesai”. Pemahaman dangkal ini sering diartikan Agile artinya software developer tidak perlu peduli dengan kualitas yang penting cepet selesai. Pantas saja banyak pimpinan perusahaan dan kostumer yang tidak percaya dengan Agile karena kualitas softwarenya lebih buruk. Pantas saja banyak click tester yang benci dengan Agile karena mereka jadi lebih banyak mengerjakan regression test.

Dengan semakin banyak regression test yang harus dilakukan oleh click tester akibat fitur yang berubah apakah perusahaan tetap bisa Agile dalam jangka panjang? Kalau menulis test automation dianggap mahal, lama dan membuang waktu, bayangkan betapa mahalnya tidak memiliki test automation dan peran test engineer. Tim yang tidak menulis test automation akan menghasilkan technical debt dan ini bersifat seperti bom waktu dalam jangka panjang. Kalau Agile artinya adalah cowboy coding yang tidak peduli dengan automation, mungkin kita lebih baik menggunakan tetap menggunakan metode lama saja daripada membodohi kostumer dan pimpinan perusahaan dengan penyalah-gunaan kata Agile.

Kalau Agile artinya sekedar “asal cepet” maka akan semakin banyak software developer dan click tester yang semakin membenci profesi software development karena “cepet” bisa diartikan menjadi “pecut”, “lembur” dan “pangkas kualitas”. Kalau ternyata menjadi Agile tidak menghasilkan produk yang lebih berkualitas tinggi mungkin kita tetap menggunakan Waterfall saja.

5. Kita Agile sih, tetapi keputusan bos selalu benar

Everyone who got promoted in my company have said NO to me more than once. 
— Ryu Kawano Suliawan

Banyak perusahaan yang mau Agile tetapi pimpinan perusahaan tersebut dan manajernya tidak mau melepaskan otoritasnya dan meng-empower tim untuk membuat keputusan. Mereka mau “cepet” tetapi tidak suka dengan ide bottom-up collective intelligence. Kalau Agile berarti si bos selalu benar dan nuansa kerjanya otoriter seperti jaman NAZI lalu apa yang membedakan Agile dengan metode lama? Kalau Agile artinya “Asal Bapak Senang” kenapa kita perlu mengenalkan terminologi baru ke ekosistem software development? Berarti sebenarnya tidak ada revolusi berpikir yang ditawarkan Agile. Coba pikirkan baik-baik pembodohan sepihak ini. Kalau Agile artinya software developer hanya harus diam dan tidak boleh men-challenge keputusan pimpinan perusahaan, lalu apa bedanya Agile dengan model kerja tradisional yang political power driven? Kalau Agile masih menggunakan model top-down yang tidak menekankan kolaborasi dan collective intelligence lebih baik kita tetap mengaku kita menggunakan metode lama yang tidak menekankan collective intelligence saja daripada membodohi sofware software developer.


Goal utamanya bukanlah untuk mengadopsi terminologi Agile supaya kelihatan keren dan tidak kudet, goal utamanya adalah supaya software developer dapat menjadi individual terbaik sesuai kodratnya sebagai manusia agar dapat menghantarkan software berkualitas tinggi agar kostumer mendapatkan manfaat maksimal dari software tersebut. Ada perubahan cara berpikir dan perilaku ketika sebuah perusahaan dikatakan Agile. Kalau tidak ada perubahan cara berpikir dan perilaku maka perusahaan tersebut tidak Agile. Merubah bungkus dengan label-label Agile tanpa merubah isi tidak membuat perusahaan menjadi Agile. Ini adalah pembodohan publik.

Semoga lewat tulisan ini software developer tidak lagi dibodohi oleh perusahaan yang “kita Agile, tapi ya gitu deh”. Mungkin kita perlu berhenti menggunakan Agile bila kata Agile hanya digunakan untuk menyengsarakan software developer. Mungkin kita lebih baik fokus menjadikan software development menjadi baik untuk semua daripada menyalah-gunakan Agile yang hanya akan merugikan banyak pihak. Komunitas software development Indonesia perlu melipat-gandakan kekompakan dan keberisikannya untuk merubah ekosistem software development yang rusak gara-gara Agile.


Suka membaca artikel ini? Apakah kamu merasa di tempat kerjamu Agile sudah di-abuse oleh beberapa pihak? Jangan lupa untuk menekan tombol 👏🏻 di bawah sebanyak mungkin. Kita hanya perlu sedikit lebih kompak dan lebih berisik dalam menyuarakan isi hati dan pikiran kita untuk dapat melihat perubahan di ekosistem software development Indonesia. Artikel ini adalah sekelumit pemikiran saya untuk buku saya yang kedua.


Belum membaca buku Scrum saya yang pertama? Dapatkan Buku Manajemen Modern dengan Scrum di toko buku terdekat untuk mendapatkan gambaran lebih menyeluruh mengenai Scrum.