Vinno Christmantara, iSTTS, 2013
METODOLOGI SCRUM Introduksi Bagi banyak pengembang industri perangkat lunak, metodologi Agile bukanlah sesuatu yang baru. Metode ini adalah jawaban langsung atas paradigma manajemen proyek tradisional yang yang domin dominan an pada pada masa masany nya, a, yait yaitu u meto metode de Waterf terfal all. l. Pada Pada tahu tahun n 200, 200, ! pione pionerr dari dari metodo metodolog logii Agil Agilee bertem bertemu u di "nowbir "nowbird d "ki #esort #esort,, $tah, $tah, dan menyus menyusun un sebuah sebuah manife manifesto sto bersama mengenai metodologi ini. Manifesto ini kemudian menjadi prinsip dasar dari Agile, dengan penekanan pada komunikasi dan kolaborasi, fungsi perangkat lunak, dan fleksibilitas untuk beradaptasi beradaptasi dengan realitas bisnis yang mun%ul. mun%ul. &etapi &etapi dari manifesto manifesto tersebut, tersebut, tidak dinyat dinyatakan akan mengena mengenaii proses proses yang yang konkre konkret, t, bagaim bagaimana ana saat saat tim pengem pengembang bang harus harus bertem bertemu u dengan dengan ' persoa persoalan lan yang yang pasti pasti mun%ul mun%ul(( deadlin deadline, e, stakeho stakeholde lder, r, dan tekana tekanan n dalam dalam proses proses development . Mun%ull Mun%ullah ah subset subset)su )subse bsett dari dari metodol metodologi ogi Agile Agile,, antara antara lain( lain( *rysta *rystall *lear *lear,, +trem +tremee Programming, -eature ri/en e/elopment, ynami% "ystems e/elopment Method "M1, "%rum, dan lainnya. adi, "%rum merupakan salah satu subset dari metodologi Agile. "%rum merupakan sebuah kerangka kerja untuk mengembangkan sebuah produk yang kompleks, di mana /isi dari "%rum adalah produk yang bernilai tinggi se%ara kreati/itas maupun produkti/itas. "%rum didasari oleh teori kontrol empiris yang disebut empirisme, yang menekankan bahwa pengetahuan didapatkan dari pengalaman sehingga pembuatan keputusan sebaiknya sebaiknya didasari didasari atas pengetahuan pengetahuan tersebut. "%rum menggunakan menggunakan pendekatan se%ara iterative dan incremental untuk untuk mengantisipasi ketidakpastian dalam proyek dan pengendalian resiko. &im pengembangan yang menerapkan "%rum, membagi dirinya dengan ' peran( . Prod Produ% u%tt 3wner wner 2. "%r "%rum Mas Master '. &im Peng Pengem emba bang ng &im ini kemudian mengatur dirinya sendiri dalam proses, dengan merumuskan %ara mereka sendiri untuk meme%ahkan masalah, tanpa diatur oleh pihak lain di luar anggota tim. &im ini memi memili liki ki semu semuaa kompen kompente tens nsii yang yang dibut dibutuh uhkan kan untuk untuk meny menyel elesa esaik ikan an peker pekerja jaan, an, tanp tanpaa mengandalkan pihak di luar anggota tim. 1
Vinno Christmantara, iSTTS, 2013
A. Cara Kerja SCRUM
"%rum adalah sebuah kerangka kerja yang dilakukan se%ara berulang)ulang hingga memenuhi kondisi( . Men%apai batas deadline yang telah disepakati 2. Produk yang sedang dikembangkan telah memenuhi kebutuhan yang diinginkan '. 4ingga proyek tidak didanai lagi
1) Sprint
Perulangan atau iterasi pada "%rum memiliki batas waktu time-box1 selama '0 hari atau kurang. alam "%rum, putaran ini disebut Sprint . Sprint selalu sama dan konsisten sepanjang pengembangan produk. Apabila &im "%rum memilih durasi "print selama 2 minggu, maka sepanjang pengembangan produk, panjang sebuah "print selalu konstan 2 minggu. i akhir "print, &im Pengembang harus menyelesaikan sebuah potongan produk product increment 1 yang dapat digunakan oleh pengguna dan berpotensi untuk dirilis ke lingkungan produksi.
2) Event
"print merupakan pembungkus untuk semua event lain dalam "%rum. Event Scrum antara lain adalah( a. Sprint Planning
Adalah kegiatan untuk meren%anakan pekerjaan yang akan dilakukan oleh &im Pengembang selama satu "print. Pada saat Sprint Planning dilakukan, Product Owner akan datang dengan Product Backlog yang sudah disusun berurutan. Sprint Planning terbagi dua bagian( . Bagian pertama membahas Product Backlog Item yang sudah terurut. 2. Bagian kedua membahas bagaimana mengerjakannya. 4asil dari Sprint Planning adalah Sprint Backlog dan Sprint Goal. b. Daily Scrum Meeting
"etiap hari saat sebuah Sprint berakhir, &im Pengembang akan mengadakan pertemuan untuk membahas strategi mereka untuk men%apai tujuan obyektif yang telah disepakati dalam Sprint Planning. Daily Scrum eeting adalah sebuah 2
Vinno Christmantara, iSTTS, 2013
kesempatan bagi &im Pengembang untuk dapat menginspeksi dan mengadaptasikan hasil pekerjaan mereka hingga hari ini. &im pengembang yang baru mulai menggunakan "%rum akan menjawab tiga pertanyaan berikut(
- Apa yant telah saya kontribusikan kemarin - Apa yang akan saya kontribusikan hari ini - Apa yang menghambat saya untuk menyelesaikan pekerjaan saya hingga hari ini. %. Sprint Review i akhir Sprint , &im Pengembang bersama Product Owner dan !take"older akan me) review potongan produk product increment 1 yang telah dikembangkan dalam satu Sprint . Pada saat Sprint #eview, seluruh pihak juga membahas peren%anaan dan strategi untuk Sprint berikutnya. d. Sprint Retrospectives "etelah Sprint #eview berakhir, &im "%rum akan langsung mengadakan pertemuan untuk membahas apa lagi yang dapat di)improve pada Sprint berikutnya. 5egiatan ini disebut Sprint #etro!pective!. 6ni adalah sebuah media continuou! improvement bagi tim "%rum. &im "%rum yang selalu ingin improve, tidak akan melewatkan seremoni tanpa terke%uali. "etelah #etro!pective! selesai, &im "%rum akan langsung melakukan Sprint Planning di keesokan harinya.
Ga!ar 1. Proses "*#$M
3
Vinno Christmantara, iSTTS, 2013
". Conto# Kasus SCRUM 1) Goo$%e Ad&ords
Proyek AdWords menggunakan "%rum dalam pengembangannya, dengan memiliki tim yang disebar se%ara terdistribusi di lima lokasi dan menyatukan se%ara /irtual semua produk 7oogle disetiap dilakukan perilisan. alam perkembangannya, manajer dari proyek 7oogle dibutuhkan untuk mengisi beberapa struktur tim. 4adirnya manajer ini pada tim "%rum bertujuan untuk membantu memberikan arahan untuk menyelesaikan prioritas pekerjaan yangtertinggi yang dirasa sulit diimplementasikan oleh tim. engan hal ini, tim tidak lagi membutuhkan "%rumMaster, dikarenakan tim sudah dapat berjalan dengan sendirinya.
2) SirsiD'ni(
Proyek "irsiyni merupakan suatu proyek yang mengimplementasikan sistem perpustakaan warisan dengan lebih dari 2.800 daerah pengimplementasian. i dalam pengerjaannya yang sudah berlangsung selama bertahun)tahun terdapat perubahan lingkungan bisnis yang menangani permintaan)permintaan baru di tengah pengerjaan proyek. an yang paling menyulitkan, industri pengembangan perangkat lunak perpustakaan sedang dalam fase konsolidasi. Menjadi suatu keuntungan, yni memulai proyek dengan menggunakan proses Agile yang memungkinkan adaptasi terhadap perubahan permintaan selama proyek berlangsung. alam pengembangannya, proyek ini juga didukung oleh "tar"oft yang memiliki sejarah penggunaan 9P yang memberikan hasil yang baik dalam pengembangan perangkat lunak berbasis sistem. 5ombinasi dari resiko yang tinggi, skala yang besar, perubahan permintaan, konsolidasi dan akuisisifaktor bisnis, dan pengalaman "irsiyni dengan "%rum yang dikombinasikan dengan "tar"oft yangmenggunakan 9P mengantarkan proyek ini untuk menggunakan implementasi "%rum yang terintegrasi. "%rum yang teringtegrasi
dilakukan
dengan
paradigma
terdistribusi,
sehingga
dalam
praktikpengembangan proyek ini, aktifitas dari "%rum dilakukan se%ara terdistribusi. aily "%rum untuk seluruh pengembangan dilakukan dengan teringtegrasi untuk seluruh !ite, begitu juga untuk pertemuan harian tim dari Produ%t 3wner yang dilakukan se%ara terintegrasi untuk seluruh !ite. 4
Vinno Christmantara, iSTTS, 2013
C. Keun$$u%an SCRUM
1 Mudah menyesuaikan diri dengan perubahan yang terjadi pada realitas bisnis dengan %epat 21 &im yang besar dipe%ah menjadi tim)tim ke%il yang disebut &im "%rum, sehingga memperlan%ar komunikasi, mengurangi biaya, dan saling memberdayakan satu sama lain '1 okumentasi dan pengujian selama proses pengembangan dilakukan se%ara terus menerus :1 Proses "%rum dapat menyatakan bahwa suatu proses pengembangan ;sudah selesai< kapan saja
D. Ke%ea#an SCRUM
&im Pengembang dengan "%rum harus bersedia dan selalu siap untuk menerima perubahan yang terjadi di dalam proses pengembangan.
E. Tie *ro'ek SCRUM
"%rum direkomendasikan untuk tipe proyek yang tidak berorientasi pada deadline, dengan target produk yang kreatif dan berkualitas tinggi. 5arena fokus "%rum adalah pada proses, dengan iteratif dan target per Sprint , diharapkan setiap potongan produk, akan menjadi lebih baik dari Sprint sebelumnya.
5
Vinno Christmantara, iSTTS, 2013
DA+TAR *USTAKA Scrum et"odology. =online>. http(??s%rummethodology.%om?, diakses tanggal 2 3tober 20:. Wikipedia. Scrum $!o%tware development&. =online>. http(??en.wikipedia.org?wiki?"%rum@software@de/elopment1, diakses tanggal 22 3ktober 20:. P&. "%rum Asia Pasifik. 'pa itu Scrum. =online>. http(??www.s%rum.%o.id?stati%?apa)itu)s%rum1, diakses tanggal 2 3ktober 20:. Pangaribuan, Andreas. 202. etode Pengembangan Perangkat (unak) Scrum. =online>. https(??www.a%ademia.edu?2C?"%rum1, diakses tanggal 2: 3ktober 20:.
6