Scrum adalah teknik agile berikutnya setelah "design sprint" selesai dilakukan

Mendalami Scrum, Kerangka Manajemen Kerja yang “Ramah” Bagi Pengembang

Era digital yang dinamis, menuntut perusahaan untuk cepat berinovasi membuat produk yang dapat menjawab kebutuhan konsumen dan dirilis dalam waktu singkat. Cara ini untuk menjawab bupaya perusahaan agar tetap terdepan dibandingkan kompetitor.

Ada banyak metodologi yang dapat dipakai untuk mengakomodasi proses pembuatan produk tersebut hingga sampai ke tangan konsumen. Ini disebut fase delivery, setelah proses design thinking selesai.

Dalam fase ini, Anda akan menghadapi tantangan bagaimana mengimplementasikan produk dengan cepat, efisien, atau dikenal dengan teknik agile. Teknik ini sekarang kian tenar karena dipakai untuk proyek kompleks, disebut dengan istilah scrum.

Scrum dibuat oleh Jeff Sutherland dan Ken Schwaber yang merupakan seorang pengembang pada medio tahun 1990-an di Amerika. Berkat temuannya ini, bisa menggiring perusahaan teknologi seperti Amazon, Google, dan Facebook menjadi raksasa sampai sekarang.

Kepada DailySocial, Head of Department Digital Growth Asset Telkomsel Wisnu Ario Supadmono memaparkan, scrum adalah tahap lanjutan dari design sprint. Bedanya, design sprint adalah fase penemuan (discovery) dari ide yang cepat hingga menjadi prototipe.

Sementara, scrum adalah fase delivery dari prototipe hingga menjadi produk yang bisa digunakan konsumen. Ia dikenal sebagai kerangka kerja yang memungkinkan perusahaan mengawal pembuatan produk yang kompleks, tapi adaptif dengan perubahan pasar sehingga punya nilai tinggi bagi konsumen.

“Scrum ini adaptif terhadap perubahan, tapi dengan kualitas yang bagus, developer pun happy karena enggak akan bingung. Teknik ini mengakomodir success fast fail fast,” terang dia.

Dalam era yang dinamis, sambungnya, tidak ada produk yang langsung sempurna. Maka yang bisa dilakukan adalah meluncurkan minimum viable product (MVP), tetapi yang sudah bisa memecahkan masalah terbesar dari konsumen. Proses iterasi secara bertahap dari waktu ke waktu agar dapat selalu mengikuti kemauan pasar yang bergerak cepat.

Dia mencontohkan, implementasi scrum yang dapat dilihat jelas adalah revolusi Gojek. Dari awalnya hanya menyediakan layanan ojek online, kini sudah menyentuh vertikal bisnis lintas industri.

Pemahaman awal tentang scrum

Mengapa harus scrum? Apakah ada metode lain yang bisa digunakan. Tentu saja ada, contohnya adalah kanban dan waterfall. Keduanya masih dapat dipakai tergantung kompleksitas proyeknya.

Kerangka kerja scrum lebih banyak digunakan untuk proyek kompleks dengan dinamika perubahan yang dinamis. Sebab ia adaptif dengan perubahan, sehingga bisa menyesuaikan apabila ada syarat (requirement) yang perlu ditambahkan. Scrum membutuhkan waktu paling lama sebulan hingga MVP siap dipakai konsumen.

Sedangkan waterfall, misalnya, seluruh syarat sudah dikunci sejak awal perancangan tidak boleh berubah sampai ia jadi. Apabila inovasi di ubah di tengah jalan, ia tidak seadaptif scrum, malah membuat pengembang jadi kelimpungan sebab harus mengubah dari awal.

Tapi kondisi ini tidak serta merta membuat scrum lebih unggul daripada waterfall. Ada kondisi tertentu, kalau memakai scrum justru jadi lebih makan waktu. Waterfall cenderung lebih cocok untuk proyek simpel dengan syarat yang fixed.

