Metode Agile
METODE 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.
1. Sejarah Agile
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 agilediantaranya 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.
2. Metodologi 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.
3. Perbedaan Agile dan Model klasik
- 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
4. XP(Extreme Programming) Life Cycle
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 perangkat 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
- Menjalin komunikasi yang baik dengan client.
- Meningkatkan komunikasi dan sifat saling menghargai antar developer.
- Kekurangan XP
- 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).
6. Roles of Scrum
- 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.
7. Kelebihan dan Kekurangan 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.
8. Penggunaan Scrum
- 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
sumber: web PT Integrasindo
http://www.integrasindo.com/metode-agile/
Komentar
Posting Komentar