Java projelerinde sürdürülebilir kalite meetup’ı ardından

13.11.2019 Çarşamba günü sevgili Altuğ hocam ve Gökalp Gürbüzer ile Kod Gemisi’nden Destan Sarpkaya’yı “Java Projelerinde Sürdürülebilir Kalite” meetup’ında ağırladık. Özelde Java, genelde yazılım projelerinde sürdürülebilir kalite pek çok boyutu olan bir konu. Biz meseleye yazılım mimarisi, yazılım mimarlarının rolü noktasından giriş yaptık.

Destan bey öncelikle net tanımlama yapmanın zorluğundan bahsedip özet ve subjektif bir tanımlamayla, “bir yazılımın bileşenlerinin nasıl oluşturulacağı ve birbirleriyle nasıl etkileşeceğine dair verilen kararlar”ın yazılımın mimarisini oluşturduğunu, bu kararları verenlerin de yazılım mimarları olduğunu belirtip, Martin Fowler’ın konuya sosyal boyutu da ilave ederek çizdiği daha geniş bir çerçeveden söz etti. 

Konuşma devamla “kalite nedir?” sorusuna cevap bulma aşamasına geldi. Destan beye göre kodu kaliteli kılan en önemli şey kodun kolay değiştirebilir olmasıdır. Kaliteyi belirlemenin geniş bir çerçeve gerektirdiğini ifade eden Destay bey “kod iş görüyor mu, müşterinin isteğini yerine getiriyor mu, peki performanslı mı, güvenli mi, okunaklı mı, maintain edilebiliyor mu, best practice’lere, defacto standartlara uygun mu?” gibi cevabı aranması gereken bir dizi soru bulunduğunu, işin bu noktada da bitmediğini, ölçeklenebilirlik, yeniden kullanılabilirlik, başka ortamlarda çalıştırılabilirlik, konfigüre edilebilirlik gibi diğer pek çok boyut ve kriter bulunduğunu ifade etti.

Bu noktada, kalite ölçümü için standartların ne olduğu veya olması gerektiğini konuşmaya başladık. Destan bey, örneğin “neye göre okunabilir, ölçeklenebilir?” gibi soruların sorulması gerektiğini ve bu noktada belirleyici olanın domain olduğunu ifade edip her proje için kalite standart ve ölçütlerinin belirlenmesi gerektiğininin altını çizdi. Destan bey devamla, mimariyi belirlemek kadar, sürdürülebilirliğini sağlamanın önemli olduğunu ve sürdürülebilirlik için kendi tabiriyle 3 cephede savaş vermek durumunda olduğumuzu belirtti. Bu üç cephe

  • Teknik cephe
  • Sosyal cephe
  • Politik cephe

Teknik cephenin belki işin en kolay kısmı olduğunu, asıl zorluğun diğer 2 cephede yaşandığını belirten Destan beye göre, örneğin araştırma sorgulama yapmadan, cargo cult effect ile iş yapan bir yazılımcıyla ilişkili iyileştirme süreçleri sosyal cephenin konusudur çünkü bu problemin teknik bir çözümü yoktur.

Destan bey devamla yazılım ekiplerinde bir kültür oturtmanın gerekliliği ve bunun zorluğu üzerinde durdu, bu noktada kültür ile motivasyon ilişkisinin önemini vurguladı. Sosyal cephede verilecek mücadelenin en önemli amacının motivasyon yükseltmek olduğunu ifade edip, iş doyumu ve kişiliğin motivasyon noktasında belirleyici en temel iki faktör olduğunun altını çizdi.

Politik cephe ile ilgili olarak Destan bey “bir projenin hem başarısını hem kalitesini hem mimari kararlarını etkileyen politik kriterlerdir” diyor. Politik boyutta ilk düşünülmesi gereken şeyin projenin maliyeti olduğunu, maliyetin zaman anlamına geldiğini ifade ediyor. Zaman kalite ilişkisi için “size ayırlan zaman proje kalitesi ve mimari kararlarınızı doğrudan etkiler” diyen Destan bey, genel olarak geliştiricler, proje mimarlarının zaman hakkında çok söz hakkına sahip olmadığını, kaliteli yazılım geliştirmenin maliyetli bir iş olduğunu ve karar vericileri buna ikna etme zorunluluğu bulunduğunun altını çizdi.

Tüm çabalara rağmen yeterli zaman alınamadığı durumlarda, bu olumsuzluğun etkilerini tahmin edilebilir ve yönetilebilir kılmak için belgelemenin önemini vurgulayan Destan bey, workaround veya dirty hack yapılan durumlarda kod içi dokümantasyonun, kodun nasıl refactor edileceğinin belgelenmesinin, uzun vadede kaliteyi artırıcı çok önemli bir unsur olduğunu ancak bu önemi bazen geliştiricilere anlatma ve kabul ettirmede zorluklar yaşandığını ifade etti. Bu noktada bir kalite sponsoruna sahip olmanın avantajını vurgulayan Destan bey, kurumsal yapı içinde geliştiricinin arkasında duracak bir yöneticiye ihtiyacının altını çizdi.

En başta ifade ettiğim gibi sürdürülebilir kalite pek çok boyutu olan bir konu ve yaklaşık 1 saat boyunca burada ifade edip, özetleyemediğim daha pek çok önemli noktaya temas edildi. Bizim için oldukça keyifli ve öğretici geçen bu sohbet için Destan beye tekrar teşekkür ediyoruz. Unutmadan, diğer online meetup’larımız gibi bu meetup’ı da iTunes ve Spotify üzerinden JUG İstanbul podcast kanalından takip edebileceğinizi hatırlatmak istiyorum.

Bir başka etkinlikte görüşmek üzere…

No Comments

Post a Comment

Comment
Name
Email
Website