18 Mayıs 2012 Cuma
Sitene Ekle

Paylaşımcı geliştirme ortamlarının yükselişi

Son zamanlarda yapılacak iş ne kadar küçük olursa olsun, bunun birden fazla kişi tarafından tamamlanması, en azından bir kişinin denetleyici rol üstlenmesi sıkça karşılaşılan bir durum.
Paylaşımcı geliştirme ortamlarının yükselişi

Yeteri kadar beklenildiği zaman, iki veya daha fazla kişinin birbiri ardına aynı görev üzerinde çalışmaları sonucunda bir denge oluşması ve nihai kararın iki kişi arasında fikirbirliğiyle verilebilesi mümkün. Öte yandan, paydaşların ve konunun, durumu bir çıkar çatışmasına kolayca dönüştürecek olması da olanak dışı görünmüyor.

Bunu anlayabilmek için aşağıdaki soruların yanıtlarını, başlarına “benzer zamanlarda” ifadesini getirerek bulmaya çalışalım.

1.    Bir Türk ve bir Yunanlı, Kıbrıs konusunda bir makale yazmaya başlasalardı, ne olurdu?

2.    Sonuç odaklı bir yazılımcı ile görsel tasarımın ortalamanın üstünde olmasını isteyen bir tasarımcı, aynı projenin gereksinimlerini ortaya çıkartmak için bir araya gelselerdi, ne olurdu?

3.    Bir pragmatist ile teorisyen bir firma kurmak için şirket anayasasını belirlemek, şirketin iş modellerini ortaya koymak isteselerdi, ne olurdu?

4.    Filmin sonucuna karar veremeyen iki editör, aynı videoyu düzenlemek isteselerdi, ne olurdu?

Eminim defalarca başınızdan geçmiştir bu örnekler. Masa başında uzlaşmaya varmak, gerekiyorsa iki adım geriye gitmek mümkün, ancak internet ortamında, kimi zaman asenkron bir çalışma ortamında bulunarak yeşil bayrağı yakalamak her zaman kolay olmayabiliyor.

Yazılım geliştirmek için sessiz bir ortamı tercih eden geliştiriciler, son zamanlarda işte bu “dağıtık ama bütünleşik” ortamların varlığına şahit olmaya başladılar. Geliştiricilerimiz fiziki olarak birbirlerinden ayrı olsa da, hepsini tek bir odadaymış gibi gösteren, sürekli o “iş ekosisteminin” içinde bulunmalarını sağlayan uygulamalarla karşılaştılar.

Bu uygulamaların en önemli özelliklerinden birisi de aynı anda düzenlemeyi olanak vermesi. Bir kod parçasını örnek verelim: Aynı anda iki kişi bu kodun birbirinden bağımsız parçalarını düzenleyebilir. Geniş çaplı bir uygulamada, coğrafi olarak dağıtık grupların bu şekilde çalışabilmesi, kimin hangi dosyanın hangi noktası üzerinde değişiklik yaptığını da kolayca belirlenmesine imkan kılar.

Google bu niyetle zamanında Etherpad'i satın alıp, önemli bileşenlerini hem Docs & Spreadsheets, hem de Buzz'da kullanmıştı. İkisi de geliştiricilere çokça hitap etmese de, aynı anda dosya düzenlemeye imkan verme açısından bu alanda önemli bir mihenk taşı oldular. Docs & Spreadsheets yoluna son hız devam etse de, Buzz, geçtiğimiz Ağustos ayında kullanıcılardan yeterli desteği göremediği için kapandı.

Ancak hala geliştiricilere yönelik tam kapsamlı, dağıtık ama aynı anda kod geliştirmeye imkan veren bir geliştirme bir ortamın varlığından söz etmek mümkün değil. Kodun gerçek zamanlı olarak birden fazla kişi tarafından düzenlenebildiği, sürüm denetimi yapılabilen, renklendirme özelliğine sahip, mümkünse Gtalk gibi hızlı bir iletişim ortamını bütünleşik destekleyen, küçük notlar alınabilen, tercihan kendi içinde bir wiki'si olan, yine tercihan bulut ortamında çalışan çevrimiçi bir yazılım geliştirme ortamı -henüz- geliştirilmedi.

Son paragrafta yazdıklarımı bir iş fikri olarak kabul edebilirsiniz! :)

LTE Forum 2012