Unsupported Screen Size: The viewport size is too small for the theme to render properly.

Mencari Teknik Pengembangan “Agile” Terbaik dengan Scrum agar menjadi Agile

Membuat perubahan. Membawa dampak.

Mencari Teknik Pengembangan “Agile” Terbaik dengan Scrum agar menjadi Agile

“Agile” sangat erat kaitannya dengan pengembangan perangkat lunak (Agile Software Development), meskipun saat ini ramai dibicarakan di luar pengembangan perangkat lunak juga. Berbicara definisi “Agile”, saat ini banyak orang mendefinisikan berdasarkan versinya masing-masing. Namun ketika merujuk kepada Agile Manifesto, Agile bisa dibilang sekumpulan nilai dan prinsip yang diterapkan ketika mengembangkan perangkat lunak.
Kali ini saya berbagi sedikit pengalaman (karna pengalaman saya memang masih sedikit :D) dalam mengembangkan perangkat lunak dengan mengadopsi Scrum dan metodologi. Loh bukannya Scrum itu metodologi ya? Ya bukan, silahkan baca definisinya di sini.
Kurang lebih setahun yang lalu, saya bersama tim mengembangkan sebuah produk perangkat lunak dari nol hingga saat ini pengembangan masih berlanjut dan produk terus disempurnakan untuk bisa memenuhi kebutuhan konsumen. Produk yang dikembangkan tersebut sebenarnya bukanlah produk yang benar-benar baru, tetapi produk yang dikembangkan untuk menyempurnakan produk sebelumnya yang sudah berjalan kurang lebih 10 tahun dan sudah ada ribuan organisasi sebagai pelanggannya. Penyempurnaan yang diharapkan dari pemilik produk saat itu meliputi teknologi, keamanan dan keindahan tampilan antar-muka. Namun saya melihat sisi lain yang justru paling wajib dibenahi dahulu yaitu “Proses Pengembangan Perangkat Lunak” yang berjalan. Membangun produk dengan mindset proyek adalah hal yang mengganjal bagi saya begitupun bagi rekan-rekan pengembang itu sendiri (Baca juga: Manajemen Proyek dalam Sudut Pandang Scrum). Akhirnya semua orang bahkan seluruh elemen organisasi sepakat untuk meninjau ulang visi dan misi serta belajar (kembali) kenapa harus mengembangkan produk yang berkualitas dan bagaimana mengembangkan produk berkualitas tersebut.
Disini kesempatan bagi saya untuk mengenalkan Agile Software Development dengan Scrum di lingkungan kerja. Lalu manajemen merespon sangat positif dan yang terpenting ada harapan baru untuk para pengembang perangkat lunak agar mereka difasilitasi dalam berkreasi dan mengembangkan kemampuan mereka lebih baik dibandingkan dengan cara lama. Akhirnya Scrum Team dibentuk lalu Sprint-1 dimulai. Namun tidak semata-mata langsung Adopsi Scrum sepenuhnya, tapi bertahap, sebagaimana pilar dasar dalam Scrum : transparansi-inspeksi-adaptasi.
Seiring berjalannya waktu dalam mengadopsi Scrum. Tim Pengembang menjadi banyak belajar bahkan sebenarnya mengimplementasikan praktik dan teknik lain dalam pengembangan produk, seperti : Lean Startup, Test-Driven Development (TDD & ATDD), Spotify Model, Devops. Ini dilakukan secara alami dan muncul dari tim itu sendiri, karena Scrum memfasilitasi tim untuk terus belajar (Continuous Learning & Improvement). Bahkan beberapa orang sebenarnya tidak sadar kalau mereka banyak menerapkan metodologi di proses pengembangan produk tersebut. Ya mereka kenalnya hanya Scrum karna itu yang saya kenalkan di awal.