Metode Pengembangan Perangkat Lunak “Scrum”

Tentu kalian tidak asing dengan software bukan? Semua aplikasi yang sering kalian gunakan itu semua adalah software. Tapi pertanyaannya adalah, bagaimana cara membuat software tersebut? Apa semudah itu membuat software?

Ternyata membuat software tidak semudah yang kita kira, banyak sekali metode-metode yang mesti kita ikuti supaya software tersebut memiliki standar yang baik. Salah satu yang akan saya bahas yaitu metode pengembangan perangkat lunak “Scrum”.

Apa Itu Scrum?

Scrum secara garis besar dapat di artikan sebagai berikut

Scrum building block disebut SprintSprint adalah sebuah kotak-waktu (yang biasanya mempunyai durasi 1 hingga 4 minggu) dimana tim pengembang fokus dalam mencapai target yang jelas. Setiap Sprint selalu berakhir dengan diikuti Sprint Review, dimana hasil yang sudah dibuat dipresentasikan dan didemontrasikan didalam sebuah rapat tim.

Istilah-istilah dalam Scrum

Product Backlog

Pemilik Proyek menyusun dan mengumpulkan semua permintaan dan kebutuhan sistem, misalnya fitur-fitur yang dibutuhkan dan-atau kebutuhan non-fungsional sistem. Setelah tujuannya sudah ditetapkan, semua permintaan dan kebutuhan tersebut dibagi-bagi menjadi bagian-bagian kecil yang mana setiap bagian kecil tersebut harus mempunyai nilai dan layak untuk dikembangkan.

Pemilik Proyek juga menentukan skala prioritas dalam pengerjaan bagian-bagian kecil tersebut. Bagaimana dan seperti apa bagian-bagian kecil tersebut diimplementasikan dan di-deliver?
Pertanyaan tersebut akan menghasilkan sebuah to-do-list berdasarkan kebutuhan pasar dan kebutuhan pelanggan yang selalu berubah seiring dengan berjalannya waktu.

Backlog Refinement

Backlog harus di-maintain dengan baik dan tepat oleh Tim Scrum untuk dilakukan perencanaan, sehingga Sprint dapat berjalan dengan lancar. Hal-hal yang harus dilakukan dalam me-maintain backlog antara lain adalah melakukan proses estimasi dan breakdown kebutuhan, Hal tersebut dilakukan agar kondisi Sprint (1-4 minggu) terpenuhi.

Oleh karena itu, sangat membantu apabila tim mengalokasikan waktu khusus setiap minggu untuk melakukan Penghalusan Backlog (Backlog Refinement), dan disaat yang sama juga melakukan perencanaan.

Sprint

Sprint adalah kotak-waktu yang berisi periode kerja dimana pada sprint fokus terhadap delivery produk berdasarkan item-item yang dipilih dari Product Backlog

Didalam Sprint selalu ditetapkan waktu pekerjaan secara konsisten dan Sprint yang baru dimulai sesegera mungkin setelah sprint yang ada telah selesai dikerjakan.

Daily Scrum

Setiap hari, Tim Scruam harus melakukan pertemuan (rapat) selama maksimal 15 menit. Hal ini dilakukan dengan tujuan untuk mensinkronkan progres, mengidentifikasi masalah dan menyelesaikan masalah yang ada dalam mengerjakan pekerjaannya.

Pertanyaan yang biasa ditanyakan adalah :

  • Apa yang anda lakukan sejak pertemuan terakhir ?
  • Apa rencana yang anda lakukan sampai pertemuan berikutnya ?
  • Apa ada suatu masalah yang membuat anda tidak dapat mengerjakan pekerjaan yang telah direncanakan sebelumnya ?

Sprint Review

Setiap Sprint selalu berakhir dengan mendemontrasikan dan mempresentasikan fitur-fitur yang telah dikerjakan. Hal tersebut dilakukan untuk memastikan bahwa fitur-fitur tersebut dapat bekerja dengan baik.

Sebaiknya Sprint review dilakukan dalam team yang kecil, sebelum produk tersebut didemontrasikan dan dipresentasikan pada team yang besar (Pemilik Produk, pelanggan dan manajemen perusahaan).

Sprint Retrspective

Didalam Sprint Retrspective, Tim Scrum merefleksikan bagaimana pekerjaan-pekerjaan berjalan pada Sprint sebelumnya.

Harapan yang ingin dicapai pada Sprint Retrspective adalah adanya perbaikan tindakan sehingga Sprint berikutnya dapat dikerjakan dengan lebih baik lagi.

Perbaikan-perbaikan tersebut harus di-implementasi-kan pada Sprint berikutnya.