“Di tempat kami, waterfall masih dipakai, kita kombinasikan karena metode ini enggak salah juga buat project-project yang requirement-nya fixed. Memang bagusnya pakai waterfall, contohnya seperti sesuatu yang sudah menjadi rutinitas.”

Dari revolusi layanan Gojek, menjadi gambaran jelas. Apabila suatu perusahaan membuat aplikasi yang kompleks seperti super apps, maka akan sulit mendapatkan syarat yang pasti. Ini bukan karena kesalahan pengembang atau pemilik produk (product owner) karena tidak bisa membuatnya, melainkan mengikuti kebutuhan pasar yang dinamis.

“Biasanya developer kalau di tengah jalan tiba-tiba berubah, mereka akan pusing. Tapi scrum menganulir itu, mau berubah kapanpun tidak masalah, meski banyak yang diubah, kualitas akan tetap baik.”

Mengambil dari ilustrasi di atas, membuktikan ada perbedaan kerangka kerja antara scrum dan waterfall. Ada solusi yang ingin diberikan moda transportasi yang cepat buat konsumen.

Perjalanan untuk menjawab solusi di atas ada perbedaan cara. Untuk waterfall, syarat yang diminta pemilik produk sudah jelas, ialah membuat mobil. Tahapan awalnya adalah dengan menyusun posisi ban mobil, kerangka mobil, hingga jadi mobil yang bisa dipakai.

Tapi, di dalam scrum justru tidak langsung membuat mobil, melainkan membuat skateboard sebagai MVP dengan maksud mempermudah konsumen sampai ke tempat yang dituju. Pengembangan berikutnya adalah membuat setang, perlahan berkembang jadi sepeda, motor, hingga akhirnya mobil setelah berkali-kali meminta masukan dari konsumen.

“Kita enggak tahu di tengah jalan ternyata maunya konsumen bukan mobil tapi cukup sepeda. Kita bisa berhenti di situ, bila konsumen kasih masukan, bisa belok buat sepeda listrik.”

“Kalau waterfall, setelah mobil jadi baru bisa terima masukan, padahal prosesnya sudah lama. Tapi di scrum, dari MVP bisa langsung dicoba konsumen, kalau gagal bisa berhenti,” sambungnya.

Proses kerja dalam scrum

1. Nilai penting scrum

Dalam kerangka kerja scrum, ada lima nilai penting yang harus dijunjung tinggi oleh tim. Kelima itu adalah komitmen, keberanian, fokus, keterbukaan, dan menghormati. Ketika ini dijunjung, maka tiga pilar penting dalam scrum, yakni transparansi, inspeksi, dan adaptasi bisa lebih hidup dan rasa percaya antar anggota tim lebih terjaga.

2. Susunan tim

Tim scrum biasanya terdiri dari pemilik produk (product owner), tim pengembang, dan scrum master. Sama seperti design sprint yang memerlukan sprint master sebagai fasilitator, memastikan supaya proses scrum terjadi. Minimal satu tim terdiri dari enam sampai sembilan orang.

Disarankan juga, sebaiknya scrum master harus memiliki sertifikat yang dikeluarkan lembaga resmi, seperti Scrum Alliance. Apabila tidak ada, agak disangsikan karena kemungkinan memberikan hasil yang berbeda. Semangat scrum itu sendiri adalah memastikan bahwa maksimal dalam waktu satu bulan produk MVP bisa dirilis ke pasar.

Sertifikat ini bersifat terpisah dari sprint master. Artinya, tidak perlu mengambil sertifikat jadi sprint master sebelum mengajukan scrum master, sebab keduanya ini adalah dua hal yang berbeda.

“Bisa dipilih, kalau sekop pekerjaannya end to end dari fase discovery sampai delivery, sebaiknya iya. Tapi kalau hanya salah satunya scoop-nya, cukup ambil salah satu tergantung kebutuhan dari pekerjaannya.”

