Agile & Scrum 101
Pernahkah anda mengalami kesulitan dalam meng-handle task atau project yang terlalu banyak. mulai dari kerjaan, kehidupan pribadi, dan hal-hal yang tidak terduga lainnya?.
Anggap saja kegiatan-kegiatan tersebut adalah sebuah project, untuk menghandle semua project agar dapat berjalan sesuai rencana dan tidak tumpang tindih kita memerlukan sebuah rencana, manajemen yang baik. Untuk itulah ada sebuah metode namanya Project management. salah satu dari project management yang sedang banyak digunakan dewasa ini adalah Scrum.
Agile dan Scrum.
Apa itu Scrum sendiri? Scrum merupakan salah satu framework yang digunakan untuk mengimplementasikan Agile project management. Agile adalah metode untuk mengatur project terutama pada pengembangan perangkat lunak. manajemen projek Agile menekankan pada nilai-nilai seperti
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
kolaborasi, fleksibilitas, improvisasi, dan hasil yang berkualitas. Nilai tersebut tertulis pada Agile Manifesto. Pada tautan tersebut terdapat prinsip dasar Agile.
Sedangkan nilai-nilai dasar dari Scrum adalah:
- Openess
- Courage
- Respect
- Focus
- Commitment
Namun Agile dan Scrum ini sering kali terdapat kesalahpahaman dan orang-orang sering menganggap sama. Pada dasarnya, Scrum adalah Agile. tapi Agile bukanlah Scrum. Scrum hanyalah salah satu framework atau cara untuk mewujudkan cara berfikir Agile.
Scrum Team.
Perlu diketahui bahwa Scrum sangat menekankan pada kerjasama tim dan komunikasi yang kuat. Pada dasarnya dalam tim Scrum terdapat tiga peran, yang pertama adalah Product Owner, kemudian yang kedua adalah Development Team, dan yang terakhir adalah Scrum Master
Product Owner (PO): adalah seseorang yang berkewajiban memastikan atau memvalidasi apakah yang dikembangkan telah sesuai? does the team build the right things?. Product Owner juga berkewajiban untuk menentukan goals dari project dan biasanya Product Owner lebih memastikan product memenuhi nilai bisnis atau business oriented. Product Owner bisa berasal dari client dan bisa juga berasal dari Team. Terkadang client tidak ingin ikut campur tangan dan hanya ingin hasil jadi.
Development Team (DT): adalah team yang mewujudkan goals dari project. Struktur dari Development Team juga kondisional sesuai kebutuhan dari projectnya. Namun normalnya terdiri dari designer, programmers, QA, dll. Ada kalanya DT juga membutuhkan Customer Services ketika tujuannya membutuhkan peran Customer Services.
Scrum Master (SM): adalah seseorang yang memahami betul konsep dari Scrum dan memiliki peran untuk memastikan apakah Scrum telah di-eksekusi atau diterapkan dengan baik oleh team. Memastikan apakah anggota team telah terbuka sesuai dengan nilai Openess? apakah anggota team telah berkomitmen? dan lain lain. Tujuan dari itu semua adalah untuk membentuk budaya Scrum dalam team.
Scrum Process
Proses Scrum terdiri dari beberapa proses. berikut adalah proses proses tersebut beserta penjelasan singkat mengenai proses tersebut:
1. Sprint
Pada framework SCRUM, proses development di pecah ke dalam satu satuan waktu yang lebih pendek agar bisa sedini mungkin inpspeksi dan adaptasi terhadap perubahan yang ada, satu satuan waktu itu disebut Sprint.
Dalam scrum, 1 (satu) Sprint berdurasi antara 1 minggu hingga maksimal 1 bulan. Jika lebih dari pada itu akan menyulitkan tim dalam beradaptasi terhadap perubahan yang merupakan tujuan utama dari penggunaan scrum itu sendiri. Kebanyakan tim menggunakan sprint berdurasi 2 hingga 3 minggu.
Team harus berfokus pada “Goals”, bukan fitur. Fitur bisa saja berubah selama sprint asalkan Goals masih sama dengan apa yang telah disepakati. 1 sprint wajib memiliki 1 goal yang clear dan disepakati. Kesepakatan goal dari sprint terjadi di proses Sprint Planning.
Team dituntut adaptive selama sprint, karena tidak menutup kemungkinan akan terjadi masalah selama sprint. maka dari itu team perlu memikirkan solusi dari permasalahan tersebut dan beradaptasi dengan cepat agar goals tetap dapat tercapai.
2. Sprint Planning
Pada tahap ini seluruh anggota tim Scrum berkumpul untuk melakukan rapat untuk membahas kesepakatan goals dari Sprint nanti. Sprint planning berdurasi maksimal 8 jam jika sprint berdurasi 1 Bulan. Jika Sprint 2 Minggu maka maksimal sprint planning adalah 4 Jam, dst.
Dalam sprint planning team membahas kesepakatan, dan tujuan selama satu sprint. Apa yang ingin dicapai oleh PO selama satu sprint, fitur apa saja yang ingin di implementasi? dll.
Sprint planning nantinya akan menghasilkan Sprint Backlog yang mana nanti akan dikerjakan saat Sprint.
3. Daily Scrum
Selama dalam periode Sprint, setiap hari tim Scrum akan melakukan daily meeting yang durasinya paling lama adalah 15 Menit. Dalam meeting ini tim akan membahas mengenai:
- Goals yang ingin dicapai hari ini.
- Progress yang telah dicapai.
- Permasalahan yang ditemui.
Daily Meeting ini adalah wadah untuk mencapai pilar utama dalam scrum yaitu transparansi, inspeksi, dan adaptasi. Dimana diharapkan tim dapat terbuka dan berani mengungkapkan pemikirannya jika ada sesuatu yang tidak berjalan sebagaimana mestinya.
4. Sprint Review
Setelah Sprint selesai akan menghasilkan penambahan fitur-fitur yang siap untuk dirilis. Pada sprint review, tim scrum akan melakukan transparansi terhadap hasil development selama 1 sprint agar bisa diinspeksi sehingga mampu beradaptasi jika terdapat perubahan kondisi. Idealnya bentuk transparansi tim scrum adalah dengan mempresentasikan hasil dari sprint kepada Stakeholder.
Stakeholder disini adalah pihak pihak yang memiliki kepentingan dengan product. Misalkan User, Client, dan lain lain. Sebagai contoh, Google dalam event Google I/O mengundang user, developer, sebanyak mungkin dan event tersebut sebenarnya adalah salah satu bentuk review. yang tujunannya untuk mendapatkan feedback.
diharapkan selama sprint review, semua pihak dapat mewujudkan trasnparansi baik dari developer, product owner, scrum master, dan stakeholder. dan juga jika ada inspeksi maka inspeksi tersebut dapat menjadi feedback untuk team.
Setelah didapatkan feedback, kemudian feedback tersebut akan dimasukkan kedalam Product Backlog untuk diproses pada Sprint berikutnya.
5. Sprint Retrospective
Jika Sprint Review mengevaluasi produk, maka Sprint Retrospective adalah wadah untuk mengevaluasi individu & interaksinya. Semua anggota team dapat menyampaikan kesan selama satu sprint, apakah bahagia? apakah terlalu berat dan lain lain. begitu juga dengan product owner dan scrum master dapat memberikan atau mengungkapkan perasaannya dan kendala yang dialami selama satu sprint. Sprint Retrospective menghasilkan action point untuk bisa meng-improve kinerja di sprint selanjutnya.
5 proses diatas adalah proses utama dari scrum. Namun ada beberapa proses yang berguna untuk membantu proses scrum menjadi lebih efektif dan efisien. berikut ini adalah beberapa contohnya.
- Inception
Pertama kali semua anggota tim Scrum (PO, DT, SM) melakukan meeting / rapat untuk membahas tentang apa saja sih keinginan dari PO? target apa yang ingin dicapai?
Inti dari inception adalah wadah untuk brainstorming mengenai goal dari sebuah produk. Setiap pihak yang tergabung dalam team menyampaikan setiap ide dan pemikiran yang dimiliki. Setelah brainstorming, akan dicari sebuah kesepakatan antara mengenai sprint nantinya. Dalam inception juga dibahas tentang visi misi team itu sendiri.
- Backlog Refinement / Backlog grooming.
Setelah tim mendapatkan Backlog, tim perlu melakukan penataan Backlog ulang untuk menyusunnya agar sesuai dengan prioritas dan kemudahan menggunakan priority diagram.
Backlog yang mudah dan memiliki prioritas penting akan berada di posisi paling atas dan akan diambil pertama kali untuk deselesaikan pada proses Sprint.
walhasil, setelah Sprint review selesai, kembali lagi ke tahap Backlog refinement dan seterusnya.
Kesimpulan
yang sering kali salah dipahami oleh orang-orang adalah bahwa Scrum dan Agile itu berbeda tapi satu. Agile adalah mindset dan Scrum adalah bagaimana cara kita mewujudkan mindset tersebut.
kemudian Scrum bukan untuk mengerjakan sesuatu dengan cepat, tapi untuk mendeteksi dengan sedini mungkin, karena dalam scrum menyediakan banyak wadah selama proses untuk melakukan inspeksi dan adaptasi.
Itulah sekilas overview mengenai Agile dan Scrum. Semoga membantu! 🤠