Apa itu metodologi lincah? [Tutup]

27

Adakah yang bisa menjelaskan tentang metodologi gesit dalam kalimat sederhana?

Chankey Pathak
sumber
3
menurut guru CompSci saya di perguruan tinggi, "metode air terjun, lebih cepat"
Malfist
11
@Malfist mari kita berharap dia tinggal di dunia akademis, di mana kerusakannya terbatas pada otak ;-)
Steven A. Lowe
@ Sebelas A. Lowe, yang menyedihkan adalah, bab ketiga dari buku pelajaran kami adalah "Agile Software Development" dan dia masih tidak tahu apa itu.
Malfist
2
@Malfist Saya kebetulan berada di kampus perguruan tinggi besar di kota besar pada pertengahan 1990-an, dan berkeliaran untuk berbicara dengan Dekan CS. Dia kebetulan berada dalam suasana hati yang suka mengobrol, jadi kami berbicara sedikit tentang keadaan seni dan bagaimana hal itu tercermin dalam kurikulum perguruan tinggi. Dia mengatakan kepada saya "pemrograman berorientasi objek hanya iseng, kami tidak mengajarkannya di sini". Sangat sedih.
Steven A. Lowe
1
Metodologi lincah seperti bahasa Cina - Anda tidak mengerti sampai Anda mempelajarinya;)
Ayub

Jawaban:

22

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."

Fishtoaster
sumber
Ini sebenarnya bukan jawaban yang tepat. Agile bukan metodologi, ini adalah filosofi.
RibaldEddie
32

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.

dari http://agilemanifesto.org/

Andy Lowry
sumber
1
Satu-satunya gotcha adalah bahwa kecuali Anda telah melihat proses yang buruk, manifesto itu tidak adil. Dibutuhkan perbandingan dengan yang buruk untuk benar-benar mendapatkan berapa banyak manifesto katakan. Tetap saja, +1 karena terlalu banyak orang yang membingungkan lincah dan Scrum hari ini. Dan bahkan kemudian, mereka membingungkan SCRUM dengan Scrum + XP.
MIA
2
Agile terkadang bisa bertentangan dengan dirinya sendiri. Pada dasarnya "kami menghargai fleksibilitas tetapi kami mendevaluasi alat dan proses yang diperlukan untuk mendapatkan fleksibilitas itu". Alat yang bagus dan fleksibel sangat penting untuk merespons perubahan. misalnya migrasi Ruby-on-Rails vs. sistem ORM setengah matang buatan sendiri yang mungkin memerlukan waktu seminggu untuk melakukan perubahan sederhana pada model data.
user8865
2
Hanya ingin tahu bagaimana "Individu dan Interaksi" dapat menggantikan "Proses dan Alat" atau bagaimana "Perangkat lunak yang bekerja dapat bertentangan dengan dokumentasi yang komprehensif"? Ini semua adalah hal yang berbeda ... Sudahlah, aku belum jatuh cinta pada Agile dan kurasa aku tidak akan jatuh cinta.
NoChance
13

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.

JohnFx
sumber
6

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.


sumber
3

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.

q303
sumber
Sejak mengajukan pertanyaan sampai saat ini, saya telah menjadi bagian dari beberapa perusahaan semacam itu dan saya setuju dengan Anda.
Chankey Pathak
Sepakat. Banyak orang yang gesit hanyalah cara murah untuk melakukan sesuatu.
SmallChess
2

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"!

FinnNk
sumber
2

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.

  • Menekankan kolaborasi pelanggan yang sering menghasilkan umpan balik pengguna sementara tetap fleksibel terhadap perubahan persyaratan memungkinkan pengembangan produk untuk mengintegrasikan umpan balik itu secara teratur
  • Integrasi yang sering ke dalam konfigurasi dan lingkungan penyebaran yang relevan berjalan seiring dengan identifikasi berkelanjutan tentang konfigurasi dan lingkungan mana yang tetap relevan untuk memastikan bahwa produk tetap bernilai dan relevan bagi pengguna yang memberikan umpan balik
  • Mengorganisir diri dan mempromosikan tim lintas fungsi berbicara untuk menciptakan akuntabilitas pribadi dalam tim dan memberdayakan tim untuk menentukan cara terbaik untuk menghilangkan hambatan dalam cara yang efisien tanpa ditahan oleh peran yang ditugaskan sebelumnya dan hierarki manajemen dalam tim
bocor
sumber