Pengembangan Perangkat Lunak Agile 101

Pengarang: Judy Howell
Tanggal Pembuatan: 26 Juli 2021
Tanggal Pembaruan: 13 Boleh 2024
Anonim
Pahami Scrum dalam 10 Menit (Agile Methodology) Introduction to Scrum (Bahasa Indonesia) Bercerisa#1
Video: Pahami Scrum dalam 10 Menit (Agile Methodology) Introduction to Scrum (Bahasa Indonesia) Bercerisa#1

Isi


Bawa pulang:

Metode pengembangan perangkat lunak ini mendorong kolaborasi dan fleksibilitas untuk membantu memberikan produk berkualitas tinggi.

Ada banyak desas-desus di sekitar Agile di dunia rekayasa perangkat lunak dan pengembangan aplikasi. Agile bukan konsep, tetapi pola pikir. Seperti namanya, itu berkonsentrasi pada menjadi fleksibel dan dinamis. Metodologi ini juga menghilangkan isolasi antara fase pengembangan perangkat lunak, dan mendorong tim pengembangan untuk berkolaborasi dengan analis kualitas. Ini juga menekankan keterlibatan pelanggan untuk mengembangkan, membangun dan memberikan produk berkualitas tinggi. Di sini kita lihat Agile, cara kerjanya, dan beberapa praktik terbaik untuk metode pengembangan perangkat lunak populer ini.

Penjelasan Singkat tentang Siklus Hidup Pengembangan Perangkat Lunak

Siklus hidup pengembangan perangkat lunak (SDLC) adalah proses menciptakan solusi perangkat lunak atau memodifikasi struktur yang ada yang dimaksudkan untuk memenuhi masalah tertentu. Ini mencakup berbagai langkah, yang diikuti dalam urutan logis. Dalam model SDLC tradisional, ini adalah langkah-langkah yang diikuti satu demi satu, dan biasanya dilakukan secara terpisah:


  1. Persyaratan berkumpul dari klien
  2. Analisis sistem dan kelayakan
  3. Desain dan pemodelan
  4. Pengkodean atau implementasi
  5. Pengujian
  6. Penempatan dan pengiriman
  7. Pemeliharaan dan ubah permintaan

Dalam siklus pengembangan perangkat lunak yang khas, pengguna aktual, atau klien, dilibatkan dalam proses pengumpulan persyaratan dan kemudian selama pengujian beta. Namun, masalah dengan model tradisional ini adalah bagian pemeliharaan siklus menjadi urusan yang sulit dan agak mahal. Sering kali, tidak ada ruang untuk peningkatan atau perubahan dalam sistem. Dalam situasi terburuk, perangkat lunak yang telah direkayasa atau dikembangkan tidak sesuai dengan spesifikasi dan harapan pelanggan yang sebenarnya, yang berarti tim pengembangan mungkin perlu memulai seluruh proses dari awal lagi.

Mengapa Perkembangan Agile Berbeda

Model tradisional SDLC yang paling umum - model air terjun, model aplikasi cepat, model berulang, model spiral, dll. - memiliki serangkaian pro dan kontra sendiri. Butuh waktu lama sebelum orang dapat benar-benar menganalisis seberapa realistis model ini. Mereka sangat cocok dengan skenario ideal, tetapi mereka tidak selalu praktis ketika datang ke aplikasi dunia nyata. Akibatnya, tim pengembangan perangkat lunak menghadapi banyak tantangan. Beberapa keterbatasan model SDLC konvensional meliputi:


  • Mereka tidak mengizinkan persyaratan untuk diubah pada tahap selanjutnya karena ini dibekukan dalam dokumen spesifikasi persyaratan perangkat lunak. Dalam kasus tertentu, harapan pengguna tidak dinyatakan atau disalahpahami.
  • Pengguna akhir tidak melihat sistem sampai selesai. Ini memberikan sangat sedikit ruang untuk membuat saran dan perubahan.
  • SDLC tradisional dapat menciptakan kesenjangan komunikasi yang besar antara pengembang dan penguji, karena mereka adalah fase terpisah, dan tidak ada kolaborasi antara kedua pihak.
  • Pengujian kotak putih tidak dapat dilakukan secara efektif.

