Apakah Extreme Programming (XP) tidak kompatibel dengan ide-ide yang diungkapkan dalam Peopleware?

16

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?

Aleksandrs Ulme
sumber
4
Mereka tidak eksklusif. Pasangan pengembang harus bekerja tanpa gangguan.
Lukasz Madon
@ Lukas: walaupun mempertimbangkan ini, bagaimana dengan "duduk bersama"?
Aleksandrs Ulme

Jawaban:

12

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
Ya, meninjau hal yang saya perhatikan komentar bahwa programmer harus diisolasi "dari kebisingan yang jauh berbeda dengan yang mereka buat" yaitu dari non-programmer. Terima kasih!
Aleksandrs Ulme
Saya memiliki kemewahan bekerja di kantor 3 orang selama sekitar 5 tahun. Ini bekerja dengan sangat baik - jika orang-orang bekerja bersama.
cepat
@quickly_now: Anda bekerja di ruang terbuka sekarang?
1
Saya bekerja di kantor satu orang sekarang. Saya dulu bekerja di kantor 3 orang, dan sebelum itu dalam rencana terbuka. (Dan sebelum itu ... rencana yang lebih terbuka ... dan sebelum itu, sebuah kantor dengan pintu yang bisa kututup). Preferensi saya setelah semua ini adalah kantor satu orang. Jika Anda tidak bisa mendapatkan kemewahan itu, maka 2-3 orang itu baik. Lebih dari itu hanyalah pena babi raksasa.
cepat
11

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
4

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.

Soronthar
sumber
1

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 ?)

Jas
sumber
-2

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.

  1. Apakah orang sering mengganggu Anda dengan sia-sia? 38% ya 76% ya

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.

pengguna3450148
sumber