Catatan ini merupakan refleksi dari pengalaman setelah merasakan implementasi scrum di beberapa tempat. Juga rangkuman-rangkuman setelah membaca-baca dokumentasi resmi dan mengikuti beberapa kursus scrum di Linked Learning.
Misalnya, klien Anda ingin membuat aplikasi e-commerce. Anda kemudian membuat semua proposal dan dokumentasinya secara detail setelah melakukan analisa yang lama dan mendalam. Klien pun kemudian setuju. Tim development lalu memulai pengerjaan.
Tapi ternyata, di tengah pengerjaan, ada kebutuhan bisnis sangat mendesak, yang memaksa klien Anda untuk mengubah sebagian atau seluruh alur bisnis.
Jika menggunakan manajemen tradisional, maka seluruh perencanaan dan penulisan dokumentasi harus dilakukan ulang hingga selesai agar pengerjaan bisa dilakukan. Tentu saja hal ini akan membutuhkan waktu sebagaimana proses sebelumnya.
Tapi jika memakai pendekatan agile, anda bisa segera melakukan perubahan secara bertahap tanpa harus menunggu semua perencanaan dan dokumentasi siap.
Perubahan ini sangat mungkin terjadi karena agile memiliki manifesto:
- Lebih mengutamakan individu dan interaksi atas proses dan peralatan
- Lebih mengutamakan software yang berfungsi atas dokumentasi yang komprehensif
- Lebih mengutamakan kolaborasi dengan klien atas negosiasi kontrak
- Lebih mengutamakan tanggap dengan perubahan atas mengikuti rencana
Scrum adalah salah satu agile framework yang sederhana dan mudah dipahami.
Karena itu ia jadi paling populer di antara yang lain.
Berikut ini adalah diagram yang menggambarkan keterkaitan antar scrum team.
- Product Owner yang mendefinisikan seperti apa fitur-fitur sebuah produk.
- Scrum Master yang memastikan semua tim melaksanakan prinsip-prinsip scrum secara benar.
- Development Team yang mewujudkan semua definisi fitur menjadi aplikasi siap pakai.
Tiap anggota scrum team akan saling berinteraksi melalui serangkaian pertemuan atau acara. Tapi sebelum semuanya dimulai, product owner, dibantu scrum master, harus membuat product backlog terlebih dahulu.
Berikut ini adalah acara-acara yang harus dihadiri secara berurutan oleh semua anggota scrum:
-
- Pertemuan ini diadakan oleh scrum master sebelum sebuah sprint dimulai.
- Dihadiri oleh semua scrum team
- Product owner menyampaikan sprint backlog yang akan dikerjakan di sprint selanjutnya
- Development team harus menentukan story point untuk setiap user story
-
- Pertemuan ini diadakan oleh scrum master setiap hari.
- Dihadiri oleh semua scrum team
- Dilaksanakan secara singkat. Biasanya 15 menit.
- Development team menyampaikan:
- Apa yang sudah dikerjakan kemarin
- Menyampaikan kendala apa yang ditemui, jika ada
- Apa yang akan dikerjakan hari ini
-
- Pertemuan ini diadakan oleh scrum master saat sprint berlangsung
- Dihadiri oleh semua scrum team
- Pertemuan ini diadakan karena ada informasi atau perubahan baru terkait product backlog yang ada sekarang
-
- Pertemuan ini diadakan oleh scrum master di akhir sprint
- Dihadiri oleh semua scrum team dan pemangku kepentingan
- Product Owner menyampaikan fitur-fitur apa saja yang di-release pada sprint ini dengan mendemokannya ke khalayak
- Semua pemangku kepentingan lalu diminta pendapatnya
-
- Pertemuan ini diadakan oleh scrum master
- Dihadiri oleh semua scrum team
- Setiap anggota scrum team diminta pendapatnya secara anonim tentang:
- Apa yang sudah benar dan layak dilanjutkan
- Apa yang tidak benar dan harus dihentikan
- Apa yang perlu diperbaiki
-
Orang yang bertanggung jawab terkait dengan fitur-fitur produk.
- Menjalin komunikasi pemangku kepentingan yang terkait dengan fitur dan produk untuk mengetahui flow bisnis yang dibutuhkan
- Menentukan visi produk
- Membuat road map
- Membuat product backlog yang berisi banyak sekali user story dan acceptance criteria-nya.
- Membuat sprint backlog
- Memperbaiki dan memperhalus sprint backlog
-
Orang yang memastikan semua tim melaksanakan prinsip-prinsip agile dan scrum.
- Membantu product owner membuat product backlog yang baik
- Mengadakan dan memandu sprint planning
- Mengadakan dan memandu daily standup
- Mengadakan dan memandu backlog refinement
- Mengadakan dan memandu sprint retrospective
- Membantu menyelesaikan masalah yang terjadi antar tim
-
Orang-orang yang bertanggung jawab dalam pembuatan proyek sesuai dengan keahlian dan bidangnya masing-masing. Biasanya terdiri dari: desainer, backend developer, frontend developer, dan QA.
- Membuat estimasi terhadap user story yang telah dibuat di sprint planing
- Mengerjakan story-story yang telah ditentukan di sprint planing
- Memberikan feedback atas product backlog yang sudah dibuat melalui backlog refinement
-
Pertemuan singkat antar tim scrum yang diadakan sekitar 15 menit sehari.
Tiap tim berbagi tentang:- apa yang sudah dikerjakan kemarin
- apa yang akan dikerjakan hari ini
- menyebutkan masalah atau
blockerjika ada
-
Product backlog berisi semua user story yang mungkin terdapat dalam sebuah produk. Ia dapat bertambah atau berkurang. Menyesuaikan kebutuhan bisnis.
-
- Berisi penjelasan fitur yang digunakan para pengguna
- Jika ternyata pengerjaan fitur tersebut sangat kompleks, ia harus dipecah menjadi lebih sederhana -- agar bisa diperkirakan kapan selesainya.
- Judul, deskripsi dan acceptance criteria dibuat oleh product owner.
- Sedangkan story point ditentukan oleh development team saat sprint planning.
Contoh-contoh user story:
No Judul Deskripsi Acceptance criteria Story point 1 Simpan email dan password Sebagai user standar, saya bisa menyimpan email dan password ke dalam sistem Email harus unik. password harus terdiri alpanumerik + tambah karakter khusus. Password minimal 8 karakter 1 2 Aktivasi akun Sebagai user standar, saya bisa aktivasi melalui link yang dikirim ke email. Aktivasi akan expired dalam waktu 24 jam 1 3 Tambahkan data pribadi Sebagai user standar, saya bisa menambahkan nama lengkap, alamat, dan nomor handphone. Nama, alamat, dan handphone tidak boleh kosong 1 4 Update email dan password Sebagai user standar, saya bisa mengubah email dan password Email dan password tidak boleh sama dengan sebelumnya 2 -
Adalah perkiraan tentang:
- Jumlah pekerjaan yang harus dilakukan
- Kompleksitas pekerjaan
- Segala resiko atau ketidakpastian dalam melakukan pekerjaan
Direpresentasikan dengan angka fibonaci: 1, 2, 3, 5, 8, 13, dan 21
-
Waktu yang digunakan untuk mengerjakan user story terpilih. Biasanya selama 2 minggu.
-
Setelah user story selesai dibuat oleh product owner, ia lalu memilih beberapa yang harus dikerjakan terlebih dahulu dalam satu sprint.