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.[1] 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.[2]