Mengapa pemrograman ekstrim (XP) ketinggalan zaman demi Agile, Kanban dll?

15

Saya suka XP (pemrograman ekstrim), terutama bagian di mana ada 2 programmer pada layar yang sama, karena solusi masalah sering ditemukan lebih cepat jika hanya Anda menjelaskan apa yang Anda lakukan dan memasangkan pemrograman memaksa Anda untuk menjelaskan apa yang Anda perbuatan.

Selama 10 tahun terakhir atau lebih, gaya kerja XP tampaknya sudah ketinggalan zaman mendukung metodologi kerja: Agile dan / atau Kanban. Mengapa? Karena XP menurut saya menjadi cara yang sangat baik untuk bekerja dan banyak tentang pemrograman sedangkan Agile dan Kanban lebih banyak tentang proses.

Niklas
sumber
28
XP adalah pendekatan yang gesit . Jadi "Agile" tidak bisa menggantikan XP.
Joachim Sauer
1
Saya akan mengirim jawaban, ketika saya melihat Volker mengatakan hampir sama. Proses lincah secara alami adaptif, tidak ada yang namanya "sempurna / murni" Kanban, Scrum, XP, ini lebih merupakan campuran dan kecocokan. XP, dalam arti itu, masih kuat, mengingat bahwa beberapa konsep yang diperkenalkan diadopsi oleh hampir semua pendekatan lain.
yannis
3
Ada daftar kritik yang menarik tentang XP di Wikipedia , tetapi jika Anda memindai, sebagian besar berlaku untuk Agile secara umum.
yannis
3
Saya tidak berpikir XP pergi ke mana pun. Banyak dari itu dianggap sebagai bagian dari pengembangan yang gesit. Saya pikir apa yang keluar dari gaya menggunakan istilah 'ekstrim'. Itu selalu memberi saya gambar seorang pembuat kode yang melompat di Mt. Embun dengan papan salju bersandar di atas meja.
JimmyJames
Semuanya "Program Pairing" tidak berhasil, IMO. Ini bagus untuk memecahkan masalah terisolasi tertentu, tetapi sebagian besar masalah pemrograman (antarmuka pengguna, arsitektur, aturan bisnis) tidak membenarkan biaya memiliki dua pengembang perangkat lunak duduk di layar yang sama.
Robert Harvey

Jawaban:

21

Ada banyak gaya, metode, dan pola pikir yang terkait dengan pengembangan seluruh bidang, dan semuanya memiliki nama sendiri yang mengkilap.

Agile hanyalah pola pikir yang menjauh dari model pemrograman statis yang biasa (seperti air terjun) - tujuan utamanya adalah untuk mencapai pengembangan yang lebih fleksibel dan (pada akhirnya) perangkat lunak yang lebih baik dan pelanggan yang bahagia. Di bawah tangkas, ada banyak model berbeda seperti Scrum, Kanban, XP.

Terutama Kanban tidak berasal dari pengembangan perangkat lunak pada awalnya, itu berasal dari pembuatan mobil (saya ingatkan Toyota memperkenalkannya untuk membuat mobil dan beberapa pengembang perangkat lunak mengadopsi dan memperluasnya)

Pemrograman pasangan, ulasan kode dan hal-hal semacam itu hanyalah alat - Anda dapat (dan harus) selalu melakukannya selama proyek, terlepas dari metode apa yang Anda gunakan. Hanya saja barang ini lebih asli untuk gesit daripada statis.

XP kurang lebih memperkenalkan hal-hal ini (atau setidaknya memberi mereka nama yang mengkilap) dan semua hal berikut mengadopsinya karena itu hanya bekerja dengan baik.

Volker
sumber
3
Seperti @refro juga sebutkan, Scrum dan Kanban tidak menyertakan pemrograman pasangan atau ulasan kode (tetapi mereka juga tidak mengecualikan ini). Keduanya lebih dari metodologi manajemen proyek daripada proses pengembangan perangkat lunak. Dan dengan demikian, mereka berlaku untuk berbagai bidang di luar pengembangan perangkat lunak. Sedangkan XP secara khusus merupakan pendekatan pengembangan perangkat lunak. Ini dapat hidup berdampingan - Anda dapat mengelola tim XP Anda dengan cara Scrum.
Péter Török
16

