Nedir?
Çift programlama, iki programcının bir iş istasyonunda eşleşip birlikte çalıştığı çevik bir yazılım geliştirme tekniğidir. Veya günümüz dünyasında, bir VS-Code canlı paylaşımı. Amaç, daha güçlü ve daha sağlam kod üreten fikirleri ve teknikleri paylaşırken, aynı zamanda dahil olan tüm taraflar için bir öğrenme ortamı yaratarak birlikte işbirliği yapmaktır. Aslında, eşli programlama yeni bir kavram değildir ve aslında ilk bilgisayarların yaratıldığı 1940'lardan beri var olmuştur. Örneğin, dünyanın ilk programcılarından Jean Bartik ve Betty Snyder, II.Dünya Savaşı sırasında (Connelly, 2020) ENIAC bilgisayarlarını çalıştırmak üzere görevlendirildi ve bu bilgisayarları bir ekip olarak etkin bir şekilde çalıştırmakla görevlendirildi. Böylece, programlama kavramından önce “çift programlama” terimini türetmek gerçekten var oldu (Böckeler, 2018).
Betty Snyder ve ben başından beri bir çifttik. Ve en iyi programların ve tasarımların çiftler halinde yapıldığına inanıyorum, çünkü birbirinizi eleştirebilir, birbirinizin hatalarını bulabilir ve en iyi fikirleri kullanabilirsiniz. " - Jean Bartik
Faydaları nelerdir?
Şimdi kendi kendinize düşünüyor olabilirsiniz, bu kulağa verimsiz geliyor! Üretkenliği iki katına çıkarabilecekken neden kimse iş gücünü ikiye bölmek istesin, bu sadece kötü bir iş. Bununla birlikte, üretkenlik kaybı, eşli programlama hakkındaki en büyük yanlış anlamalardan biridir. Çoğu insan, insanları eşleştirerek verimliliklerini% 50 oranında etkili bir şekilde azalttığınızı düşünür. Şimdi, programlamanın en zor kısmı yazarken bu doğru olabilir, ancak birçok programcı durumun böyle olmadığının farkındadır. Programlama, düşünme ve planlamanın günün büyük kısmını kapladığı uzun ve karmaşık bir süreçtir ve sonuç olarak, geliştiricilerinizi eşleştirmenin, kod geliştirmeyi önerilen% 50 yerine yalnızca% 15 azalttığı görülmüştür. Bununla birlikte, kod üretiminde kaybedebileceğiniz şeyler, bütünlük, kalite ve etkinlik temelinde kodlarınızda hızla kazanıyorsunuz. Örneğin Böckeler (2018), eşli programlamanın bilgi paylaşımındaki artışları ve stratejik ve taktiksel problem çözme gibi çoklu düşünme modlarının sürekli entegrasyonu ile iyi tanındığını açıklamaktadır. Ayrıca, seçimlerinizi açıklamanızı ve gerekçelendirmenizi sağlarken, sizi elinizdeki göreve odaklanmaya zorlayarak, hareket halindeyken sürekli olarak gözden geçirilen daha güçlü ve daha dinamik bir koda yol açar. Böylece, daha sonra daha az hataya neden olur. Aslında Alexandra Altvater (2017), yalnız programcılar tarafından yazılan koddan% 15 daha az hataya yol açabileceğini ve büyük şirketler için zaman içinde büyük tasarruf sağlama yeteneğine sahip olduğunu belirtir. Ancak bu sadece parasal kazançla ilgili değil, eşli programlamanın en büyük varlıklarından bazıları, bir şirket genelinde ekip oluşturma, işbirliği ve kod homojenliği potansiyeli. Örneğin, iletişimin ve takım çalışmasının yaratıcılığı teşvik ettiği iyi bilinen bir gerçektir. Bu, bireyleri bakış açılarını değiştirmeye ve koda yeni bir açıdan bakmaya zorlayarak, kendi başlarına düşünmemiş olabilecekleri farklı çözümler bulmalarını sağlar.
Dezavantajlar nelerdir?
Öyleyse, bu çevik yazılım geliştirme uygulamasının yeniden ortaya çıkması ve günümüz teknoloji endüstrisinde norm haline gelmesi neden yaklaşık 50 yıl sürdü? Tom Howlett'in (2013) açıkladığı gibi,
"Eşleştirmek güvenlik açığı gerektirir. Bildiğiniz ve bilmediğiniz her şeyi paylaşmak demektir. Bu bizim için zor. Programcıların zeki, gerçekten çılgın zeki olması gerekiyordu. Çoğu insan yaptığımıza bakıyor ve "Bunu asla yapamam" diyor. Kendimizi biraz özel hissettiriyor, bize gurur veriyor ve gurur kırılganlık yaratıyor. "
Eş programlama, bazıları için, özellikle genç geliştiriciler veya bu konuda çok az deneyimi olan veya hiç deneyimi olmayan kişiler için sinir bozucu olabilir. İnsanlar için korkutucu olabilecek yoğun bir işbirliği şeklidir. Çalışma tarzınız size özeldir ve eşli programlama, birisinin her hareketinizi izlemesine, yaptığınız her hatayı görmesine ve bilmediğiniz her VS kodu kısayolunda sizi yargılamasına izin vermek anlamına gelir. İstenmeyen durumlarda, daha deneyimli veya giden geliştiricinin kontrolünü ele geçirirken diğerinin değerinin değersiz olduğunu veya aidiyetsizlik hissini bıraktığı bir kişinin izlediği dengesiz bir iş akışına da yol açabilir. Bununla birlikte, diğer yandan, iki deneyimli geliştiricinin ofiste daha yetkin bir kodlayıcı olarak bir kez hakimiyet kurmak için birbirleriyle kafa kafaya gitme şansı olarak gördükleri egoist bir beyin savaşına da yol açabilir. Bununla birlikte, bu dezavantajlar genellikle, uygulamanın kendisiyle ilgili sorunlardan ziyade, uygulamanın uygulanmasıyla ilgili konulara ışık tutan bir yanlış yönetim perspektifi merceğinden görülebilir.
Buna değer mi?
Bu tamamen sizin durumunuza bağlıdır. Hiç şüphe yok ki, eşli programlama endüstri için iyidir. Ama asıl soru, yanınızda oturan bireyler için iyi mi?
Öğrenmek ve güçlü ilişkiler kurmak ve çalışanlarınız arasında bir topluluk duygusu yaratmak, yapılacaklar listenizin başında yer alan kolektif bir ekip olmaktan gurur duyan bir işletmeyseniz. O halde, iş arkadaşlarınız arasında bir birlik duygusu yaratırken, çift programlamanın sağlam, verimli bir kod tabanı oluşturmada sahip olabileceği muazzam faydaları inkar etmek yok. Akılda tutulması gereken bir şey varsa da, eşli programlamanın şiddetli bir şeffaflık kavramını ortaya çıkaran yoğun bir işbirliği modu olmasıdır ki, yanlış yönetilirse yarardan çok zarara yol açabilir. Sonuçta insanlar özerkliklerinden ve zaman zaman yalnız çalışma becerilerinden gurur duyarlar.
En İyi Uygulamalar
Dolayısıyla, eşli programlamanın sizin veya çalıştığınız şirket için iyi olacağını düşünüyorsanız, işte birkaç çift programlama en iyi uygulamasının bir listesi.
ENIAC Mühendisleri Programı Eşleştirebilirse, Siz de Yapabilirsiniz - Shirley Connelly (2020)
Eşleştirilmiş Programlamanın Utanç - Tom Howlett (2013)
Eşleşmek ya da Eşleşmemek - Birgitta Bockeler (2018)
Yapay Zeka (AI), endüstrilerde devrim yaratma, yaşama ve çalışma şeklimizi değiştirme ve topluma sayısız fayda sağlama potansiyeline sahip, hızla gelişen bir teknolojidir. Ancak, her yeni teknolojide olduğu gibi, dikkate alınması gereken etik hususlar da vardır.
Yapay Zekaya Giriş Yapay Zeka (AI), endüstrilerde devrim yaratma, yaşama ve çalışma şeklimizi değiştirme ve topluma sayısız fayda sağlama potansiyeline sahip, hızla gelişen bir teknolojidir. Ancak, her yeni teknolojide olduğu gibi, dikkate alınması gereken etik hususlar da vardır.
Tarih kitapları bana iki dünya savaşı öğretti: I ve II. Akademisyenler, politikacılar, yorumcular, medya kuruluşları bir sonraki Dünya Savaşı hakkında uzun süredir spekülasyonlar yapıyor ve tahminlerde bulunuyor: Kontrolden çıkan bölgesel bir çatışma, hakimiyet için dünya güçlerinin çatışması, geleneksel savaşa dönüşen felç edici bir siber savaş.
Altı yıl sonra ilk kez geri döndüm. Bunu ne kadar zamandır beklediğimi size anlatamam.
Yeni Yıl kararlarını ürkütücü ve bunaltıcı buluyorum. En iyi niyetlerle yola çıkarsınız, ancak onlara ayak uydurmakta sefil bir şekilde başarısız olursunuz; Ben sadece kendim için konuşabilirim.
İnsanlara şans verme konusunda hayatta biraz geç kalındığına inanıyorum. Cömertçe.