PİYASALAR

"Dijital dünyaya uyumlu yazılım geliştirme metodolojisine geçmeliyiz"

Yeni nesil teknolojiler ve dijital dünyadaki yeni iş modelleri ürün ya da servis geliştirme trendlerini de o doğrultuda dönüştürüyor. Daha hızlı ve çevik, kolay test edilebilen, kolay erişilebilen ve değişikliklerin hızlı ve kolay yapılabildiği yazılım geliştirme süreçleri tercih edilmeye başlandı

Toplantıda 'Yazılım Geliştirme Ekosisteminde Paradigma Değişimleri' konulu bir sunum yapan Yusuf Tok, konuşmasında yazılım geliştirme trendleri ve paradigmalara değinerek şunları söyledi: "Günümüzde herkes değişimden bahsediyor. Değişim her zaman vardı ve hep olacak ancak son yıllarda hızı arttı. Değişim kolaylığı ve konforu da beraberinde getirecek diyoruz ancak biz yazılım geliştiriciler açısından hayat zorlaşıyor çünkü daha fazla teknoloji bilmek gerekiyor. 

Öğrenilmesi gerekli konulardan biri buluta hazır yazılım geliştirme konusu. Yazılım geliştirme deneyimi artık geleneksel geliştirme yöntemlerini bırakıp büyük ölçüde buluta dönüşmüş durumda. Birbirinden olabildiğince izole bir şekilde uygulama parçacıklarını geliştirmemiz ve yaşatmamız gerekiyor. Bu izolasyon 2 nedenden dolayı gerekli. Birincisi herhangi bir parçada meydana gelen sorunu diğer parçaları etkilemeksizin ele alabilmeyi sağlıyor. İkincisi, herhangi bir parçaya dönük talebi diğer parçaları beklemeksizin çok hızlı bir şekilde hayata geçirebilmek ve o parçayı ölçekleyebilmek söz konusu. Avantajı, sistem kaynaklarını daha etkin ve verimli kullanan yapılar oluşuyor. Eskiden n tane uygulamayı bir makinenin üzerine kuruyordunuz ve o makineye hiç trafik gelmese de o kaynaklar onlara tahsis edilmek zorundaydı. Yoğun yük halinde ezilen başka bir sisteminiz var ve altyapının çevik olamamasından dolayı oradaki CPU’yu ve RAM’i diğer uygulamaya tahsis edemiyordunuz. Ancak konteyner bazlı yaklaşım bunu kolaylaştırıyor ve şu anki yazılım geliştirme deneyimi buraya kayıyor. 

Bir başka konu, test otomasyonu. Rekabetçi ortamda pazara hızlı ürün sunabilme çok kritik ve bunun mümkün olabilmesinin en önemli yapıtaşı, güçlü bir test otomasyon setine sahip olabilmek. 

Geliştirmeyi ister agile ister başka bir yöntemle yapalım, eğer yaptığımız geliştirmeyi otomatik olarak çok hızlı bir şekilde test edemiyorsak; birçok manuel test sürecinden geçiriyorsak; çalışanlarda üretime kodu gönderirken bir korku oluşturuyorsa ve otomatik gidemiyorsa süreçlerinizi ne kadar değiştirirseniz değiştirin orada bir darboğaz var demektir. Arka tarafta ne kadar geniş ve esnek sistemler kurarsanız kurun test otomasyonunuz yoksa ya da manuel test yapıyorsanız üretime çok hızlı çıkamayacaksınız demektir.
Yeni teknoloji destekli yazılım geliştirme metodolojilerine geçiş konusunda kurumların yaşadığı birtakım kısıtlar ve zorluklar söz konusu. Kurumlarda çalışan bir sistem var ve bu nedenle karar vericilerin üzerinde de o sistemi aksatmamakla ilgili bir sorumluluğu var. Yeni teknolojiler karşısında bir süre sonra o sistem atıl kalacaktır. Statükoyu korumak; sevdiğimiz ve çok emek verdiğimiz bir sistemi artık bir kenara koymanın vakti geldi gerçeğiyle yüzleşmek istemediğimiz; kariyerimizin o sistemin üzerine inşa olduğu; kendimize aşırı güvendiğimiz için vb. sistem değişikliğine gitme cesareti gösterilemiyor ve sürekli erteleniyor. 

Dijital dünyayı yakalamanın yolu yazılım geliştirme süreçlerini buluta hazır ve konteyner bazlı ortamlara taşımak, agile metodolojiler ve test otomasyonunu uygulamaktan geçiyor.’