What Is Agile Software Development
AgileSoftware Development adalah
kerangka kerja rekayasa perangkat lunak yang ringan yang mempromosikan
pengembangan berulang sepanjang siklus hidup proyek, kerja sama erat antara tim
pengembangan dan sisi bisnis, komunikasi yang konstan, dan tim yang erat
Whyagile?
mengapa ada yang mempertimbangkan
Agile? Jelas aturan keterlibatan seputar perangkat lunak bangunan telah berubah
secara mendasar dalam 10-15 tahun terakhir. Banyak kegiatan yang terlihat
serupa, tetapi lanskap dan lingkungan tempat kami menerapkannya terasa berbeda.
Pertimbangkan sejenak bagaimana rasanya membeli perangkat lunak hari ini ...
jika dibandingkan dengan awal tahun 2000-an. Kapan terakhir kali Anda
berkendara ke toko untuk membeli perangkat lunak? Pertimbangkan bagaimana Anda
mengumpulkan umpan balik dari pelanggan menggunakan produk Anda. Bagaimana kami
memahami apa yang dipikirkan orang tentang perangkat lunak kami sebelum media
sosial? Terakhir, pikirkan tentang seberapa sering Anda ingin memperbarui dan
meningkatkan perangkat lunak yang Anda kirimkan. Memberikan pembaruan setahun
sekali tidak terdengar seperti resep untuk menang. Diego Lo Guidice dari
Forrester dan Dave West mengatakannya terbaik dalam makalah berjudul
TransformingApplicationDelivery (Februari 2011).
Sejarah Singkat Agile
Pada akhir tahun 1990-an,
beberapa metodologi mulai mendapatkan perhatian publik yang meningkat,
masing-masing memiliki kombinasi yang berbeda dari ide-ide lama dan baru.Metodologi
ini menekankan kolaborasi erat antara tim pengembangan dan pemangku kepentingan
bisnis; seringnya pengiriman nilai bisnis, ketat, tim yang mengatur dirinya
sendiri; dan cara cerdas untuk membuat, mengonfirmasi, dan mengirimkan kode.
Istilah
"Agile" diterapkan pada kumpulan metodologi ini pada awal tahun 2001
ketika 17 praktisi pengembangan perangkat lunak berkumpul di Snowbird, Utah
untuk mendiskusikan ide-ide mereka yang dibagi dan berbagai pendekatan untuk
pengembangan perangkat lunak.
Kumpulan
nilai-nilai dan prinsip-prinsip bersama ini diungkapkan dalam Manifesto untuk
Pengembangan Perangkat Lunak Agile dan dua belas prinsip terkait.
Agile Development Methods
Agile Development Methods adalah
sekelompok metodologi pengembangan perangkat lunak yang didasarkan pada
prinsip-prinsip yang sama atau pengembangan sistem jangka pendek yang
memerlukan adaptasi cepat dari pengembang terhadap perubahan dalam bentuk
apapun. Agiledevelopmentmethods merupakan salah satu
dari Metodologi pengembangan perangkat lunak yang digunakan dalam
pengembangan perangkat lunak.
Ada beberapa langkah dalam Agile Development Methods, yaitu :
1 . Perencanaan, pada langkah ini pengembang dan klien membuat rencana tentang kebutuhan dari perangkat lunak yang akan dibuat.
2 . Implementasi, bagian dari proses dimanaprogrammer melakukan pengkodean perangkat lunak.
3 . Tes perangkat lunak, disini perangkat lunak yang telah dibuat di tes oleh bagian kontrol kualitas agar bug yang ditemukan bisa segera diperbaiki dan kualitas perangkat lunak terjaga.
4 . Dokumentasi, setelah dilakukan tes perangkat lunak langkah selanjutnya yaitu proses dokumentasi perangkat lunak untuk mempermudah proses maintenanancekedepannya.
5 . Deployment, yaitu proses yang dilakukan oleh penjamin kualitas untuk menguji kualitas sistem. Setelah sistem memenuhi syarat maka perangkat lunak siap dideployment.
6 . Pemeliharaan, langkah terakhir yaitu pemeliharaan. Tidak ada perangkat lunak yang 100% bebas dari bug, oleh karena itu sangatlah penting agar perangkat lunak dipelihara secara berkala
Ada beberapa langkah dalam Agile Development Methods, yaitu :
1 . Perencanaan, pada langkah ini pengembang dan klien membuat rencana tentang kebutuhan dari perangkat lunak yang akan dibuat.
2 . Implementasi, bagian dari proses dimanaprogrammer melakukan pengkodean perangkat lunak.
3 . Tes perangkat lunak, disini perangkat lunak yang telah dibuat di tes oleh bagian kontrol kualitas agar bug yang ditemukan bisa segera diperbaiki dan kualitas perangkat lunak terjaga.
4 . Dokumentasi, setelah dilakukan tes perangkat lunak langkah selanjutnya yaitu proses dokumentasi perangkat lunak untuk mempermudah proses maintenanancekedepannya.
5 . Deployment, yaitu proses yang dilakukan oleh penjamin kualitas untuk menguji kualitas sistem. Setelah sistem memenuhi syarat maka perangkat lunak siap dideployment.
6 . Pemeliharaan, langkah terakhir yaitu pemeliharaan. Tidak ada perangkat lunak yang 100% bebas dari bug, oleh karena itu sangatlah penting agar perangkat lunak dipelihara secara berkala
Kelebihan dari AgileMethod
• Meningkatkan kepuasan kepada klien
• Pembangunan system dibuat lebih cepat
• Mengurangi resiko kegagalan implementasi software dari segi non-teknis
• Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi materi relative kecil.
Beberapa kelemahannya ialah:
• Agile jarang dipraktekkan secara langsung
• Interksi dengan customers yang berlebihan
• Agile sulit diimplementasikan dalam proyek yang berskala besar
• Membutuhkan manajemen tim yang terlatih
• Lemah dalam perencanaan arsitektur, 2 Scrum dan ExtremeProgramming
• Keterbatasan waktu dalam perencanaan Proyek
Model-modelModel-modelAgilemethod
• ExtremeProgrammning (XP)
• AdaptiveSoftware Development (ASD)
• Dynamic Systems Development Method (DSDM)
• ScrumMethodology
• Crystal
• FeatureDriven Development (FDD)
• Agile Modeling (AM)
• RationalUnifiedProcess
Manfaat Pengembangan Perangkat Lunak Agile
Metode tangkas tumbuh dari pengalaman proyek nyata dari profesional perangkat lunak terkemuka yang telah mengalami tantangan dan keterbatasan pengembangan air terjun tradisional pada proyek demi proyek. Pendekatan yang dipromosikan oleh pengembangan tangkas adalah tanggapan langsung terhadap masalah yang terkait dengan pengembangan perangkat lunak tradisional baik dari segi filsafat secara keseluruhan maupun proses khusus.
Pengembangan tangkas, dalam bentuknya yang paling sederhana, menawarkan kerangka kerja ringan untuk membantu tim, mengingat lanskap fungsional dan teknis yang terus berubah, mempertahankan fokus pada pengiriman nilai bisnis yang cepat (yaitu, bang forthebuck). Sebagai hasil dari fokus ini, manfaat pengembangan perangkat lunak tangkas adalah bahwa organisasi mampu secara signifikan mengurangi risiko keseluruhan yang terkait dengan pengembangan perangkat lunak.