DEVELOPMENT
• Agile menggambarkan sebuah prinsip untuk pengembangan perangkat lunak di mana,
• Persyaratan dan solusi berkembang melalui upaya kolaboratif mengatur diri sendiri +
tim lintas fungsi
• Agile Menyokong :
• Perencanaan adaptif
• Perkembangan bertahap
• Perbaikan terus-menerus
• dicapai melalui irama kerja reguler, yang dikenal sebagai sprint atau iterasi
• di akhir sprint, tim harus mempresentasikan apa sja yang berpotensi dalam meningkatan produk yang dapat di pesankan.
• dengan fokus pada pengulangan siklus kerja yang dihilangkan serta produk fungsional
yang dihasilkannya, metodologi agile digambarkan sebagai
“iterative” and “incremental”
• Dimana,
• tim pengembang hanya memiliki satu kesempatan untuk mendapatkan setiap aspek proyek dengan benar
• Karena tim dapat mengembangkan perangkat lunak pada saat yang sama disaat mereka mengumpulkan
persyaratan, fenomena ini dikenal sebagai "Analisis Paralisis" yang cenderung menghambat tim dari
membuat kemajuan
• agile memberdayakan tim untuk terus merencanakan ulang perilisan mereka karena untuk
mengoptimalkan nilainya sepanjang pengembangan , memungkinkan mereka untuk menjadi kompetitif
di pasar
Tujuan Pengembangan Perangkat Lunak Agile
• Individu dan interaksi
• dalam pengembangan agile, pengorganisasian diri sendir dan motivasi adalah hal penting, seperti juga interaksi
seperti co-location dan pair programming.
• Menanggapi perubahan
• pengembangan agile difokuskan pada respon yg cepat terhadap perubahan dan pengembangan yg berkelanjutan .
Prinsip agile
• Tujuan Agile didasarkan pada dua belas prinsip
1) Kepuasan pelanggan oleh penyampaian awal dan berkelanjutan menghasilkan perangkat lunak yang baik
3) Perangkat lunak yang berfungsi akan sering dikirim (setiap minggu bukannya perbulan)
4) Erat, kerja sama setiap hari antara pelaku bisnis dan pengembang
5) Proyek dibangun oleh individu yang mengerti dan paham , yang pastinya bisa dipercaya
9) Perhatian yang terus menerus untuk keunggulan teknis dan desain yang terbaik
10) Kesederhanaan — memaksimalkan jumlah pekerjaan yang belum selesai akan lebih penting
11) Arsitektur, persyaratan, dan desain terbaik muncul dari tim yang bisa mengatur diri sendiri
12) Secara teratur, tim memikirkan bagaimana menjadi lebih efektif, dan lebih menyesuaikan
Agile Model Pro dan Kontra
terkenal secara luas di dunia perangkat lunak, namun metode ini mungkin tidak selalu cocok untuk semua produk.
Pro Cons
• Merupakan pendekatan yang sangat realistis untuk pengembangan perangkat lunak • Tidak cocok untuk menangani dependensi yang kompleks.
• Mempromosikan kerja tim dan cross training. • Lebih banyak risiko dalam jangka panjang, pemeliharaan, dan ekstensibilitas.
• Fungsionalitas dapat dikembangkan dengan cepat dan ditunjukan. • Dalam rencana keseluruhan,praktik pemimpin projek agile dan PM agile
• Persyaratan sumber daya minimum. berifat wajib jika tidak maka projek tidak akan berhasil.
• Cocok untuk persyaratan tetap atau berubah • Ruang Lingkup yang ketat mempengaruhi Manajemen penyampaian,
• Memberikan lebih awal solusi kerja Menyeluruh. fungsionalitas yang akan disampaikan, dan penyesuaian untuk memenuhi deadline.
DSDM MUNGKIN METODOLOGI AGILE YG PALING LENGKAP, DI MANA SCRUM DAN XP LEBIH MUDAH UNTUK
DITERAPKAN DAN DI IMPLEMENTASI KARENA MEREKA MENANGANI ASPEK YANG BERBEDA DARI PROYEK
PENGEMBANGAN PERANGKAT LUNAK DAN DUA DUANYA MEMILIKI KONSEP YANG MIRIP.
Scrum
• berkonsentrasi khusus pada bagaimana KITA mengelola tugas dalam lingkungan pengembangan
berbasis tim
• percaya dalam memberdayakan tim dan mampu bekerja didalam tim kecil.
• Scrum terdiri dari tiga roles dan tanggung jawab mereka dijelaskan sebagai berikut
• Master Scrum
bertanggung jawab untuk mengatur tim, pertemuan dan menghilangkan
suatu hambatan pada setiap proses
• Pemilik produk
membuat Produk backlog, memprioritaskan backlog
dan bertanggung jawab untuk penyampaian fungsionalitas
pada setiap iterasi
• Scrum Team
mengelola pekerjaannya sendiri dan mengatur pekerjaan untuk
menyelesaikan setiap proses atau siklus
Product Backlog
• di mana persyaratan dilacak dengan detail pada setiap persyaratan yang harus diselesaikan untuk setiap perilisan
dipelihara dan diprioritaskan oleh master scrum, dan harus didistribusikan ke tim scrum Tim juga dapat meminta
penambahan atau modifikasi atau penghapusan persyaratan baru
• Praktek Scrum
Alur proses Metodologi Scrum
• Alur proses pengujian scrum adalah sebagai berikut
• Setiap iterasi scrum dikenal sebagai Sprint
• Product backlog adalah daftar di mana semua detail dimasukkan yg bertujuan untuk mendapatkan tahap akhir produk
• Selama setiap proses Sprint, item utama dari Product backlog dipilih dan diubah menjadi Sprint
backlog
• Tim bekerja pada tumpukan sprint yang ditentukan
• Setiap iterasi mencakup fase seperti pengkdingan, pengujian unit, dan pengujian sistem di mana pada setiap
fase, beberapa fungsi minor atau utama akan dibangun dalam aplikasi.
Tahapan Extreme Programming
1) Perencanaan
• Perencanaan Infrastruktur
• Informasi dan pengumpulan yg berkaitan keamanan
2) Cyclic delivery: Fase pengembangan utama terdiri dari dua atau lebih
Cyclic delivery, selama
1) Tim pembaruan dan penyempurnaan rencana perrilisan
2) mengimplentasikan bagian dari persyaratan melalui satu atau lebih tes program yg mengintegrasikan iterasi
3) Terintegrasi dari produk yang dikirimkan ke pengguna aslinya
3) Wrap Up
Aktivitas yang dilakukan dalam fase ini adalah menyebarkan ke lingkungan user, review pasca penempatan dan dilakukannya
perenungan
Metode Pengembangan Perangkat Lunak Dinamis (DSDM)
• DSDM adalah pendekatan dari Pengembangan Aplikasi yang Cepat (RAD) dan menyediakan kerangka kerja penyampaian proyek agile
• Aspek penting dari DSDM adalah bahwa pengguna diminta untuk terlibat secara aktif, dan tim diberi wewenang
untuk membuat keputusan
• penyampaian produk yang sering menjadi fokus aktif di DSDM.
• Teknik yang digunakan dalam DSDM adalah
• Time boxing (berpacu pada waktu)
• Aturan MoSCoW
• Prototyping
• Proyek DSDM terdiri dari 7 fase
1) Pra-proyek
2) Studi kelayakan
3) Studi Bisnis
4) Iterasi Model Fungsional
5) Desain dan pembangunan Iterasi
6) Penerapan
7) Pasca proyek
Feature Driven Development (FDD)
• Berfokus di sekitar "mendesain & membangun" fitur.
• FDD menjelaskan fase kerja secara spesifik dan pendek yang harus diselesaikan secara terpisah per
fiturnya
1) Mengeliminasi pemborosan
5) Memberdayakan tim
6) Membangun Integritas
7) mengoptimalkan keseluruhan
agile.
Tamat
JADI APA PERBEDAAN DARI AGILE DAN RAD?
Kesimpulannya, meskipun RAD dan AGILE berbagi nilai yang sama, Berhubungan dengan
fleksibilitas, waktu pengiriman yang lebih pendek, dan interaksi dan kepuasan pelanggan yang
tinggi, RAD berfokus pada prototipe sementara AGILE sebagian besar berfokus kepada
penguraian proyek menjadi fitur fitur yang kemudian disampaikan dalam berbagai sprint
selama siklus pengembangan. Berdasarkan pada keuntungan dan kerugian yang masing masing
dimiliki dari RAD dan AGILE, RAD sebagian besar cocok untuk proyek yg mempunyai enam atau
lebih sedikit anggota pengembang yang sangat terampil, di mana perilisan prototipe
diperbolehkan dalam tenggat waktu yang sangat ketat/sedikit. Di sisi lain, metodologi agile
umumnya cocok untuk proyek-proyek dengan rekomendasi kurang lebih dari dua puluh anggota
pengembang, di mana pengiriman fitur tambahan adalah fokus utamanya. Namun, RAD adalah
metode preskriptif untuk membuat perangkat lunak, menggunakan prototipe berturut-turut
untuk memperoleh persyaratan dan menyempurnakan aplikasi. sedangkan Agile, seperti dalam
bentuk sebelumnya diperkenalkan, adalah posisi filosofis yang menggambarkan perbedaan
antara pendekatan tradisional dan nilai-nilai yang difokuskan oleh praktisi agile.
LINK VIDEO PRESENTASI : https://youtu.be/9mcjl35_6Eg