Knowing Agile Development Methodologies: Scrum
Pada artikel sebelumnya telah dijelaskan tentang salah satu Agile Framework yang disebut dengan Kanban. Pada artikel ini, akan dijelaskan tentang salah satu Agile Framework yang popular juga yang disebut Scrum.
Scrum merupakan suatu metode Software Development dimana team developers dibagi kedalam group yang berisi 3-9 orang. Team tersebut akan berkerja dalam jangka waktu tertentu yang disebut Sprint, menjaga progress perkerjaan agar selalu on schedule, dan mengadakan meeting singkat setiap hari yang disebut Daily Scrum.
Untuk mengerti bagaimana Scrum berkerja, pertama kita harus mengerti tentang beberapa istilah yang akan dipakai dalam Scrum yaitu:
- Product Backlog: Merupakan suatu dokumen formal yang berisikan Requirement, keinginan dan ekspektasi dari Product Owner dan Stakeholders.
- Scrum Board: Merupakan suatu papan tulis dimana Tugas yang harus dikerjakan akan ditulis atau ditempelkan Post-It.
- Scrum Master: Sama seperti Agile Coach, Scrum Master bertugas sebagai jembatan antara stakeholders dan team dan bertanggung jawab untuk menjaga kebiasaan dan performa team dalam menjalankan Scrum.
- Sprint: Merupakan suatu periode waktu (biasanya 2 minggu) dimana Dev Team harus dapat menyelesaikan tugas dan merelease produk saat Sprint tersebut berakhir.
- Sprint Backlog: Merupakan suatu dokumen yang berisikan tugas apa yang harus dikerjakan dalam minggu Sprint
Secara singkat, proses kerja yang dilakukan Dev Team jika mereka menggunakan Scrum adalah sebagai berikut.
- Memilih Scrum Master yang bertanggung jawab memimpin team agar berkerja dengan etika dan kebiasaan yang benar.
- Menyiapkan Scrum Board dan beberapa Post-It/Sticker atau kertas apapun yang dapat ditempelkan ke Scrum Board.
- Melakukan Sprint Planning untuk menentukan tugas apa yang dapat dikerjakan dalam 2 minggu Sprint. Team Mengambil tugas dari Product Backlog dan membuat Sprint Backlog dan menugaskan setiap orang untuk setiap tugas.
- Berkerja dan memindahkan setiap tugas ke segment masing-masing.
- Mengadakan Daily Scrum setiap pagi untuk memberikan laporan tentang hasil perkerjaan yang dilakukan kemarin, apa yang akan dikerjakan hari ini, serta kesulitan apa yang menggangu dalam melakukan tugas kemarin atau hari ini.
- Setelah minggu Sprint selesai, tugas yang “DONE” akan di package sementara tugas yang tidak selesai akan di kirim kembali ke Product Backlog untuk Sprint
- Team akan melakukan Sprint Review dimana Dev Team akan melakukan demo di depan stakeholders tentang fitur baru yang ditambahkan. Setelah itu Dev Team juga akan melakukan Sprint Retrospective untuk mendiskusikan kinerja, kesulitan, dan apa yang dapat diperbaiki di Sprint
- Kegiatan Sprint akan terus dilakukan sampai Product
Keuntungan dari menggunakan sistem Scrum adalah sebagai berikut:
- Flexibel : Dengan memvisualisasikan perkerjaan yang dilakukan, kita dapat mengetahui bottleneck dan kesalahan yang dapat dengan mudah diubah.
- Pembetulan yang mudah : Karena Scrum menggunakan waktu Sprint yang singkat dan memungkinkan feedbacks secara konstan, Dev Team dapat dengan mudah melakukan Pembetulan, dan Perubahan pada setiap Sprint.
- Safe & Good Product : Scrum memungkinkan Dev Team untuk membuat Product yang baik dikarenakan pengulangan proses testing, review yang konstan, dan Daily Scrum setiap hari.