Pengalaman Bekerja Menggunakan Scrum Selama WFH
Menjelaskan kerangka kerja Scrum & manfaatnya berdasarkan pengalaman saya menggunakannya selama bekerja dari rumah.
Bagi Anda yang belum pernah mendengar Scrum sebelumnya, secara singkat Scrum adalah suatu framework atau kerangka kerja yang dapat membantu Anda & tim (khususnya yang membuat software) bekerja dengan lebih efektif. Scrum dibuat dengan menyesuaikan dengan problematika & kompleksitas yang ditemukan saat pembuatan software.
Menguasai framework ini juga dapat membantu Anda mendapatkan pekerjaan di industri teknologi, sebagai seorang Scrum Master (siapa tahu, artikel ini langkah pertama Anda menuju kesana).
Nah, cukup menarik bukan?
Selanjutnya, saya akan melanjutkan penjelasan sambil menceritakan pengalaman saya & tim saat menggunakan kerangka kerja Scrum, dalam pembuatan proyek aplikasi iOS di Apple Developer Academy, selama kondisi Work from Home.
Oke, mari kita langsung mulai!
Sekilas tentang Scrum
Scrum merupakan kerangka kerja yang berisi seperangkat aturan & panduan dalam manajemen produk digital seperti:
- Nilai-nilai yang harus di terapkan selama bekerja dalam Scrum Framework (Akan saya bahas di artikel terpisah)
- Peran & deskripsi pekerjaan dari sebuah Tim Scrum
- Acara-acara Scrum yang perlu dilakukan
- Dokumen apa saja yang perlu dihasilkan
Untuk selengkapnya Anda bisa membacanya dalam buku Panduan Scrum.
Dalam Scrum sebuah tim terdiri dari 3 roles berikut ini:
Scrum Master
Seorang ahli Scrum yang bertanggungjawab untuk memastikan tim menerapkan Scrum dan nilai-nilainya dengan benar.
Product Owner
Seseorang yang mempunyai visi produk akan dibawa kemana (berdasarkan masukan dari riset pasar, tim, users & stakeholders). Product Owner juga bertanggung jawab akan keberhasilan & nilai produk tersebut di pasar.
Development Team
Terdiri dari tim researcher, analyst, engineer & designer yang bertanggungjawab untuk merealisasikan produk yang dapat digunakan oleh user.
Di kasus kami, saya berperan sebagai Product Owner yang bekerja dengan beberapa Development Team. Semua interaksi antar roles kami lakukan secara online.
Nah, bagaimana proses kami selama menggunakan Scrum?
Pengalaman Menggunakan Kerangka Kerja Scrum
Sprint
Dalam Scrum kami bekerja dalam sebuah jangka waktu secara terus-menerus yang disebut Sprint. Sprint adalah sebuah waktu kerja selama 1–4 minggu, dimana tim sepakat untuk mengerjakan fitur-fitur yang membawa nilai terbesar untuk user.
Di kasus kami, sebuah Sprint dilakukan selama 2–3 minggu. Jangka waktu ini kami tentukan saat melakukan Perencaan atau Sprint Planning.
(Saya akan membagikan di artikel terpisah mengenai Sprint secara mendetail beserta case study di tim kami, karena itu jangan lupa untuk mengikuti terus Publikasi ini.)
Dalam sebuah Sprint ada beberapa Acara Scrum yang perlu dilakukan diantaranya:
1. Sprint Planning
Sebelum mulai Sprint, kami mengadakan rapat untuk menentukan fitur apa saja yang akan dikerjakan di Sprint kali ini.
Sebelum Sprint Planning, kita harus sudah mempunyai daftar fitur yang harus diproduksi dalam suatu software yang ditulis di sebuah dokumen bernama Product Backlog (lihat gambar).
Sprint Planning adalah proses memilih fitur mana yang akan diambil dari Product Backlog ke Sprint Backlog yaitu daftar fitur yang difokuskan pada Sprint kali ini.
Lalu, setiap lead dari tim development akan mendetailkan Sprint Backlog menjadi daftar tugas yang bisa dikerjakan kurang dari 24 jam. Anggota tim development dapat secara self service dalam menentukan tugas apa yang akan dikerjakan setiap harinya.
Aplikasi yang kami gunakan untuk menulis Product Backlog ini adalah Airtable, namun aplikasi yang umum digunakan di perusahaan teknologi adalah Jira. Untuk berkomunikasi kami menggunakan aplikasi Discord.
(Selengkapnya mengenai teknis pembuatan Product Backlog & Sprint Backlog akan saya tulis terpisah di artikel yang lainnya.)
Setelah menyepakati durasi & fitur apa saja yang akan dikerjakan di Sprint kali ini, kita siap untuk memulai Sprint!
2. Daily Scrum
Setelah Sprint dimulai, setiap harinya kami melakukan Daily Scrum yaitu rapat harian dengan jangka waktu maksimal 15 menit. Selama WFH, kami menggunakan Discord untuk melakukan Daily Scrum. Kami bergantian berbicara menyampaikan 3 hal ini:
- Apa yang sudah dikerjakan kemarin?
- Apa yang akan dikerjakan hari ini?
- Apakah ada kendala yang ditemukan?
Biasanya kami mengurutkan giliran sesuai abjad nama di Discord. Hal ini kami lakukan untuk menghindari waktu yang terbuang untuk memikirkan siapa yang akan berbicara selanjutnya.
Tujuan Daily Scrum adalah untuk mengetahui perkembangan pekerjaan masing-masing orang & jika ada masalah, akan diselesaikan tepat setelah Daily Scrum selesai. Kami menghindari diskusi berlebihan, agar lebih banyak waktu dapat digunakan untuk bekerja.
3. Sprint Review
Setiap sebuah Sprint selesai, tim diharapkan menghasilkan sebuah Increment atau hasil fitur yang sudah selesai & fungsional. Untuk definisi selesai pun harus tertulis saat Sprint Planning & disepakati semua tim.
Dalam Sprint Review, tim berkumpul bersama dengan para stakeholders untuk melihat bagaimana hasil atau Increment pekerjaan selama Sprint. Disini kami fokus membahas mengenai hasil produk & menerima masukan untuk pengembangan kedepannya.
Untuk proses ini biasanya kami melakukan presentasi hasil kerja kepada mentor & tim lain di aplikasi Zoom. Kami juga menerima feedback menggunakan form di Airtable.
4. Sprint Retrospective
Adalah evaluasi mengenai kinerja tim & keefektifan tools yang digunakan. Sprint Retrospective bertujuan untuk memikirkan pengembangan kinerja tim dan instrospeksi diri selama Sprint yang telah berlalu.
Bagi kami, Sprint Retrospective merupakan proses yang santai & merupakan selebrasi dari keberhasilan yang kami capai selama Sprint, sebagai tim. Kami menggunakan aplikasi Miro untuk melakukan proses ini, dengan template Simple Sprint Retrospective. Disitu ada 4 poin yang harus dijawab setiap anggota tim, yaitu:
- Apa yang berjalan dengan baik?
- Apa yang dapat diperbaiki?
- Ide untuk Sprint selanjutnya?
- Aksi nyata yang akan dilakukan di Sprint selanjutnya?
Akhirnya kita telah menyelesaikan Sprint! Waktunya kita kembali melakukan Planning untuk Sprint selanjutnya!
Manfaat Scrum yang Saya Rasakan
Manfaat yang paling saya rasakan sebelum dan sesudah menggunakan Scrum adalah:
- Semua tugas sudah terdaftar dengan sangat rinci di awal & setiap anggota tim tinggal memilih mau mengerjakan apa setiap harinya, secara self service. Sebelum menggunakan Scrum, saya cukup kebingungan dalam membagi tugas yang pas untuk setiap anggota tim & biasanya hanya ada 1 orang yang mengarahkan serta menerima laporan.
- Memastikan semua tim bekerja dengan baik dengan adanya Daily Scrum. Tidak akan ada lagi kasus anggota tim yang ketahuan tidak melakukan apa-apa selama 1 minggu, karena rapat hanya dilakukan 1 minggu sekali.
- Jika ada kendala atau penghalang akan diselesaikan hari itu juga. Kami terbiasa terbuka & tidak membiasakan untuk menahan masalah selama beberapa hari.
Bagaimana pendapat Anda tentang Scrum?
Apakah Anda sudah pernah menggunakan Framework Scrum? Silahkan ceritakan pengalaman & manfaat yang Anda rasakan di kolom komentar!
Semoga sharing kali ini bermanfaat!