Scrum

Scrum adalah metode pengembangan perangkat lunak agile yang dikembangkan oleh Jeff Sutherland dan tim pengembangannya di awal 1990-an. Selanjutnya, pengembangan lebih lanjut tentang metode Scrum telah dilakukan oleh Schwaber dan Beedle. Prinsip scrum konsisten dengan manifesto agile dan digunakan untuk memandu kegiatan pengembangan dalam suatu proses yang menggabungkan kegiatan kerangka kerja (framework activity) berikut: kebutuhan (requirements), analisis (analysis), desain (design), evolusi (evolution), dan pengiriman (delivery). Dalam setiap kegiatan kerangka kerja, work task terjadi dalam pola proses yang disebut sprint. Pekerjaan yang dilakukan dalam sprint (jumlah sprint yang diperlukan untuk setiap kegiatan kerangka kerja akan bervariasi tergantung pada kompleksitas dan ukuran produk) disesuaikan dengan masalah yang dihadapi dan didefinisikan dan sering dimodifikasi secara real time oleh tim Scrum.

Sejarah 
Hirotaka Takeuchi dan Ikujiro Nonaka memperkenalkan istilah scrum dalam konteks pengembangan produk dalam artikel Harvard Business Review 1986, 'The New New Product Development Game . Takeuchi dan Nonaka kemudian berpendapat dalam The Knowledge Making Company bahwa itu adalah suatu bentuk "penciptaan pengetahuan organisasi, [...] terutama baik dalam membawa inovasi terus menerus, secara bertahap dan spiritual".Para penulis menggambarkan pendekatan baru untuk pengembangan produk komersial yang akan meningkatkan kecepatan dan fleksibilitas, berdasarkan studi kasus dari perusahaan manufaktur di industri otomotif, mesin fotokopi dan printer. Mereka menyebut ini pendekatan holistik atau rugbi , karena seluruh proses dilakukan oleh satu tim lintas-fungsional di beberapa fase yang tumpang tindih, di mana tim "mencoba menempuh jarak sebagai satu kesatuan, meneruskan bola bolak-balik" (Dalam sepak bola rugbi, scrum digunakan untuk memulai kembali permainan, ketika pemain depan dari masing-masing tim bertautan kepala di bawah dan berusaha mendapatkan kepemilikan bola)

Pada awal 1990-an, Ken Schwaber menggunakan apa yang akan menjadi Scrum di perusahaannya, Advanced Development Methods; sementara Jeff Sutherland, John Scumniotales dan Jeff McKenna mengembangkan pendekatan yang sama di Easel Corporation, merujuknya menggunakan satu kata Scrum.

Pada tahun 1995, Sutherland dan Schwaber bersama-sama mempresentasikan makalah yang menggambarkan kerangka kerja Scrum di Business Object Design and Implementation Workshop yang diadakan sebagai bagian dari Object-Oriented Programming, Systems, Languages & Applications '95 (OOPSLA '95) di Austin, Texas. Selama tahun-tahun berikutnya, Schwaber dan Sutherland bekerja sama untuk menggabungkan materi ini — dengan pengalaman mereka dan mengembangkan praktik yang baik — untuk mengembangkan apa yang kemudian dikenal sebagai Scrum.

Pada tahun 2001, Schwaber bekerja dengan Mike Beedle untuk menjelaskan metode dalam buku Agile Software Development with Scrum. Pendekatan Scrum untuk perencanaan dan pengelolaan pengembangan produk melibatkan otoritas pengambilan keputusan ke tingkat properti dan kepastian operasi. Pada tahun 2002, Schwaber bersama yang lain mendirikan Scrum Alliance  dan mendirikan seri akreditasi Certified Scrum . Schwaber meninggalkan Scrum Alliance pada akhir 2009 dan mendirikan Scrum.org yang mengawasi seri akreditasi Professional Scrum paralel. Sejak 2009, sebuah dokumen publik bernama The Scrum Guide  telah secara resmi mendefinisikan Scrum. Ini telah direvisi 5 kali, dengan versi saat ini adalah November 2017. Pada tahun 2018, Schwaber dan komunitas Scrum.org, bersama dengan para pemimpin komunitas Kanban, menerbitkan The Kanban Guide for Scrum Teams.

 Pola Proses Scrum 
Scrum menekankan penggunaan serangkaian pola proses perangkat lunak  yang telah terbukti efektif untuk proyek dengan jadwal yang ketat, perubahan kebutuhan, dan kekritisan bisnis. Masing-masing pola proses ini mendefinisikan serangkaian tindakan pengembangan (development activity):Backlog: daftar kebutuhan atau fitur proyek yang diprioritaskan yang memberikan nilai bisnis bagi pelanggan. Item dapat ditambahkan ke backlog kapan saja (ini adalah bagaimana perubahan diperkenalkan). Manajer produk menilai backlog dan memperbarui prioritas sesuai kebutuhan.Sprint: terdiri dari unit kerja yang diperlukan untuk mencapai kebutuhan yang ditentukan dalam jaminan yang harus sesuai dengan time box yang telah ditentukan (biasanya 30 hari). Perubahan (mis. backlog work items) tidak diperkenalkan selama sprint. Oleh karena itu, sprint memungkinkan anggota tim untuk bekerja dalam lingkungan jangka pendek namun stabil.Scrum Meeting: pertemuan singkat (biasanya 15 menit) yang diadakan setiap hari oleh tim Scrum. Tiga pertanyaan kunci diajukan dan dijawab oleh semua anggota tim, yaitu (1) apa yang Anda lakukan sejak pertemuan tim terakhir? (2) Apa kendala yang Anda hadapi? (3) Apa yang Anda rencanakan untuk dicapai dengan pertemuan tim berikutnya?.

