Agile Software Development,

Muhammad Nurkholish
4 min readMar 22, 2021

--

Di era perkembangan teknologi yang sangat pesat sekarang ini, terutama di dunia pengembangan perangkat lunak (software) diperlukan metode pengembangan yang cocok untuk mendapatkan produk software yang sesuai dengan kebutuhan dan memudahkan timnya. Terdapat banyak metode pengembangan yang dapat digunakan dan masing-masing metode memiliki kelebihan dan kekurangan bergantung dengan kondisi besar kecilnya proyek, sumber daya manusia, dan lainnya. Pada artikel kali ini, akan dibahas salah satu metode yang cukup populer yaitu Agile Software development.

Definisi

Jika kita mencari pada google translate definisi agile, dibaca ˈajəl adalah “able to move quickly and easily” atau mampu bergerak dengan cepat dan mudah. Sesuai definisinya, agile dalam pengembangan software, metode pengembangan yang cocok untuk proyek yang masih dapat berubah-ubah atau masih dalam pembentukan.

Scrum

Dalam agile, ada banyak proses model yang mengimplementasikan agile, seperti Scrum, Dynamic Systems Development Method (DSDM), Extreme Programming (XP), dan lain-lain. Namun, dalam tulisan ini akan berfokus untuk membahas scrum karena sedang saya terapkan dalam perkuliahan, pada mata kuliah PPL. Scrum adalah sebuah framework atau kerangka kerja untuk melakukan pengembangan software yang mengimplementasikan konsep agile. Scrum memiliki artifact, roles, dan time-boxes yang membedakan dengan agile framework lainnya.

Artifact

Spesifikasi software yang akan dibuat diberi istilah product backlog item (PBI). Sebelumnya, product owner terlebih dahulu membuat user stories yang merupakan sebuah narasi dari fitur yang user perlukan. Bentuk user stories biasanya seperti ini. Nantinya, setiap PBI akan dipecah menjadi task yang lebih kecil lagi oleh Dev team untuk dikerjakan.

Roles

Di dalam scrum, terdapat 3 peran yang sangat penting, yaitu:

  1. Product owner — menyediakan spesifikasi software yang akan dibuat dalam bentuk product backlog dan mengelolanya, serta menjadi penjembatan antara tim bisnis dan tim pengembang. Di sini, product owner kelompok kami adalah Kak Darin.
  2. Scrum master — bertanggungjawab untuk memastikan proses scrum berjalan dengan baik, meningkatkan produktivitas tim, dan membantu product owner mencapai tujuannya, seperti menyusun dan memprioritaskan product backlog. Di sini, scrum master kelompok kami adalah Kak Anit.
  3. Development team — terdiri dari berbagai role, seperti developer, designer, dan tester. Bertanggungjawab untuk mengerjakan product backlog yang sebelumnya sudah ditentukan oleh product owner sehingga siap diberikan ke user. Di sini, development team nya adalah kelompok kami sendiri.

Time-boxes

Di dalam scrum, pengembangan proyek dilakukan dengan beberapa masa pengerjaan yang disebut sprint. Sebuah sprint biasanya berlangsung selama satu sampai empat pekan. Pada proyek PPL, kami menggunakan durasi 2 minggu, yang artinya pada setiap Sprint atau durasi 2 minggu tersebut, semua PBI yang kami ambil harus ter-deliver dengan baik agar bisa increment pada sprint berikutnya. Adapun aktivitas yang dilakukan selama satu sprint antara lain:

1. Sprint planning.

Pada sesi ini, product owner akan menentukan product backlog item apa saja yang perlu dikerjakan. PBI yang diambil untuk dikerjakan dalam sprint disebut Kemudian setiap PBI akan dipecah menjadi task-task yang lebih kecil. Setiap task tersebut kemudian diberikan sebuah story point yang merepresentasikan seberapa besar effort untuk mengerjakan task tersebut. Total story point ini digunakan pada akhir sprint untuk mengukur performa tim selama satu sprint dengan membandingkan total point yang diambil pada sprint planning dengan total point dari task-task yang mampu diselesaikan selama satu sprint dan selanjutnya dapat digunakan untuk pertimbangan dalam menentukan PBI atau load kerja yang akan di ambil pada sprint selanjutnya, Pada sesi ini juga dev team dapat melakukan klarifikasi kepada PO jika ada PBI atau task yang masih kurang jelas,

2. Daily standup

Daily standup dilakukan selama beberapa kali dalam satu sprint. Daily standup biasanya dilakukan selama 15 menit sampai 30 menit dan dipimpin oleh scrum master. Kami melaksanakan daily standup setiap hari senin dan hari kamis. Fungsi dari daily meeting adalah untuk menjaga komunikasi tim dan melakukan follow-up terhadap progress tim. Biasanya dalam format: Apa yang sudah dilakukan? Apa yang akan dilakukan selanjutnya/fokus hari ini? Adakah hambatan yang dialami?

3. Sprint review

Sesi ini dilakukan di akhir sprint. Pada sesi ini, setiap dev team melakukan demonstrasi terhadap fitur-fitur yang sudah dikerjakan selama satu sprint kemarin. Pada sprint review diharapkan semua fitur sudah siap untuk ditunjukkan tanpa alasan masih menunggu antrian pipeline dan sebagainya. Dalam sesi ini setiap orang juga menceritakan pertimbangan tertentu kenapa melakukan suatu hal sehingga hasilnya agak berbeda. Disini juga hadir pihak dosen(Kak Mpit) , klien kami (Hepi Circle), PO. Dosen dan juga client biasanya akan memberikan feedback terhadap produk yang sudah kami selesaikan pada sprint ini. Product owner, dosen, dan juga client nantinya yang akan menentukan apakah sebuah backlog disebut done atau tidak. Jika tidak, perbaikannya dilakukan dalam sprint selanjutnya.

4. Sprint retrospective

Sesi ini merupakan sarana bagi scrum team untuk melakukan refleksi terhadap hal-hal yang terjadi selama masa satu sprint kebelakang dan untuk meng-improve performa tim. Hal-hal tersebut tidak terbatas di sisi teknis, namun juga termasuk keserasian sebagai tim, prosedur, serta hal-hal lainnya. Jika ada hal-hal negatif, solusinya dapat dicari bersama-sama sehingga tidak terulang di sprint selanjutnya.

Kesimpulan

Agile bukan metodologi terbaik walaupun dengan fleksibilitasnya karena perlu disesuiakan dengan kondisi masing-masing proyek yang akan dikerjakan. Proyek kami menggunakan agile dikarenakan masih ada kebutuhan dari klien yang masih dapat berubah seberjalannya waktu. Sehingga cocok apabila kelompok kami menggunakan agile.

Terima kasih.

Referensi:

--

--

No responses yet