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
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 :
- Membuat product backlog
- Mengurutkan product backlog berdasarkan kepentingannya
- 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 TeamTim 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 ArtifactScrum 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 BacklogProduct 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 itemb. Sprint BacklogSprint 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. IncrementIncrement 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 EventScrum 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. SprintSprint 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 bulanb. Sprint PlanningPekerjaan 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:
- Apa yang dapat diberika pada increment mendatang ?
- Apa saja pekerjaan yang harus dilakukan untuk mencapai increment tersebut ?
c. Daily ScrumDaily 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 :
- Apa saja yang telah ia kerjakan pada hari sebelumnya ?
- Apakah terdapat hambatan saat ia mengerjakan tugas kemarin ?
- 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 menyelesaikannyad. Sprint ReviewSprint 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
- Product Owner akan menjelaskan Sprint Backlog apa saja yang sudah selesai dan yang belum selesai
- Tim pengembang akan menjelaskan apa saja yang sudah berjalan dengan baik, masalah apa yang ditemuinya dan bagaimana menyelesaikan masalah tersebut
- Tim pengembang akan mendemonstrasikan hasil kerja nya selama 1 Sprint tersebut
- Product Owner atau Stakeholder akan memberikan ulasan dan masukan yang akan menjadi bahan pertimbangan untuk Product Backlog
- 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 berikutnyae. Sprint RetrospectiveSama 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 :
- Memeriksa bagaimana Sprint terkahir berjalan, berkaitan dengan individunya, prosesnya atau tools nya
- Mengidentifikasi dan mengurutkan apa saja yang sudah berjalan dengan baik dan yang dapat ditingkatkan
- 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:
- Memahami Scrum - Proses Pengembangan Software
- Sekilas Tentang Scrum Sebagai Salah Satu Pendekatan Agile Software Development
- Agile Software Development: 4 Nilai & 12 Prinsip Dari Agile Manifesto
Comments
Post a Comment