Orang yang menjadi scrum master setidaknya disarankan punya pengalaman sebagai pengembang agar dia paham bagaimana cara tim pengembang bisa bekerja secara optimal.

Kembali soal tim, mereka bekerja secara mandiri dan lintas fungsi (cross function). Bebas untuk memilih cara terbaik dalam menyelesaikan pekerjaannya tanpa diperintah orang lain di luar tim. Lintas fungsi ini maksudnya semua anggota tim punya semua keahlian yang dibutuhkan tanpa bergantung pada orang lain di luar tim.

Pemilik produk

Sumber : Romanpichler
Sumber : Romanpichler

Ia adalah orang yang bertanggung jawab untuk memaksimalkan nilai bisnis dari produk yang dihasilkan tim pengembang. Ia juga adalah satu-satunya orang yang bertanggung jawab dalam pengelolaan product backlog. Tanggung jawab tersebut meliputi, menyampaikan isi product backlog item secara jelas, memilih prioritasnya untuk mencapai misi dengan cara terbaik.

Berikutnya, mengoptimalkan nilai bisnis dari pekerjaan yang dilakukan tim pengembang, memastikan agar product backlog dapat dilihat, transparan, dan jelas untuk semua pihak, dan memastikan tim pengembang memahami product backlog item hingga batas tertentu.

Wisnu juga menyarankan sebaiknya pemilik produk punya kemampuan discovery selayaknya dalam design sprint. Ini berguna untuk membantunya dalam mengambil keputusan yang lebih mantap atas produk apa yang ingin dibuat.

Tim pengembang

Di dalam tim ini berisi front end engineer, back end engineer, UI/UX engineer, quality assurance, system analyst, dan software tester. Mereka bekerja secara mandiri, diberi wewenang oleh tim untuk menyusun dan mengelola pekerjaan mereka sendiri. Hasil sinergi dari tim ini akan mengoptimalkan efisiensi dan efektivitas secara keseluruhan.

Meski produk yang akan dirilis adalah punya pemilik produk, tapi tim pengembang bisa mempertanyakan apakah prioritas yang ia ingin penting atau tidak. Diskusi ini diharapkan membuat kedua belah pihak saling transparan satu sama lain.

Karakteristik yang diberikan scrum untuk tim pengembang adalah mereka kerja mandiri, tidak ada satu orang pun, termasuk scrum master, yang mengarahkan bagaimana memanifestasikan product backlog menjadi gabungan fungsionalitas yang berpotensi untuk dirilis.

Mereka juga bersifat lintas fungsi, punya semua keahlian yang diperlukan untuk membuat increment; tidak ada jabatan dan pengelompokkan, terlepas dari jenis pekerjaan yang mereka kuasai; setiap orang bisa saja memiliki keahlian khusus di bidang tertentu, tapi tanggung jawab adalah milik seluruh anggota tim.

Idealnya jumlah tim ini tidak kebanyakan atau terlalu sedikit, demi memastikan tim tetap lincah. Pastikan jumlah anggota cukup untuk menyelesaikan pekerjaan secara signifikan. Kalau kurang dari tiga orang maka interaksi semakin berkurang dan tingkat produktivitasnya lebih rendah. Pada akhirnya berdampak pada hasil increment.

Scrum master

Scrum master adalah orang yang bertanggung jawab untuk mengenalkan dan memandu proses, teori, praktik, aturan, dan tata nilai scrum agar berkualitas dan memberikan hasil maksimal. Ia bisa dikatakan sebagai ahli scrum yang direkrut oleh perusahaan, jika tidak ada talenta di bidang scrum, untuk memandu proses scrum yang digelar oleh mereka.

Scrum master bisa disebut juga sebagai agile coach atau servant leader karena menjadi penengah untuk pihak-pihak yang ia layani. Mulai dari pemilik produk. Scrum master memastikan tujuan, ruang lingkup, dan ranah produk dipahami sebaik mungkin oleh semua orang di dalam tim; menemukan teknik yang paling efektif untuk mengelola product backlog.

