Scrum: Pengertian dan Contoh Kasusnya

Scrum: Pengertian dan Contoh Kasusnya

Halo, lifelong learner! Sudah tahu, apa itu kerangka kerja Scrum? Scrum adalah framework atau kerangka kerja yang biasa diterapkan pada pengembangan perangkat lunak. Sebelumnya, para software developer (pengembang perangkat lunak) menggunakan kerangka kerja tradisional, seperti Waterfall. 

Sayangnya, kerangka kerja tradisional tersebut berbasis pada perencanaan ketat di awal pengembangan. Hal ini dinilai kurang efisien karena pada pengembangan perangkat lunak sering kali terjadi perubahan kebutuhan yang cepat. Scrum menjadi solusi karena menggunakan pendekatan yang adaptif dan responsif. 

Selain itu, Scrum bersifat iteratif dan inkremental. Bersifat iteratif karena pekerjaan-pekerjaan dibagi menjadi siklus kerja pendek yang disebut sebagai Sprint dan bersifat inkremental karena setiap Sprint akan menghasilkan produk sedikit demi sedikit.

💻 Mulai Belajar Pemrograman

Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.

Daftar Sekarang

Scrum

Tentang Sprint

Durasi Sprint tidak lebih dari empat minggu. Biasanya yang paling banyak digunakan adalah Sprint dengan durasi dua minggu. Sprint berikutnya akan dilaksanakan tepat setelah Sprint sebelumnya selesai. Sprint sifatnya time boxed, artinya memiliki tenggat waktu yang jelas dan tetap akan dianggap berakhir walaupun pekerjaan belum selesai. Untuk pekerjaan yang belum selesai, akan dialihkan ke Sprint berikutnya.

Pada fase awal penerapan kerangka kerja Scrum, tim biasanya akan memilih durasi Sprint yang paling ideal menurut mereka, yaitu tiga atau empat minggu. Tim akan menggunakan durasi tersebut pada seluruh siklus kerja sampai mereka berkembang sehingga bisa menggunakan siklus atau durasi yang lebih pendek.

Scrum Roles

Dalam kerangka kerja Scrum, ada tiga peran utama yang memiliki masing-masing tanggung jawab. Ketiga peran ini saling melengkapi dan bekerja sama untuk keberhasilan pengembangan produk. Mereka adalah Product Owner, Team, dan Scrum Master. Berikut adalah deskripsi singkat ketiga peran tersebut.

  • Product Owner
    Bertanggung jawab untuk mewakili kepentingan stakeholder dan mengelola Product Backlog.
  • Team
    Tim multidisiplin yang bertanggung jawab untuk menghasilkan inkrementasi produk setiap Sprint.
  • Scrum Master
    Bertindak sebagai fasilitator untuk tim, membantu menghapus hambatan, dan memastikan penerapan Scrum yang efektif.

Scrum Artifact

Artefak dalam Scrum berupa dokumen yang digunakan dan dihasilkan selama pengembangan produk. Artefak digunakan sebagai dokumentasi terkait hal yang telah diselesaikan, hal yang sedang dikerjakan, dan hal yang akan dilakukan selanjutnya. Berikut adalah deskripsi singkat ketiga artefak tersebut.

  • Product Backlog
    Daftar prioritas pekerjaan yang perlu dilakukan dan dibuat oleh Product Owner.
  • Sprint Backlog
    Daftar prioritas pekerjaan yang didapatkan dari Product Backlog untuk dikerjakan pada Sprint.
  • Increment
    Produk yang dihasilkan oleh tim pada akhir Sprint.

Scrum Events

Ketika menerapkan Scrum pada pengembangan produk, ada beberapa “ritual” yang harus dijalani. Ritual ini terdiri dari beberapa rapat yang disebut sebagai Scrum Events. Scrum Events diadakan untuk memastikan transparansi, kolaborasi, dan adaptasi pada tim. Berikut adalah deskripsi dari setiap rapat pada Scrum Events.

Sprint Planning

Rapat mingguan untuk merencanakan pekerjaan yang akan dilakukan dan dihadiri oleh seluruh anggota, yaitu Product Owner, Team, dan Scrum Master. Rapat ini berdurasi satu jam.

Daily Scrum

Rapat harian berdurasi singkat yang biasanya berdurasi 15 menit. Daily Scrum dilakukan untuk sinkronisasi antar anggota tim dan untuk melaporkan hambatan (jika ada). Setiap anggota harus melaporkan terkait pekerjaan yang telah dikerjakan, pekerjaan yang akan dikerjakan, dan hambatan dalam pekerjaan. Dihadiri oleh Team (wajib), Product Owner (opsional), dan Scrum Master (wajib). Rapat ini berdurasi 15 menit.

