Agile Software Development adalah metodologi pengembangan software yang didasarkan pada
proses pengerjaan yang dilakukan berulang dimana, aturan dan solusi yang disepakati dilakukan
dengan kolaborasi antar tiap tim secara terorganisir dan terstruktur.
Agile development sendiri merupakan model pengembangan perangkat lunak dalam jangka pendek.
Kemudian, membutuhkan adaptasi yang cepat dalam mengatasi setiap perubahan. Nilai terpenting
dari Agile development ini adalah memungkinkan sebuah tim dalam mengambil keputusan dengan
cepat, kualitas dan prediksi yang baik, serta memiliki potensi yang baik dalam menangani setiap
perubahan.
High-quality production
Kualitas dari produk perangkat lunak tetap terjaga dengan baik meskipun biaya dan waktu yang
diperlukan terbilang sedikit.
Collaboration
Proses kolaborasi disini dilakukan oleh setiap tim pengembang untuk mendiskusikan feedback yang
diberikan oleh klien. Sehingga perlu adanya komunikasi dan koordinasi yang baik antar tim
developer.
Kekurangan
- Agile tidak cocok apabila dikerjakan oleh tim yang tidak memiliki komitmen untuk
menyelesaikan proyek bersama-sama.
- Metode Agile ini kurang tepat apabila dikerjakan dengan jumlah skala tim yang besar (lebih
dari 20 orang).
- Tim pengembang harus selalu bersiap karena perubahan dapat terjadi sewaktu-waktu.
DEFINISI SCRUM
Scrum adalah metodologi digunakan dalam pengembangan Perangkat Lunak berdasarkan proses
berulang dan bertahap. Scrum adalah framework yang mudah beradaptasi, cepat, fleksibel dan
efektif yang dirancang untuk memberikan nilai kepada pelanggan selama pengembangan proyek.
Tujuan utama Scrum adalah untuk memenuhi kebutuhan pelanggan melalui lingkungan yang
transparan dalam komunikasi, tanggung jawab bersama, dan kemajuan yang berkelanjutan.
Pengembangannya dimulai dari gambaran umum tentang apa yang perlu dibangun, mengelaborasi
daftar karakteristik yang diurutkan berdasarkan prioritas yang ingin diperoleh pemilik produk.
Proses memiliki sebuah titik awal, daftar tujuan/requirement yang membentuk rencana proyek.
Klien proyeklah yang memprioritaskan tujuan ini dengan mempertimbangkan keseimbangan nilai
dan biayanya, itulah cara iterasi dan pengiriman konsekuen ditentukan.
Di satu sisi pasar menuntut kualitas, pengiriman cepat dengan biaya lebih rendah, dimana
perusahaan harus sangat gesit dan fleksibel dalam pengembangan produk, untuk mencapai siklus
pengembangan yang singkat yang dapat memenuhi permintaan pelanggan tanpa merusak kualitas
hasil. . Ini adalah metodologi yang sangat mudah untuk diterapkan dan sangat populer untuk hasil
cepat yang didapatnya.
Metodologi scrum digunakan terutama untuk pengembangan perangkat lunak, tetapi sektor lain
juga memanfaatkan manfaatnya dengan menerapkan metodologi ini dalam model organisasi
mereka seperti tim penjualan, pemasaran, & SDM, dll.
PERAN DALAM SCRUM
Scrum master
- Orang yang memimpin tim membimbing mereka untuk mematuhi aturan dan proses
metodologi. Scrum master mengelola pengurangan hambatan proyek dan bekerja dengan
Pemilik Produk untuk memaksimalkan ROI. Scrum Master bertanggung jawab untuk menjaga
agar Scrum selalu up to date, memberikan pembinaan, pendampingan, dan pelatihan
kepada tim jika diperlukan.
Tim
- Sekelompok profesional dengan pengetahuan teknis yang diperlukan yang mengembangkan
proyek bersama-sama melaksanakan cerita yang mereka komitmenkan pada awal setiap
sprint.
MANFAAT SCRUM
- Easily Scalable
- Compliance of expectations
- Flexible to changes
- Time to Market reduction
- Higher software quality
- Timely Prediction
- Reduction of risks