Tüm mühendisler için zorunlu bir süreç olarak (kısaca) ortaya çıkarmayı düşünen bir organizasyon da dahil olmak üzere birkaç kez çift programlama yapmaya çalıştım (bu fikrin ne kadar iyi sonuçlandığını tahmin edebilirsiniz). Şahsen ben ondan nefret ettim.
Aşağıda listelediğim nedenler sadece öznel deneyimlerim ve etkilerini somut olarak 'ölçemiyorum'. Ama burada hepsi aynı:
1 - 'Navigator' ve 'driver' olmak, yalnızca eskinin vokal olduğu ve ikincisinin dinleyeceği durumlarda yardımcı olur.
Hepimiz inatçı, bazı teorik kaygılar hakkında gayretli olan veya patolojik olarak yapamayan - psikolojik olarak - birileri bir sorun önerdiğinde eski işi 'atmak' isteyen geliştiricilerle tanıştık. Ve hepimiz bireyleri endişelerini dile getirmek ya da köşe davaları önermek için çok çekingen ya da çekingen tanıyoruz.
Bu tür geliştiriciler eşleştirildiğinde, gezgin hızlı bir şekilde pasif bir rol oynar ve neyle sonuçlandığınız otomatik kod incelemesiyle tek programlamadır. Bu anıtsal bir kaynak israfıdır.
2 - Eşleştirme yaratıcılığı engeller.
Eskiden “grup beyin fırtınası” nın değeri hakkında hissedilenlerin aksine, bugünlerde fikir birliği yaratıcı bilgi çalışmasının bağımsızlık ve özerklik gerektirdiği yönünde . Yalnız çalışırken, gerçekten uygulanabilir olup olmadığını görmek için çılgınca bir fikri hızlıca bir araya getirebilirsiniz. Bazı garip prototipleri wordlessly olarak birleştirebilirsiniz, ve eğer başarısız olursanız, farketmez, çünkü kimse bilmiyor .
Bunu eşleştirmeyle karşılaştırın: yeni bir konsept denemek istediğimde, ortağımı ikna etmem, onları uygulama aracılığıyla adım adım konuşmalı ve başarısız olursa beni yargılamayacaklarını ummalıyım. Bu tür bir çevre yeni fikirler yaratmak için toksiktir .
3 - En düşük ortak payda tasarımı.
Bir çift, yukarıdaki gibi yeni fikirler üretemediğinde veya bireyler bir özelliğin nasıl tasarlanması gerektiğine dair bazı temel prensipler üzerinde hemfikir olmadığında, ortaya çıkan şey, kimseyi ödün vermek istemeyen karışık bir tasarımdır.
Hızlı ve kirli performans manyağıyla harika, güzel, gökyüzüne işlevsel programlama soyutlamaları oluşturan bir geliştiriciyi eşleştirirseniz, birlikte üretecekleri kod tipik olarak çok zarif ya da özellikle hızlı olmaz.
4 - Özerklik ve şiddetli şeffaflık eksikliği.
Şiddet şeffaflığı , Scrum metodolojisine karşı orta derecede ünlü (ve oldukça tartışmalı) bir polemikten kopardığım bir ifadedir. Bazı örgütlerin, geliştiricileri piyadeleştirme ve normalde profesyonel olmayan çalışanlar için ayrılmış şüphe ile tedavi etme şeklini açıklar.
Geliştiricilerin çalışmasını tamamen şeffaf kılmanın 'zararları' hakkında ne düşünüyorsanız (ve bunun aslında bir zarar olduğuna karar vermeyebilirsiniz), birçok kişi özerkliklerine ve yalnız çalışma yeteneklerine değer verir, doğru olanı yapma konusunda güvenir. Bu önemli bir psikolojik ihtiyaçtır ve geliştiricilerin eşleşmeye zorlanması (en az bir mağazada görüldüğü gibi) çalışanları dehşete düşürecek, üzecek ve yabancılaştıracaktır.
5 - Bazı geliştiriciler sadece çiftler halinde iyi oynamıyorlar.
Bazı insanlar eşleşmiş bir ortamda kendilerini uygun şekilde yürütemez veya yapamazlar. Kötü hijyene, kötü çalışma alışkanlıklarına, aşındırıcı bir kişiliğe, 'yüksek' ve 'yoğun' bir biçime sahip olabilirler ya da kendilerini bireysel çalışanlar olarak niteleyen başka özelliklere ev sahipliği yapabilirler;
Bunu çözebilir misin? Pek sayılmaz. Kişisel davranış değiştirmek zor. Bir çift programlama mağazasının işe alma konusunda çok dikkatli olması ve birinin nasıl çalıştığını ve meslektaşlarıyla iyi çalışıp çalışamayacağını görmek için çok zaman harcaması gerekmektedir. Bununla birlikte, kişiliği daha da zorlaştırmak, beceri ve uzmanlık konusundaki standartlarınızı gevşetmediğiniz sürece işe alımların daha uzun süreceği anlamına gelir.