Scrum

DESKRIPSI SCRUM
Apa Itu Scrum? Scrum adalah iteratif dan pengembangan perangkat lunak kerangka kerja tambahan tangkas untuk proyek-proyek perangkat lunak dan mengelola produk atau pengembangan aplikasi. Fokusnya adalah pada "strategi, pengembangan produk fleksibel holistik di mana tim pengembangan bekerja sebagai sebuah unit untuk mencapai tujuan bersama" sebagai lawan dari "pendekatan tradisional, berurutan".                 

Sejarah
Scrum pertama kali didefinisikan sebagai "strategi, pengembangan produk fleksibel holistik di mana tim pengembangan bekerja sebagai sebuah unit untuk mencapai tujuan bersama" sebagai lawan dari "pendekatan tradisional, sekuensial" pada tahun 1986 oleh Hirotaka Takeuchi dan Ikujiro Nonaka dalam "New New Produk Game Development ".Hirotaka Takeuchi dan Ikujiro Nonaka kemudian berpendapat dalam "Perusahaan Pengetahuan Menciptakan" baik oleh Ikujiro Nonaka dan Hirotaka Takeuchi bahwa itu adalah bentuk "penciptaan pengetahuan organisasi, terutama baik di membawa tentang inovasi terus menerus, bertahap dan spiral".Para penulis menggambarkan pendekatan baru untuk pengembangan produk komersial yang akan meningkatkan kecepatan dan fleksibilitas, berdasarkan studi kasus dari perusahaan-perusahaan manufaktur di industri otomotif, mesin fotokopi dan printer. Mereka menyebut holistik atau pendekatan rugby, karena seluruh proses dilakukan oleh satu tim lintas-fungsional di fase tumpang tindih beberapa, di mana tim "mencoba untuk pergi jarak sebagai satu unit, melewati bola bolak-balik".Dalam rugby, sebuah scrum mengacu pada cara restart permainan setelah pelanggaran kecil. Pada awal 1990-an, Ken Schwaber digunakan apa yang akan menjadi Scrum di perusahaan itu, Metode Pengembangan Lanjutan, dan Jeff Sutherland, dengan John Scumniotales dan Jeff McKenna, mengembangkan pendekatan yang serupa di Perusahaan Easel, dan adalah yang pertama untuk menyebutnya menggunakan single Kata Scrum.Pada tahun 1995, Sutherland dan Schwaber bersama-sama mempresentasikan sebuah makalah yang menjelaskan metodologi Scrum di Desain Obyek Bisnis dan Lokakarya Implementasi diselenggarakan sebagai bagian dari Berorientasi Objek Sistem Pemrograman,, Bahasa & Aplikasi '95 (OOPSLA '95) di Austin, Texas, pertama publik presentasi. Schwaber dan Sutherland berkolaborasi selama tahun berikutnya untuk menggabungkan tulisan-tulisan di atas, pengalaman mereka, dan industri praktek terbaik ke dalam apa yang sekarang dikenal sebagai Scrum.Pada tahun 2001, Schwaber bekerja dengan Mike Beedle untuk menggambarkan metode dalam buku Pengembangan Perangkat Lunak Agile dengan Scrum.Pendekatan untuk perencanaan dan pengelolaan proyek adalah dengan membawa pengambilan keputusan wewenang kepada tingkat sifat operasi dan kepastian.Meskipun kata tersebut tidak akronim, beberapa perusahaan melaksanakan proses telah dikenal untuk mengejanya dengan huruf kapital sebagai scrum. Hal ini mungkin karena salah satu dari awal tulisan Ken Schwaber, yang dikapitalisasi scrum dalam judul.

karakteristik SCRUM
  • Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu sama lain
  • Proses dapat beradaptasi terhadap perubahan teknis dan bisnis
  • Poses menghasilkan beberapa software increment
  • Pembangunan dan orang yang membangun dibagi dalam tim yang kecil
  • Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
  • Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan

Scrum memiliki aktifitas yang meliputi:
1. Backlog
Backlog adalah daftar kebutuhan yang jadi prioritas klien, dan daftar yang dibuat dapat bertambah

2. Sprints       
Aktifitas Sprints merupakan unit pekerjaan yang diperlukan untuk memenuhi kebutuhan yang ditetapkan       dalam backlog sesuai dengan waktu yang ditetapkan dalam time-box (biasanya 30hari). Selama proses ini berlangsung backlog tidak ada penambahan.3. Scrum MeetingsAktifitas Scrum Meeting merupakan pertemuan yang rutin dilakukan perhari untuk evaluasi apa yang dikerjakan, hambatan yang ada, dan target penyelesaian untuk bahan meeting selanjutnya.4. DemoAktifitas Demo adalah penyerahan software increment ke klien didemonstrasikan dan dievaluasi oleh klien.



