Mengenal Proses Pengembangan Software Dengan Scrum

Untuk kamu yang pernah terlibat dengan pengembangan software, entah sebagai software developer, business analyst, manager, atau bahkan klien, pernahkah mendengar istilah Scrum? Atau mungkin pernah dengar kata Agile? Jika belum pernah, sepertinya ini saatnya untuk kamu kenalan lebih dekat dengan Scrum.

Konon katanya Scrum bisa membuat proses pengembangan software menjadi lebih kolaboratif, terarah, transparan, dan juga lebih menyenangkan. Katanya juga, cara ini bisa membuat tim pengembangnya bekerja lebih efisien dan efektif dengan produktifitas yang tinggi. Kedengaran keren ya? Yuk kita simak dulu.😀

Scrum adalah sebuah proses yang agile untuk menangani produk yang kompleks. Ada dua kata kunci menarik dari definisi Scrum tersebut, yaitu proses yang agile dan produk yang kompleks. Dalam kaitannya dengan software, Scrum digunakan untuk menangani proses pengembangan software sebagai sebuah produk yang kompleks.

Software merupakan salah satu contoh dari produk kompleks. Kita bisa menemukan banyak ketidakpastian dalam pengembangan software. Pernah menghadapi requirement proyek yang suka berubah-ubah terus di tengah pengerjaan? Pernah merasa tidak familiar dengan teknologi yang digunakan dalam proyek? Atau pernah membuat fitur yang ternyata tidak sesuai dengan keinginan klien? Yup, itulah ketidakpastian dari sisi requirement maupun teknologi. Nah, Scrum sebagai proses agile berusaha menangani ketidakpastian tersebut.

Proses agile pada Scrum bersifat berulang atau iteratif (iterative) dan bertahap (incremental) untuk mengontrol ketidakpastian dan resiko pengembangan software. Proses ini membagi waktu pengembangan secara keseluruhan menjadi potongan waktu yang lebih kecil. Potongan waktu ini disebut sprint dan lama untuk satu sprint pada umumnya 2 minggu atau paling lama 4 minggu.

Mmm, jadi apa saja kegiatan yang dilakukan selama sprint berlangsung?

Sebuah sprint dimulai dengan perencanaan pengembangan software selama satu sprint ke depan. Setiap harinya, tim pengembang akan berbagi informasi dan memantau kemajuan software yang mereka buat. Penyesuaian yang diperlukan pun dilakukan saat menemui masalah. Di akhir sprint, tim pengembang mendemokan penambahan fitur pada software yang mereka buat selama satu sprint ke klien. Usulan perbaikan atau perubahan yang didapatkan di akhir sprint ini akan menjadi masukan untuk sprint berikutnya. Proses ini berulang-ulang terus sehingga didapatkan peningkatan software yang bertahap dari waktu ke waktu. Dengan proses yang iteratif dan bertahap ini, software selalu diperiksa dalam waktu yang relatif singkat dan berulang kali. Hal ini akan meminimalisasi kesalahan pembuatan software yang sebenarnya tidak sesuai dengan kebutuhan dan keinginan dari klien. Selain itu, perubahan-perubahan di tengah pengerjaan dapat disesuaikan dengan cepat sesuai batasan-batasan yang ada. Akhirnya, kita mendapatkan kemungkinan sukses yang lebih besar dalam pengembangan software.

Sebagai sebuah proses, Scrum tidak dapat dipisahkan dari yang namanya Agile. Kata sifat Agile ini yang berarti cekatan, cepat, dan tangkas tersemat pada proses Scrum. Itulah mengapa kita mengatakan Scrum sebagai proses yang agile. Dalam pengembangan software, prinsip dan nilai agile pada Scrum mengacu pada Agile Manifesto. Agile Manifesto menekankan pengembangan software dalam empat aspek, yaitu:

  • individu dan interaksinya lebih bernilai dari proses dan sarana software,
  • software yang bekerja lebih bernilai dari dokumentasi yang komprehensif,
  • kolaborasi dengan klien lebih bernilai dari negosiasi kontrak,
  • dan tanggap terhadap perubahan lebih bernilai dari mengikuti rencana di awal.

Jika proses pengembangan software yang kita lakukan sudah sesuai dengan Agile Manifesto, kemungkinan besar software yang dihasilkan berkualitas dan bernilai tinggi. Situs resmi Agile Manifesto dapat diakses di http://www.agilemanifesto.org/.

Demikian sedikit perkenalan mengenai proses Scrum. Meski terlihat sederhana, menerapkan Scrum dengan sifat agile-nya di organisasi dan proyek pengembangan software kita masing-masing adalah hal yang menantang. Perlu pembelajaran lebih banyak lagi untuk mendapatkan pemahaman yang lebih baik. Mudah-mudahan di tulisan-tulisan saya selanjutnya, saya bisa berbagi pengalaman saya tentang penerapan Scrum di Badr Interactive. Mari sama-sama tetap belajar.😀

2 thoughts on “Mengenal Proses Pengembangan Software Dengan Scrum

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s