Metode Agile - Hai sobat kali ini saya akan berbagi mengenai tugas kuliah saya pada matakuliah Rekayasa Perangkat Lunak yaitu tentang metode agile. Apa sih agile.?,
Agile adalah sebuah metode dalam pengembangan atau pembuatan sistem dengan cara cepat, artinya kebutuhan sistem sudah terpenuhi dengan melibatkan client dalam pembuatan softwarenya, sehingga kemungkinan sistem gagal itu sangat sedikit.
Di atas adalah sedikit penjelasan mengenai agile, dan pada dibawah ini saya akan menjelaskan agile secara rinci dengan berupa pertanyaan-pertanyaan yang ada.
Daftar Pertanyaan :
Agile adalah proses pengembangan software yang berkembang pada tahun 1990. kata Agile berarti bersifat cepat, ringan, bebas bergerak, waspada. Metodologi yang dikenal sebagai agile methods ini mengutamakan fleksibilitas terhadap perubahan-perubahan yang terjadi selama pengembangan. Model-model dari agile diantaranya Rational Unified Process (1994), Scrum (1995), Crystal Clear, Extreme Programming (1996), dan Adaptive Software Development, Feature Driven Development, and Dynamic Systems Development Method (DSDM) (1995). Dan pada akhirnya terbentuklah pada tahun 2001 proses pengembangan agile.
- Analisis Proyek : Menganalisis proyek sistem yang ingin dikembangakan
- Pengembangan Proyek : Proses pengembangan sistem dilakukan
- Testing Proyek : Mencoba sistem yang sudah selesai sebelum diberikan kepada client
Apabila sistem lulus test dan tidak ada perubahan-perubahan, maka sistem tersebut sudah bisa digunakan oleh client. Sementara apabila masih terjadi perubahan-perubahan maka kembali lagi ke proses awal.
• Metode agile memiliki konsep yang rumit dibandingkan dengan metode klasik
• Metode klasik relatif lebih lama dalam pengerjaan proyeknya dibandingkan dengan model metode agile
• Resiko kegagalan lebih rendah dibandingkan dengan metode klasik
- Planning
Aktivitas planning pada model proses XP berfokus pada mendapatkan gambaran fitur serta fungsi dari perangkat lunak yang akan dibangun. Pada aktivitas ini dimulai dengan membuat kumpulan cerita atau gambaran yang diberikan klien yang kemudian akan menjadi gambaran dasar dari perangkat lunak.
- Design
Aktivitas design dalam pengembangan aplikasi bertujuan untuk mengatur pola logika dalam sistem. Design pada model proses extreme programming menjadi panduan dalam membangun perangka\t lunak yang didasari dari cerita klien sebelumnya.
- Coding
Proses pengkodean program yang mana XP menerapkan konsep pair programming dimana setiap tugas sebuah modul dikembangkan oleh dua orang programmer. XP beranggapan, 2 orang akan lebih cepat dan baik dalam menyelesaikan sebuah masalah.
- Test
Tahap dimana sudah dilakukan pengkodean program kemudian dilakukan uji coba terhadap sistem yang sudah selesai. XP menerapkan perbaikan masalah kecil dengan sesegera mungkin akan lebih baik dibandingkan menyelesaikan masalah pada saat akan mencapai tenggat akhir.
• Kelebihan XP
1. Menjalin komunikasi yang baik dengan client.
2. Meningkatkan komunikasi dan sifat saling menghargai antar developer.
• Kekurangan XP
1. Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
2. Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).
1. Saat kebutuhan sistem selalu berubah-ubah
2. XP cocok digunakan saat client membutuhkan waktu yang cepat dalam pembuatan sistem.
3. Proyek dilakukan dengan 2-10 orang dalam 1 tim
• Product Owner
Product Owner bertanggung jawab untuk memaksimalkan nilai dari produk dan hasil kerja dari tim Pengembang. Cara untuk melakukan ini akan beragam di setiap organisasi, Tim Scrum, dan masing-masing individu. Pemilik Produk adalah orang yang bertanggung-jawab untuk mengelola Product Backlog atau daftar keinginan.
• Developer Team
Tim Pengembang terdiri dari para ahli yang bekerja untuk membangun produk yang telah disusun oleh product owner.
Tim Pengembang distrukturisasi dan didukung oleh organisasi untuk mengatur dan mengelola pekerjaannya secara mandiri. Sinergi yang dihasilkan akan meningkatkan efisiensi dan efektifitas dari Tim Pengembang secara keseluruhan.
• Scrum Master
Scrum Master bertanggung jawab untuk memastikan Scrum telah dipahami dan dilaksanakan. Scrum Master membantu setiap pihak untuk merubah interaksi ini untuk memaksimalkan nilai yang dihasilkan oleh Tim Scrum.
• Kelebihan
- Keperluan berubah dengan cepat
- Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan memberdayakan satu sama lain
- Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat
- Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
- Proses Scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
• Kelemahan
- Waktu proyek tidak jelas
- Cost yang tidak akurat
- Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
• Keperluan berubah dengan cepat
• Tim programmer sedikit, yaitu 5-9 orang
• Pelanggan tidak terlalu paham dengan apa yang diinginkan
• Backlog
Daftar keinginan sesuai dengan kebutuhan produk
• Sprint Backlog
Sprint Backlog adalah sekumpulan dari item Product Backlog yang telah dipilih untuk
dimasukkan ke dalam Sprint dan rencana untuk menyelesaikan potongan produk dan
merealisasikan tujuan Sprint.
• Burndown Chart
Grafik untuk memperkirakan kemajuan proyek
• Sprint
Sprint adalah periode waktu selama pekerjaan tertentu yang harus diselesaikan dan siap untuk diulas.
• Planning Sprint
Perencanaan sprint dilakukan untuk memastikan rencana apa saja yang akan dilakukan
• Sprint Review
Proses dimana sprint sudah selesai dilakukan, dan nantinya akan diadakan pertemuan dengan pengguna.
• Sprint restropective
Proses dimana Tim Scrum akan langsung bertemu untuk membahas apa lagi yang
2 komentar
Wow this is amazing. Never knew you could hack anyone on facebook this easily.
Try it out guys, it works.
hackfbaccountlive.com/?ref=16255241
gamar dari Scrum life cycle mana bro? di google sih banyak, tapi yg sesuai sama keteranganya yg tertera disini belum ketemu nih :(
EmoticonEmoticon