CARA PENERAPAN SCRUM
Di dalam setiap iterasi scrum, semua anggota tim saling berkolaborasi untuk menyelesaikan setiap incremental product yang telah direncanakan dan disepakati bersama. Dalam proses, setiap iterasi juga akan melakukan kegiatan analisis, merencanakan desain dan selanjutnya program siap untuk dikembangkan. Setelah program selesai, program juga akan diuji melalui proses testing yang telah direncanakan oleh tim, sehingga akhirnya program tersebut menjadi sebuah incremental product yang siap untuk di-deploy dan di-integrasi-kan dengan semua program yang telah dibuat sebelumnya.
Semua kegiatan diatas akan dilakukan oleh tim dengan konsep self-organizing, artinya semua anggota tim akan bekerja sama untuk mengelola kerja mereka sesuai dengan kesepakatan mereka. Mereka bertanggung jawab untuk menghasilkan incremental product dengan membagi tugas secara bersama dan berdiskusi tanpa ada hirarki. Seorang yang berpengalaman testing, sangat dimungkinkan untuk berkonstribusi ditahap analisa dan desain. Atau seorang programmer akan membantu aktifitas testing. Secara sederhana, anggota tim akan merencanakan tugas secara bersama dan melakukannya secara bersama sebagai sebuah kolaborasi tim.


PROSES EKSEKUSI PROYEK DENGAN MENGGUNAKAN SCRUM
Proses eksekusi proyek dengan menggunakan scrum, dapat dilihat pada gambar ini 
  • First meeting
Proses scrum diawli dengan pebuatan tujuan yang akan dicapai dan product backlog.Product backlog dikuantisasi waktu dengan satuan hari (antara 1-20 hari)Product backlog merupakan ombinasi antara story-based work (pekerjaan yang berbasis use case/product feature) dan task-based work misalnya "Tambahkan validasi pada semua form"Product backlog diprioritaskan oleh product owner.
  • Product backlog yang berisi list yang diprioritaskan dari fitur-fitur atau perubahan yang akan ada pada produk.
  • Sprint planning meeting
  • Meeting untuk product owner, scrum team dan orang-orang yg berkepentingan.
Menentukan sprint goal yaitu tujuan yang ingin dicapai pada scrum sprint berikutnya (30 hari kedepan).Sprint goal biasa adalah minimum fungsinalitas yang harus dicapai.Jika sprint goal tidak dicapai maka dilakukan abnormal terminationMembuat sprint backlog yaitu list dari pekerjaan yang akan dilakukan selama sprint.Sprint backlog merupakan bagian produck backlog yang didetailkan.Sprint backlog dikuantisasi waktu berdasarkan jam (bukan hari yaitu antara 1-16).Sprint backlog harus tranparan untuk semua orang dalam timMeeting yang tidak lebih dari 8 jam saja.Dengan 4 jam pertama adalah waktu yang digunakan untuk Product Owner menjelaskan atau presentasi tentang prioritas dari product backlog.Kemudian tanya jawab dari tim tetang isi, maksud, tujuan dari item yang ada di product backlog.
  • Empat jam berikutnya adalah sesi untuk tim merencanakan Sprint.
  • Fokus pada melakukan pekerjaan bukan berfikir mengenai bagaimana mengerjakannya.
  • Daily Scrum meeting (Inspect and adapt cycle)
  • Meeting harian selama tidak lebih dari 15 menit
  • Yang boleh bicara dalam tim ini adalah scrum master dan anggota tim (pigs)
  • Orang lain yang bekepentingan (chickens) dapat ikut dalam tim tetapi tidak boleh berkomunikasi (berbicara)
  • Scrum master menanyakan 3 pertanyaan dari kepada anggota tim:
  • Apa yang sudah kamu lakukan kemarin (selama 24 jam kebelakang)?
  • Apa yang akan dikerjakan pada esok hari (24 jam mendatang)?
  • Hal apa yang bisa menghentikan pekerjaan besok hari (kendala)?
  • Sprint review meeting
  • Meeting setelah aktivitas selama 2 minggu atau 1 bulanan (Sprint) berakhir, yang kemudian diikuti oleh sprint planning meeting untuk Sprint berikutnya.
  • Meeting sebagai review atas Sprint yang sudah dilaksanakan.
  • Memperbarui (update) sprint backlog yang merefleksikan berapa lama waktu yg dibutuhkan untuk menyelesaikan pekerjaan (task)
  • Sprint retrospective meeting
  • Meeting setelah sprint review meeting dan sprint planning meeting ScrumMaster dengan tim untuk merevisi proses dan cara kerja Scrum, proses development agar Sprint berikutnya lebih efektif dan enjoyable.
  • Meeting ini sebaiknya tidak lebih dari 3 jam.