Anda di halaman 1dari 5

PENGERTIAN AGILE METHOD

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.

TUJUAN AGILE DEVELOPMENT


 High-value & working App System
Menghasilkan sebuah perangkat lunak dengan nilai jual tinggi serta dapat menekan biaya
pembuatan. Dan yang terpenting adalah dapat menghasilkan produk dengan kualitas yang baik.

 Iterative, Incremental, Evolutionary


Agile merupakan model pengembangan yang dilakukan secara iteratif atau berulang-ulang, dan
dapat mengalami perubahan apabila diperlukan. Dapat dikatakan bahwa, metode ini terbilang
fleksibel dan dapat digunakan pada proyek pengembangan jangka pendek.

 Cost Control & value-driven development


Proses pengembangan perangkat lunak dapat disesuaikan dengan kebutuhan dari pengguna (user).
Kemudian, tim developer dapat mengontrol biaya dan waktu yang diperlukan untuk proses
pengembangan software sesuai kebutuhan.

 High-quality production
Kualitas dari produk perangkat lunak tetap terjaga dengan baik meskipun biaya dan waktu yang
diperlukan terbilang sedikit.

 Flexible & Risk Management


Fleksibel disini dapat diartikan dengan pertemuan dengan klien dapat dilakukan kapanpun sehingga
fungsionalitas dari perangkat lunak dapat terjaga. Yang terpenting, dapat meminimalisir terjadinya
kesalahan pada program maupun produk sebelum dilakukan proses deploy aplikasi.

 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.

 Self-organizing, Self-Managing Teams


Tujuan terakhir dari metode Agile ini adalah pengembang diberikan akses untuk memanajemen
sendiri urusan software development. Tugas dari seorang manajer untuk menjadi penghubung
antara developer dan klien sehingga dapat mengurangi terjadi miss communication.

PROS & CONS


Kelebihan:
- Proses pengembangan perangkat lunak membutuhkan waktu yang relatif cepat dan tidak
membutuhkan resources yang besar.
- Perubahan dapat ditangani dengan cepat sesuai dengan kebutuhan client.
- Client dapat memberikan feedback kepada tim pengembang dalam proses pembuatan
program.

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.

METODOLOGI & PROSES SCRUM


Scrum dieksekusi dalam blok sementara yang pendek dan periodik, yang disebut Sprint, yang
biasanya berkisar antara 2 hingga 4 minggu, yang merupakan istilah untuk umpan balik dan refleksi.
Setiap Sprint adalah entitas itu sendiri, yaitu memberikan hasil yang lengkap, variasi dari produk
akhir yang harus dapat dikirimkan ke klien dengan upaya seminimal mungkin saat diminta.

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.

Product Owner (PO)


- Mereka fokus pada bagian bisnis dan bertanggung jawab atas ROI. Mereka Menerjemahkan
visi proyek ke tim, memvalidasi manfaat dalam cerita untuk dimasukkan ke dalam Product
Backlog dan memprioritaskannya secara teratur.

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

DEFINISI EXTREME PRGRAMMING(XP)


Extreme Programming adalah suatu model yang termasuk dalam pendekatan agile yang
diperkenalkan oleh Kent Back. Menurut penjelasannya, definisi XP adalah sebagai berikut: “Extreme
Programming (XP) adalah metode pengembangan software yang cepat, efisien, beresiko rendah,
fleksibel, terprediksi, scientific, dan menyenangkan.“.

Model ini cenderung menggunakan pendekatan Object-Oriented. Tahapan-tahapan yang harus


dilalui antara lain: Planning, Design, Coding, dan Testing. Sasaran Extreme Programming adalah tim
yang dibentuk berukuran antara kecil sampai medium saja, tidak perlu menggunakan sebuah tim
yang besar. Hal ini dimaksudkan untuk menghadapi requirements yang tidak jelas maupun
terjadinya perubahan-perubahan requirements yang sangat cepat. Extreme Programming
merupakan agile methods yang paling banyak digunakan dan menjadi sebuah pendekatan yang
sangat terkenal.

Tahapan Dalam Etreme (XP) Programming, yaitu:


- Planning
- Design
- Coding
- Testing

Gambar diatas adalah siklus hidup dalam XP

PROS & CONS XP


Kelebihan
- Meningkatkan kepuasan kepada klien
- Pembangunan system dibuat lebih cepat
- Menjalin komunikasi yang baik dengan client.
- Meningkatkan komunikasi dan sifat saling menghargai antar developer.
Kelemahan
- Cerita-cerita yang menunjukkan requirements dari pelanggan kemungkinan besar tidak
lengkap sehingga Developer harus selalu siap dengan perubahan karena perubahan akan
selalu diterima.
- Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk
melakukan apa yang diperlukan hari itu juga).
- XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya
dokumentasi adalah dokumentasi awal yang dilakukan oleh user.

Anda mungkin juga menyukai