Dalam pandangan saya XP adalah praktik pemrograman, Scrum dan kanban adalah praktik manajemen proyek. Mereka memiliki hubungan tetapi tidak saling menggantikan.

Dalam proyek kanban kami, kami menggunakan pemrograman berpasangan (kebanyakan untuk bagian kompleks dan debugging), TDD, CI. Jadi masih digunakan tetapi manajemen mendorong sisi manajemen proyek lebih keras.

refro
sumber
1
Pemrograman pasangan seperti gangguan dalam praktik musisi. Ini kadang-kadang berfungsi dan kadang tidak bekerja sama sekali. Dalam kasus yang jarang dapat diadopsi sebagai cara umum untuk bermain dan dalam kasus yang sangat langka sebagai cara untuk menulis .
Alex Yu
0

Extreme Programming adalah tentang mekanisme pengembangan, sedangkan Agile adalah tentang SDLC (siklus pengembangan perangkat lunak).

Alasan utama Anda tidak mendengar tentang "Pemrograman Ekstrim" dengan namanya lagi adalah penggunaan istilah "Ekstrim" sebagai kata sifat positif adalah sesuatu yang sudah ketinggalan zaman 90-ke-awal-00 yang dipandang norak sekarang. Sebagian besar hanya korban pemasaran. Itu sebabnya Anda hampir secara eksklusif mendengarnya disebut "XP", bahkan secara lisan.

Andy_Vulhop
sumber
0

Saya memiliki beberapa pemikiran tentang pemrograman pasangan.

Bagi saya ini adalah sesuatu yang Anda lakukan ketika Anda terjebak dengan sesuatu. Pada saat-saat itu bisa sangat efektif, itu bisa membuat Anda keluar dari kebiasaan. Tetapi ini juga melelahkan dan cara kerja yang tidak disukai oleh programmer tipe stereo.

Jika Anda menggali lubang, beberapa orang akan keberatan mendapatkan bantuan dari rekan kerja. Tetapi begitu ada kreativitas yang terlibat orang lebih suka melakukan hal-hal dengan cara mereka daripada cara orang lain. Jadi ketegangan selalu dekat kecuali seseorang tidak peduli dengan satu cara atau yang lain atau jika peran seseorang jelas untuk hanya menyarankan.

Di mana saya bekerja pemrograman pasangan tidak diformalkan tetapi kami memiliki sesi ad hoc dan biasanya singkat. Itu tidak akan seperti "Hai rekan kerja, bagaimana dengan pemrograman ekstrem?" Itu akan lebih sering dimulai dengan "Bisakah Anda melihat layar saya?" dan menarik kursi untuk mereka.

Jadi saya tidak berpikir pemrograman pasangan sudah mati atau kurang populer, itu hanya salah satu alat yang tidak sering Anda gunakan karena mahal, dan bukan terutama karena Anda memiliki dua orang yang dibayar bekerja pada satu hal.

Martin Maat
sumber
0

Agile lebih mudah dipasarkan karena melibatkan pemangku kepentingan yang berbeda dengan peran dan tanggung jawab yang berbeda terkait dengan proses pembuatan perangkat lunak.

Ketika dalam edisi kedua, Kent Beck memperbesar cakupan peserta dalam XP, sudah terlambat: orang sudah memeluk metodologi lain karena versi XP pertama menargetkan pelaku kode, dan itulah yang masih diingat oleh audiens baik secara tidak sadar atau tidak. XP tidak dapat dipasarkan saat lahir.

Billal Begueradj
sumber
0

Saya selalu berpikir bahwa Scrum adalah versi Agile yang paling mudah dijual kepada manajemen: perkiraan deterministik, sifatnya agak doktriner, terdefinisi dengan baik ("Anda tidak benar-benar melakukan Scrum - merasa bersalah!") ...

Rentangkan sprint Anda cukup lama, dan perhatikan "kartu poker" kecil itu dengan cukup serius, dan Scrum dapat menggelitik gatal yang sama dengan metode Waterfall. Ini tidak selalu buruk, tetapi jangan bersembunyi di balik asap-dan-cermin di sini.

Di sisi XP, pemrograman pasangan umumnya tidak menarik bagi manajemen, terutama manajemen non-teknis.

Untuk meletakkannya dalam format analogi SAT, Scrum: XP :: The Monkees: The Beatles

pengguna1172763
sumber