Minggu, 26 November 2017

Scrum Development Methodology



Scrum Methodology – Agile Software Development 

 

Metodologi Scrum termasuk ke dalam kumpulan metode Pengembangan Perangkat Lunak Agile (Agile Software Development). Pengembangan Perangkat Lunak Agile sendiri meliputi beberapa metode, di antaranya Extreme Programming (XP), Scrum, Dynamic Systems Development Methods (DSDM), dan Crystal. (Sutherland, 2014)
Scrum adalah sebuah kerangka kerja untuk pengembangan secara inkremental dengan menggunakan satu atau lebih tim yang cross-functional dan self-organizing yang terdiri dari kurang lebih tujuh orang pada tiap-tiap tim. Scrum menggunakan iterasi tetap bernama Sprint, yang dijalankan dalam waktu dua minggu atau tiga puluh hari. Tim Scrum berusaha untuk membangun inkremen produk (perangkat lunak) yang siap digunakan dan telah diuji pada setiap proses iterasi ini. (James, 2012


Perangkat-perangkat Scrum

Penjelasan berikut ini merupakan hasil kolaborasi antara apa yang dikemukakan Michael James (2012) dan Hamid Shojaee (2012) mengenai beberapa perangkat yang digunakan dalam sebuah pengembangan menggunakan metode Scrum ini, di antaranya:
  1. Product Backlog. Product Backlog berisi kumpulan User Story yang akan menentukan fitur-fitur yang akan dibuat pada perangkat lunak. Kumpulan User Strory ini kemudian dibuat skala prioritasnya oleh Product Owner.
  2. Product Backlog Item (PBI). PBI atau secara tradisional dikenal sebagai User Story ini secara tertulis kurang lebih berisi mengenai “Sebagai seorang (nama peran), saya menginginkan (nama fitur), sehingga dapat berguna untuk (keuntungan fitur)”.
  3. Sprint Backlog. Sebuah Sprint berisi beberapa PBI yang telah diprioritaskan dalam rapat antara Product Owner dan Tim Pengembang. Sprint merupakan milestone dalam pengembangan produk yang akan berlangsung hingga maksimal tiga puluh hari, tidak boleh lebih. Pada akhir tiap-tiap Sprint harus menghasilkan shipped product (produk yang siap digunakan). Oleh sebab itu, pada Sprint pertama, pastikan semua fitur dasar dan utama yang telah diprioritaskan dimasukkan ke dalam Sprint ini. Dengan kata lain, setelah Sprint 1, perangkat lunak / aplikasi / produk dasar telah siap digunakan. Adapun pelengkapan fitur-fitur pelengkap atau lainnya pada produk dengan tingkatan prioritas yang lebih rendah dapat dikembangkan pada Sprint 2 dan seterusnya.
  4. Burndown Chart. Burndown chart digunakan untuk mengawasi setiap fase perkembangan Sprint agar berjalan mulus dan tidak melebihi tenggat waktu yang telah ditentukan. Chart ini menampilkan pengukuran harian terhadap jumlah dan sisa pekerjaan hingga produk siap dirilis. Dengan demikian tim dapat membuat perkiraan mengenai kapan sebuah Sprint atau sebuah shipped product akan selesai, sehingga apabila diperkirakan akan melebihi batas waktu, tim dapat melakukan penyesuaian dengan meningkatkan waktu/jam kerja mereka tiap harinya.
  5. Daily Scrum. Perangkat ini merupakan sarana komunikasi yang sangat penting bagi seluruh anggota tim Scrum. Daily Scrum juga sering disebut stand-up meeting karena akan berlangsung sangat singkat, yaitu kurang lebih lima belas menit. Secara teknis, Daily Scrum merupakan rapat singkat harian di mana seluruh anggota tim bertemu dan hanya mengemukakan tiga hal utama, yaitu “apa yang telah saya lakukan kemarin”, “masalah yang saya hadapi/telah diselesaikan”, dan “apa yang akan/sudah saya selesaikan hari ini”. Sedangkan Scrum Master hanya akan membuka rapat, mencatat, mengawasi, dan memfailitasi diskusi untuk menyelesaikan beberapa permasalahan yang dihadapi tim.
  6. Sprint Retrospective Meeting. Rapat ini dilakukan oleh seluruh tim saat setiap Sprint selesai dijalankan dan shipped product dihasilkan. Dalam rapat ini, tim akan mengevaluasi mana saja yang telah berjalan baik dalam proses, dan mana saja yang masih membutuhkan perubahan/perbaikan/improvement.
 
Peran Dalam Scrum

Menurut Michael James (2012), dalam proses pengembangan sebuah perangkat lunak menggunakan metode Scrum, teradapat beberapa aktor penting, di antaranya:

  1. Product Owner. Orang ini bertugas untuk menentukan Product Backlog dan menentukan prioritas fitur yang akan disajikan pada perangkat lunak. Ia juga berhak untuk menerima atau menolak setiap hasil yang telah dikembangkan pada tiap iterasi.
  2. Tim Pengembangan Scrum. Tim yang beranggotakan antara 7-9 orang ini bersifat cross-functional, yaitu tim yang berisi orang-orang dengan kemampuan dan perang yang berbeda, misalnya terdiri dari tester, developer, business analyst, domain expert, dan lain-lain. Tim ini mendiskusikan kepada Product Owner mengenai tiap-tiap Sprint yang akan dijalankan.
  3. Scrum Master. Orang ini secara tradisional disebut sebagai Project Mabager dan bertugas untuk mengawasi keseluruhan proses Scrum, membantu mengatasi halangan yang dihadapi selama proses tersebut, menciptakan suasana yang kondusif bagi tim pengembang, dan melindungi tim dari gangguan eksternal sehingga tim dapat bekerja dengan baik pada zonanya. Akan tetapi, Scrum Master tidak memiliki otoritas untuk mengatur tim. Orang yang memiliki otoritas untuk mengatur tim ditentukan oleh tim tersebut.
 



Tidak ada komentar:

Posting Komentar