Scrum Development Framework

Scrum merupakan salah satu framework pengembangan perangkat lunak yang termasuk dalam Agile development. Dalam prosesnya, pengembangan dibagi ke dalam beberapa iterasi kecil yang disebut dengan sprint. Menurut Ken Schwaber (1997), scrum merupakan metode yang menerapkan konsep gabungan antara pendekatan iterative dan incremental. Suatu sprint merupakan iterasi dan semakin bertambahnya sprint maka fitur yang diimplementasikan semakin banyak (incremental). Saat ini scrum cukup banyak digunakan oleh para pengembang perangkat lunak di seluruh dunia. Scrum yang merupakan Agile development juga mewarisi kelebihan-kelebihan seperti agility dan flexibility. Scrum telah terbukti sebagai Agile framework yang baik dan dapat membantu dalam menyukseskan pengembangan.

Istilah dalamScrum

Dalam scrum terdapat beberapa istilah seperti berikut:

  • Product Backlog

Sekumpulan product backlog item dan merupakan requirement dari sistem. Terdiri dari MVP dan non-MVP.

  • Product Backlog Item

Suatu unit pekerjaan yang biasanya merupakan user story dari requirement. Backlog item ini kemudian dipecah lagi kedalam beberapa task.

  • Scrum Team

Sekumpulan individu yang mengeksekusi pengerjaan project, terdiri dari development team dan scrum master.

  • Scrum Master

Dapat dikatakan sebagai fasilitator antara tim dan product owner. Scrum master juga memfasilitasi berlangsungnya Daily Scrum Meeting.

  • Sprint

Suatu iterasi. Pada proses pengembangan terdiri dari beberapa sprint yang bersifat incremental (penambahan fitur).

  • Sprint Backlog

Sekumpulan baclog item yang diambil untuk dikerjakan pada suatu sprint.

  • Daily Scrum Meeting

Dilakukan setiap hari untuk mengevaluasi apa saja yang telah dilakukan oleh tim, apa saja kendala yang ditemukan, dan apa yang akan dilakukan selanjutnya.

Fase Scrum

Proses pengembangan pada scrum dapat dikelompokkan ke dalam lima fase (Satpathy, 2016. hal. 16–19). Fase-fase tersebut adalah sebagai berikut

  • Initiate

Fase ini merupakan tahap awal dari proses pengembangan dengan scrum. Fase ini meliputi pembentukan tim, pembuatan project vision, dan penentuan product backlog.

  • Plan and Estimate

Pada fase ini dilakukan perencanaan untuk memulai pelaksanaan sprint, meliputi penulisan user story, penjabaran task pada tiap user story, melakukan estimasi nilai terhadap setiap user story dan task, serta menentukan sprint backlog.

  • Implement

Fase ini merupakan tahap untuk mengeksekusi setiap task yang telah didefinisikan serta melakukan aktivitas-aktivitas untuk membentuk produk. Pada tahap ini juga terdapat daily standup meeting, dimana tim melakukan evaluasi apa yang telah dilakukan oleh anggota tim selama jangka waktu tertentu. Pada saat tersebut juga dapat diceritakan masalah apa saja yang ditemui selama melakukan implementasi.

  • Review and Retrospect

Pada tahap ini dilakukan review terhadap hasil pekerjaan tim (deliverable product) selama satu sprint. Tidak hanya hasilnya, proses bekerja tim juga dinilai sehingga dapat ditentukan apa saja yang perlu ditingkatkan untuk proses pengembangan pada sprint berikutnya. Sprint dianggap berhasil apabila pada sprint tersebut dihasilkan (deliverable product) yang sesuai dengan acceptance criteria yang telah ditentukan dan disetujui oleh product owner.

  • Release

Pada tahap ini produk yang telah memenuhi seluruh acceptance criteria dikirimkan ke klien. Selain itu juga dilakukan dokumentasi mengenai pelajaran apa saja yang didapat selama melakukan pengembangan.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.