Skip to main content

Scrum: Pengertian, Beberapa Pilar & Komponennya

Apa itu Scrum

Scrum adalah sebuah framework dimana sebuah tim dapat mengatasi masalah adaptif yang kompleks, sambil secara produktif dan kreatif memberikan produk dengan nilai setinggi mungkin.

Tiga Pilar Scrum

Scrum memiliki 3 pilar utama, yaitu :
1. Transparansi

Aspek – aspek penting dari suatu proses harus terlihat oleh pihak – pihak yang bertanggung jawab atas hasilnya. Transparansi mengharuskan aspek – aspek tersebut ditentukan oleh standar yang sama sehingga pengamat memiliki pemahaman yang sama tentang apa yang dilihat.

2. Inspeksi

Pengguna Scrum harus memeriksa Scrum Artifact dan progress secara berkala untuk mendeteksi gangguan – gangguan yang tidak diinginkan

3. Adaptasi

Jika seseorang menemukan satu atau lebih aspek menyimpang di luar batas yang dapat diterima, dan bahwa produk yang dihasilkan tidak dapat diterima, proses yang sedang dilakukan harus disesuaikan. Penyesuaian harus dilakukan secepat mungkin untuk meminimalkan penyimpangan lebih lanjut.

Komponen-komponen Scrum

Scrum framework terdiri dari beberapa komponen seperti :

1. Scrum Team

Sebuah Scrum Team bersifat self – organizing dan cross – functional. Self – organizing disini berarti Scrum Team harus bisa menentukan bagaimana cara terbaik untuk menyelesaikan tugas yang diberikan tanpa perlu diatur oleh orang lain di luar tim. Cross – functional memiliki arti setiap anggota tim harus memiliki kemampuan yang dibutuhkan untuk menyelesaikan tugas yang diberikan tanpa harus bergantung pada pihak yang bukan anggota tim. Kedua sifat tersebut bertujuan untuk meningkatkan fleksibilitas, kreatifitas, dan produktifitas.

Pada Scrum Team terdapat 3 peran, yaitu :

a. Product Owner

Product Owner adalah orang yang bertanggung jawab untuk memaksimalkan nilai produk yang dihasilkan oleh tim pengembang. Peran Product Owner hanya bisa dipegang oleh 1 orang bukan oleh suatu kelompok. Suatu kelompok pimpinan dapat mengubah prioritas product backlog, akan tetapi harus dengan persetujuan Product Owner.

Product Owner memiliki tugas sebagai berikut :
  1. Membuat product backlog
  2. Mengurutkan product backlog berdasarkan kepentingannya
  3. Memastikan product backlog dapat dimengerti oleh Scrum Team lainnya

b. Scrum Master

Scrum Master adalah orang yang menjadi pemimpin sekaligus pelayan dari suatu Scrum Team. Scrum Master bertanggung jawab menjaga Scrum Event dilakukan dengan baik dan dengan timebox yang tepat

c. Developer Team

Tim pengembang terdiri dari para professional yang melakukan pekerjaan untuk memberikan increment pada produk yang akan dirilis di akhir setiap sprint. Tim pengembang harus bersifat self – organizing dan cross – functional

2. Scrum Artifact

Scrum Artifact mewakili pekerjaan atau nilai untuk memberikan transparansi dan peluang untuk inspeksi dan adaptasi sesuai dengan keadaan. Terdapat beberapa bentuk Scrum Artifact, yaitu :

a. Product Backlog

Product Backlog adalah daftar yang berisi urutan apa saja yang dibutuhkan pada suatu produk. Product Backlog berisi semua fitur, fungsi, requirement, peningkatan dan perbaikan apa saja yang akan dilakukan pada produk. Product Backlog bersifat dinamis dan dapat berubah seiring dengan perkembangan produk. Product Owner bertanggung jawab terhadap konten dan urutannya. Sedangkan tim pengembang bertanggung jawab terhadap estimasi kesulitan dan estimasi waktu yang dibutuhkan pada setiap item

b. Sprint Backlog

Sprint Backlog adalah rencana yang dibuat oleh tim pengembang yang menunjukkan fungsionalitas apa yang akan ada pada increment berikutnya dan apa saja yang perlu dilakukan untuk menyelesaikan fungsionalitas tersebut. Sprint Backlog berisi sekumpulan item dari Product Backlog yang dipilih untuk dikerjakan pada suatu Sprint.

c. Increment

