Agile dan Scrum : Fundamental
Pernahkah kalian mendengar kata Agile dan Scrum namun tidak tahu apa itu?, atau perusahaan kalian sudah menerapkannya namun belum tahu apa maksud dari Agile dan Scrum sebenarnya?. Jika iya, kita akan bahas pada artikel kali ini.
Pada Perkembangan yang cepat sekarang ini konsep Agile dan Scrum sangatlah penting, sudah banyak perusahaan yang mulai menerapkannya baik secara menyeluruh maupun sebagian, nah apa sih Agile dan Scrum itu?.
Pengertian Agile
Agile merupakan sebuah metodologi yang menekankan praktek continuous iteration dari pengembangan dan testing di Software Development Life Cycle (SDLC).
Pada Agile sebuah product akan dipecahmenjadi bagian-bagian yang lebih kecil. Pemecahan product ini dilakukan untuk membuat setiap bagian dapat dikeluarkan secara incremental dan lebih cepat. Proses Agile yang incremental ini membuatnya lebih mudah menyesuaikan terhadap perubahan yang sebelumnya tidak diketahui (fleksible).
Setiap fase incremental dinamakan sprint, pada setiap sprint sebuah fitur akan dihasilkan untuk nantinya diputuskan apakan akan dikeluarkan atau direvisi untuk menjadi tugas pada sprint berikutnya. Agile sangat mendorong kerja tim dan komunikasi tatap muka langsung untuk dapat berjalan dengan baik, dan secara tidak langsung Agile mengharuskan pemangku kepentingan, serta pengembang dan klien harus bekerja sama dan ikut serta dalam mengembangkan product.
Pengertian Scrum
Scrum merupakan sebuah implemetasi yang menerapkan metode Agile (Scrum Agile) yang memungkinkan pengembangan product scara cepat dan bertahap dengan fokus utama pada nilai bisnisnya.
Scrum menawarkan proses yang fokus terhadap akuntabilitas, kerja tim secara iterative menuju goals yang sudah didefinisikan. Namun pada prakteknya untuk mencapai goals yang diinginkan banyak dari requirements yang kemungkinan besar berubah atau menambah karena sebelumnya tidak diketahui bahwa dibutuhkan. Scrum yang prosesnya secara iterative menawarkan fleksibilitas dalam perubahakan/penambahan requirements yang dapat dilakukan ketika komunikasi tatap muka antara pemangku kepentingan, pengembang dan klien (sifat Agile).
Mengapa Scrum harus ada
Agile hanya sebuah metodologi yang membutuhkan implementasi, yang disebut Scrum. Maka dari itu tanpa Scrum, Agile tidak lain hanya sebuah konsep yang tidak dapat diimplementasikan. Untuk Scrum dapat berjalan terdapat bagian-bagian yang berperan penting dalam prosesnya, berikut adalah bagian-bagian tersebut.
Tim Scrum
Tim pada Scrum merupakan sebuah tim yang nanti akan bekerja dalam satu kesatuan untuk menyelesaikan sebuh fitur yang diinginkan oleh klien, dan dalam tim tersebut biasanya terdiri dari.
- Product Owner
Product owner merupakan individu yang bertanggung jawab atas proyek yang di kembangkan, dan membangun bisnis proses proyek tersebut, lalu menjelaskan Product Backlog kepada Development team. Product Owner juga berperan untuk menghubungkan Klien dengan Development team agar apa yang dimaksud Klien dapat dimengerti oleh Development Team dan sebaliknya. - Scrum Master
Scrum Master merupakan seorang yang paling memahami metode serta cara kerja metode Scrum dalam penanganan suatu proyek. Dia memastikan bahwa nilai-nilai dari Scrum yaitu, commitment, courage, focus, openness dan respect terimplementasi dengan baik dalam prosesnya sehingga kinerja tetap terjaga selama masa sprint. - Development Team
Development team beranggotakan designer, programmer dan lain-lain sesuai kebutuhan product. Setiap anggotanya memiliki tugasnya masing-masing untuk mengerjakan product backlog yang sudah ditugaskan.
Artefak Scrum
Artefak pada Scrum atau umumnya Scrum Artifacts merupakan sebuah kumpulan informasi yang dibutuhkan oleh Pengembang dan Pemangku Kepentingan yang isinya merupakan detail dari product yang sedang dikembangkan, Tindakan untuk membuat product tersebut dan Tindakan yang akan dilakukan selama prosesnya.
Beberapa informasi itu terkumpul menjadi beberapa artefak, berikut adalah artefak tersebut:
- Product Backlog
Product Backlog merupakan kumpulan tentang fitur baru, peningkatan tambahan, bug fixes, tugas-tugas, dan prasyarat kerja yang dibutuhkan untuk mengembangkan product. Product Backlog merupakan sebuah ‘live’ artefak yang dapat berubah sesuai kebutuhan jika terdapat informasi baru. - Sprint Backlog
Sprint Backlog merupakan sebuah kumpulan butir-butir tugas dari Product Backlog yang terpilih untuk dikerjakan pada sprint tersebut. - Product Increment
Product Increment merupakan sebuah output dari suatu sprint yang sudah dikerjakan oleh tim Scrum yang dapat langsung dirasakan oleh klien/pengguna.
Proses Scrum
- Sprint Planning
Sprint Planning merupakan sebuat kegiatan penanda awal mula suatu sprint. Pada Sprint Planning akan ditentukan apa yang akan dikerjakan selama masa sprint dan bagaimana akan diselesaikannya. Sprint Planning dilakukan dengan seluruh tim Scrum - Daily Scrum (Standup Meeting)
Daily Scrum merupakan sebuah pertemuan yang dilakukan diawal hari yang dilakukan oleh tim Scrum dengan waktu kurang lebih 15 menit sebelum memulai pengembangan dihari itu. Kegunaan dari Daily Scrum adalah untuk melaporkan perkembangan setiap anggotanya pada hari kemarin dan menyampaikan rancana yang akan dilakukan hari ini, hal ini dilakukan untuk membuat setiap anggota tetap sinkron terhadap tugas antar anggota. - Sprint Review
Sprint Review merupakan sebuah kegiatan yang menandakan akhir dari pengerjaan sprint backlog. Pada Sprint Review akan dilakukan pemaparan hasil kerja kepada tim Scrum dan klien jika diperlukan. Hasil kerja yang dipaparkan dapat berupa prodcut backlog yang telah selesai atau keadaan dari product backlog saat itu. Dapat juga dilakukan diskusi untuk sprint planning nantinya agar lebih optimal. - Sprint Retrospective
Sprint Retrospective merupakan sebuah kegiatan yang mengakhiri sprint saat ini, didalamnya terdapat kegiatan seperti evaluasi kinerja tim pada sprint lalu. Evaluasi yang dilakukan bertujuan agar para anggota dapat saling terbuka satu sama lain sehinggal dapat menjaga/meningkatkan kinerja pada sprint selanjutnya.
Scrums of Scrum
Sebelumnya telah dijelaskan apa itu Scrum dan dapat diketahui bahwa Scrum sangat fleksible, namun bagaimana jika Product yang diinginkan cukup kompleks sehingga membutuhkan lebih banyak orang untuk mengerjakannya. Menambah anggota tim Scrum bukan merupakan jawabannya, karena menambah orang pada suatu masalah hanya akan membuatnya lebih rumit. Jadi kita memerlukan yang namanya Scrums of Scurm.
Scurms of Scrum merupakan sebuah teknik untuk menaikan skala dari Scrum untuk menghadapi product yang lebih kompleks. Idenya adalah dengan membagi tim Scrum yang besar menjadi beberapa tim Scrum yang lebih kecil namun tetap menjaga hubungan komunikasi antara tim, dengan begitu kinerja tetap effisien dan integrasi tetap terjaga dalam mengembangkan product.
Kesimpulan
Untuk dapat melakukan pengembangan product yang fleksible dan effisien dibutuhkan Scrum yang didalamnya menerapkan metode Agile yang bersifat cepat dan iterative. Terdapat juga Scrums of Scrum yang merupakan skala lebih besar dari penerapan Agile dan Scrum untuk menangani permintaan product yang lebih kompleks.
Referensi
- Agile dan Scrum | Pengenalan.| by Muhammad Saidul Umam | DOT Intern | Medium
- Mengetahui perbedaan Agile dengan Scrum | by lily anastasia | Medium
- Agile Vs Scrum: Difference Between Agile Methodology & Scrum — guru99
- Scrum — what it is, how it works, and why it’s awesome (atlassian.com)
- Scrum Master dan Hal-Hal Penting yang Perlu Kamu Ketahui — Glints Blog