Product Backlog Refinement

Rapat untuk merencanakan ulang pekerjaan yang akan dilakukan pada Sprint berikutnya. Dihadiri oleh Team (wajib), Product Owner (hanya pada kondisi tertentu), dan Scrum Master (hanya pada awal sesi). Rapat ini berdurasi tidak lebih dari 10% kapasitas waktu kerja tim per Sprint. Sebagai contoh, tim yang memilih Sprint selama dua minggu memiliki kapasitas 80 jam (8 jam x 10 hari kerja) sehingga mereka hanya dapat melaksanakan rapat ini selama maksimal 8 jam.

Sprint Review

Rapat di akhir Sprint untuk mendemonstrasikan pekerjaan yang telah selesai kepada stakeholder. Dihadiri oleh Team (wajib), Product Owner (wajib), Scrum Master (wajib), dan Stakeholder (wajib). Rapat ini berdurasi satu jam.

Sprint Retrospective

Rapat di akhir Sprint untuk merefleksikan kinerja tim dan menentukan cara untuk meningkatkannya pada Sprint yang akan datang. Dihadiri oleh Team (wajib), Product Owner (opsional), dan Scrum Master (wajib). Rapat ini berdurasi 45 menit.

Contoh Kasus

Misal ada sebuah perusahaan, sebut saja perusahaan XYZ. Perusahaan XYZ akan mengembangkan sebuah proyek yang dinamakan Proyek Explore. Proyek Explore adalah aplikasi pariwisata yang dapat memudahkan wisatawan dalam merencanakan perjalanan, menemukan destinasi wisata, dan membuat reservasi dengan mudah. 

Untuk mengerjakan proyek ini, tim memerlukan anggota dari berbagai disiplin, seperti programmer, business analyst, UI/UX designer, dan digital marketing. Sebelum menerapkan Scrum, Tim Proyek Explore telah sepakat untuk mengadopsi pendekatan Agile dengan Sprint yang berdurasi dua minggu.

Pertama, Product Owner, sebagai perwakilan dari pihak bisnis dan memiliki pemahaman yang mendalam tentang kebutuhan pelanggan, akan bertanggung jawab untuk membuat Product Backlog. Product Owner akan berkolaborasi dengan para stakeholder untuk memastikan bahwa Product Backlog sudah sesuai dengan kebutuhan.

Kemudian, tim akan memulai Sprint dengan mengadakan rapat Sprint Planning. Dalam Sprint Planning, tim akan memilih sejumlah pekerjaan dari Product Backlog yang memungkinkan untuk dikerjakan selama Sprint. Pekerjaan-pekerjaan yang dipilih inilah dinamakan sebagai Sprint Backlog.

Setelah merencanakan Sprint, tim akan mulai mengerjakan proyek. Setiap harinya, tim akan melakukan pertemuan harian yang disebut Daily Scrum. Di dalamnya, mereka akan melaporkan kemajuan kerja mereka dan mengidentifikasi hambatan yang mungkin menghalangi.

Di tengah-tengah Sprint, Product Owner dapat meminta tim untuk melakukan Product Backlog Refinement. Ini adalah kegiatan untuk meninjau dan menyempurnakan item-item dalam Product Backlog agar siap untuk dipilih pada Sprint berikutnya. 

Durasi dari Product Backlog Refinement tidak boleh melebihi 10% dari kapasitas waktu kerja tim per Sprint, yang berarti dalam kasus ini tim hanya dapat menggunakan delapan jam untuk aktivitas tersebut.

Di akhir Sprint, tim akan mengadakan rapat Sprint Review. Saat itu, mereka akan mendemonstrasikan hasil kerja mereka kepada stakeholder dan mendapatkan umpan balik. 

Setelah itu, mereka akan mengadakan rapat Sprint Retrospective untuk merefleksikan hal yang sudah berhasil dilakukan selama Sprint ini dan hal yang dapat ditingkatkan dalam Sprint berikutnya. Hasil dari rapat ini berupa daftar aksi yang harus dilakukan untuk meningkatkan kinerja tim pada Sprint berikutnya.

Kesimpulan

Scrum menawarkan pendekatan adaptif dan responsif dalam pengembangan perangkat lunak. Scrum memungkinkan tim untuk bekerja secara iteratif dan inkremental melalui siklus pendek yang disebut Sprint.

Dengan penerapan Scrum, perusahaan dapat meningkatkan fleksibilitas, responsivitas, dan kualitas produk mereka. Hal ini memungkinkan perusahaan untuk lebih cepat menyesuaikan diri dengan perubahan pasar dan memenuhi kebutuhan pengguna dengan lebih baik.


Belajar Pemrograman Gratis
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.