Rekayasa Perangkat Lunak Dosen : Nofia Filda Fauziah, M.Kom. Disusun Oleh : 2 0 2 1 Restu Amalia Novita (2019310025) FAKULTAS INFORMATIKA RESUME OF “Scrum Methodology” UNIVERSITAS BINA INSANI SCRUM METHODOLOGY A. DEFINISI SCRUM SCRUM adalah salah satu metode rekayasa perangkat lunak dengan menggunakan prinsip-prinsip pendekatan AGILE, yang bertumpu pada kekuatan kolaborasi tim, incremental product dan proses iterasi untuk mewujudkan hasil akhir. SCRUM sendiri bukan satu-satunya metode yang menggunakan pendekatan AGILE. Mungkin kita juga pernah mendengar metode Extreme Programming (XP) yang juga menggunakan pendekatan AGILE dalam rekayasa perangkat lunak. Masingmasing metode memiliki fokus atau penekanan yang berbeda yang tentu saja dapat dikombinasikan untuk menghasilkan proses yang optimal. SCRUM dapat dilakukan di sebuah kepanitiaan ataupun project lain diluar bisnis teknologi informasi. Dalam teknik scrum terbagi dalam tiga roles, yang pertama adalah Product Owner, Scrum Master dan Development atau Scrum Team. Product owner bertugas mengatur urusan dengan Stakeholder sedangkan Scrum Master mengurusi bagian internal, di bagian Development Team mengatur urusan teknik pengerjaan project dan pembahasan yang lebih rinci. Restu Amalia Novita | 201931025 2 B. POIN PENTING SCRUM Ada beberapa poin penting untuk Scrum yang membuat banyak orang tertarik untuk menggunakannya, misalnya: 1. Berorganisasi sendiri dengan fokus pada tim. 2. Tidak perlu dokumentasi dalam jumlah besar. Scrum menggunakan pendekatan yang to the point dalam membagikan tugas atau menanyakan progress. 3. Tim Scrum adalah sebuah tim yang memiliki lintas fungsional sehingga bisa bekerja sama sebagai satu kesatuan. 4. Komunikasi yang kuat dan banyak interaksi. 5. Memiliki ritme yang pasti dan berulang untuk menyelesaikan pekerjaan dalam waktu maksimal 30 hari. 6. Alih-alih mencoba melakukan keseluruhan pekerjaan pada saat bersamaan, Scrum membantu menyelesaikannya satu persatu dengan interval waktu yang ditentukan. 7. Mengaplikasikan Scrum dapat membuat anggota tim member Anda merasa dipercaya dan Anda juga tahu member mana yang ahli di bidangnya dan bisa mengerjakan tugasnya sehingga tidak ada tunggu-menunggu. C. KARAKTERISTIK SCRUM Berikut merupakan karakteristik yang membedakan pengimplementasian metodologi scrum dengan yang lain: 1. Pemilik produk membuat daftar keinginan yang diprioritaskan yang disebut backlog produk. 2. Selama perencanaan sprint, tim memilih salah satu item dari urutan teratas daftar keinginan tersebut dan memutuskan bagaimana mereka akan menjalankan potongan tersebut. 3. Tim memiliki sejumlah waktu, yang disebut dengan istilah sprint (biasanya dua sampai empat minggu) untuk menyelesaikan pekerjaannya, namun setiap harinya akan ada pengecekan untuk melihat progress pekerjaan (Scrum harian). 4. Sepanjang jalan, Scrum Master membuat tim tetap fokus pada tujuannya. 5. Di akhir sprint, pekerjaan harus berpotensi untuk dikirim: siap untuk diserahkan kepada pelanggan, diletakkan di rak toko, atau ditunjukkan kepada Pemangku kepentingan. 6. Sprint diakhiri dengan review sprint dan retrospektif. 7. Seiring sprint berikutnya dimulai, tim memilih item lain lagi dari backlog produk dan mulai bekerja lagi. Restu Amalia Novita | 201931025 3 8. Hal ini berlangsung sampai proyek dianggap selesai, baik karena deadline dan budget atau dengan melengkapi seluruh daftar item yang sudah ditentukan di awal. D. PERAN PADA SCRUM Ada tiga peran berbeda yang diperlukan dalam melakukan metode Scrum, yaitu: 1. Master Scrum Memastikan prosedur diikuti, memastikan semua berjalan lancar, dan melindungi tim dari gangguan. Master Scrum berbeda dari manajer proyek tradisional dalam banyak hal, termasuk peran ini tidak memberikan arahan sehari-hari kepada tim dan tidak memberikan tugas kepada individu. 2. Product Owner (Pemilik Produk) Biasanya merupakan orang yang dianggap paling penting dari sebuah proyek. Bagian dari tanggung jawab pemilik produk adalah memiliki visi tentang apa yang ingin dia buat dan menyampaikan visi tersebut kepada tim Scrum. Tugas utama Pemilik Produk adalah untuk menjadi nilai bagi stakeholder atau pemegang saham. 3. Tim Scrum Sebuah tim Scrum adalah tim yang bisa mengatur pekerjaan mereka sendiri dan merupakan sebuah tim yang lintas fungsional. Member tim akan melakukan analisis, implementasi, perancangan, pengujian, dan lain-lain. Meskipun individu dapat bergabung dengan tim dengan berbagai jabatan, di Scrum, judul tersebut tidak signifikan. Metodologi scrum menyatakan bahwa setiap orang berkontribusi dengan cara apa pun yang mereka bisa untuk menyelesaikan pekerjaan pada setiap sprint. Individu dengan demikian akan menghabiskan sebagian besar (dan terkadang semua) waktu mereka bekerja dalam disiplin apa pun yang mereka ketahui, baik itu analisis, desain, pengembangan, tes dan lain lain. E. IMPLEMENTASI SCRUM Untuk memahami contoh scrum dan cara memulainya, Anda bisa mengikuti langkah-langkah berikut: Restu Amalia Novita | 201931025 4 1. Tentukan Tim Scrum pertama Anda Tim terdiri dari 5-9 anggota. Semua anggota ini memiliki kombinasi kompetensi dan dapat mencakup untuk menjadi developer, penguji, pendukung, perancang, analisis bisnis, dan lain-lain. Semua anggota terus bekerja sama. Tim itu sendiri bertanggung jawab untuk memastikan bahwa mereka akan memproduksi produk yang bisa dipresentasikan di akhir setiap sprint. 2. Tentukan panjang atau lamanya Sprint Anda Sprint adalah tenggang waktu yang berlangsung antara 7 dan 30 hari, dan biasanya tetap sama panjang selama proyek berlangsung. Tentukan tenggang waktunya dalam sebuah meeting perencanaan dan tim tersebut harus berkomitmen untuk menyelesaikan pekerjaan ini. Pada akhir sprint, Anda sebaiknya mengadakan sebuah review atau ulasan (bisa berupa meeting) dengan demonstrasi hasil kerja. Di sini perbaikannya ditinjau dan dikerjakan agar sprint berikutnya bisa direncanakan. Jika Anda masih tidak yakin dengan tenggang waktu, Anda bisa mulai dengan 2 minggu terlebih dahulu. 3. Tunjuk Seorang Master Scrum Scrum Master adalah seorang katalisator untuk sebuah kelompok scrum. Mereka memastikan bahwa kelompok scrum bekerja secara efektif dan progresif. Jika terjadi hambatan, master Scrum akan menindaklanjuti dan menyelesaikan masalah untuk tim tersebut. Master Scrum memang bisa dianggap sebagai manajer proyek untuk tim tersebut, kecuali orang tersebut tidak boleh mendikte apa yang tim kerjakan dan seharusnya tidak terlibat dalam pengelolaan mikro sekalipun. Master Scrum akan membantu tim dalam merencanakan pekerjaan sprint yang akan datang. 4. Tunjuk Pemilik Produk (Product Owner) Pemilik Produk harus merupakan seseorang yang dapat bertanggung jawab memastikan tim menghasilkan sebuah produk yang bisa dipresentasikan dan pasarkan ke bisnis, klien atau siapapun yang menginginkan hasil proyek tersebut (pembeli akhir). Pemilik Produk biasanya menuliskan persyaratan sehubungan dengan apa yang diinginkan dari produk tersebut dalam bentuk sebuah cerita, kemudian Restu Amalia Novita | 201931025 5 memprioritaskan item-item dalam proses pembuatan, dan memasukkannya ke backlog. 5. Buat Backlog Produk Awal Produk backlog adalah daftar keinginan yang berupa semua cerita pengguna yang diharapkan akan dibuat dan diselesaikan dalam proyek tersebut. Cerita yang paling penting harus berada di urutan teratas daftar, jadi keseluruhan simpanan tersusun secara teratur berdasarkan urutan kepentingan cerita. Sebuah simpanan biasanya berisi 2 jenis item pekerjaan: Epics – Cerita tingkat tinggi yang sketsanya sangat kasar tanpa banyak detail. Stories – Persyaratan lebih rinci untuk apa yang harus dilakukan (mungkin dilakukan). Sebuah epics biasanya dapat dibagi menjadi beberapa cerita. Sebuah cerita biasanya akan dipecah menjadi beberapa tugas terpisah sehingga tim dapat bekerja dan melaporkan progressnya nanti. Stories juga bisa memiliki beberapa tipe seperti development, bug, tugas, dan lain lain. Stories baru dapat ditulis dan ditambahkan ke backlog produk kapan saja dan oleh siapa saja. Jika sebuah epic meningkat dalam prioritas, sebaiknya masukkan detail yang lebih rinci agar tim dapat mulai mengerjakannya. Pemilik Produk bebas untuk memprioritaskan kembali backlog sesuai dengan keinginan dia. Contoh stories yang bisa dikembangkan menjadi produk: Sebagai power user, saya bisa menentukan file atau folder yang akan di backup berdasarkan ukuran file, tanggal yang dibuat dan tanggal dimodifikasi. Sebagai pembelanja buku, saya bisa membaca ulasan sebuah buku pilihan untuk membantu saya memutuskan apakah akan membelinya. Seorang nasabah bank bisa mengganti PIN-nya. 6. Rencanakan dan Mulailah Sprint Pertama Anda Berdasarkan prioritas backlog, tim sekarang mengambil item dari daftar (biasanya dari paling atas). Tim lalu melakukan brainstorming dan memutuskan apa dan berapa banyak yang bisa mereka selesaikan dalam sprint mendatang. Restu Amalia Novita | 201931025 6 Ini disebut rapat perencanaan sprint. Begitu tim setuju, sprint dimulai dan tim dapat mulai mengerjakan proyeknya. 7. Tutup Arus dan Mulai Sprint Berikutnya Bila akhir tenggat waktu sudah tercapai dan semua pekerjaan yang direncanakan sudah lengkap dilakukan, tergantung pada tim untuk memutuskan apakah pekerjaan yang tersisa harus ditransfer ke sprint berikutnya atau dimasukkan kembali ke dalam backlog. Setiap sebuah tim menyelesaikan tugasnya, tim disarankan untuk melakukan retrospektif di mana mereka mendiskusikan apa yang berjalan dengan baik dan apa yang bisa diperbaiki untuk sprint berikutnya. Setelah itu, pertemuan perencanaan sprint untuk sprint berikutnya dimulai dan prosesnya diulang. Tidak ada batasan untuk jumlah sprint kecuali jika ditetapkan oleh deadline (berdasarkan budget atau waktu) atau seluruh backlog selesai. Jika tidak satu pun kriteria ini terpenuhi, sprint terus berlanjut tanpa batas waktu. F. KEGIATAN SCRUM Sebagai bagian dari scrum, ada beberapa kegiatan yang harus dilakukan, yaitu: 1. Rapat Perencanaan Pertemuan Perencanaan Sprint adalah titik awal Scrum. Ini adalah pertemuan dimana seluruh tim Scrum berkumpul; Bekerja sama dengan Product Owner dan Master Scrum, tim memilih story dari backlog dan brainstorm secara bersama-sama. Berdasarkan percakapan, kelompok Scrum memutuskan kompleksitas story dan memutuskan mana yang harus masuk ke sprint. 2. Melengkapi Pekerjaan Seperti judulnya, perlu bagi tim untuk menyelesaikan pekerjaan untuk kemajuan proyek. Orang-orang di tim bekerja pada epics atau story sampai mereka selesai dan kemudian mereka beralih ke yang berikutnya. Biasanya story disusun di papan dengan langkah-langkah terpisah, jadi mudah untuk merasakan bagaimana sprint tersebut berkembang. 3. Pertemuan Scrum Harian Melalui siklus sprint, setiap hari tim scrum bertemu maksimal lima belas menit (biasanya di pagi hari). Ada 3 hal yang akan dibahas oleh setiap member tim, yaitu: Restu Amalia Novita | 201931025 7 Apa yang saya lakukan kemarin? Apa yang ingin saya lakukan hari ini? Jelaskan jika orang tersebut memiliki sesuatu yang menghalangi mereka menyelesaikan pekerjaan mereka pada hari itu. 4. Pertemuan Review Sprint Setelah setiap sprint, tim mengadakan Sprint Review Meeting untuk menunjukkan progress kerja kepada Product Owner dan orang lain yang tertarik. Pertemuan tersebut harus menampilkan demonstrasi langsung, bukan sebuah laporan. Pemilik Produk dapat memverifikasi story sesuai dengan kriteria penerimaan mereka. 5. Rapat Retrospektif Pertemuan retrospektif terjadi setelah pertemuan review. Kelompok Scrum bertemu dan berbicara mengenai hal-hal berikut: Apa saja yang terjadi dengan baik selama sprint Apa saja yang tidak berjalan seperti yang direncanakan dalam sprint. Pelajaran yang dipelajari Item tindakan yang harus ditindaklanjuti. Restu Amalia Novita | 201931025 8 REFERENSI Sutherland, J. (2018). Scrum. Bentang Pustaka. Restu Amalia Novita | 201931025 9