Adakah yang bisa menjelaskan tentang metodologi gesit dalam kalimat sederhana?
Adakah yang bisa menjelaskan tentang metodologi gesit dalam kalimat sederhana?
Jawaban:
Agile adalah banyak hal dan praktik, tetapi saya pikir intinya hanya pengembangan berulang.
Berulang: Pikirkan sekelompok air terjun yang sangat kecil. Yaitu, metode air terjun (persyaratan-> spesifikasi-> kode-> tes), tetapi alih-alih melakukannya selama satu tahun atau lebih, Anda melakukannya selama beberapa minggu untuk sejumlah keseluruhan proyek. Pada akhir 'iterasi / sprint / increment', Anda memiliki serangkaian fungsionalitas tambahan kecil namun lengkap dan teruji.
Ini memungkinkan Anda untuk dengan cepat mengubah jalannya proyek jika ternyata apa yang Anda lakukan bukan yang diinginkan pelanggan, atau bisnis perlu diubah, atau apa pun. Karena itu istilah "gesit."
Saya pikir tidak ada yang lebih baik daripada Agile Manifesto itu sendiri:
Kami menemukan cara yang lebih baik untuk mengembangkan
perangkat lunak dengan melakukannya dan membantu orang lain melakukannya.
Melalui pekerjaan ini kami telah mencapai nilai:
Individu dan interaksi atas proses dan alat
Perangkat lunak yang
bekerja dengan dokumentasi yang komprehensif Kolaborasi pelanggan atas negosiasi kontrak
Menanggapi perubahan setelah mengikuti suatu rencana
Artinya, sementara ada nilai di item di
sebelah kanan, kami lebih menghargai item di sebelah kiri.
Bagi saya ide yang paling penting adalah ini:
Perubahan persyaratan akan terjadi karena kami dipaksa untuk merancang perangkat lunak di titik terendah pengetahuan tentang apa yang dibutuhkan (awal proyek) dan persyaratan hanya akan menjadi lebih jelas selama proyek berlangsung.
Pendekatan tradisional (Waterfall) mencoba untuk mengurangi perubahan ini dengan mengunci semua orang ke dalam kontrak pada awal proyek dengan meminta mereka menandatangani spesifikasi yang komprehensif. Ini mungkin berfungsi sebagai CYA, tetapi itu tidak membuat siapa pun senang mengirimkan sesuatu yang tidak memenuhi kebutuhan pengguna terutama jika keberatan mereka dipenuhi dengan "Ya, Anda sudah menandatanganinya!"
Metode Agile dirancang untuk merangkul perubahan yang tak terhindarkan alih-alih melindungi tim pengembangan dari mereka. Ini melakukan ini dalam beberapa cara, yang utama di antaranya adalah pengembangan berulang dan keterlibatan berkelanjutan oleh para pemangku kepentingan dalam proses tersebut. Dalam pengalaman saya, hal itu membuat semua orang terlibat lebih bahagia pada akhirnya, meskipun bisa lebih tidak nyaman untuk beberapa tipe manajemen yang merupakan perencana hardcore.
Dalam satu kalimat ini terlihat seperti ini:
Pengembangan perangkat lunak tangkas adalah sekelompok metodologi pengembangan perangkat lunak berdasarkan pada pengembangan berulang dan bertahap , di mana persyaratan dan solusi berkembang melalui kolaborasi antara tim yang mengatur sendiri, lintas fungsi .
Ini berasal dari definisi wikipedia, dan saya sangat menyukainya. Saya menyoroti prinsip-prinsip inti.
Saya hanya ingin menambahkan Agile TIDAK. Ada banyak toko di luar sana yang mengklaim sebagai Agile tetapi dengan cara itu berarti mereka tidak tertarik dalam merencanakan proyek mereka dan mengharapkan hal-hal dilakukan dalam waktu singkat yang tidak masuk akal.
Agile! = Tidak ada rencana proyek. Sulit untuk menangani orang yang secara implisit berpikir bahwa pernyataan itu salah karena mereka cenderung tipe manajemen dan tidak selalu mudah kontradiksi.
Andy telah terhubung dengan Agile Manifesto, yang saya pikir akan membahasnya.
Saya pikir itu berguna untuk melihat dari mana Manifesto Agile berasal juga. Ada sejumlah metodologi di luar sana yang memiliki beberapa elemen umum dan banyak motivasi serupa: Extreme Programming (XP), Scrum, DSDM, Pengembangan Perangkat Lunak Adaptif, Crystal, Pengembangan Berbasis Fitur, Pemrograman Pragmatis (daftar dari Alistair Cockburn ). Orang-orang yang mengusulkan metodologi tersebut memutuskan untuk datang dengan istilah pemasaran untuk mencakup hal-hal yang mereka miliki bersama sehingga kekuatan dari apa yang mereka katakan akan ditingkatkan.
Menariknya (menurut apa yang dikatakan seseorang kepada saya) ada sejumlah nama dalam daftar yang bisa dipilih daripada "Agile" - salah satunya adalah "Adaptive". Saya pribadi berpikir bahwa sebagai satu kata yang menyimpulkan dengan lebih baik, apa sebenarnya lincah lebih baik daripada "gesit"!
Memanfaatkan metodologi yang gesit datang untuk menekankan pengiriman produk berkualitas daripada aspek lain dari pengembangan produk dan menyadari bahwa umpan balik dari komunitas pengguna adalah bagian penting dari menciptakan produk yang berkualitas.
Bandingkan dengan pendekatan pengembangan tradisional / air terjun yang menekankan desain muka, dokumentasi, dan definisi antarmuka sementara tidak menekankan implementasi dan transisi produk dari pengembangan ke rilis.
Menurut pendapat saya ada kualitas intrinsik bahwa tim dapat membangun menjadi produk, saya melihat ini mengambil bentuk memverifikasi bahwa suatu produk berfungsi sebagai tim pengembangan yang dimaksudkan dan dapat mengakomodasi peningkatan yang dapat diperkirakan. Ada juga faktor kualitas yang sepenuhnya didasarkan pada persepsi yang mengukur seberapa baik suatu produk memenuhi kebutuhan penggunanya.
Pendekatan tangkas cenderung memberikan produk secara iteratif , menggabungkan umpan balik pengguna dan umpan balik pengembang ke dalam setiap iterasi, dan mempromosikan memberikan setiap peningkatan fungsionalitas ketika mencapai kelayakan minimum sebagai fungsi pemaksaan untuk memperoleh umpan balik pengguna yang sering terjadi dan menangkal kecenderungan kegiatan pengembangan untuk melanjutkan waktu yang lama tanpa umpan balik dari penggunanya. Menurut saya, aspek-aspek lain dari pendekatan gesit cenderung mendukung prinsip-prinsip utama ini.