Saya baru saja selesai membaca Peopleware (DeMarco, Lister) dan telah meneliti tentang Extreme Programming (XP) sedikit sebelumnya. Seperti yang saya lihat sekarang, kedua pendekatan tersebut hampir eksklusif satu sama lain.
Peopleware menyarankan untuk mengisolasi programmer dari gangguan dan menetapkan prioritas pada pekerjaan yang tidak terputus untuk membantu programmer untuk mencapai aliran. XP di sisi lain mengusulkan untuk memastikan komunikasi sebanyak mungkin, bahkan menyarankan untuk programmer untuk "duduk bersama", kode berpasangan dan umumnya bekerja di ruangan yang sama (menghasilkan banyak suara).
Apakah dua aliran pemikiran yang bersaing itu, mungkin salah satunya terbukti benar / salah atau adakah kompromi yang efektif? Saya bisa melihat poin yang dibuat oleh kedua belah pihak, tetapi tidak bisa melihat kompromi yang masuk akal.
Saya sangat baru mempelajari manajemen pengembangan perangkat lunak, jadi mungkin saja saya salah mengerti sesuatu. Semua komentar diterima.
PS Sebagai pertanyaan mini tambahan, sebagai programmer, mana yang menurut Anda lebih produktif?
sumber
Jawaban:
Anda melewatkan poin dengan Peopleware. Tidak ada buku yang menyarankan untuk mengisolasi programmer di kantor individu, tetapi kelompokkan dalam 2 sampai 4 orang per kantor.
Alasan utama adalah untuk mengisolasi programmer dari kebisingan yang tidak terkait pemrograman, seperti orang penjualan yang berteriak di telepon, obrolan antara manajer dan sekretaris, kebisingan yang dihasilkan oleh orang yang bergerak, dering telepon, tamparan pintu, dan banyak lagi.
Extreme Programming sepenuhnya kompatibel dengan kantor 2 hingga 4. Untuk melakukan pemrograman berpasangan, Anda maksimal 2 atau 3.
sumber
Saya pikir kedua pendekatan menggambarkan strategi kerja umum tetapi tidak harus setiap menit kerja dalam sehari. Keseimbangan harus ada.
Cukup dekat untuk memungkinkan komunikasi yang cepat tetapi mundur ke area terpencil ketika diskusi dilakukan dan pekerjaan yang sebenarnya harus diikuti.
Saya pribadi menemukan "duduk bersama" dan "menghasilkan banyak suara" selama ini tidak bekerja. Ada waktu untuk berbicara untuk membahas masalah, memutuskan langkah selanjutnya dan seterusnya dan kemudian ada waktu untuk kode dan orang-orang harus memiliki area yang tenang untuk melakukannya.
sumber
Kuncinya adalah frase "mengisolasi programmer dari gangguan dan menetapkan prioritas pada pekerjaan yang tidak terganggu". Hal prioritas jelas di XP ketika Cerita dipilih setiap iterasi menjadi yang paling berharga. Pelanggan harus berusaha keras untuk memiliki serangkaian cerita "stabil", tanpa mengubah pikirannya terlalu banyak iterasi pertengahan (itu mungkin terjadi, tetapi itu harus kasus khusus, bukan norma).
Bagian "isolate programmer" adalah yang paling rumit. Ini berarti bahwa programmer harus melakukan yang terbaik yang mereka lakukan: Program. Agar XP berfungsi, pemrogram harus ditempatkan di lingkungan di mana mereka hanya berfokus pada menyelesaikan cerita, tanpa overhead eksternal seperti rapat, panggilan telepon, bantuan kecil dan semacamnya. Ini dapat dicapai baik dengan menempatkan setiap pasangan programmer di kantor mereka sendiri, atau dengan memiliki semua programmer di ruang perang di mana tidak ada orang lain yang bisa masuk kecuali benar-benar diperlukan.
sumber
Secara pribadi, saya merasa MUNGKIN untuk bekerja berpasangan dengan seseorang, bahkan jika saya belajar dari orang itu. Mungkin hanya agar beberapa orang (yaitu saya) bekerja lebih baik dengan cara yang lebih "klasik" (masuk ke zona, diam, dll ...).
Atau mungkin fakta bahwa XP sebagian besar diimplementasikan di toko web dev di mana orang memakai banyak topi dan bukannya menyelesaikan masalah sulit dalam satu domain (misalnya mengoptimalkan sepotong kode), mereka menghabiskan waktu mencari solusi yang sudah ada untuk masalah yang tidak sangat sulit secara intelektual (misalnya mengintegrasikan keranjang belanja ke halaman dll.).
Untuk sesuatu seperti ini, bekerja berpasangan, banyak komunikasi, dll. Mungkin satu-satunya cara untuk maju secara efektif (Anda tidak akan menghabiskan waktu X jam hanya untuk menemukan bahwa modul pengiriman email Joomla! / Bug Droopal, apakah Anda ?)
sumber
Ya, XP sepenuhnya tidak kompatibel dengan Peopleware dan praktik pengembangan perangkat lunak yang baik di dalamnya. Mungkin Anda perlu menyegarkan diri dengan bagian sebelum melanjutkan?
http://code.scottshipp.com/2017/03/22/open-office-plans-excerpt-from-peopleware/
Tabel 8-1 di bagian bawah cukup banyak menjelaskannya dengan entri terakhir menjadi torpedo pamungkas.
Di kantor banyak orang, secara fisik tidak ada cara untuk menghindari hal ini. Unit pasangan seseorang memanggil mereka dan bahkan jika orang tersebut keluar setelah menjawab, Anda masih terganggu oleh jawaban tersebut. Seseorang mencoba bersikap sopan, pergi untuk minum kopi dan memanggil untuk melihat apakah ada yang menginginkan sesuatu.
Jangan lupa coder yang mengenakan headphone dan volume engkol ke atas sehingga Anda masih bisa mendengarnya 6 kaki atau lebih buruk lagi, merasa harus menggunakan pena / pensil untuk menghidupkan drum bersama dengan bagian dari 'nada yang bagus'. Oh, dan jika Anda cukup beruntung memiliki satu penggemar olahraga yang bekerja di IT, mereka semua datang dengan semangat.
"Oh! Apakah kamu melihat pertandingan tadi malam? !!!! Dan CALL itu !!!! Apakah mereka buta ?? !!"
Nah, Anda mendapatkan fotonya.
XP dengan definisi awal adalah 2 programmer dan satu keyboard. Ini adalah metodologi yang benar-benar hanya cocok untuk menyelam dalam-dalam yang sulit untuk menemukan perbaikan bug, bukan untuk pengembangan perangkat lunak skala besar. Konsep Open Plan dan Team Room melanggar penelitian yang dilakukan di Peopleware.
sumber