Seorang pemimpin tim, yang disebut Scrum master, memimpin pertemuan dan menilai tanggapan dari setiap orang. Scrum meeting membantu tim untuk mengungkap potensi masalah sedini mungkin. Juga, pertemuan harian ini mengarah pada "sosialisasi pengetahuan"  dan dengan demikian mempromosikan struktur tim yang mengatur diri sendiri.Demos: menyampaikan software increment ke pelanggan sehingga fungsionalitas yang telah diterapkan dapat diperagakan dan dievaluasi oleh pelanggan. Penting untuk dicatat bahwa demo mungkin tidak mengandung semua fungsionalitas yang direncanakan, melainkan fungsi-fungsi yang dapat disampaikan dalam time box yang ditetapkan.

Beedle dan rekan-rekannya  menyajikan diskusi komprehensif tentang pola-pola ini di mana mereka menyatakan: “Scrum mengasumsikan di muka keberadaan kekacauan. . . . ” Pola proses Scrum memungkinkan tim perangkat lunak untuk bekerja dengan sukses di dunia di mana penghapusan ketidakpastian tidak mungkin dilakukan.

 Nilai-nilai Scrum 
Terdapat 5 nilai (value) dari implementasi SCRUM, yaitu Komitmen, Fokus, Keterbukaan, Saling Menghormati, dan Keberanian.

 Komitmen: Anggota tim harus berkomitmen untuk menciptakan tujuan yang realistis dan konsisten. Inti dari SCRUM adalah kegiatan yang disebut sprint. Untuk melakukan sprint membutuhkan tujuan yang jelas yang ditetapkan dalam jangka waktu tertentu. Melalui SCRUM, nda dapat memecah tujuan-tujuan tersebut menjadi beberapa task/pekerjaan kecil, sehingga anda dapat mengetahui kemungkinan-kemungkinan apa saja yang akan anda hadapi. Anda akan tahu apa yang “realistis”, sehingga Anda dapat menetapkan tujuan yang tepat dan memenuhi komitmen Anda.
 Fokus: Fokus hanya ke beberapa hal dalam satu waktu. Dengan fokus, anda akan mendapatkan tujuan dan peranan yang jelas dalam pekerjaan. Tugas anda adalah menggunakan peran tersebut untuk berkontribusi dalam mencapai tujuan.
 Keterbukaan: Segala sesuatu yang dikerjakan harus transparan dan dapat di inspeksi dalam rangka peningkatan.
 Rasa hormat: Anggota tim SCRUM menunjukkan rasa hormat satu sama lain, kepada pemilik produk, kepada pemangku kepentingan, dan kepada SCRUM Master. Tim yang gesit tahu bahwa kekuatan mereka terletak pada seberapa baik mereka berkolaborasi, dan bahwa setiap orang memiliki kontribusi yang berbeda untuk menyelesaikan pekerjaan sprint. Setiap anggota tim menghormati ide satu sama lain dan mengakui prestasi satu sama lain.
 Keberanian:''' Nilai SCRUM dari keberanian sangat penting untuk kesuksesan tim. Tim SCRUM harus merasa cukup aman untuk mengatakan tidak, meminta bantuan, dan mencoba hal-hal baru. Tim harus cukup berani untuk mempertanyakan status quo ketika itu menghambat kemampuan mereka untuk berhasil.

Penggunaan SCRUM yang sukses tergantung pada tim yang menjalankan kelima nilai ini. Setiap tim SCRUM pasti berkomitmen untuk mencapai tujuannya, dan anggota tim memiliki keberanian untuk melakukan dengan benar untuk mengatasi masalah yang sulit. Hal tersebut dikerjakan dengan cara Sprint yang berfokus pada tujuan yang telah ditetapkan sebelumnya. Penting diketahui bahwa tim dalam SCRUM harus sepakat untuk bersikap terbuka tentang semua pekerjaan dan tantangan. Anggota tim juga perlu saling menghormati satu sama lain sebagai orang yang mampu dan mandiri.

 Referensi 

 Bacaan lanjutan 

 
 
 Verheyen, Gunther (2013). Scrum - A Pocket Guide (A Smart Travel Companion)'' .

Pranala luar 

 Agile Alliance's Scrum library
 A Scrum Process Description by the Eclipse Process Framework (EPF) Project
 5 Nilai SCRUM Yang Perlu Anda Ketahui 

Agile development methods
Proses pengembangan perangkat lunak