"Masalah muncul lagi, bagaimana ini bisa terjadi?", percakapan itu di mulai.
"Bagaimana kami tahu? Kami tidak cukup akses untuk tahu apa yang terjadi di environment production. Kami sudah melakukan performance test before dan after di environment development. Terbukti ada signifikan improvement. Kenapa tidak terjadi di production, kami tidak cukup informasi".
"Apakah sudah dilakukan leveling antara development dan production?", tanyanya.
"Sudah. Environment development lebih rendah spesifikasinya. Ketika dideploy di production minimal akan mendapatkan hasil yang sama, bahkan harusnya lebih baik", jawab kami.
"Apakah versi yang dipromote ke production benar? Sesuai dengan yang kalian test?", tanyanya.
Lantas jantung merasa berdebar kencang, mendapatkan sanggahan yang mendasar tentang bagaimana harusnya developer bekerja.
"Apa yang kamu maksud dengan versinya beda!?", saya berdiri, menggebrak meja, dan tertawa menahan marah.
"Kadang kita harus menanyakan semuanya. Beda versioning itu hal yang sering terjadi", jawabnya.
"Developer saya bukan developer yang suka membuat kesalahan. Kemampuan mendasar tentang versioning sudah menjadi validasi awal yang tidak akan terjadi. Versioning menjadi concern saya dan sudah menjadi kebiasaan developer kami untuk memastikan hal tersebut tidak terjadi. Saya menaruhkan jabatan saya di sini, saya akan resign jika memang hal tersebut terjadi", jawab saya bersungut-sungut.
"Tidak usah seperti itu. Ini pertanyaan biasa. Tapi saya akui, saya akan mengingat hari ini bahwa kamu sudah berani menggebrak meja", jawabnya sambil tertawa kecil.
Cuplikan singkat suasana panas dalam sebuah ruangan tersebut. Motivasi saya pada saat melakukan itu semua adalah bahwa moral developer harus diangkat. Kita tahu bahwa itu tidak benar, pertanyaan sangat menyudutkan kesalahan tanpa ada proofing atau reasoning yang tepat. Dalam hal ini, effort yang dilakukan oleh tim sudah sedemikian banyak, sudah sedemikian terstruktur dan diantisipasi. Namun hanya karena diskusi dengan orang yang sangat berpengalaman baik teknis maupun manage project skala besar, bukan berarti tataran atau level kita tidak sama. Kita perlu menghargai setiap orang, terlebih ketika orang tersebut sudah sangat extra miles atas pekerjaan yang dia lakukan.
Walaupun pendekatan yang saya lakukan pun bukan tentu benar, saya pun tidak berpikir secara menyeluruh atas konsekuensi omongan saya. Namun di tahap itu, saya berpikir, tidak ada poinnya lagi toh saya melanjutkan role saya ini jika environment-nya sudah tidak mendukung seperti itu. Tim perlu mendapatkan motivasi, walaupun kita tahu tim pada saat itu memang sangat meraba-raba problemnya. Terlebih memang development environment berbeda dengan production environment.
Pendekatan yang benar harusnya saya persilahkan developer untuk verifikasi versioning dan hal tersebut bisa dilakukan dengan mudah melakukan perbandingan object ke object. sistem belum ada tools CI/CD saat seperti ini, sehinga kesalahan versi itu hal yang mungkin terjadi. Namun saya tidak melakukan itu, saya berpikir itu pertanyaan konyol, sehingga cukup dijawab dengan konyol juga.
Saya tidak bisa berkontribusi banyak untuk problem solvingnya, karena sangatlah teknis. Melindungi moral tim untuk stay motivated, itulah yang terpikir pada saat itu.
Masalah pada cerita di atas pada akhirnya solve. Ditemukan oleh tim lain bahwa spesifikasi teknis environment development ternyata walau lebih kecil jumlahnya namun kualitasnya lebih bagus daripada production. Akhirnya production environment diupgrade dengan spesifikasi yang seharusnya, dan permasalahan tersebut tidak muncul lagi. Setidaknya dalam waktu beberapa saat :)
No comments:
Post a Comment