Yazan : Şadi Evren ŞEKER

Bu yazının amacı, özellikle bilgisayar bilimlerinin bir alt konusu olan yazılım mühendisliğinde (software engineering) kullanılan bir teknik olan atik programlama (agile programming) kavramının getirdiği bir yöntem olan ikili programlama (pair programming) kavramını açıklamaktır.

Bu yöntem basitçe, tek bir bilgisayarın önünde iki kişinin oturarak çalışması mantığı üzerine kuruludur. Yani yazılım projelerinde sıkça ihtiyaç duyulan ve risk azaltmak için kullanılan kişilerin yedeklenmesi (ve dolayısıyla kişilerin bilgilerinin ve becerilerinin de, işten çıkma, sağlık problemleri vs. risklere karşı farklı bir kişiye edindirilerek yedeklenmesi) yönteminin anlık olarak yapılmasıdır.

Yapılan işin karmaşıklığı ve programcıların uyumlu çalışma tecrübelerine bağlı olarak, aynı işi iki programcının aynı anda yapmasının aslında ayır ayrı işi paylaşarak yapmalarına göre %15 ile %50 arasında bir iş gücü kaybına sebep olduğu anlaşılmıştır.

Ancak ikili programlama yöntemi, aynı programa iki farklı kişinin aynı anda bakması sonucunda, programcıların hatalarının daha önce tespit edilmesi ve çalışma motivasyonunun arttırılması gibi olumlu sonuçlar doğurur.

Örneğin, programcıların tek başınayken kendilerini disipline etmesi (self disipline) gerekirke, iki programcının aynı anda işten kaytarması, internet üzerinde vakit kaybetmesi gibi etkilerin azaldığı tespit edilmiştir.

İkili programlamanın da diğer yöntemler gibi bazı problemleri ortaya çıkardığı kesindir. Bu problemlerin bazı emareleri aşğıda listelenmiştir:

  1. Uzaklaşma (Disengagement) : Çalışanlardan birsinin, diğerinden fiziksel olarak uzaklaşmaya çalışması, örneğin sandalyesini uzaklaştırması veya klavyesini uzaklaştırması gibi belirtilerdir. Bazı durumlarda çalışanın uyuklaması veya konudan uzaklaşması gibi de görülebilir.

  2. Efendiyi İzleme : Bazı durumlarda çalışanlardan birisi çok daha tecrübeli olduğu için efendiliğini ilan eder ve diğer çalışanın çalışmaya olan motivasyonu zaman içerisinde düşer, bu durum genelde uzaklaşma ile sonuçlanır.

  3. Sessizlik : Şayet ikili arasında sessizlik oluyorsa, bu beraber çalışmadıklarının en bariz emarelerindendir.

  4. Fikir Ayrılıkları : İkili programlamanın en büyük problemlerinden birisidir. Genelde bir programın yazılmasının birden fazla yolu vardır ve programcılar şayet bir fikir ayrılığı yaşarlarsa, bu durum “Efendiyi İzleme” emaresi ile sonuçlanabilir. Genelde bir çözüm olarak 3ncü bir kişiden istifade edilmesi veya takım lideri veya internette daha önceden anlaşılmış bir başvuru kaynağından faydalanmak doğru çözüm olarak görülmektedir.

  5. Emek Çeşitliliği: Genelde performans değerlendirmelerinde, bir iş bir ikiliye atandığında, genelde işin yükü ikiye bölünerek iki tarafın da performansı değerlendirilir. Ancak çalışma sırasında iki kişiden birisinin daha fazla emek harcaması durumunda adaletsizlikler ortaya çıkmaktadır ki genelde tam eşit emek ortaya konulması neredeyse imkansızdır. Bu durum, bazı çalışanlarda haksızlık hissi doğurmakta ve yönteme karşı tepki gösterilmesi ile sonuçlanmaktadır. Genel bir çözümü olmamakla birlikte, farklı ekip arkadaşları ile çalıştırarak çeşitliliği arttırmak bir yöntem olarak görülmektedir.


Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir