Dasar-dasar Scrum dalam TILIL

Pada tulisan kali ini, saya ingin membahas dasar-dasar Scrum dalam format TILIL. Apa itu TILIL? TILIL adalah sebuah singkatan dari Tanya Itu Lagi-Itu Lagi. TILIL ini semakna dengan FAQ atau Frequently Asked Questions, pertanyaan-pertanyaan yang sama yang sering ditanyakan. Saya pertama kali mendengar singkatan ini saat saya berkuliah di S1 Fasilkom UI dulu di mata kuliah Pemrograman Sistem. Nah, di bawah ini terdapat beberapa pertanyaan plus jawabannya terkait hal-hal mendasar dari Scrum yang sering TILIL. Silakan dicek. ūüėÄ

Sebenarnya apa sih Scrum itu?
Scrum adalah sebuah proses yang agile untuk menangani produk yang kompleks. Scrum memiliki proses yang berulang atau iteratif (iterative) dan bertahap (incremental) dalam menangani ketidakpastian dari pengembangan sebuah produk yang kompleks. Software adalah salah satu contoh produk yang kompleks.

Apakah Scrum sebuah metodologi?
Alih-alih sebuah metodologi, Scrum adalah sebuah framework (kerangka kerja). Scrum sebagai framework mengatur hal-hal penting dan mendasar untuk membuat proses pengembangan menjadi lebih agile. Dalam kaitannya dengan pengembangan software, kita bisa menambahkan engineering practice tertentu yang dibutuhkan di atas framework Scrum.

Apa itu agile, dan apa kaitannya dengan Scrum?
Scrum tidak dapat dipisahkan dari yang namanya agile. Agile merupakan kata sifat yang berarti cekatan, cepat, dan tangkas dan ini tersemat pada proses Scrum. Itulah mengapa kita mengatakan Scrum sebagai proses agile. Dalam pengembangan software, prinsip dan nilai agile pada Scrum mengacu ke Agile Manifesto. Silakan cek di web Agile Manifesto ya.

Apa bedanya Scrum dengan yang lain?
Scrum termasuk ke dalam keluarga proses agile. Kita bisa menemukan proses agile yang lain seperti XP (eXtreme Programming) atau Crystal. Pendekatan pengembangan, mekanisme adaptasi perubahan, nilai, dan prinsip dalam proses agile amat berbeda dibandingkan dengan proses prescriptive seperti Waterfall atau RUP (Rational Unified Process).

Siapa saja kah yang terlibat dalam Scrum?
Ada tiga peran utama yang terlibat dalam proses Scrum, yaitu Development Team, Product Owner, dan Scrum Master. Tiga peran utama ini tergabung dalam satu tim dan disebut sebagai Scrum Team. Meski tidak disebutkan secara eksplisit, peran-peran di luar Scrum Team tetap penting dan bermanfaat untuk menciptakan lingkungan yang mendukung proses Scrum dalam organisasi.

Seperti apa sih peran Development Team?
Development team adalah tim pengembang yang melakukan pembuatan produk. Dalam konteks software, development team memberikan peningkatan software yang bertahap dari waktu ke waktu. Anggota development team tersusun dari software developer, designer, business analyst, tester, dan peran khusus lainnya yang dibutuhkan untuk mengubah requirement dalam bentuk PBI (Product Backlog Item) menjadi software. Mereka semua bekerja sebagai satu tim, berkolaborasi menyusun solusi dan saling membantu satu sama lain untuk mencapai tujuan pengembangan software.

Berapa banyak jumlah anggota Development Team dalam Scrum?
Jumlah anggota development team tidaklah terlalu banyak dan juga tidaklah terlalu sedikit. Jumlah yang direkomendasikan adalah minimal 3 orang dan maksimal 9 orang. Kurang dari 3 orang, kerja sebagai tim menjadi kurang optimal. Lebih dari 9 orang, koordinasi antar anggota tim akan menjadi lebih rumit. Riweuh deh jadinya, hehe.

Apa maksudnya self-organizing pada Development Team?
Self-organizing pada tim memiliki arti bahwa tim mengatur dirinya sendiri dalam menyelesaikan tugas dan kerjaannya. Self-organizing pada development team berarti tim diberikan otonomi untuk memilih cara dan alat (tools) untuk mencapai tujuan pengembangan software. Tidak seorangpun, termasuk Scrum Master atau Product Owner, diperkenankan untuk memberitahu development team bagaimana cara mereka mengubah PBI menjadi peningkatan software.

Seperti apa sih peran Scrum Master itu?
Scrum Master merupakan seseorang yang membantu tim membangun produk dalam proses Scrum. Scrum Master memastikan praktik, nilai, dan aturan dalam Scrum diterapkan secara tepat. Lebih lanjut lagi, Scrum Master membantu memfasilitasi keputusan development team yang self-organizing dan menghapus hambatan-hambatan yang dihadapi oleh development team. Untuk organisasi, Scrum Master membantu organisasi memahami Scrum dan membuat perubahan-perubahan yang mendukung proses Scrum.Read More »

Mengenal Proses Pengembangan Software Dengan Scrum

Untuk kamu yang pernah terlibat dengan pengembangan software, entah sebagai software developer, business analyst, manager, atau bahkan klien, pernahkah mendengar istilah Scrum? Atau mungkin pernah dengar kata Agile? Jika belum pernah, sepertinya ini saatnya untuk kamu kenalan lebih dekat dengan Scrum.

Konon katanya Scrum bisa membuat proses pengembangan software menjadi lebih kolaboratif, terarah, transparan, dan juga lebih menyenangkan. Katanya juga, cara ini bisa membuat tim pengembangnya bekerja lebih efisien dan efektif dengan produktifitas yang tinggi. Kedengaran¬†keren ya?¬†Yuk kita simak dulu. ūüėÄ

Scrum adalah sebuah proses yang agile untuk menangani produk yang kompleks. Ada dua kata kunci menarik dari definisi Scrum tersebut, yaitu proses yang agile dan produk yang kompleks. Dalam kaitannya dengan software, Scrum digunakan untuk menangani proses pengembangan software sebagai sebuah produk yang kompleks.

Software merupakan salah satu contoh dari produk kompleks. Kita bisa menemukan banyak ketidakpastian dalam pengembangan software. Pernah menghadapi requirement proyek yang suka berubah-ubah terus di tengah pengerjaan? Pernah merasa tidak familiar dengan teknologi yang digunakan dalam proyek? Atau pernah membuat fitur yang ternyata tidak sesuai dengan keinginan klien? Yup, itulah ketidakpastian dari sisi requirement maupun teknologi. Nah, Scrum sebagai proses agile berusaha menangani ketidakpastian tersebut.

Proses agile pada Scrum bersifat berulang atau iteratif (iterative) dan bertahap (incremental) untuk mengontrol ketidakpastian dan resiko pengembangan software. Proses ini membagi waktu pengembangan secara keseluruhan menjadi potongan waktu yang lebih kecil. Potongan waktu ini disebut sprint dan lama untuk satu sprint pada umumnya 2 minggu atau paling lama 4 minggu.

Mmm, jadi apa saja kegiatan yang dilakukan selama¬†sprint berlangsung?Read More »