CodeGym/Java Course/Modul 3/Metodologi pengembangan tangkas - Agile

Metodologi pengembangan tangkas - Agile

Level 15, Pelajaran 2
Tersedia

Model tangkas

Metodologi yang fleksibel (Agile) membantu mengurangi risiko dalam pengembangan perangkat lunak dengan memindahkan alur kerja ke dalam beberapa siklus kecil. Siklus ini disebut iterasi dan biasanya berlangsung selama dua hingga tiga minggu.

Iterasi seperti proyek perangkat lunak kecil yang terdiri dari tugas, yang masing-masing meningkatkan fungsionalitas. Ini termasuk: menyusun rencana, mengevaluasi persyaratan, menyetujui proyek, menulis kode, menguji, dan membuat dokumentasi teknis.

Satu iterasi biasanya tidak cukup untuk rilis perangkat lunak yang lengkap. Namun, hal yang baik tentang Agile adalah sebagian kecil proyek siap untuk dievaluasi pada akhir setiap iterasi. Ini memungkinkan anggota tim mengubah prioritas untuk pekerjaan lebih lanjut tanpa menunggu rilis final.

Menerapkan metodologi pengembangan yang “gesit”, Anda dapat melihat hasil nyata setelah setiap iterasi. Artinya, pengembang dapat mengetahui apakah hasil karyanya memenuhi persyaratan atau tidak. Ini adalah salah satu keunggulan penting dari model fleksibel.

Adapun kekurangannya, saat menggunakan Agile, terkadang sulit memperkirakan biaya sumber daya tenaga kerja dan anggaran proyek. Jika kita mengambil opsi untuk aplikasi praktis dari model fleksibel, maka yang paling terkenal di antaranya adalah Extreme Programming (XP).

XP didasarkan pada pertemuan singkat anggota tim yang berlangsung setiap hari, dan pertemuan rutin (seminggu sekali atau kurang). Pada aksi unjuk rasa harian (daily standup) biasanya dibahas:

  • hasil pekerjaan saat ini;
  • daftar tugas yang harus diselesaikan oleh setiap anggota tim;
  • kesulitan yang dihadapi dan cara untuk mengatasinya.

Manifesto

Agile adalah keseluruhan arah dalam pengembangan, sehingga aturan untuk mengerjakannya dinyatakan dalam dokumen khusus - Agile Manifesto. Ini mencakup praktik dan prinsip yang harus digunakan tim untuk bekerja.

Agile Manifesto terdiri dari 4 ide fundamental dan 12 prinsip.

Gagasan Utama:

  • kolaborasi antar pengembang lebih penting daripada alat;
  • versi kerja produk lebih diutamakan daripada dokumentasi;
  • saling pengertian antara tim dan pelanggan lebih penting daripada ketentuan kontrak;
  • Rencana awal selalu dapat diubah jika perlu.

Adapun 12 prinsip Agile, ini dia:

  • prioritas utama adalah kesesuaian program yang sudah selesai dengan harapan pelanggan;
  • perubahan kondisi diperbolehkan pada setiap tahap, bahkan pada tahap akhir pengembangan (jika hal ini dapat meningkatkan kualitas dan daya saing perangkat lunak);
  • pengiriman reguler versi produk perangkat lunak yang berfungsi (setiap 14 hari, bulan, atau triwulanan);
  • kunci sukses adalah interaksi reguler antara pelanggan dan pengembang (sebaiknya setiap hari);
  • proyek harus dibangun di antara mereka yang tertarik, orang-orang seperti itu harus diberi kondisi yang diperlukan untuk bekerja dan semua jenis dukungan;
  • cara terbaik untuk berbagi informasi dalam tim adalah pertemuan pribadi;
  • versi perangkat lunak yang berfungsi adalah indikator kemajuan terbaik;
  • semua pemangku kepentingan harus dapat mempertahankan kecepatan kerja yang diinginkan selama proses pengembangan perangkat lunak;
  • peningkatan teknis dan desain yang baik meningkatkan fleksibilitas;
  • penting untuk tetap sederhana dan tidak berlebihan;
  • hasil terbaik diperoleh dari tim yang mampu mengatur diri sendiri;
  • anggota tim harus secara teratur memikirkan cara untuk meningkatkan efisiensi mereka dengan mengubah alur kerja.

Menurut Agile manifesto, proses pengembangan perangkat lunak yang baik secara langsung bergantung pada orang-orang yang terlibat dalam proses tersebut. Untuk melakukan ini, Anda perlu mengatur interaksi mereka seefisien mungkin, membuat tim yang paling terorganisir.

Metodologi

Ada juga beberapa metodologi dalam Agile Manifesto yang menjelaskan nilai dan prinsip:

  • Pemodelan Agile;
  • Proses Terpadu yang Agile;
  • Metode Data Agile
  • Pengembangan Aplikasi Cepat (DSDM);
  • Proses Terpadu Esensial;
  • pemrograman ekstrim;
  • pengembangan berbasis fitur;
  • Menjadi Nyata;
  • Buka;
  • scrum.

Pemodelan Agile adalah kumpulan prinsip, istilah, dan praktik yang mempercepat dan menyederhanakan pengembangan model dan dokumentasi perangkat lunak.

Tujuan Agile Modeling adalah untuk meningkatkan pemodelan dan dokumentasi. Penting untuk dicatat bahwa ini tidak termasuk pengkodean, pengujian, atau masalah yang terkait dengan kontrol, penerapan, dan dukungan proyek. Namun, metodologi ini mencakup tinjauan kode.

Agile Unified Process adalah metodologi yang memudahkan pengguna untuk memperkirakan (model). Biasanya digunakan untuk mengembangkan perangkat lunak komersial.

Metode Data Agile - beberapa metodologi serupa di mana kondisi pelanggan dicapai melalui kerja sama beberapa tim.

DSDM - pendekatan ini berbeda dari yang lain karena, bersama dengan pengembang, pengguna produk masa depan mengambil bagian aktif di dalamnya.

Pengembangan berbasis fitur adalah metodologi pengembangan yang memiliki batas waktu: “setiap fitur harus diimplementasikan tidak lebih dari dua minggu.”

Perlu dipertimbangkan bahwa jika kasus penggunaannya kecil, itu dapat dianggap sebagai fitur. Jika signifikan, maka harus dibagi menjadi beberapa fungsi.

Menjadi Nyata adalah metodologi berulang di mana antarmuka program dikembangkan terlebih dahulu, dan baru kemudian fungsionalitasnya dikembangkan.

OpenUP adalah metode pengembangan yang membagi siklus proyek menjadi empat tahap: inception, refinement, construction, dan handover.

Menurut prinsip Agile, terlepas dari durasi pekerjaan, semua pemangku kepentingan dan anggota tim harus diberikan cara untuk berkenalan dan membuat keputusan. Berkat ini, dimungkinkan untuk mengontrol situasi secara efektif dan mengevaluasi hasil antara tepat waktu. Rencana proyek menentukan siklus hidup, dan hasil akhir harus dianggap sebagai rilis aplikasi yang stabil.

Adapun Scrum, itu mengatur aturan untuk mengelola proses pengembangan dan memungkinkan Anda menerapkan praktik pengkodean yang ada dengan kemungkinan menyesuaikan kondisi atau membuat perubahan. Menggunakan metodologi ini memungkinkan Anda untuk melihat dan menghilangkan penyimpangan dari hasil yang diharapkan pada tahap awal pengembangan.

Mari kita lihat ini sedikit lebih detail ...

Komentar
  • Populer
  • Baru
  • Lama
Anda harus login untuk memberikan komentar
Halaman ini belum memiliki komentar