Membantu tim scrum memahami perlunya product backlog item yang jelas dan padat; memastikan product owner paham bagaimana mengelola product backlog yang memaksimalkan nilai bisnis; memahami dan mempraktikkan agility; dan memfasilitasi acara-acara scrum.

Berikutnya untuk melayani tim pengembang, membimbing tim agar dapat mandiri dan lintas fungsi; membantu tim menghasilkan produk bernilai bisnis tinggi; menghilangkan hambatan yang memperlambat perkembangan pekerjaan tim; membimbing tim pengembang di organisasi, di mana scrum belum sepenuhnya dipraktikkan dan dipahami.

Terakhir, melayani perusahaan, untuk memimpin dan membimbing organisasi dalam penggunaan scrum; merencanakan implementasi scrum dalam organisasi; membantu karyawan dan pemilik kepentingan untuk memahami dan menggunakan scrum dan pengembangan produk secara empiris, dan sebagainya.

3. Proses scrum

Scrum memiliki beberapa kerangka kerja yang wajib dilaksanakan untuk menciptakan keberlanjutan dan mengurangi gesekan lain yang bukan bagian dari scrum. Setiap prosesnya punya batasan waktu maksimal. Ketika sprint dimulai, durasinya tidak bisa dipersingkat ataupun diperpanjang. Berikut urutannya:

Pembuatan product backlog

Proses pembuatan product backlog untuk informasi produk adalah daftar yang sudah diurutkan semua hal yang telah diketahui hingga saat ini. Isi, ketersediaan, dan urutan dari product backlog merupakan tanggung jawab sepenuhnya pemilik produk.

Product backlog berisi pengalaman cerita konsumen yang sudah dirumuskan terlebih dahulu supaya terbayang interaksi yang akan dilakukan. Karena berbasis pengalaman konsumen dan perubahan pasar, isi product backlog terus berevolusi mengikuti arah.

Oleh karenanya, sebuah product backlog ini tidak pernah tuntas. Selama produk masih ada, maka product backlog juga akan selalu ada.

Di samping itu, product backlog terdapat daftar dari seluruh fitur, fungsi, kebutuhan, peningkatan, dan perbaikan yang perlu diterapkan terhadap produk pada perilisan mendatang.

Ia juga dilengkapi informasi penting deskripsi, urutan, estimasi, dan nilai bisnis. Deskripsi meliputi keterangan pengujian produk yang akan menjadi bukti ketuntasan ketika product backlog item dinyatakan selesai.

Sprint planning

Sprint planning adalah perencanaan sebelum sprint yang dilakukan secara kolaboratif oleh seluruh anggota tim scrum. Kisaran waktu kerjanya bervariasi ada yang delapan jam sehari atau lebih, untuk sprint yang berdurasi satu bulan. Untuk sprint yang lebih singkat, maka alokasi waktunya juga akan lebih singkat.

Scrum master bertugas untuk memastikan tahap ini dilakukan dengan baik agar peserta paham tujuannya. Ia juga memberitahu tim untuk menjaga sprint planning tetap dalam batasan waktunya.

Sprint planning berguna untuk menjawab berbagai pertanyaan penting. Misalnya, apa yang dapat dimasukkan ke dalam increment dari sprint? dan bagaimana tim menyelesaikan pekerjaan yang dibutuhkan untuk menghantar increment?.

Biasanya tim pengembang mulai merancang sistem dan apa saja yang perlu dikerjakan untuk mengubah product backlog menjadi increment yang berfungsi. Saat sprint planning, tim scrum juga menentukan objektif atau sprint goal.

