Mari kita pahami dulu apa yang dimaksud dengan scrum? mengapa menggunakan scrum? kapan scrum digunakan? apakah yang dimaksud dengan permasalahan kompleks?
Scrum adalah suatu kerangka kerja untuk mengatasi permasalahan kompleks adaptif bertujuan meningkatkan kualitas produk serta meningkatkan kinerja tim dan organisasi. Scrum bukan sebuah proses, teknik maupun metodologi karena scrum hanyalah sebuah kerangka kerja tempat berbagai macam proses maupun teknik di dalamnya (scrum guide).
Kata scrum digunakan para pemain rugby agar bersatu maju ke depan dan ini menjadi inspirasi tulisan Hirotaka Takeuchi dan Ikujiro Nonaka berjudul "new product development game" tahun 1986 diterbitkan Harvard Business Review. Mereka mengusulkan pengembangan produk baru berdasarkan analogi rugby tersebut yaitu saling mengover bola diantara para pemain sebagai suatu kesatuan tim.
Tahun 1990 scrum mulai digunakan menangani permasalahan kompleks dan tahun 1995 dikembangkan menjadi scrum guide oleh Jeff Shuterland dan Ken Schwaber dalam presentasi di konferensi objected oriented programming systems di Austin Texas.
Saat ini scrum menjadi kerangka kerja agile terpopuler di dunia berdasarkan Annual Agile State Report 2018
baca juga: 8 Alasan Menggunakan Agile
Dengan menggunakan scrum maka permasalahan kompleks akan teratasi karena scrum dirancang sebagai cara ampuh mengatasi permasalahan kompleks ini.
Apa sebenarnya yang dimaksud permasalahan kompleks?
Permasalahan komplek adalah zona masalah tingkat 3 dari urutan permasalahan paling ringan. Tingkatan zona masalah meliputi:
- Permasalahan sederhana
- Permasalahan rumit
- Permasalahan kompleks
- Permasalahan kacau
1. Permasalahan sederhana (simple problem)
- Disini terdapat hubungan sebab akibat teridentifikasi cukup jelas dan mudah dilihat setelah dicermati sehingga jawaban dari permasalahan ini sudah pasti.
- Adanya pola permsalahan berulang dan pemecahan masalah bisa diambil melalui history data dan stanarisasi.
- Manajemen berbasis fakta yaitu kemudahan akses terhadap informasi dan fakta. Penanganan permasalahan melalui pendelagasian tugas sesuai PIC.
baca juga: Analisa 6M untuk Mengatasi Masalah dalam Proses Produksi
2. Permasalahan rumit (complicated problem)
- Membutuhkan analisis seorang ahli karena permasalahan rumit memerlukan penyelidikan terperinci agar mendapatkan beberapa opsi alternatif solusi.
- Masalah masih dapat diprediksi lebih dominan, ketika menghadapi permasalahan rumit maka harus merasakan, menganalisa dan merespon suatu keputusan.
- Manajemen berbasis fakta (sama dengan ciri pada permasalahan sederhana).
baca juga: Menerapkan Analisis SWOT dan Fishbone Diagram Secara Terpadu
3. Permasalahan kompleks (complex problem)
- Terdapat banyak masalah tanpa bisa diprediksi sehingga seringkali perencanaan saat ini belum tentu masih relevan dimasa mendatang.
- Standarisasi maupun solusi yang tepat belum tentu bisa ditarik keluar sebagai "best practice" maupun "good practice". Misalnya solusi ini sesuai bagi A tetapi belum tentu cocok di B atau solusi sesuai di A saat ini tetapi belum tentu cocok di A dimasa mendatang.
- Many competing ideas akibat banyaknya ide bermunculan manghadapai masalah tanpa bisa diprediksi sedangkan keputusan harus segera diambil.
- Sebab akibat sulit diketahui
- Terjadi banyak pergolakan sehingga membutuhkan banyak keputusan
- Tidak mempunyai cukup waktu mengikuti prosedur bisnis seperti biasanya.
baca juga: Strategi Menurunkan Biaya DLC Agar Operasi Perusahaan Tetap Berjalan
Jika dipastikan bahwa saat ini ternyata sedang menghadapi permasalan kompleks pada tingkat 3 zona masalah maka gunakan scrum untuk mengatasinya. Untuk itu kita pahami dulu sekilas teori scrum sebelum implementasinya yaitu memahami tentang artefak scrum, pilar scrum dan nilai - nilai yang dijunjung oleh scrum.
3 Artefak Scrum
Artefak Scrum terdiri dari:
- Product backlog
- Sprint backlog
- Increment
Product backlog adalah daftar terurut seluruh fitur, fungsi dan kebutuhan yang diketahui hingga saat ini dan harus ada di suatu produk serta memiliki atribut deskripsi, estimasi dan nilai bisnis.
Product backlog merupakan living artifact yaitu artefak ini akan terus ada selama produknya masih ada dan akan terus bertambah karena diperbaharui sesuai kondisi dan kebutuhan market. Perubahan dalam kebutuhan bisnis, kondisi pasar atau teknologi akan merubah product backlog.
2. Sprint backlog
Sprint backlog adalah hasil dari sprint planning atas product backlog dari item terpilih untuk dikerjakan pada sprint saat ini berikut perencanaan mengantarkan increment mencapai sprint goal dan bersifat transparan serta menampilkan semua aktivitas development team.
Hanya development team yang dapat mengubah isi sprint backlog sepanjang sprint. Di setiap sprint, total sisa pekerjaan di sprint backlog dapat dijumlahkan.
3. Increment
Increment adalah manifestasi dari product backlog item yang diselesaikan dalam sprint dan total nilai bisnis increment dari semua sprint sebelumnya serta bisa di inspeksi. Setiap increment merupakan tambahan increment sebelumnya dan telah dipastikan sudah diuji secara seksama guna memastikan seluruh increment berfungsi secara satu kesatuan utuh.
Ketiga artefak scrum di atas harus transparan, jika tidak maka setiap pengambilan keputusan menjadi kurang dipercaya, nilai bisnis menurun dan resiko meningkat.
3 Pilar Scrum
Pilar scrum terdiri dari:
- Transparansi
- Inspeksi
- Adaptasi
Scrum team dapat mengakses semua informasi secara tranparan dalam proses development sehingga membantu perusahaan bergerak lebih cepat. Contohnya membuat visualisasi project menggunakan scrum board atau memastikan setiap tim mempunyai pemahaman sama tentang "definition of done" atas pengerjaan product increment.
2. Inspeksi
Inspeksi adalah bersikap kritis terhadap pekerjaan dan bagaimana pekerjaan tersebut dilakukan. Pemahaman kritis disini bukan tentang menghakimi, berkomentar negatif dan menyalahkan orang lain tetapi menjadi kritis melihat sesuatu agar bisa memperbaikinya.
Inspeksi dilakukan pada artefak scrum dan process development.
3. Adaptasi
Adaptasi adalah membuat perubahan untuk memperbaiki masalah atau bereksperimen dengan peluang. Selama proses development sering kali terjadi perubahan prioritas baru, perubahan kepemimpinan atau hal lainnya sehingga mengganggu market dan berimbas terhadap pengerjaan produk.
Scrum team harus beradaptasi terhadap situasi baru dan memberikan produk relevan serta berharga kepada pelanggan secara langsung, berbeda dengan waterfall team karena mengalami kesulitan beradaptasi terhadap kenyataan baru.
baca juga: Menentukan Waterfall atau Agile Dalam Manajemen Proyek
5 Nilai Scrum
Scrum memiliki 5 nilai terdiri dari:
- Keberanian
- Fokus
- Komitmen
- Saling menghormati
- Keterbukaan
- Keberanian tidak membangun produk tanpa diinginkan siapapun
- Keberanian menerima requirement yang belum dan tidak akan pernah sempurna
- Keberanian menerima kenyataan bahwa tidak ada rencana apapun dapat menangkap kompleksitas
- Keberanian mempertimbangkan perubahan sebagai sumber inspirasi dan inovasi
- Keberaniam tidak memberikan produk tanpa memenuhi definition of done
- Keberanian membagikan semua informasi agar membantu tim dan organisasi
- Keberanian mengakui bahwa tidak ada kesempurnaan
- Keberanian berbagi resiko dan manfaat
Ketika menghadapi permasalahan kompleks dan ketidak-pastian maka fokus menjadi kunci menyelesaikan sesuatu. Scrum team hanya fokus pada beberapa hal dalam 1 waktu sehingga dapat memberikan produk paling berharga lebih cepat.
3. Komitmen
Komitmen adalah dedikasi untuk bertindak secara totalitas dan bukan tentang hasil akhir.
- Berkomitmen pada kesuksesan tim dan bersedia menciptakan tujuan realistis sesuai komitmen.
- Berkomitmen melakukan yang terbaik mencapai sprint goal
- Berkomitmen menerapkan prinsip agile dan menantang status quo
Saling menghormati dan menghargai perbedaan pendapat diantara anggota tim dan memberikan respect kepada stakeholder dengan tidak membangun fitur karena tidak akan digunakan siapapun serta memberikan respect kepada user dengan memperbaiki masalah mereka.
5. Keterbukaan
Keterbukaan pada pekerjaan, cara kerja dan tujuan dari yang dikerjakan. Scrum terbuka untuk berkolaborasi secara cross funtional untuk mendapatkan increment sesuai sprint goal. Scrum terbuka kepada para pemangku kepentingan supaya berbagi feedback satu sama lain dan terbuka pada setiap perubahan.
baca juga: 4 Nilai dan 12 Prinsip Agile
Demikian sekilas uraian teori scrum meliputi artefak scrum, pilar scrum dan nilai yang dijunjung scrum. Selanjutnya setelah memahami sekilas teori scrum maka saatnya implementasi menggunakan scrum sebagai cara ampuh mengatasi permasalahan kompleks.
Implementasi scrum meliputi pembentukan stuktur scrum team dan penerapan acara - acara scrum (scrum evens).
Scrum Team
Scrum team bersifat self organized dan cross functional serta mengoptimalkan fleksibilitas, kreativitas dan produktivitas.
Scrum team terdiri dari:
- Product owner
- Scrum master
- Development team.
Product owner adalah mini CEO sehingga harus memiliki otoritas dan dukungan manajemen untuk memimpin upaya menyelaraskan keperluan pemangku kepentingan dan pengembangan produk. Product owner harus seseorang dapat dipercaya untuk menggunakan anggaran secara efektif.
Klasifikasi seorang product owner:
- Memiliki pemahaman mendalam tentang pelangan, pasar dan bisnis
- Memiliki kemampuan negosiasi dan komunikasi dengan scrum team dan semua stakeholder
- Visioner
- Menyampaikan isi product backlog
- Mengurutkan product backlog agar mencapai tujuan dan misi
- Mengoptimalkan nilai bisnis pekerjaan development team
- Memastikan product backlog terlihat transparan dan jelas oleh semua pihak dan menampilkan pekerjaan scrum team selanjutnya
- Memastikan development team memahami item backlog
Scrum master adalah seorang servant leader, melayani product owner, development team dan organisasi.
Tugas scrum master adalah:
- Memperkenalkan dan mendukung penggunaan scrum sesuai scrum guide
- Membantu untuk memahami teori, praktik, aturan dan nilai-nilai scrum. Scrum master merupakan coach dan mentor bagi scrum team.
- Memberikan coaching bagaiman product owner mengelola product backlog
- Memastikan komunikasi antara product owner dan development team berjalan baik sehingga semua product backlog dapat dipahami oleh development team
- Memfasilitasi scrum events
- Memastikan tujuan ruang lingkup produk dapat dipahami semua anggota scrum team
- Menemukan teknik paling efektif untuk mengelola product backlog
- Membantu scrum team untuk memahami product backlog secara jelas dan padat
- Memahami perencanaan produk di dalam lingkungan empiris
- Memastikan product owner memahami cara mengelola product backlog
- Memahami dan mempraktikan agility
- Membimbing development team agar menjadi self organized
- Membantu development team agar menghasilkan produk bernilai bisnis tinggi
- Menghilangkan hambatan pekerjaan
- Memfasilitasi scrum events
- Memberikan coaching
- Menjadi agile champion bagi organisasi dalam menggunakan scrum
- Membuat perencanaan tentang menggunakan scrum dalam organisasi
- Membantu organisasi memahami dan menggunakan scrum serta melakukan pengembangan produk secara empiris
- Membuat perubahan sehingga meningkatkan produktivitas scrum team
- Bekerja dengan scrum master lainnya untuk meningkatkan efektivitas penggunaan scrum
Karakteristik development team
- Self organize
- Cross functional
- Tidak mengenal jabatan bagi anggota development team
- Akuntabilitasnya milik seluruh anggota
5 Scrum Events
Scrum memiliki event wajib untuk mengurangi meeting diluar scrum. Acara ini dilakukan secara rutin dengan batasan waktu tertentu yang disebut timebox. Durasi timebox pada scrum events yang telah dimulai tidak dapat diubah.
Scrum event terdiri dari:
- Sprint
- Sprint Planning
- Daily Scrum
- Sprint Review
- Sprint Retrospective
Sprint adalah wadah dari semua scrum events. Sprint memiliki durasi tetap selama proses pengembangan produk. Selama sprint berlangsung terdapat beberapa proses mulai dari sprint planning, daily scrum, development, sprint review dan sprint retrospective.
Selama sprint berlangsung maka:
- Tidak boleh ada perubahan requirements karena akan mengganggu sprint goal
- Kualitas produk tidak boleh menurun
- Setiap ada hal baru yang dipelajari, scope dapat diklarifikasi dan dinegosiasi ulang antara product owner dan development team.
Sprint dapat dibatalkan sebelum timebox berakhir oleh product owner jika tujuan perusahaan, pasar atau teknologi berubah. Kenyataannya pembatalan sprint jarang dilakukan karena durasinya singkat. Tetapi jika sprint tetap dibatalkan maka semua product backlog item yang tuntas akan ditinjau ulang
2. Sprint planning
Sprint planning adalah perencanaan scrum team mengenai pencapaian tujuan dalam sebuah sprint dan bagaimana cara mencapai tujuan tersebut. Perencanaan ini dilakukan secara kolaboratif oleh seluruh anggota scrum team dalam waktu maksimal 8 jam.
Input sprint planning:
- Product backlog
- Kapasitas team
- Retrospective action plan
- Sprint goal, yaitu objective yang akan dicapai selama sprint melalui implementasi product backlog dan menyediakan panduan bagi development team mengembangkan increment. Sprint goal menjadi panduan bagi development team untuk menjawab pertanyaan mengapa mereka mengembangkan increment.
- Sprint backlog, yaitu product backlog item terpilih untuk sprint
3. Daily scrum
Daily scrum adalah pertemuan wajib internal development team setiap hari dengan timebox maksimal 15 menit. Daily scrum dilakukan di waktu dan tempat sama setiap harinya untuk mengurangi kompleksitas.
3 pertanyaan populer pada daily scrum untuk membantu development team mencapai sprint goal tetapi bukan merupakan suatu format baku:
- Apa yang dikerjakan kemarin?
- Apa yang dikerjakan hari ini?
- Apakah ada hambatan yang mengganggu?
- Menginspeksi perkembangan pekerjaan menuju sprint goal
- Menginspeksi tren perkembangan penyelesaian pekerjaan di sprint backlog
- Meningkatkan kualitas komunikasi
- Mengeliminasi pertemuan - pertemuan lain
- Mengidentifikasi hambatan
- Menyoroti dan mendukung pengambilan keputusan secara cepat
- Meningkatkan tingkat pengetahuan development team
Scrum master dan product owner tidak wajib hadir tetapi scrum master wajib memastikan development team melakukan daily scrum dan dilakukan dengan benar
Daily scrum adalah salah satu sarana untuk mengidentifikasi hambatan bukan meeting mencari solusi masalah panjang. Development team melakukan inspeksi terhadap sprint backlog
Daily scrum tidak harus dilakukan berdiri tetapi sebaiknya dilakukan pada waktu dan tempat sama untuk mengurangi kompleksitas. Development team sebaiknya membuat kesepakatan bersama agar bisa menghormati dan disiplin dalam menjalankan daily scrum
Nilai lebih bila scrum master turut berpartisipasi saat daily scrum:
- Memfasilitasi development team yang masih awam terhadap daily scrum
- Memfasilitasi agar development team secara self organized dapat menentukan sendiri kesepakatan bersama
- Berjalan sesuai timebox
- Lebih valuable dalam menginspeksi sprint backlog
- Menjaga efektivitas daily scrum
- Hambatan yang tidak bisa diselesaikan oleh development team dapat segera diketahui dan ditindak lanjuti.
- Mencegah daily scrum menjadi diskusi problem solving
- Menjelaskan ke development team jika ada kebutuhan klarifikasi mengenai requirements dan sprint goal
- Menginfokan jika ada tambahan atau perubahan
- Membatalkan sprint jika sprint goal sudah usang
Sprint review adalah scrum event antara scrum team dan stakeholder untuk menginspeksi increment. Sprint review memiliki timebox 4 jam dilakukan pada akhir sprint dan sebelum sprint retrospective.
Presentasi increment dilakukan guna mendapatkan umpan balik dan mengembangkan kemampuan kolaborasi. Hasil sprint review adalah revisi product backlog dan menjabarkan product backlog item di sprint berikutnya.
Tahapan sprint review:
- Product owner mengundang stakeholder dan scrum team.
- Product owner menyampaikan kepada stakeholder mengenai backlog belum selesai dan sudah selesai
- Development team menyampaikan presentasi dan tanya jawab mengenai hasil increment
- Bersama -sama melihat kondisi market terkini dan mempertimbangkan apakah cukup baik merilis increment.
- Stakeholder dan scrum team berkolaborasi memberikan input pada sprint selanjutnya.
Sprint retrospective adalah scrum event terakhir scrum team setiap akhir sprint untuk evaluasi team meliputi kinerja man power, proses dan alat serta membuat perencanaan peningkatan di sprint berikutnya. Sprint retrospective dilakukan setelah sprint review dan sebelum sprint planning berikutnya paling lama 3 jam.
Posting Komentar
Posting Komentar