Increment adalah jumlah item pada Product Backlog yang telah selesai pada suatu Sprint dan Sprint sebelumnya. Pada akhir setiap Sprint, Increment baru harus sudah selesai, yang berarti harus dalam keadaan siap dipakai walaupun Product Owner memutuskan akan merilisnya atau tidak

3. Scrum Event

Scrum Event adalah serangkaian kegiatan (event) yang dibuat untuk menciptakan keteraturan dan meminimalkan kebutuhan akan pertemuan yang tidak ditentukan pada Scrum. Event – event tersebut dirancang untuk memungkinkan transparansi dan inspeksi. Setiap event akan memiliki batas waktu yang berbeda dengan event lainnya. Terdapat 5 event pada Scrum, yaitu:

a. Sprint

Sprint adalah bagian terpenting dari Scrum, dimana Sprint juga adalah wadah dari Scrum Event lainnya. Sprint memiliki jangka waktu yang konsisten pada setiap perulangan, yaitu 2 minggu atau 1 bulan. Sebuah Sprint baru akan dimulai ketika Sprint sebelumya sudah selesai. Sprint memungkinkan prediktabilitas dengan memastikan inspeksi dan adaptasi pada Sprint Goal terjadi setidak nya sekali tiap bulan

b. Sprint Planning

Pekerjaan yang dilakukan selama Sprint direncanakan pada Sprint Planning. Rencana ini dibuat dengan kerjasama dari seluruh Scrum Team. Sprint Planning dilakukan pada awal sebuah sprint dan memiliki durasi 8 jam untuk Sprint dengan durasi 1 bulan, atau 4 jam untuk Sprint dengan durasi 2 minggu. Scrum Master harus memastikan event ini berlangsung sesuai dengan jangka waktu yang telah ditetapkan dan semua Scrum Team mengerti tujuan dari event ini. Sebuah Sprint Planning yang baik harus dapat menjawab beberapa pertanyaan berikut:
  1. Apa yang dapat diberika pada increment mendatang ?
  2. Apa saja pekerjaan yang harus dilakukan untuk mencapai increment tersebut ?
c. Daily Scrum

Daily Scrum adalah event yang akan dilakukan oleh tim pengembang setiap hari dalam Sprint dan memiliki durasi 15 menit. Untuk mengurangi kerumitan, event ini biasanya dilakukan pada waktu dan tempat yang sama setiap harinya. Pada Daily Scrum, setiap anggota tim pengembang akan menjelaskan 3 hal sebagai berikut :
  1. Apa saja yang telah ia kerjakan pada hari sebelumnya ?
  2. Apakah terdapat hambatan saat ia mengerjakan tugas kemarin ?
  3. Apa yang akan ia kerjakan pada hari ini ?
Biasanya tim pengembang akan mengadakan diskusi mendetail sesudah Daily Scrum untuk menyesuaikan atau merencanakan ulang sisa pekerjaan Sprint. Event ini memiliki beberapa manfaat yaitu mengidentifikasi hambatan pada tim pengembang dan dapat dengan cepat membuat keputusan untuk menyelesaikannya

d. Sprint Review

Sprint Review adalah event yang dilakukan pada akhir sebuah Sprint dan memiliki durasi 4 jam untuk Sprint dengan durasi 1 bulan, atau 2 jam untuk Sprint dengan durasi 2 minggu. Event ini diikuti oleh seluruh Scrum Team (Product Owner, Scrum Master dan tim pengembang) serta para stakeholder yang bertanggung jawab pada project yang sedang dikerjakan. Terdapat beberapa hal yang dilakukan pada event ini, yaitu
  1. Product Owner akan menjelaskan Sprint Backlog apa saja yang sudah selesai dan yang belum selesai
  2. Tim pengembang akan menjelaskan apa saja yang sudah berjalan dengan baik, masalah apa yang ditemuinya dan bagaimana menyelesaikan masalah tersebut
  3. Tim pengembang akan mendemonstrasikan hasil kerja nya selama 1 Sprint tersebut
  4. Product Owner atau Stakeholder akan memberikan ulasan dan masukan yang akan menjadi bahan pertimbangan untuk Product Backlog
  5. Seluruh anggota akan berkolaborasi untuk memperbaiki Product Backlog sesuai dengan ulasan dan masukan sebelumnya
Hasil dari Sprint Review adalah Product Backlog yang telah direvisi yang akan digunakan untuk Sprint berikutnya

e. Sprint Retrospective

