Apakah facebook melakukan pemrograman pasangan
Apakah facebook melakukan pemrograman pasangan
Ringkasan:
Dalam artikel ini, saya akan membahas konsep pemrograman pasangan dan implementasinya yang benar. Saya juga akan menjawab 15 pertanyaan unik yang terkait dengan pemrograman pasangan, memberikan penjelasan terperinci berdasarkan pengalaman pribadi. Pemrograman pasangan bukan tentang pelatihan, melainkan pendekatan kolaboratif di mana pasangan senior dengan pasangan senior dan junior dengan junior. Pemrograman pasangan yang efektif dapat menyebabkan peningkatan komunikasi dan kualitas kode.
Poin -Poin Kunci:
- Pemrograman pasangan bukan tentang pelatihan tetapi pendekatan kolaboratif.
- Pasangkan pengembang senior dengan pengembang senior dan pengembang junior dengan pengembang junior.
- Pasangan yang efektif masih dapat terjadi antara pengembang senior dan junior.
- Berpasangan dengan magang dapat menyebabkan pengalaman belajar yang berharga untuk kedua belah pihak.
- Fokus manajemen pada produktivitas dapat menciptakan tantangan dalam pemrograman pasangan.
- Pemrograman pasangan harus terasa seperti menjadi co-pilot, bukan pengontrol lalu lintas udara.
- Pemrograman pasangan tidak setara dengan bimbingan.
- Pasangan memungkinkan umpan balik langsung dan membantu mengidentifikasi kode yang terlalu kompleks.
- Komunikasi yang efektif selama pemrograman pasangan itu penting.
- Beban kerja harus dibagikan dan kedua pengembang harus berkontribusi.
- Percakapan samping selama sesi pasangan bisa mengganggu.
- Tidak semua masalah membutuhkan pemrograman pasangan, dan pekerjaan individu mungkin diperlukan.
- Pemrograman pair mungkin memakan waktu lebih lama tetapi memberikan peer review dan kolaborasi instan.
- Pengembang junior masih dapat belajar melalui pemrograman pasangan, tetapi membutuhkan upaya dan komunikasi yang efektif.
- Pertanyaan dan bereksperimen sangat penting untuk pemrograman pasangan yang efektif.
Pertanyaan:
1. Apa itu pemrograman pasangan?
Pemrograman Pair adalah pendekatan kolaboratif di mana dua pengembang bekerja bersama pada tugas yang sama.
2. Jika pengembang senior berpasangan dengan pengembang senior dan pengembang junior dengan pengembang junior?
Ya, memasangkan pengembang senior dengan pengembang senior dan pengembang junior dengan pengembang junior memastikan kolaborasi yang efektif.
3. Bisakah pasangan pengembang senior dengan pengembang junior?
Ya, meskipun tidak ideal untuk tujuan pelatihan, pasangan yang efektif masih dapat terjadi antara pengembang senior dan junior.
4. Bagaimana cara berpasangan dengan magang bermanfaat?
Berpasangan dengan magang dapat memberikan pengalaman belajar yang berharga bagi kedua belah pihak.
5. Tantangan apa yang bisa muncul dalam pemrograman pasangan?
Fokus manajemen pada produktivitas dapat menciptakan tantangan dan stres dalam pemrograman pasangan.
6. Bagaimana seharusnya pasangan pemrograman?
Pemrograman pasangan harus terasa seperti menjadi co-pilot daripada pengontrol lalu lintas udara.
7. Adalah pemrograman pasangan yang setara dengan bimbingan?
Tidak, pemrograman pasangan tidak setara dengan bimbingan. Ini adalah pendekatan kolaboratif antara yang setara.
8. Apa keuntungan dari pemrograman pasangan?
Pemrograman pasangan memungkinkan umpan balik langsung, membantu mengidentifikasi kode yang kompleks, dan meningkatkan komunikasi.
9. Jenis komunikasi apa yang penting dalam pemrograman pasangan?
Komunikasi yang efektif, baik verbal maupun melalui kode, sangat penting dalam pemrograman pasangan.
10. Jika satu pengembang mendominasi sesi pasangan?
Tidak, beban kerja harus dibagikan dan kedua pengembang harus memiliki kesempatan yang sama untuk berkontribusi.
11. Tantangan apa yang dapat memihak percakapan selama sesi pemasangan?
Percakapan samping dapat mengganggu dan mengalihkan fokus dari tugas utama yang ada.
12. Adalah pemrograman pasangan yang cocok untuk semua masalah?
Tidak, pemrograman pasangan mungkin tidak cocok untuk semua masalah, dan kadang -kadang pekerjaan individu diperlukan.
13. Apakah pemrograman pasangan membutuhkan waktu lebih lama?
Pemrograman pair mungkin memakan waktu lebih lama dari pengkodean sendiri, tetapi memberikan peer review instan dan memfasilitasi kolaborasi.
14. Dapatkah pengembang junior belajar melalui pemrograman pasangan?
Ya, pengembang junior dapat belajar melalui pemrograman pasangan, tetapi membutuhkan upaya dan komunikasi yang efektif.
15. Pendekatan apa yang penting untuk pemrograman pasangan yang efektif?
Menanyai, bereksperimen, dan berpartisipasi aktif sangat penting untuk pemrograman pasangan yang efektif.
Apakah facebook melakukan pemrograman pasangan
Saya tidak yakin bagaimana menjawab pertanyaan ini secara objektif. Bisakah Anda mengklarifikasi masalah yang ingin Anda selesaikan, ingat bahwa komunitas ini tidak mendukung pertanyaan subyektif?
Apa cara yang benar untuk melakukan pemrograman pasangan?
Ada begitu banyak cerita di mana saya merasa seperti saya mengkodekan seseorang, dan sebuah cerita yang akan memakan waktu 30 menit akhirnya membutuhkan waktu 3 jam, sementara itu, saya mempertanyakan apakah lebih banyak devs junior yang benar -benar belajar.
99k 23 23 Lencana Emas 189 189 Lencana Perak 305 305 Lencana Perunggu
Ditanya 22 Feb pukul 18:19
561 4 4 Lencana Perak 5 5 Lencana Perunggu
Saya tidak yakin bagaimana menjawab pertanyaan ini secara objektif. Bisakah Anda mengklarifikasi masalah yang ingin Anda selesaikan, ingat bahwa komunitas ini tidak mendukung pertanyaan subyektif?
22 Feb pukul 18:54
Pair Programming != Pelatihan . Saat Anda berkembang secara berpasangan, Anda harus memasangkan senior dengan senior dan junior dengan junior. Saat Anda melakukan pelatihan, Anda harus memasangkan senior dengan junior
23 Feb jam 9:21
Pair Programming != Pelatihan Namun, dimungkinkan untuk memasangkan senior dan junior. Pelatihan pasti akan berakhir terjadi dan memperlambat segalanya. Tapi itu akan terjadi. Bukan berarti pasangan yang efektif tidak bisa terjadi.
23 Feb pukul 15:16
Saya berpasangan dengan magang yang tidak tahu bagaimana sistem kami bekerja. Kami perlu berbicara dengan printer dan memiliki kode yang mengirim printer perintah yang perlu dikompilasi ulang setiap kali Anda mengubah perintah. Saya memutuskan untuk mengubahnya menjadi shell perintah. Menjelaskan apa yang saya lakukan pada magang. Menulis versi Bare Bones di depannya. Harus menunjukkan di mana itu bekerja dan saya lelah dan berkata, “Ingin mengambilnya dari sini?” “Tentu!”Dia melakukannya dengan baik. Memolesnya saat itu juga.
23 Feb pukul 15:19
@Antigamer Sepertinya masalah utama Anda bukan junior yang memperlambat Anda. Itu manajemen karena membuat Anda stres pada produktivitas. Tidak tahu apakah itu mereka atau Anda. Perlu diingat, mereka benar -benar tidak tahu tentang hal -hal teknis. Tetapi jika Anda merasa berkinerja buruk, mereka selalu mengambilnya dan menganggap Anda benar.
23 Feb pukul 15:26
6 Jawaban 6
Jika pemrograman pasangan membuat Anda merasa seperti Anda seorang pengontrol lalu lintas udara yang mencoba berbicara di pesawat udara yang diujicobakan oleh seorang anak berusia 12 tahun yang gelisah, Anda salah melakukannya.
Alasannya salah adalah karena Anda tidak jauh dari berbicara di radio. Anda ada di sana dan dapat mengambil keyboard kapan saja. Seharusnya terasa seperti menjadi co-pilot. Anda tidak memberikan kendali atas karena Anda harus melakukannya. Anda melakukannya karena Anda bisa.
Satu hal pemrograman pasangan tidak adalah bimbingan. Hubungan guru-yang-kelimpahan terasa sangat berbeda dari dua orang yang bekerja bersama secara setara bahkan jika seseorang memiliki lebih banyak pengalaman. Butuh waktu untuk terbiasa memasangkan pemrograman jadi jangan khawatir jika terasa canggung pada awalnya.
Pemrograman ekstrem.org – Pasu pemrograman
Apa yang perlu Anda pahami adalah inti dari pemasangan. Tidak begitu Anda bisa mengatakan “kami berpasangan”. Itu agar Anda dapat berkomunikasi dalam bahasa alami Anda: kode.
Hal yang luar biasa di sini adalah Anda dapat mengetik baris kode dan bertanya, “Apakah itu masuk akal?”Itu loop umpan balik yang ketat. Anda dapat memilah saat kode terlalu pintar cepat.
“Gulir ke atas”, “tambahkan pernyataan konsol”, “pergi ke file x”, “dapatkah Anda menulis y setelah baris z”, dll.
Jika hanya ini yang akan Anda katakan saat kami berpasangan maka ambil saja keyboard. Alih -alih sendok memberi saya berjalan -jalan, beri tahu saya apa yang terjadi. Mengapa Kami Melakukan Ini. Bagaimana saya bisa tahu untuk melakukan ini sendiri.
Katakan itu. Jangan hanya mengambil keyboard, klik beberapa pintasan keyboard misterius dan mewujudkan keajaiban. Tunjukkan cara kerjanya.
Juga, jangan hanya mendikte seluruh agenda. Mengukir pekerjaan yang bisa saya lakukan. Biarkan saya melompat dan menjadi bagian dari ini. Neraka Anda mungkin beruntung dan belajar sesuatu dari saya. Keyboard harus meluncur bolak -balik.
Percakapan samping sering muncul selama sesi pasangan, mengalihkan perhatian dari pekerjaan yang ada
Oh luangkan waktu sejenak dan jadilah manusia. Meyakinkan saya bahwa saya sedang berbicara dengan seseorang yang menganggap saya manusia.
Memecahkan masalah kompleks seringkali membutuhkan waktu lebih lama, karena banyak insinyur membutuhkan waktu untuk benar -benar merancang solusi
BENAR. Beberapa membutuhkan waktu yang dihabiskan untuk melempar pensil ke ubin langit -langit. Beberapa membutuhkan waktu bebek karet (papan suara jika Anda dari set rambut perak). Pemrograman pasangan bukan untuk setiap masalah sepanjang waktu.
- Melakukannya pada panggilan membutuhkan waktu lebih lama dan sering menghasilkan kelumpuhan analisis.
Ya, pasangan bisa memakan waktu lebih lama dari pengkodean sendiri. Tetapi jika Anda melakukannya dengan benar, Anda juga mendapatkan peer review instan instan serta beberapa kolaborasi di tempat.
Obat mudah untuk kelumpuhan analisis adalah melakukan sesuatu yang bodoh dan membuat orang menjelaskan kepada Anda mengapa itu salah. Izinnya sampai Anda kehabisan salah.
Saya mempertanyakan apakah lebih banyak devs junior benar -benar belajar.
Terus bertanya. Pelajari apa yang berhasil dan apa yang tidak. Tidak hanya satu cara sempurna untuk melakukan ini. Tetapi melakukannya hanya karena kita seharusnya melakukannya pasti salah.
Dijawab 22 Februari pukul 18:57
CANDIED_ORANGE CANDIED_ORANGE
99k 23 23 Lencana Emas 189 189 Lencana Perak 305 305 Lencana Perunggu
Obat mudah untuk kelumpuhan analisis adalah melakukan sesuatu yang bodoh dan membuat orang menjelaskan kepada Anda mengapa itu salah. Izinnya sampai Anda kehabisan salah. ini emas. itu bekerja dalam situasi apa pun. Melatih keterampilan desain TDD & bottom-up Anda, melakukan tantangan teknologi di tempat atau memutuskan antara 2 film yang pasti akan Anda benci tetapi GF Anda tidak peduli. “Lakukan sesuatu”, putar roda dan biarkan diri Anda terbawa oleh inersia
22 Feb pukul 21:43
“Hal yang luar biasa di sini adalah Anda dapat mengetik baris kode dan bertanya, “Apakah itu masuk akal?”“Dan inilah mengapa pemrograman pasangan adalah buang -buang waktu. Tidak ada programmer yang kompeten yang perlu menanyakan tentang satu baris kode tunggal. Anda perlu menanyakan tentang seluruh blok fungsionalitas yang koheren, bukan satu baris pun – dan Anda tidak memilikinya sampai programmer selesai. Ini sepenuhnya didasarkan pada keyakinan bahwa pemrograman adalah sumber utama kesalahan dalam produk akhir, dan ini telah terbukti secara luas menjadi keyakinan yang salah.
23 Feb pukul 8:53
@Graham sering, satu baris adalah blok yang koheren. Terkadang, itu merupakan perubahan pada satu blok, dan saya ingin tahu apakah itu masuk akal dalam konteks. Di lain waktu saya telah melakukan sesuatu yang cerdas tapi jelas, dan saya ingin tahu apakah itu pantas detail atau komentar singkat. Menjadi amal!
23 Feb pukul 13:45
Ironis di sini adalah saya’Saya mendapat umpan balik pada satu baris dan berharap saya’D sudah mendapatkannya lebih cepat.
23 Feb pukul 14:12
@Graham Saya sangat tertarik dengan apa yang Anda katakan tentang kesalahan yang tidak terutama berasal dari kode sumber – apakah Anda memiliki kutipan untuk itu karena saya akan tertarik untuk mempelajari lebih lanjut.
23 Feb pukul 14:21
Pola umum adalah bahwa lebih banyak devs senior pada umumnya mengakhiri lebih banyak devs junior di seluruh proses
Pertama -tama, pemrograman pasangan tidak secara inheren memerlukan bimbingan atau bimbingan. Dengan ketidakseimbangan senioritas yang cukup, Anda harus menerima bahwa sebagian waktu dihabiskan pelatihan daripada bekerja. Ini seharusnya sudah menggeser harapan Anda akan hasil langsung.
Jika Anda ingin pemrograman pasangan Anda sepenuhnya fokus pada pengiriman, bukan belajar, maka Anda harus memasangkan pengembang yang sama dengan pengalaman yang sama, atau sedekat mungkin dengan itu. Anda tidak melakukan ini, jadi Anda secara inheren pergi untuk melumpuhkan senior Anda (dengan harus pergi dengan kecepatan junior) atau perlu menginstruksikan para junior tentang pekerjaan (karena sedang dilakukan dengan kecepatan senior).
pada dasarnya mengkode sambil melihat screenshare. “Gulir ke atas”, “tambahkan pernyataan konsol”, “pergi ke file x”, “dapatkah Anda menulis y setelah baris z”, dll.
Itu bukan pemrograman pasangan, itu mendikte. Keduanya tidak produktif sebagai mekanisme pengiriman (dibutuhkan dua orang untuk mengikuti satu kereta pemikiran) dan sebagai alat pembelajaran (menyalin secara membabi buta karena Anda diberitahu tidak memelihara pemahaman).
Saya akan dengan serius mempertimbangkan kembali senioritas pengembang jika mereka hanya dapat fokus pada bagaimana memperbaiki masalah dan tidak dapat memandu pengembang junior dengan benar. Itulah perbedaan yang membedakan antara junior (dapat melakukan pekerjaan tetapi perlu pengawasan), medior (dapat melakukan pekerjaan mereka sendiri tanpa banyak pengawasan) dan profil senior (dapat melakukan pekerjaan mereka sendiri dan memberikan pengawasan untuk orang lain).
Percakapan samping sering muncul selama sesi pasangan, mengalihkan perhatian dari pekerjaan yang ada
Percakapan yang tidak terkait dengan kerja akan terjadi jika kedua orang ini duduk berdekatan tanpa pemrograman pasangan, dan karenanya tidak relevan ketika menilai nilai pemrograman pasangan itu.
Percakapan terkait pekerjaan adalah tepatnya intinya pemrograman pasangan; itu memungkinkan pasangan untuk menyampaikan pengetahuan mereka satu sama lain dan/atau membantu mereka bekerja sama untuk mempelajari sesuatu yang baru bagi mereka berdua.
Memecahkan masalah kompleks seringkali membutuhkan waktu lebih lama, karena banyak insinyur membutuhkan waktu untuk benar -benar merancang solusi – melakukannya pada panggilan membutuhkan waktu lebih lama dan sering menghasilkan kelumpuhan analisis.
Pertama -tama, ini tidak disebut desain pasangan. Anda tidak bisa hanya menyatukan keduanya sewenang -wenang.
Kedua, pemrograman pasangan tidak mensyaratkan bahwa kedua set mata melihat hal yang sama pada saat yang sama, sepanjang waktu, dan tidak ada yang lain. Sangat mungkin bagi senior untuk melakukan sesuatu yang lain, apakah itu melihat desain tugas berikutnya, membaca dokumentasi, . Sementara junior melakukan tugas yang lebih sepele di mana senior tidak diperlukan atau mampu menyulap kedua kegiatan pada saat yang sama.
Dasar untuk pertanyaan Anda muncul sebagai yang bingung. Anda menerapkan suatu sistem, menyusunnya dengan cara tertentu, dan hanya kemudian Apakah Anda mulai memperhatikan bahwa sistem itu sebenarnya tidak membantu dengan hal -hal yang tampaknya penting bagi Anda. Itu meletakkan gerobak di depan kuda.
Lebih masuk akal untuk terlebih dahulu memahami masalah yang Anda coba selesaikan, lalu cari sistem, konfirmasi bahwa itu akan menyelesaikan masalah, dan baru kemudian mulai mengimplementasikannya.
Dijawab 22 Februari pukul 22:25
41.6K 8 8 Lencana Emas 83 83 Lencana Perak 115 115 Lencana Perunggu
“Pertama -tama, ini tidak disebut desain pasangan. Anda tidak bisa hanya menyatukan keduanya sewenang -wenang.” — Saya percaya ini memotong langsung ke jantung pertanyaan OP. Tidak setiap tugas atau interaksi sesuai untuk pemrograman pasangan.
24 Feb pukul 15:38
Saya pikir dua pilot di pesawat adalah yang terdekat yang bisa saya pikirkan, jadi mari kita memiliki beberapa gambaran bagaimana masalah yang Anda atasi diselesaikan di sana. Dalam penerbangan, maka ada dua pilot, ada pilot yang terbang dan pemantauan pilot. Pemantauan pilot juga sepenuhnya dalam kursus dan dapat mengambil alih kapan saja. Ini bekerja dengan sangat baik dan tidak mungkin berubah, bahkan jika secara teknis pesawat ini dapat diterbangkan oleh manusia tunggal.
Saya sendiri bukan pilot, saya insinyur perangkat lunak dengan pengalaman panjang. Tapi saya dulu cukup aktif di Aviation Stack Exchange, membaca kedua pertanyaan dan jawaban yang diposting oleh pilot sungguhan, jadi pikir harus dapat memberikan gambaran umum. Ini mungkin berguna bagi kita.
Kokpit steril
Percakapan yang tidak terkait dengan penerbangan sangat dilarang di kokpit. Sama harus antara pemrogram pasangan. Sesimpel itu.
Keputusan
Keputusan kecil dibuat oleh pilot terbang, tetapi pilot berkomunikasi saat membuat keputusan yang lebih besar. Pilot juga mengikuti daftar periksa yang menggambarkan banyak tindakan standar yang harus mereka lakukan. Jika ada yang salah, pilot menarik mengatakan “Daftar Periksa Kecepatan Udara yang Tidak Dapat Diandalkan” dan ikuti langkah -langkah di sana daripada memulai dari diskusi panjang yang harus dilakukan. Jika kapten benar -benar yakin, ia memiliki prioritas untuk memutuskan dengan cepat, mengesampingkan aturan apa pun, arahan apa pun dari menara kontrol dan tanpa diskusi tetapi ini tidak dilakukan dengan ringan. Ketika kapten mengabaikan instruksi dari menara kontrol, dia harus segera menceritakan hal ini.
Oleh karena itu saya berharap pengembang utama memiliki hak untuk mengatakan sesuatu seperti “pendekatan x membuat kode yang jauh lebih baik tepat di sini, jadi kami menggunakannya, bahkan jika aturan umum membutuhkan sesuatu yang berbeda”, tetapi ini seharusnya tidak datang terlalu sering.
Divisi kerja
Pilot membagi waktu masing -masing mengontrol pesawat lebih atau kurang sama tetapi ada tugas -tugas rumit seperti terbang 747 dengan tiga mesin saja atau mendarat di bandara Heraklion di mana secara resmi dinyatakan bahwa “Kapten harus melakukan terbang”. Kalau tidak, kedua pilot sepenuhnya terlatih dan memenuhi syarat untuk menerbangkan pesawat itu dan tidak membutuhkan manajemen mikro yang sangat mendalam.
Oleh karena itu saya berharap programmer pasangan aktif dengan kode untuk mengetik dan menggulir seperti yang dia inginkan, dengan yang lain hanya mengamati dan hanya mengganggu jika dia memiliki hal yang penting untuk dikatakan. Saya juga tidak berharap salah satu programmer selalu mengetik dan yang lain selalu menonton.
Pelatihan Kapten
Akhirnya, untuk memahami peran dengan lebih baik, seorang kapten baru pertama kali dilatih dengan kapten lain yang lebih berpengalaman yang merupakan “kapten nyata” dari pesawat terbang tetapi sementara penerbangan berjalan dengan baik, memainkan peran pilot kedua. Setelah itu, kapten muda dipasangkan untuk terbang dengan pilot kedua yang jauh lebih berpengalaman (dengan jam penerbangan). Hanya dengan begitu kapten dianggap siap untuk terbang dengan seseorang yang mungkin dia lihat kurang mampu.
Kontrol ganda
Pesawat yang dimaksudkan untuk diterbangkan oleh dua pilot biasanya memiliki kontrol ganda. Untuk mengikuti pola ini, adalah ide yang baik untuk menghubungkan setidaknya mouse kedua jika bukan keyboard. Ini memungkinkan untuk lulus “mengemudi” di antara pengembang dengan sangat cepat.
Apakah facebook melakukan pemrograman pasangan
Об этой страницental
Ы заре kondecedit. С помощю этой страницы с сожем определить, что запросы о о ancing оеет иенно ы,. Почем это мопо произойтиonya?
Ээ страница отображается в тех слчаях, когда автомически систе secara google ристрюи uman рисисilan рancing рancing рancing рancing рancing рancing рancing рancing рancing рancing рancing рancing рancing рancing рancing рancing рancing рии и menelepon которые наршают уловия исполззованияisah. Страница перестанет отображаться после то A, как эти запросы прекратяupanisah яяisah ancing ancing. До это A.
Источником запросов может слжить Врддносно secara п, пар иа бас00 иасазаз) ыылку запросов. Если Вы исползеет общий дсст в и итернет, проблем м ы ы ip ip ip00 ip ip ip ip ip uman ip ip ip ip ip ip uman ip ip ip ip ip ip ip uman ip ip ip ip ip ip ip ON ip ip ip ip ip ip ON. Обратитесь к своем системном аинистратору. Подробнее secara.
Пожет такжeda появлят secara, если Вы Вонот A рлжвввв dari рыч о оаilat оыч о оаilat, еами, ии же Водитedit запросы чень часто засто.
Facebook dan mitos budaya pengkodean individu
Kami telah meluncurkan buletin email harian baru! Anda sekarang dapat menerima pengumpulan gratis artikel TNS terbaru di kotak masuk Anda setiap hari. Daftar sekarang, jangan pernah melewatkan cerita, selalu tetap di dalam mengetahui.
Dalam posting terbaru tentang budaya teknik, insinyur perangkat lunak Facebook Pierre Raynaud-Richard berbagi wawasan tentang bagaimana raksasa media sosial’Budaya dev mendorong kolaborasi dan mendorong kebanggaan atas kode yang mereka buat.
Penting untuk Raynaud-Richard’S risalahnya adalah buang air besarnya ‘kepemilikan kode individu’ mantra. “Banyak perusahaan pengembangan perangkat lunak percaya dan berlatih “kepemilikan kode individu.” Ini mungkin tidak terdengar seperti prinsip mendasar seperti itu, tetapi sebenarnya sangat membantu mendefinisikan cara kerja organisasi perangkat lunak,” Menulis Raynaud-Richard.
Sementara di hadapannya, pendekatan ini tampaknya mendorong para ahli internal dengan bangga menciptakan kode yang lebih baik dan lebih sedikit buggy, dampak aktual bagi banyak perusahaan adalah bahwa ia menahan inovasi dan ingin pertumbuhan keterampilan pengembang. Raynaud-Richard says the approach discourages company innovation, as developers end up favoring the status quo: over time, they defend the code base they have built and have an implicit bias towards it, unable to adapt to new opportunities or challenges that require a radical change in direction. Untuk pengembang individu, pendekatan ini menghambat pertumbuhan keterampilan mereka dengan menandatangani sepatu mereka dan mempersempit kemampuan mereka untuk mengidentifikasi peluang berdampak tinggi.
“Kepemilikan kode individu memberikan beberapa manfaat menarik pada pandangan pertama: kode yang dirancang lebih baik, dipelihara, dan didukung, dan rentang hidup yang lebih lama untuk komponen dan layanan. Sayangnya, ia melakukannya dengan biaya memperkenalkan definisi peran yang kaku, yang dapat membatasi inovasi dan pertumbuhan perusahaan dan individu,” menyimpulkan Raynaud-Richard.
Di hari ini’S Lingkungan Pengembangan Tumpukan Penuh, Tim Perangkat Lunak tahu bahwa tidak ada pengembang yang bisa mengetahui segalanya. Tetapi banyak yang beralih ke cara yang lebih kreatif untuk mendorong budaya teknik yang fleksibel daripada peningkatan jalan spesialisasi yang dibudidayakan oleh model kepemilikan kode individu.
Budaya Dev Startup
Database-as-a-Service Startup Orchestrate memiliki tim terdistribusi yang terdiri dari 10 insinyur yang bekerja di lima zona waktu, menurut CTO dan pendiri Ian Plosker.
“Kami tidak’t umumnya memiliki kepemilikan kode,” kata Plosker. “Yang sedang berkata, para ahli daerah berkembang secara alami, biasanya dimulai dengan orang yang mengembangkan atau meninjau kode tersebut.” Plosker mengatakan bahwa dari waktu ke waktu, insinyur tertentu mungkin berakhir dengan mengkhususkan diri dalam teknologi atau metode tertentu, dan mereka akan lebih sering ditarik ke dalam proyek -proyek ketika teknologi tertentu sedang digunakan.
“Satu orang yang memiliki kode itu berbahaya, karena seluruh tim kemudian dapat bertahan dengan tidak tahu bagaimana segala sesuatunya bekerja. Untungnya, di organisasi yang lebih kecil, lebih sulit untuk lolos dengan itu. Sangat penting bahwa pengetahuan difusi di sekitar organisasi.”
Salah satu proses utama yang digunakan di Orchestrate untuk menghindari kepemilikan kode individual adalah ulasan kode: “Ulasan kode adalah salah satu tempat paling penting untuk transfer pengetahuan, ia menjamin setidaknya orang kedua mengetahui kode tersebut, telah mengevaluasi bahwa kasus uji selesai, dan tahu bagaimana basis kode bekerja.”
Orchestrate menyediakan API tunggal dan antarmuka pengguna untuk kumpulan beberapa database. Saat memulai dengan nilai kunci, produk sekarang memungkinkan sejumlah format pencarian, termasuk teks lengkap, pencarian waktu dan grafik yang dipesan. Penawaran terbaru adalah fitur pencarian geospasial baru, yang menghindari pendekatan kepemilikan kode individu saat dikembangkan:
“Kami menggunakan GitHub sedikit, jadi Anda akan memiliki pengembang yang mengerjakan cabang fitur, seperti ketika kami menambahkan fitur pencarian geospasial. Jadi insinyur akan bekerja di cabang fitur, mereka membuka permintaan tarik untuk menggabungkannya. Semoga mereka menambahkan semua tes unit dan tes integrasi, dan itu’s Saat evaluasi teknis yang mendalam terjadi.
“Jika fitur itu penting, kami mendapatkan setidaknya dua pasang mata pada hal -hal dan GitHub memungkinkan Anda mengomentari baris tertentu seperti mengatakan ‘Hei, kenapa kamu melakukannya seperti ini?’
“Jadi percakapan terjadi di sana, ada banyak pengetahuan yang tertanam dalam permintaan tarik.
“Setelah sepenuhnya ditinjau, maka kami menjalankannya dan mengujinya.
“Kami memiliki beberapa langkah untuk pengujian: secara internal, kami memiliki alat yang disebut orkestrate runner yang dapat membangun seluruh tumpukan orkestrasi di mesin Anda (server http berbasis java, ujung depan web, dan semua hal itu diputar oleh alat kami secara internal). Itu’S putaran pertama pengujian.
“Maka setiap komit di github dijalankan oleh Travis CI. Itu bekerja dengan cukup baik untuk kami, dan itu akan menjalankan semua tes unit dan tes integrasi kami. Kami bahkan memutar tumpukan orkestra mini di dalam travis ci.
“Kami juga menggunakan hipchat, kami bahkan telah membuat bot di hipchat kami yang dapat memberi tahu kami banyak tentang penyebaran kode kami. Setelah setiap master build yang sukses, kami mendapatkan yang diunggah ke S3 di akhir build travis, dan berdasarkan nomor build, kami dapat meminta chatbot kami untuk menggunakan kode itu! Menyukai, ‘Hei Prodbot, Deploy Bangun Nomor 46 ke Lingkungan Pementasan USC.’ Plosker juga menunjuk ke Mumble, klien obrolan yang memungkinkan tim pengembang untuk mengajukan pertanyaan satu sama lain atau memulai obrolan informal pada pola pengkodean dan pilihan desain.
Untuk menumbuhkan kolaborasi dan diskusi kelompok seputar desain fitur baru, Orchestrate mendorong setiap anggota tim untuk membuat proposal yang menguraikan ide:
“Sebelum kita memulai fitur besar, cenderung terjadi bahwa seseorang menjadi juara untuk fitur itu. Jadi kami cenderung suka menulis proposal untuk fitur ini: di sini’s bagaimana cara kerjanya, di sini’Mengapa kita harus melakukannya, tantangan, peluang … ini cenderung Google Documents dan seluruh tim akan mengerjakan ini. Itu terjadi sangat organik.
“Misalnya, saat ini kami sedang mengerjakan faceting pencarian, jadi ada dokumen yang dikomentari semua orang. Pada titik ini, kami memiliki sedikit pengetahuan yang beredar.”
Bisnis yang dapat diskalakan
Menu online dan layanan pengiriman makanan Just Eat – yang sekarang beroperasi di 13 negara dan mengumumkan pertumbuhan pendapatan 58% pada paruh pertama 2014 – memiliki tim teknik yang terdiri dari sekitar 60 pengembang di seluruh kantornya di Inggris saja. Perusahaan melihat “Pertumbuhan yang cukup besar dan cepat” mengharuskan pengembang untuk bekerja sama di dua lokasi kantor dan dari jarak jauh, menurut pimpinan teknis, Anton Jefcoate. “Tingkat pertumbuhan telah mendorong kita ke dalam beberapa praktik yang cukup baik. Fondasinya sudah ada di sana, tetapi Anda bisa’T Lepaskan dari Budaya Teknik yang Anda promosikan saat Anda meningkatkan tim pengembangan Anda.
“Kami’ve membagi tim pengembang kami menjadi beberapa kelompok untuk menangani berbagai bidang: aplikasi konsumen, aplikasi bisnis, devs yang bekerja di API.. Tim API adalah inti dari seluruh platform. Jadi tim API kemudian dibagi lebih lanjut dan mereka mengendalikan bagian -bagian tertentu dari platform.
“Proyek baru apa pun akan menyatukan beberapa orang dari tim aplikasi yang didorong oleh API dan asli: itu’S minimal dua, maksimal 10 orang pada proyek apa pun. Itu tergantung pada ukuran fitur dengan jelas, dan seberapa jauh platform fitur akan menyebar.”
Jefcoate berpikir Raynaud-Richard benar untuk memanggil kekurangan model budaya kepemilikan kode individu di perusahaan perangkat lunak.
“Kelemahannya adalah hal -hal yang benar bagi kita,” kata jefcoate. “Saya pikir Agile adalah salah satu hal yang menghancurkan budaya itu. Saya pikir sebelum gesit, devan dulu terisolasi, tetapi gesit mendorong tim atas individu. Saat Anda melihat kecepatan pelacakan atau kebaikan tim yang lebih besar untuk diproduksi, semua orang berbagi pekerjaan secara merata. Kami sangat memiliki budaya semua chip. aku percaya’S terkait dengan praktik kerja, dan tipe orang yang menggunakan aliran gesit: di sini’S beberapa pekerjaan yang harus dilakukan, semua orang mendapatkan di geladak, dan itu tidak’T cocok untuk skenario kepemilikan kode individu.”
Hanya makan mereplikasi sejumlah aspek budaya yang menjadi lebih akrab di antara startup perangkat lunak berbasis cloud. Seperti orang lain dalam generasi mereka (baru saja dimulai pada tahun 2001), mereka memiliki budaya untuk menciptakan proyek open source, dan sering menggunakan proses perekrutan yang meminta pelamar untuk dogfood API baru’basis kode S.
Jefcoate melihat pendekatan open source sebagai cara yang berbeda untuk mengolah kebanggaan’Keuntungan S-Code yang mungkin berasal dari kepemilikan kode individu:
“Anda hanya perlu melihat ke bawah tumpukan kami dan melihat semua alat sumber terbuka yang kami gunakan untuk menyelesaikan masalah kami setiap hari, jadi sebagai komunitas pengembang secara keseluruhan, kami benar -benar mendapat manfaat dari kebaikan yang lebih besar. Sumber terbuka memungkinkan masalah diselesaikan oleh banyak orang; Ada sangat sedikit tempat yang bisa Anda kunjungi di mana Anda memiliki produk gratis yang memiliki jumlah sejarah yang dicoba dan diuji untuk mereka. Pekerjaan open source, dan saya kira bagi kita, untuk berkontribusi kembali ke itu membuat sedikit pernyataan tentang apa kita sebagai perusahaan. Hal -hal open source yang kami keluarkan (yang relatif dalam masa pertumbuhan), adalah hal -hal yang generik yang membantu memecahkan masalah bagi komunitas pengembang. We try and get the benefits of individual code ownership (things like cultivating pride and encouraging the personal touch and personal investment in coding projects), by making sure that developers get to help test new techniques on our platform, that our developers solve problems for the entire Just Eat engineering group. Jika itu terjadi, maka itu mungkin akan menyelesaikan hal -hal di luar perusahaan kami, jadi itu’s bagaimana proyek open source kami memulai. Biasanya tentang penskalaan dan ketahanan. Kami mencoba untuk mendapatkannya diadopsi secara internal terlebih dahulu dan kemudian kami melihat apakah itu adalah sesuatu yang dapat diuntungkan oleh masyarakat.”
Untuk lebih menyematkan budaya kolaboratif daripada model kepemilikan kode individu, Just Eat Holds triwulanan internal hackathons untuk menyatukan pengembang dalam konfigurasi tim baru: “Dengan kepemilikan kode grup, Anda kehilangan beberapa manfaat seperti bagaimana kode mungkin lebih baik karena pengembang lebih terlibat atau menjadi ahli domain. Hackathon internal akan mendorong pengembang kami untuk mengerjakan proyek hewan peliharaan pribadi.”
Hanya makan menggunakan jira untuk melacak pekerjaan yang sedang dilakukan dan untuk mengoordinasikan permintaan tarik, dan kemudian setiap permintaan tarikan ditinjau oleh peer: “Sebuah tim semi-independen, tetapi semuanya didorong oleh persyaratan produk global. Setelah Anda melewati persyaratan global, tim cenderung mengelola sendiri untuk menyelesaikannya. Jadi permintaan tarik yang dibuka biasanya dalam percakapan tim. Maka ulasan peer adalah proses yang fantastis karena belajar dan juga verifikasi. Kami memiliki banyak otomatisasi: kami benar -benar menggunakan CI kami untuk ya/tidak, bisakah ini digunakan.”
Jefcoate juga melihat perusahaan’S Penggunaan pemrograman pasangan (metode memiliki dua programmer bekerja bersama, garis untuk garis, pada proyek pengkodean) sebagai menunjukkan antitesis budaya pengkodean individu yang dihargai perusahaan: “Kami menggunakan pemrograman pasangan untuk onboarding pengembang baru dan sebagai praktik pengembangan umum. Jika saya mengerjakan sesuatu yang sangat baru, saya akan berpasangan dengan seseorang dan memastikan orang lain mengetahuinya. Itu dilakukan dari jarak jauh, pasangan adalah salah satu alat terbaik untuk mendapatkan standardisasi kualitas kode.”
Budaya Dev Enterprise
Jakub Nesetril adalah pendiri dan CEO di Apiary, sebuah rangkaian alat desain dan pengkodean dokumentasi API. Minggu ini, Apiary merilis Apiary for Enterprise untuk membantu perusahaan besar menjauh dari kepemilikan kode individu saat membuat produk dan layanan API. Semakin, Nesetril melihat perusahaan yang berurusan dengan banyak API yang masing -masing telah ditulis dengan cara yang berbeda dan sekarang perlu memiliki struktur pengkodean dan nomenklatif yang umum, dikerjakan oleh beberapa anggota tim daripada dev individu yang ditugaskan ke unit bisnis tertentu tertentu.
Di ribuan pengguna lebah, Nesetril biasanya melihat peretas individu atau tim kecil menggunakan alat sumber terbuka mereka di mana setiap pengembang mungkin memiliki pendekatan kepemilikan kode yang hampir individual (terutama karena mereka adalah satu -satunya pembuat kode). Ketika tim tumbuh, mereka mulai menggunakan produk komersial api, dan pada saat mereka mencapai 20 anggota tim, mereka beralih ke Apiary untuk tim. Pada tahap inilah infrastruktur organisasi cenderung membawa manajer produk untuk memastikan pengkodean pengembang seragam di berbagai proyek API.
Di antara pelanggan perusahaan-begitu tim mencapai jumlah pengembang 40-60 atau lebih-arsitek API cenderung dipekerjakan. “Salah satu hal yang mereka perjuangkan adalah desain yang konsisten untuk API mereka, dan itu’S mengapa kami membangun Apiary for Enterprise,” Nesetril menjelaskan. Inti dari produk adalah alat panduan gaya yang membantu perusahaan memastikan pengembang sesuai dengan konvensi organisasi seperti format nomenklatur dan data.
Nesetril melihat pelanggan perusahaan meninggalkan gagasan lama tentang kepemilikan kode individu, terutama karena banyak yang mewarisi warisan API yang berbeda melalui merger dan akuisisi atau karena kasus penggunaan individu mendorong proyek pengembangan API awal dalam unit bisnis yang terputus yang terputus terhubung.
“Secara historis, ada dorongan kuat untuk kepemilikan kode karena itu menciptakan akuntabilitas, tetapi juga menciptakan kesulitan untuk kolaborasi. Kami melihat lebih banyak sumber daya bersama di antara tim pengembang di perusahaan, di mana individu dapat berputar masuk dan keluar dari berbagai bagian proyek,” kata Nesetril.
“Trik dengan pendekatan kolaboratif adalah bahwa mereka membutuhkan satu versi kebenaran tunggal. Tidak semua orang bisa menjadi ahli dalam segala hal di dalam perusahaan, tetapi sangat bagus ketika mereka dapat mengerjakan sesuatu secara internal. Trik terbesar dengan satu versi budaya kebenaran adalah tiba di tempat itu tanpa membatasi kolaborasi.” Nesetril percaya bahwa Apiary for Enterprise sangat ideal untuk perusahaan yang mencoba mengelola banyak API tanpa menciptakan budaya yang mendorong pengembang untuk kembali menjadi ahli kode individu: “Ini memberi mereka pemikiran ini bahwa ketika mereka sedang mengerjakan API, itu cocok dengan tingkat proaktif dari pemeriksaan dan pemberitahuan lanjutan, maka itu memungkinkan Anda untuk lebih eksperimental dan ambisius jika Anda tidak macet oleh ketakutan apakah Anda melakukan kesalahan dengan, misalnya, format tanggal tanggal format tanggal, misalnya tanggal tanggal tanggal tanggal, misalnya tanggal tanggal tanggal tanggal tanggal tanggal tanggal tanggal tanggal. Orang dapat mulai memberikan kontribusi yang berarti sejak dini.”
Kepemilikan kode individu mati (semi-publik) kematian
Apa raynaud-richard’Posting blog mungkin benar -benar dilakukan adalah menandai waktu dan kematian kepemilikan kode individu. Sudah, bisnis di semua tingkatan – dari startup ke perusahaan – merangkul lebih banyak pendekatan pengembangan kolaboratif. Google Tools dan Hipchat umumnya digunakan di seluruh tim pengembang di semua tingkatan, dan produk pengembang baru muncul yang membantu mengakar etos yang lebih kolaboratif. Di hari ini’lingkungan dev, jalan tengah antara spesialisasi dan pengetahuan umum perlu dikejar di mana keterampilan pengkodean terbesar adalah pembangunan konsensus yang tidak sinkron: kemampuan untuk bekerja sama dan untuk memfasilitasi transfer pengetahuan di seluruh tim terdistribusi.
Fitur Gambar Via Flickr Creative Commons.
Apa manfaat pemrograman pasangan untuk berbagi pengetahuan?
Ползйтесь знаниями собщества. Экспе Agustus добавляют Важные сведения В ээолектив halю стюннанагergiмллнинаг mempers иозозл uman umanеозiden иозiden иозiden иозiden. -.
Это статьaskan ново edit типа – при е создании ы и иilan оовал £. А экспе Agustus улчшают е, делясь своими ыслями напffemberм в в к к к к в в в в в в в в в в в в в ‘.
Если Вы хотит A Внести свой Вклад, запросит 0 пи A кррнн uman иат ввввввввutu ииювancing иancing ииюancing иancing ииюююancing июююancing июancing иююancing иююancing июancing иююancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing июancing иююancing ю. Подробнее secara
Terakhir diperbarui pada 27 апр. 2023 г.
Pemrograman Pair adalah praktik pengkodean kolaboratif di mana dua pengembang bekerja pada basis kode yang sama secara bersamaan, menggunakan satu komputer dan satu keyboard. Ini sering digunakan dalam metodologi pengembangan perangkat lunak yang gesit, seperti Scrum dan XP, untuk meningkatkan kualitas kode, produktivitas, dan pembelajaran. Dalam artikel ini, kami akan mengeksplorasi bagaimana pemrograman pasangan juga dapat menumbuhkan kepemilikan kode dan berbagi pengetahuan di antara pengembang, dan apa saja beberapa praktik terbaik untuk membuatnya bekerja secara efektif.
Помоте другим, р ,зазав подробнее (нене 0 125 символов) оенанаkan
Добавить сох keанить
Kepemilikan kode
Kepemilikan kode adalah rasa tanggung jawab dan akuntabilitas yang dimiliki pengembang untuk kode yang mereka tulis dan pertahankan. Ini dapat memiliki efek positif pada kualitas kode, karena pengembang lebih cenderung mengikuti standar pengkodean, menulis tes, refactor, dan memperbaiki bug. Namun, ia juga dapat memiliki efek negatif, seperti menciptakan silo pengetahuan, mengurangi kolaborasi, dan meningkatkan ketergantungan pada individu tertentu. Pemrograman pair dapat membantu menyeimbangkan kepemilikan kode dengan mendorong kepemilikan kolektif, di mana seluruh tim bertanggung jawab atas basis kode, dan tidak ada seorang pun yang menjadi ahli atau pemilik fitur atau modul tertentu. Pemrograman pair juga dapat mengurangi risiko kehilangan pengetahuan, karena pengembang dapat berbagi keahlian dan wawasan mereka dengan mitra mereka, dan belajar dari satu sama lain.
Помоте другим, р ,зазав подробнее (нене 0 125 символов) оенанаkan
Добавить сох keанить
Pengembang Java di Sky
- Копирonya
- Пожаловаться на Вклад
Пожаловаться
Пожаловаться
Назад отправить
Спасибо за уведомление! Вы болше не увидитedit этот Вклад.
Pemrograman pasangan sebenarnya menghapus kepemilikan kode sepenuhnya. Tidak ada pemilik nyata dari bagian dalam lingkungan yang diprogram dengan rotasi pasangan yang sehat.
Berbagi pengetahuan
Berbagi Pengetahuan adalah proses mentransfer dan pertukaran informasi, keterampilan, dan pengalaman di antara pengembang. Ini dapat meningkatkan pembelajaran, inovasi, dan pemecahan masalah, serta menumbuhkan budaya kepercayaan dan umpan balik. Pemrograman pasangan adalah alat yang ampuh untuk berbagi pengetahuan, karena menciptakan lingkungan belajar yang alami dan interaktif, di mana pengembang dapat mengajukan pertanyaan, menjelaskan konsep, menunjukkan teknik, dan memberikan umpan balik. Pemrograman pasangan juga dapat mengekspos pengembang pada berbagai perspektif, pendekatan, dan gaya pengkodean, yang dapat memperluas wawasan mereka dan meningkatkan keterampilan mereka.