Scrum adalah sebuah framework manajemen proyek yang fokus pada kerja sama tim, akuntabilitas, dan progres secara iteratif menuju tujuan yang sudah didefinisikan dengan jelas. Framework ini berangkat dari premis sederhana: mulai dari apa yang bisa dilihat atau diketahui. Setelah itu, tim melacak progresnya dan melakukan penyesuaian bila diperlukan.
Scrum sering digunakan sebagai bagian dari pengembangan perangkat lunak Agile. Nama Scrum sendiri diambil dari formasi dalam permainan rugby di mana semua pemain memiliki peran masing-masing. Dalam konteks pengembangan perangkat lunak, peran-peran utama dalam Scrum meliputi:
Product Owner.
Product Owner adalah penghubung antara tim pengembang dan pelanggan. Ia bertanggung jawab memastikan ekspektasi terhadap produk akhir tersampaikan dengan jelas dan disepakati bersama.
Scrum Master.
Scrum Master bertindak sebagai fasilitator proyek. Ia memastikan praktik terbaik Scrum dijalankan. Seorang Scrum Master harus memiliki kemampuan kepemimpinan yang baik, mampu mengelola proyek, bekerja sama dengan tim, menyelesaikan konflik, serta meningkatkan proses kerja.
Development Team.
Tim pengembang bekerja sama untuk membuat dan menguji rilis produk secara bertahap. Anggota tim ini diharapkan sudah memahami konsep Scrum dan praktik pengembangan Agile.
Ada banyak lembaga industri dan organisasi lain yang menawarkan pelatihan dan sertifikasi untuk peran-peran kunci ini, seperti:
- Disciplined Agile Scrum Master dari Project Management Institute,
- Certified ScrumMaster dari Scrum Alliance,
- Professional Scrum Master Training dari Scrum.org,
- dan Scrum Master Certified dari Scrumstudy.com.
Bagaimana Proses Scrum Berjalan?
Proses Scrum mendorong kita untuk bekerja dengan apa yang tersedia dan terus mengevaluasi apa yang berjalan dan apa yang perlu diperbaiki. Komunikasi yang efektif sangat penting di sini, biasanya dilakukan lewat pertemuan yang disebut “events”.
Beberapa event dalam Scrum adalah:
- Daily Scrum: Meeting harian singkat, biasanya dilakukan di tempat dan waktu yang sama tiap hari. Tim membahas progres kemarin dan rencana kerja 24 jam ke depan, termasuk hambatan yang mungkin dihadapi.
- Sprint: Periode waktu untuk menyelesaikan pekerjaan, biasanya sekitar 30 hari. Sprint baru langsung dimulai begitu Sprint sebelumnya berakhir.
- Sprint Planning Meeting: Meeting untuk menetapkan tujuan Sprint. Di akhir meeting, setidaknya harus ada satu increment berupa produk fungsional.
- Sprint Review: Sesi untuk mendemonstrasikan hasil kerja dari Sprint.
- Sprint Retrospective: Meeting setelah Sprint selesai, fokus pada evaluasi proses dan bagaimana memperbaikinya untuk Sprint berikutnya. Ini bagian penting dari prinsip continuous improvement.
Scrum Artifacts
Dalam konteks Scrum, artifact adalah segala sesuatu yang penting untuk dilihat kembali sebagai referensi proses. Biasanya artifact ini dibahas dalam Sprint Planning Meeting.
Beberapa Scrum artifacts meliputi:
- Product Backlog: Daftar semua hal yang masih harus dikerjakan. Ini diprioritaskan lewat sesi backlog grooming atau backlog refinement.
- Sprint Backlog: Kumpulan tugas yang harus diselesaikan agar item-item di Product Backlog bisa dikirimkan, biasanya dalam bentuk user stories.
- Product Increment: Akumulasi semua hasil kerja Sprint, termasuk yang dari Sprint-Sprint sebelumnya.
- Burn Down Chart: Grafik yang menunjukkan seberapa banyak pekerjaan yang tersisa seiring berjalannya waktu. Grafik ini idealnya menunjukkan tren menurun hingga habis.
Keuntungan Metodologi Scrum
Beberapa manfaat utama menggunakan Scrum antara lain:
- Produk berkualitas: Dengan adanya Sprint Retrospective dan feedback berkelanjutan, tim lebih mudah menghasilkan produk berkualitas tinggi.
- Kerja sama tim: Scrum mempererat komunikasi dan kolaborasi dalam tim. Kadang ada sesi hacking sprint untuk mendorong kreativitas dan inovasi.
- Fleksibilitas: Scrum memudahkan adaptasi terhadap perubahan kebutuhan produk selama siklus pengembangan.
- Risiko lebih kecil: Sprint yang pendek dan evaluasi berkala membuat tim cepat tahu kalau ada yang salah, sehingga risiko kegagalan lebih terkendali (fail fast).
- Waktu ke pasar lebih cepat: Fitur bisa dirilis secara bertahap di setiap Sprint, tanpa harus menunggu keseluruhan produk selesai.
- ROI lebih tinggi: Dengan mengurangi kesalahan, mempercepat rilis, dan meningkatkan kualitas, Scrum mendukung ROI yang lebih tinggi.
Hubungan Scrum dan Agile
Agile itu semacam filosofi dalam pengembangan dan manajemen proyek, dijelaskan dalam Agile Manifesto.
Scrum adalah salah satu metode Agile yang populer.
Scrum adalah cara konkret buat mengimplementasikan prinsip Agile. Misalnya, Agile mengajarkan tentang pentingnya refleksi tim dan Scrum mewujudkannya lewat Daily Scrum dan Sprint Retrospective. Juga, prinsip Agile tentang self-managed team diimplementasikan lewat peran Scrum Master sebagai servant leader yang membantu tim tetap mandiri.
Sejarah Scrum
Scrum pertama kali diperkenalkan tahun 1986 lewat artikel Harvard Business Review berjudul “The New New Product Development Game” oleh Hirotaka Takeuchi dan Ikujiro Nonaka. Mereka membandingkan metode pengembangan produk model relay (seperti estafet) dan model rugby (semua orang terlibat aktif dan fleksibel).
Model rugby inilah yang akhirnya dikembangkan lebih lanjut oleh Jeff Sutherland, John Scumniotales, dan Jeff McKenna di Easel Corp pada 1993.
Pada 1995, Ken Schwaber dan Sutherland resmi mempresentasikan makalah “SCRUM Development Process” yang mendorong perubahan besar dalam dunia pengembangan perangkat lunak, dari model tradisional Waterfall ke Agile.
Menurut 15th State of Agile Report dari Digital.ai, Scrum tetap menjadi metodologi Agile paling populer, digunakan oleh 66% responden, dan 15% lainnya menggunakan varian Scrum.
Versi terbaru dari Scrum Guide diterbitkan pada November 2020 dan bisa diakses di tautan ini.
Pilar dan Nilai dalam Scrum
Tiga pilar utama Scrum adalah adaptasi, inspeksi, dan transparansi:
- Adaptasi: Tim secara konsisten memperbaiki pendekatan terhadap masalah baru.
- Inspeksi: Tim rutin mengevaluasi performa mereka.
- Transparansi: Semua anggota tim saling memahami proses dan tantangan masing-masing.
Scrum juga punya lima nilai inti:
- Komitmen: Setiap anggota berkomitmen terhadap tugas yang disepakati.
- Keberanian: Tim bersama-sama menghadapi tantangan.
- Fokus: Mengutamakan tugas yang sedang berlangsung, mengurangi gangguan.
- Keterbukaan: Saling berbagi keberhasilan maupun masalah.
- Respek: Menghargai kekuatan dan kontribusi masing-masing anggota.
Scaling Scrum untuk Banyak Tim
Scrum dan metode Agile lain awalnya dirancang untuk satu tim kecil. Saat organisasi IT ingin memperluas penerapan ke banyak tim, tantangan baru muncul, seperti koordinasi antar tim setelah Sprint.
Scaled Agile Framework (SAFe) menawarkan prinsip, proses, dan praktik terbaik untuk mengatasi masalah ini. Membandingkan berbagai metode scaling Scrum seperti SAFe, LeSS, Nexus, dan lainnya bisa membantu dalam menerapkan Scrum di tingkat enterprise.