Penggunaan Agile menyelesaikan banyak masalah ini karena alih-alih proses langkah demi langkah, Agile bertindak lebih sebagai filosofi dan kerangka kerja yang bertujuan membantu tim berkolaborasi, merespons perubahan, dan membangun produk jadi yang mencakup lebih banyak input dari semua pihak, termasuk pengguna.

Praktek Agile

Munculnya metodologi Agile tidak kurang dari sebuah reformasi revolusioner dalam metodologi pengembangan perangkat lunak, karena itu memberikan ruang yang cukup bagi tim proyek untuk menjadi kreatif dan fleksibel sementara masih mengambil kepemilikan kolektif dari setiap fase produk. Dengan mengikuti jalur Agile, peserta individu dalam tim pengembangan perangkat lunak dapat mengkondisikan pikiran mereka untuk merangkul ketidakpastian, mengatasi perubahan, dan membangun produk yang lebih baik sebagai suatu proses, daripada dalam langkah-langkah terpisah yang tidak terikat.

Meskipun tidak ada daftar prinsip Agile yang komprehensif, ada beberapa praktik yang dikembangkan Agile. Ini termasuk:

  1. Test Driven Development (TDD)
    Idealnya, pengembang pertama-tama harus menulis kasus pengujian untuk bagian fungsionalitas yang akan mereka kodekan. Ini akan memastikan kode berkualitas baik, yang cenderung rusak dalam kondisi luar biasa. Proses ini juga membantu memastikan bahwa spesifikasi pengguna telah ditangani.
  2. Pemrograman Pasangan
    Dalam pengembangan Agile, programmer umumnya bekerja pada masalah yang sama berpasangan, di mana satu orang menulis kode (driver) dan yang lain sedang meninjau kode dan memberikan ide dan saran (navigator). Ini meningkatkan produktivitas dan mengurangi waktu yang diperlukan untuk meninjau kode.
  3. Refactoring Kode
    Refactoring kode melibatkan memecah kode menjadi modul yang lebih kecil dan lebih sederhana yang dapat (dan harus) ada secara independen dalam skenario ideal. Ini meningkatkan keterbacaan, pengujian dan pemeliharaan kode untuk sebagian besar.
  4. Partisipasi Aktif dari Stakeholder Aktual
    Setelah interval reguler dari periode waktu tertentu (disebut "ss"), klien harus menerima prototipe kerja yang signifikan dari perangkat lunak. Hal ini memungkinkan pengembang untuk mendapatkan umpan balik tentang apa yang mereka bangun saat mereka pergi.
  5. Perlakukan Persyaratan sebagai Tumpukan Prioritas
    Dalam Agile, penting untuk mengkategorikan persyaratan berdasarkan kepentingannya. Ini dapat mencakup ekspektasi pelanggan implisit maupun eksplisit pada produk perangkat lunak yang dikembangkan. Tim pengembangan perangkat lunak harus secara kolektif memperkirakan waktu dan sumber daya yang akan mereka investasikan untuk mengimplementasikan fitur tersebut, dan memetakannya berdasarkan kebutuhan pengguna dan urutan relatif di mana mereka akan menangani setiap bagian dari proyek.
  6. Pengujian Regresi
    Pengujian regresi melibatkan pengujian fungsionalitas seluruh aplikasi setelah menambahkan fitur baru atau memodifikasi fungsionalitas yang ada dalam kode. Ini membantu memastikan bahwa perubahan tidak merusak kode yang ada.

Mengapa Go Agile?

Agile mengatur praktik tertentu, tetapi tidak memaksakannya pada tim pengembangan perangkat lunak. Lagi pula, jika tidak ada ruang untuk penyesuaian dan penyimpangan, tujuan Agile sebagian besar dikalahkan. Memasukkan bahkan beberapa aspek pengembangan Agile ke dalam proyek dapat membantu tim pengembangan perangkat lunak mengatasi tantangan yang tidak terduga dan, pada akhirnya, membangun produk yang lebih baik dengan cara yang lebih efisien.

Tanpa Bug, Tanpa Stres - Panduan Langkah Demi Langkah Anda untuk Membuat Perangkat Lunak yang Mengubah Hidup Tanpa Menghancurkan Kehidupan Anda

Anda tidak dapat meningkatkan keterampilan pemrograman Anda ketika tidak ada yang peduli dengan kualitas perangkat lunak.