SDLC - Model Agile

Model Agile SDLC adalah kombinasi dari model proses berulang dan inkremental dengan fokus pada adaptasi proses dan kepuasan pelanggan dengan pengiriman cepat produk perangkat lunak yang berfungsi. Agile Methods memecah produk menjadi beberapa build tambahan kecil. Build ini disediakan dalam iterasi. Setiap iterasi biasanya berlangsung dari sekitar satu hingga tiga minggu. Setiap iterasi melibatkan tim lintas fungsi yang bekerja secara bersamaan di berbagai area seperti -

  • Planning
  • Analisa Kebutuhan
  • Design
  • Coding
  • Pengujian Unit dan
  • Ujian penerimaan.

Di akhir iterasi, produk yang berfungsi ditampilkan kepada pelanggan dan pemangku kepentingan penting.

Apa itu Agile?

Model tangkas percaya bahwa setiap proyek perlu ditangani secara berbeda dan metode yang ada perlu disesuaikan agar paling sesuai dengan persyaratan proyek. Di Agile, tugas dibagi ke kotak waktu (kerangka waktu kecil) untuk memberikan fitur spesifik untuk rilis.

Pendekatan berulang diambil dan pembuatan perangkat lunak yang berfungsi dikirimkan setelah setiap iterasi. Setiap build bersifat inkremental dalam hal fitur; build terakhir menampung semua fitur yang dibutuhkan oleh pelanggan.

Berikut adalah ilustrasi grafis dari Model Agile -

Proses pemikiran Agile telah dimulai pada awal pengembangan perangkat lunak dan mulai menjadi populer seiring waktu karena fleksibilitas dan adaptasinya.

Metode Agile yang paling populer termasuk Rational Unified Process (1994), Scrum (1995), Crystal Clear, Extreme Programming (1996), Adaptive Software Development, Feature Driven Development, dan Dynamic Systems Development Method (DSDM) (1995). Ini sekarang secara kolektif disebut sebagaiAgile Methodologies, setelah Agile Manifesto diterbitkan pada tahun 2001.

Berikut adalah prinsip-prinsip Agile Manifesto -

  • Individuals and interactions - Dalam pengembangan Agile, pengorganisasian diri dan motivasi penting, begitu juga interaksi seperti pemrograman bersama dan berpasangan.

  • Working software - Perangkat lunak yang berfungsi demo dianggap sebagai sarana komunikasi terbaik dengan pelanggan untuk memahami kebutuhan mereka, bukan hanya bergantung pada dokumentasi.

  • Customer collaboration - Karena persyaratan tidak dapat dikumpulkan sepenuhnya di awal proyek karena berbagai faktor, interaksi pelanggan yang berkelanjutan sangat penting untuk mendapatkan persyaratan produk yang tepat.

  • Responding to change - Pengembangan Agile difokuskan pada respons cepat terhadap perubahan dan pengembangan berkelanjutan.

Model SDLC Agile Vs Tradisional

Agile didasarkan pada adaptive software development methods, sedangkan model SDLC tradisional seperti model air terjun didasarkan pada pendekatan prediktif. Tim prediksi dalam model SDLC tradisional biasanya bekerja dengan perencanaan terperinci dan memiliki perkiraan lengkap tentang tugas dan fitur yang akan dikirimkan dalam beberapa bulan ke depan atau selama siklus hidup produk.

Metode prediksi sepenuhnya bergantung pada requirement analysis and planningdilakukan pada awal siklus. Setiap perubahan yang akan dimasukkan melalui manajemen dan prioritas kontrol perubahan yang ketat.

Agile menggunakan adaptive approachdi mana tidak ada perencanaan rinci dan ada kejelasan tentang tugas-tugas masa depan hanya dalam hal fitur apa yang perlu dikembangkan. Ada pengembangan yang didorong fitur dan tim menyesuaikan dengan persyaratan produk yang berubah secara dinamis. Produk ini sangat sering diuji, melalui iterasi rilis, meminimalkan risiko kegagalan besar di masa mendatang.

Customer Interactionadalah tulang punggung metodologi Agile ini, dan komunikasi terbuka dengan dokumentasi minimum adalah fitur khas lingkungan pengembangan Agile. Tim tangkas bekerja sama erat satu sama lain dan paling sering berada di lokasi geografis yang sama.

Agile Model - Pro dan Kontra

Metode tangkas diterima secara luas di dunia perangkat lunak baru-baru ini. Namun, metode ini mungkin tidak selalu cocok untuk semua produk. Berikut adalah beberapa pro dan kontra dari model Agile.

Keunggulan Model Agile adalah sebagai berikut -

  • Merupakan pendekatan yang sangat realistis untuk pengembangan perangkat lunak.

  • Mempromosikan kerja tim dan pelatihan silang.

  • Fungsionalitas dapat dikembangkan dan didemonstrasikan dengan cepat.

  • Persyaratan sumber daya minimal.

  • Cocok untuk persyaratan tetap atau berubah

  • Memberikan solusi kerja parsial awal.

  • Model yang baik untuk lingkungan yang terus berubah.

  • Aturan minimal, dokumentasi mudah digunakan.

  • Memungkinkan pengembangan dan pengiriman bersamaan dalam konteks yang direncanakan secara keseluruhan.

  • Sedikit atau tidak ada perencanaan yang dibutuhkan.

  • Mudah dikelola.

  • Memberikan fleksibilitas kepada pengembang.

Kekurangan Model Agile adalah sebagai berikut -

  • Tidak cocok untuk menangani dependensi yang kompleks.

  • Lebih banyak risiko keberlanjutan, pemeliharaan, dan perpanjangan.

  • Rencana keseluruhan, pemimpin yang gesit, dan praktik PM yang gesit adalah suatu keharusan yang tanpanya rencana itu tidak akan berhasil.

  • Manajemen pengiriman yang ketat menentukan cakupan, fungsionalitas yang akan dikirimkan, dan penyesuaian untuk memenuhi tenggat waktu.

  • Sangat bergantung pada interaksi pelanggan, jadi jika pelanggan tidak jelas, tim dapat diarahkan ke arah yang salah.

  • Ada ketergantungan individu yang sangat tinggi, karena dokumentasi minimum yang dihasilkan.

  • Transfer teknologi ke anggota tim baru mungkin cukup menantang karena kurangnya dokumentasi.