Eh katanya di Perusahaan itu udah ga ada QA nya loh!
Apakah QA ga dibutuhkan lagi? Apakah ini bikin masa depan QA jadi suram?
Berawal dari membaca sebuah cuitan twitter di bawah ini, kemudian saya jadi memikirkan bagaimana peran QA pada tim.
Dilanjutkan membaca utas tersebut, banyak yang menimpali di berbagai perusahaan besar pun sudah tidak ada lagi jabatan QA (quality assurance), ada yang sesumbar dengan tanpa QA mereka sudah menghemat anggaran, ada pun yang bilang bahwa, tidak memiliki QA adalah sebuah pertanda kecakapan teknis pada Development tim. Lagian ngapain mesti di test sih, disaat kamu bisa kasih customer test langung!
Apa benar begitu?
Mungkin saja benar adanya, karena itu adalah kebenaran yang relatif dan subjektif, bukanlah sebuah hal yang konkrit.
Karena sesungguhnya saya pun mengakui, QA adalah jabatan yang tidak esensial, seperti halnya PM atau designer. Client bisa saja langsung menyampaikan kebutuhannya langsung kepada programmer (sendiri).
Namun dengan berkembangnya aplikasi dan meningkatnya kompleksitas pengerjaan maka diperlukan kerja sama tim delivery (product+engineer) yang menurut saya sangat mirip dengan tim sepak bola, mari saya analogikan, ada tim yang ga punya penyerang murni (false 9), ada tim yang ga punya sosok playmaker, ada tim yang bek sayapnya jadi gelandang serang, ada banyak cara bermain baru di sepak bola modern ini.
Pada musim 2008/09 tim Barcelona begitu adidaya dilapangan dengan permainan Tiki-taka mereka bisa memainkan “Sepak bola indah” dengan umpan pendek kaki ke kaki, dengan konsisten mereka selalu mencetak kemenangan.
Semua orang demam tiki-taka, banyak tim terinspirasi dan coba menerapkan permainan tiki-taka, namun tak semuanya berhasil, karena mereka tidak memiliki kapasitas pemain mumpuni seperti Barcelona, kualitas pemain yang dimiliki tim tidak bisa menyamai Messi, Iniesta, ataupun Xavi, pun mereka telah melalui proses latihan panjang sebelumnya.
Begitupun dengan tim delivery tadi, bukan tidak mungkin kita bisa memiliki tim tanpa QA, tapi pastikan segala persiapan sudah dimiliki dengan baik, seperti (menurut saya):
memiliki proses development yang bertanggung jawab, menjalankan secara religius TDD
mekanisme feedback loop yang pendek
monitoring & alerting dari production env
dan lain sebagainya, sehingga peran dari sosok QA sudah tergantikan.
Terlebih, siapa pula yang bisa manjadi penjamin kualitas lebih baik selain si orang yang membuatnya, QA (quality assurance) hampir tidak bisa memiliki kuasa untuk merubah schedule, budget, scope, development style, dan lain-lain.
Bisa jadi juga mereka belum pernah bertemu seorang Tester Handal, sehingga menurut mereka QA tidak lagi diperlukan, memang sering sekali saya melihat QA adalah seorang programmer tanggung, atau project manager wannabe. Kita (QA/Software Tester) haruslah menjadi Investigator handal, seperti sosok detektif!
Tugas Software Tester adalah mencari informasi berharga dan akurat mengenai perkembangan dari pengerjaan fitur/project, kita tak boleh sombong mengemban tanggung jawab kualitas seluruhnya, ataupun menjadi tukang cap pass/failed, tugas kita justru membantu tim untuk bisa bertanggung jawab mengerjakan fitur/project yang berkualitas baik dan memuaskan.
Bagaimana cara kita membantu tim?
Dengan cara mendengar kebutuhan mereka, coba kamu tanyakan hal apa saja yang mereka harapkan dari kamu.
Saya coba kasih contoh dari pengalaman saya, yang dibutuhkan dari seorang QA adalah informasi:
sebagai seorang programmer, mereka ingin tahu apakah ditemukan masalah dari perubahan kode, bagaimana cara QA menemukannya, apakah ada dampak di modul lain agar programmer bisa memperbaiki dan lebih waspada lagi kedepannya.
Kemudian sebagai seorang PM, mereka ingin tahu bagaimana hasil observasi/evaluasi dari QA atas product/fiturnya, apakah hasil akhir sesuai dengan ekspektasi awal, adakah perubahan yang tidak direncanakan, apakah ada dampak buruk/baik dari fitur baru, bagaimana jika dibandingkan dengan produk lain di market
dan lain sebagainya.
Kita ini bagaikan indra tambahan pada tim, keunikan dan ke-sensitif-an kita diharapkan bisa melihat sudut pandang baru, merasakan hal yang sering kali luput dari orang lain (development tim), namun kita pun bisa saja salah, jadi kitapun harus terus skeptis akan apa yang menjadi opini kita sendiri. Layaknya instrumen alat ukur yang perlu dikalibrasi, kita pun harus bisa mengevaluasi hasil kerja kita, minta feedback dari tim secara rutin.
Jangan lupakan eksplorasi, investigasi, dan pahami produk dan proses bisnisnya, dan coba juga aplikasi kompetitor biar tidak seperti katak dalam tempurung. Kemudian buatlah report seakurat mungkin dan sampaikan dengan baik pada tim, jangan salah duga loh, QA ga hanya bisa melaporkan temuan bugs, kita pun bisa membagikan hasil observasi dan analisa produk. Dengan begitu peran QA akan jauh dari kata checking acceptance criteria, sosok QA ga akan bisa digantikan oleh mesin (automated test) yang tidak memiliki nalar diluar assertion yang ditentukan.
Jadi
Saya yakin tim engineering masih butuh sekali QA yang handal, yang bisa ikut gotong royong memberikan fitur yang dibutuhkan pengguna melebihi harapan mereka. Selama kita bisa memberikan yang terbaik untuk tim, selama itu pula kita, Software Tester masih akan dibutuhkan oleh tim.