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.