Sama seperti Sprint Review, Sprint Retrospective juga diadakan pada akhir sebuah Sprint. Sprint Retrospective dilakukan setelah Sprint Review dan memiliki durasi 3 jam untuk Sprint dengan durasi 1 bulan, atau 1,5 jam untuk Sprint dengan durasi 2 minguu. Pada event ini, seluruh anggota Scrum Team akan memeriksa dirinya sendiri dan membuat rencana perbaikan yang akan dilakukan pada Sprint selanjutnya.

Tujuan dari event ini adalah :
  1. Memeriksa bagaimana Sprint terkahir berjalan, berkaitan dengan individunya, prosesnya atau tools nya
  2. Mengidentifikasi dan mengurutkan apa saja yang sudah berjalan dengan baik dan yang dapat ditingkatkan
  3. Membuat rencana untuk meningkatkan atau memperbaiki kekurangan pada Sprint terakhir yang akan dilakukan pada Sprint selanjutnya

Contoh Komposisi Tim

Berikut adalah contoh kompisisi tim serta job desc dari masing – masing role pada tim pengembangan software "XYZ" yang bertugas dalam pengembangan aplikasi "XYZ" tersebut:

a. Product Owner
Bertugas menghubungkan scrum team dengan stakeholder serta membuat dan memperbaharui product backlog.  
b. Scrum Master
Bertugas memimpin dan mengkoordinasi scrum team
c. Aplication Developer (4 orang)
Bertugas mengembangkan aplikasi "XYZ", baik dari sisi front-end maupun back-end
d. Infrastrucutre Developer (2 orang)
Bertugas melakukan pengaturan atau konfigurasi aplikasi supaya dapat berfungsi dengan baik dan sesuai requirement dari aplikasi "XYZ"

--o0o-- 

Artikel-artikel terkait Scrum:

 

Comments

Popular posts from this blog

Pengertian Binding dalam Bahasa Pemrograman dan Kapan Terjadinya

Binding dimaksudkan sebagai pengikatan (association) antara suatu entity dengan atributnya, misalnya binding/pengikatan antara suatu variable dengan tipe datanya atau dengan nilainya, atau dapat juga antara suatu operasi dengan simbol, misalnya simbol + dikenali sebagai operasi penjumlahan atau simbol ^ dikenali sebagai operasi pangkat, dll.  Peristiwa binding dan kapan terjadinya binding (biasanya disebut dengan binding time ) berperan penting dalam membicarakan semantics suatu bahasa pemrograman. Beberapa kemungkinan binding time adalah:

Latihan Soal Jawab Matematika Diskrit

Berikut di bawah ini adalah latihan soal jawab untuk matematika diskrit dengan topik-topik: Pernyataan Logika Circuits dan Ekspresi Boolean Argumen (valid/tidak valid) Teori Himpunan Permutasi Fungsi --o0o-- Pernyataan Logika 1. Buatlah tabel kebenaran untuk menentukan yang mana tautology dan yang mana contradiction dalam pernyataan logika (a) dan (b) di bawah ini: a. (p ∧ q) ∨ (∼p ∨ (p ∧ ∼q)) b.  (p ∧ ∼q) ∧ (∼p ∨ q)

Contoh proses normalisasi relasi dari UNF – 1NF – 2NF – dan 3NF

Dalam posting tulisan tentang: “Tujuan dan Manfaat Normalisasi dalam Perancangan Database” , kita sudah mempelajari tentang: “Apa itu normalisasi” dan “Mengapa kita perlu melakukan normalisasi”. Kedua pertanyaan itu sudah terjawab dalam tulisan tersebut.  Kemudian dalam posting tulisan tentang: “Konsep Ketergantungan Fungsional, Normalisasi, dan Identifikasi Primary Key dalam Perancangan Sistem Database” , kita sudah mempelajari suatu konsep penting yang digunakan untuk melakukan normalisasi, yaitu konsep ketergantungan fungsional yang terdiri dari ketergantungan penuh, ketergantungan parsial atau sebagian, dan ketergantungan transitif. Proses normalisasi pertama-tama dilakukan dengan mengidentifikasi adanya ketergantungan-ketergantungan tersebut dalam relasi-relasi dan kemudian menghilangkannya. Cara melakukan normalisasi, mengidentifikasi berbagai macam ketergantungan, dan menghilangkan ketergantungan pada relasi-relasi bisa dipelajari ulang dalam postingan tulisan d...