Dijital Dönüşüm Yazıları IV – Yazılım Süreçlerini Hızlandırmanın Peşinde

Dijital Dönüşüm Yazıları ana başlığı altında yazdığım yazılarda bahsi geçen sorunların hemen hiç biri yeni değil aslında. Bilgisayar yazılımlarının hayatımıza daha yoğun olarak girdiği geçtiğimiz yüzyılın son çeyreğinden beri yazılım dünyası da süreçlerin nasıl hızlandırılabileceğine dair kafa yoruyor aslında.

Örneğin bundan 25 – 30 yıl kadar önce çok daha basit yazılımlar bile C, C++ gibi makine diline çok daha yakın dillerde geliştiriliyordu. 90’lı yılların başlarında yazılımların hem görselliğinin arttırılması hem de geliştirme süreçlerinin kolaylaştırılması için görsel (visual) diller (Visual Basic, Delphi vb.) sahne aldı. Bunları Java, C# gibi kodlamanın çok daha kolay olduğu yeni dillerin geliştirilmesi takip etti. Daha sonra bahsi geçen görsel diller yepyeni yeteneklerle hazır pek çok yazılım kütüphaneleriyle donatıldı. Intellisense gibi refactoring gibi yazılımcının işini kolaylaştıran ek IDE fonksiyonlarıyla desteklendi bu diller. Yazılımcıların işleri birkaç on yıl öncesine göre oldukça kolaylaşmıştı. Ne var ki tüm bu gelişmeler doğrudan yazılımcılarla ilgiliydi. Evet, belki yazılımlar biraz daha kolay ve hızlı şekilde geliştiriliyordu ama tüm yazılım geliştirme sürecinin asıl ağrı noktaları halen yerli yerinde duruyordu. Kalifiye yazılımcı bulma zorluğu, iş süreçlerinin analizinde yaşanan problemler, yazılım geliştiricileri ile kullanıcılar arasındaki iletişim sorunları, tüm ilerlemelere karşın yazılım geliştirme aşamalarının ihtiyaçları karşılayamayacak kadar yavaş olması gibi. Dolayısıyla ihtiyaçları bu sorunlarla uğraşmak zorunda kalmadan gidermek mümkün olabilir mi sorusu daha da çok sorulmaya başlandı.

Çok da yeni olmayan bu soruya olumlu cevap vermek birkaç on yıldır mümkün aslında. MS Access mesela. Microsoft tarafından 1992 yılında yayınlanan bu uygulama sayesinde hemen hiçbir yazılım bilgisine sahip olmayan bir kullanıcı bile kendi tablolarını yaratılabiliyor ve bu tablolar üzerinde temel veri işlemleri (CRUD – create, update, delete) yapabileceği formlar tasarlayabiliyordu. Temel veritabanı bilgileri fazlasıyla yeterliydi. BI araçlarının son on yılda bu kadar yaygınlaşmasının sebeplerinden birinin de yazılım geliştirme hızının mevcut ihtiyaçlara cevap verme noktasındaki yetersizliğiyle ilintili olduğu söylenebilir. Karar vericilerin talep ettikleri raporların ve analizlerin hemen üretilememesi, bu kapsamdaki yeni ihtiyaçların da çoğunlukla ayrı bir geliştirme süreci gerektirmesi veriye dayalı karar verme sürecini olumsuz etkilemekteydi. Oysa bugün herkes, hiçbir teknik becerisi olmasa bile elinin altındaki modern BI araçları sayesinde tüm verileri hızla grafiklere çevirebiliyor ve yazılımcı desteği olmadan da ihtiyaç duyduğu verilere kolaylıkla ulaşabiliyor.

…ve Low-Code Kavramı Doğuyor

Yukarıda anlatıldığı üzere, yazılım geliştirme süreçlerinin doğurduğu sıkıntılardan kurtulmak için yıllar içinde pek çok adım atıldı. Ama bu amaçla geliştirilen araçlar sorunun hep belirli bir parçasını ele alıyordu. Örneğin, MS Access üzerinde veritabanı tasarlanıp giriş formları hazırlanılırken BI araçları aracılığıyla işin raporlama boyutu çözülebiliyordu.

2000’li yılların başından itibarense, yazılımcı yeteneklerine sahip olmadan da kullanılabilecek, bir yazılımda ihtiyaç duyulabilecek işlevlerin pek çoğunu kapsayan ürün geliştirme platformları pazara girmeye başladı.[1] Bu ürünlerin becerileri sadece form tasarlama, rapor üretme gibi bilindik yeteneklerle sınırlı değildi. İş akışı yönetiminden uygulama dokümantasyonuna kadar çok geniş bir yelpazede pek çok yetenek sunuyordu. Bu gelişmeler olurken, Gartner ilk kez 9 Haziran 2014 tarihinde herhangi bir programlama dili bilmeyen kişilerin bile kullanabileceği, geleneksel kodlama işini yapabilen GUI tabanlı uygulama geliştirme arayüzlerine sahip platformları “Low-Code” platformlar olarak tanımladı.[2] Bugün, yazılım bilmediği halde iş uygulamaları geliştirebilen kullanıcılar da “citizen developer – vatandaş geliştirici” olarak adlandırılıyor.

Forrester Research ise Low-Code Platformlarını “Asgari seviyede kodlama ve çok düşük ilk yatırım maliyeti ile hızlı kurulum, dağıtım ve eğitim imkânı sunan uygulama geliştirme platformları” olarak tarifliyor.[3]

Low-Code plarformlar da yıllar içinde giderek daha çok gelişiyorlar ve yeteneklerine her geçen gün yenilerini ekliyorlar. Örneğin asgari seviyede dahi kod yazma gereksinimi duyulmayacağını iddia eden pazar oyuncuları ürünlerini “No-Code” platform olarak adlandırıyorlar artık. Tüm bu gelişmeler, yazılım geliştirme süreçlerinde yaşanan problemlerin önemli ölçüde ortadan kalkacağına işaret ediyor. Aşağıda, öncü low-code platformu sağlayıcıların biri olan Appian tarafından hazırlamış olan görsel de neden eğer mümkünse Low-Code platform kullanmak gerektiğini, alternatiflerinin dezavantaj yarattığı noktalarla birlikte gösteriyor.

Bir sonraki yazıda da Low-Code platformların genel özelliklerine ve zaman iyi bir seçim olabileceklerine dair bir kaç kelam etmek istiyorum.


[1]  Low-Code Development Platforms, http://www.wikizero.biz/index.php?q=aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTG93LWNvZGVfZGV2ZWxvcG1lbnRfcGxhdGZvcm0, Son İndirilme Tarihi: 09.05.2019

[2]  a.g.e.

[3] Low Code Guide by Appian, https://www.appian.com/assets/sites/14/2016/12/low-code-guide.pdf, Son İndirilme Tarihi: 08.05.2019. Tanımın orijinali şöyle: “Low Code Platforms that enable rapid delivery of business applications with a minimum of hand-coding and minimal upfront investment in setup, training, and deployment.”

Bir cevap yazın

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