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.
agile
extreme-programming
kanban
Niklas
sumber
sumber
Jawaban:
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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
sumber