Sprint goal akan dicapai selama sprint melalui implementasi product backlog dan menyediakan panduan untuk tim pengembang dalam mengembangkan increment. Pada akhirnya, sprint planning akan menghasilkan sprint backlog, yakni daftar pekerjaan dan bobotnya yang akan dikerjakan oleh tim pengembang saat sprint.

Sprint

Proses ini adalah jantung dari seluruh rangkaian scrum. Sprint adalah proses pembuatan produk atau layanan sampai digunakan konsumen dan berpotensi untuk dirilis dengan batasan waktu maksimal satu bulan. Sprint memiliki durasi yang konsisten sepanjang daur hidup pengembangan produk.

Satu sprint dapat langsung dimulai setelah sprint sebelumnya selesai. Sehingga, maksimal dalam satu bulan, perusahaan bisa merilis produk yang dibuat melalui proses scrum.

Wisnu mengingatkan ada beberapa hal yang perlu diingat saat sprint. Diantaranya, tidak boleh ada perubahan yang mengancam sprint goal; tingkat kualitas tidak boleh menurun; ruang lingkup dapat diklarifikasi dan dinegoisasi ulang antara pemilik produk dan tim pengembang setiap ada hal baru yang mereka pelajari.

Karena waktu maksimal tiap sprint adalah satu bulan, peran tim scrum sangat penting untuk melakukan slicing produk mana yang masuk ke MVP, tapi bisa membawa dampak positif bagi konsumen. Ada kondisi anomali, jika sprint tiba-tiba dibatalkan, yang mana otoritasnya hanya dipegang oleh pemilik produk.

Daily meeting scrum

Di sini adalah kegiatan di mana tim pengembang dengan batasan waktu 15 menit dan wajib dilakukan setiap hari selama sprint berlangsung. Tujuannya adalah untuk mengetahui pembaruan yang akan dicantumkan di scrum board. Tim pengembang juga memberi tahu rencana kerja mereka untuk sehari ke depan.

Kegiatan ini dapat mengoptimalkan kolaborasi dan performa dari tim dengan melakukan inspeksi pada scrum sebelumnya. Selain itu, untuk mengetahui estimasi pekerjaan di tahap selanjutnya di dalam sprint.

Dengan demikian, product owner dapat secara langsung melihat progres produknya tanpa harus membebani tim pengembang dengan menghujani berbagai pertanyaan. Dampaknya apabila tim pengembang terlalu di-push adalah mereka tidak bisa memberikan hasil yang maksimal.

“Dari pengalaman saya, product owner mengatakan bahwa scrum ini jadi jelas, semuanya transparan. Developer bisa dapat transparansi apa yang diinginkan product owner, begitupun sebaliknya. Jadi no hidden agenda.”

Daily scrum berguna untuk meningkatkan kualitas komunikasi tim, mengeliminasi pertemuan lain yang tidak perlu, mengidentifikasi hambatan yang harus dihilangkan, menyoroti dan mendukung pengambilan keputusan secara cepat, dan meningkatkan tingkat pengetahuan dari tim pengembang.

Setiap daily scrum, biasanya tim pengembang akan memindahkan backlog di scrum board apabila ada progres yang signifikan.

Sprint review

Sprint review diselenggarakan di akhir sprint untuk menginspeksi increment dan mengadaptasi product backlog bila diperlukan. Saat sprint review, tim scrum dan pemegang kepentingan berkolaborasi untuk meninjau apa yang diselesaikan di sprint.

Berdasarkan hasil tinjauan tersebut dan perubahan product backlog di dalam sprint, seluruh tim berkolaborasi menentukan langkah selanjutnya untuk mengoptimalkan nilai bisnis. Biasanya pertemuan ini bersifat informal, bukan seperti daily scrum.

Presentasi increment diperlukan guna mendapat umpan balik dan mengembangkan kemampuan kolaborasi. Pertemuan ini dilakukan paling lama empat jam untuk sprint berdurasi satu bulan.

Di dalam sini, kegiatan yang dilakukan diantaranya penjelasan product backlog item yang sudah selesai dan yang belum selesai oleh product owner; lalu keadaan product backlog hingga saat ini; dan memproyeksikan target dan tanggal penghantaran produk berdasarkan perkembangan hingga hari ini apabila ditanyakan.

Dari sisi tim pengembang, mereka bertugas untuk menjelaskan apa yang berjalan baik sepanjang sprint, masalah yang mereka hadapi, dan solusinya; mendemostrasikan pekerjaan yang telah selesai dan menjawab pertanyaan-pertanyaan mengenai increment.

Seluruh tim, dan hadirin lainnya yang diundang product owner seperti pemegang kepentingan utama, berdiskusi mengenai apa yang akan dilakukan selanjutnya untuk sprint planning berikutnya; meninjau keadaan pasar atau potensi penggunaan produk yang mungkin telah berubah, dan hal apa yang paling bernilai untuk dikerjakan selanjutnya.

Sprint retrospective

Ini adalah acara bagi tim scrum untuk menginspeksi diri sendiri dan membuat perencanaan mengenai peningkatan yang akan dilakukan di sprint berikutnya. Acara ini dilakukan setelah sprint review dan sebelum sprint planning berikutnya maksimal empat jam.

Tujuan akhir yang ingin disasar dari sprint retrospective adalah wadah untuk mengeluarkan hal-hal yang mengganjal dalam melakukan proses sprint dengan nuansa positif demi perbaikan ke depannya.

Wisnu menerangkan di sini, semua orang boleh mengeluarkan unek-uneknya dan menyampaikan tidak suka sama siapa. Tapi uniknya dengan scrum, teknik penyampaiannya atau framing-nya dibuat terdengar positif.

“Di sini semua orang dipaksa untuk terbuka. Tapi sebelum diutarakan ke orang yang bersangkutan, harus di-brief terlebih dahulu oleh scrum master untuk diarahkan menjadi framing positif. Orang yang dituju bakal merasa tim care dengan dia karena diberikan solusi, bukan asal menyalahkan saja.”

Penutup

Seluruh rangkaian scrum, mulai dari pembuatan user journey, pembuatan product backlog, proses sprint planning untuk memilih prioritas product backlog yang akan menjadi sprint backlog, melakukan sprint maksimum satu bulan, daily scrum setiap hari selama 15 menit, sprint review, sprint restrospective, dan perilisan produk. Jam kerjanya pun masuk kategori normal, maksimal delapan jam setiap hari.

Wisnu menerangkan seluruh kerangka kerja ini harus dilakukan secara disiplin, tidak boleh satupun sesi yang dihilangkan demi memastikan perilisan produk tetap sesuai dengan target awal.

Meski tenggat maksimal sprint adalah satu bulan, ada kondisi anomali yang memaksa untuk ditoleransi hingga harus diperpanjang. Wisnu menyebut kondisi tersebut memang ada kemungkinannya bakal terjadi. Malah dari pengalamannya, pernah sampai diperpanjang tambahan satu bulan.

Toleransi ini penting karena saat sprint perdana dalam MVP harus punya fondasi yang kuat untuk keberlangsungan suatu produk, sehingga wajar bila ini adalah masa terberat. MVP adalah fondasi untuk menjawab pertanyaan dasar ‘Apakah benar solusi yang Anda tawarkan bisa memuaskan kebutuhan user yang paling dasar?.’

Selain perilisan produk dan inovasi bisnis bisa lebih cepat dan adaptif, metode scrum juga memiliki kemungkinan gagal yang lebih kecil dibanding kerangka kerja lainnya, seperti waterfall sebagai contoh yang paling familiar. Scrum memperkecil kegagalan produk dan inovasi saat diluncurkan ke pasar.

“Kalaupun ujung-ujungnya fail, ya enggak apa-apa kan ini terjadinya dalam waktu dua bulan saja. Ini success fast fail fast,” pungkasnya.