“Vatandaş Geliştirici”, bilmiyorum neden, bu kavramı her okuduğumda, duyduğumda içime, bir ferahlık geliyor, beynimin arka planında hemen rahmetli Michael Jackson üstadın “We are the world we are the Children…” ezgi ve sözleri yükselmeye başlıyor.
Öncelikle bu kavramın en sevdiğim birkaç tane tanımı ile başlamak istiyorum;
Vatandaş geliştirici, Bilgi Teknolojileri veya iş birimleri tarafından aktif olarak yasaklanmayan araçları kullanarak, kendisi veya başkalarına değer yaratacak uygulama yetenekleri yaratan bir çalışandır. Vatandaş geliştirici bir ünvan veya hedeflenen bir rol değil, bir kişiliktir(persona).
Vatandaş geliştirici, bir şirketin profesyonel geliştirici olmayan ancak iş kolu uygulamaları veya çözümleri geliştirme becerisine sahip çalışanlarıdır. Vatandaş geliştiricileri genellikle uygulama geliştirmek için düşük kodlu(low-code) veya kodsuz(no-code) platformlar kullanır.
Öğrenmeye istekli ve kuruluşunun süreçlerini ve operasyonlarını iyileştirmeyi arzulayan herkes vatandaş geliştirici olabilir ve kuruluşunun dijital dönüşümüne katkıda bulunabilir.
Bu tanımlardan da anlaşıldığı üzere bu kavramı, yaklaşımı var eden, destekleyen en önemli unsur şüphesiz az ya da hiç kod yazmadan uygulama geliştirmeyi mümkün kılan platformların oluşumu ve yıllar içindeki gelişimi.
Bu minvalde şu an hali hazırda ticari olarak kullanıma sunulmuş olan birçok ürün olmakla birlikte paylaştığım bilgiler No-Code yani gerçekten No-Code temelli olanlar kapsamındaki tecrübe ve deneyimler olarak değerlendirilmelidir. Zira piyasadaki hatırı sayılır oranda birçok ürün, No-Code platform gibi lanse edilip o şekilde algılanabilmekte ancak iş kurumsal bir projeyi gerçekten hayata geçirme noktasına geldiğinde, umulanın üstünde ek geliştirme ve uyarlama işçiliği yapılmak durumunda kalınabilmektedir.
Peki geleneksel yazılım geliştirme yöntemleri var iken bu platformlar kullanılmalı mı? Neden kullanılmalı? Avantajları neler olabilir? En önemli noktaları ile özetlemeye çalışalım;
Hızlı Geliştirme ve Canlıya Alma: No-code platformları, kod yazma gereksinimini ortadan kaldırarak, tasarım, test ve canlıya alma çevrimlerini büyük oranda optimize ederek uygulamayı geliştirme ve canlıya alma sürecini hızlandırmaktadır. Bu da işletmelerin hızla değişen ekosistem koşullarına çevik bir şekilde uyum sağlamalarına yardımcı olmaktadır.
Daha Geniş Katılım ve Etkin Birlikte Çalışma Ortamı: Teknik olmayan kişilerin de bu platformlar aracılığıyla katkıda bulunabileceği bir yazılım geliştirme süreci, daha geniş bir yetenek havuzuna, farklı görüşlerin bir potada eritilebildiği beyin fırtınası oturumlarına olanak sağlar. Bu durum, yaratıcılığı teşvik etmenin ötesinde, çeşitli bakış açılarını içerebilen daha katma değerli ürünlerin oluşturulmasına yardımcı olmaktadır.
Operasyonel Verimlilik: No-code platformlar, iş süreçlerini dijitalize etmek, tekrar eden, rutin operasyonları çoğunlukla barındıran iş süreçlerini otomatikleştirmek için kullanılabilmektedir. Bu sayede operasyonel verimliliği arttırırken, insan hatalarını azaltmakta ve iş akışlarını daha verimli hale getirmektedir.
Düşük Maliyet: İster kurum içi kaynaklarla geliştirilsin isterse dış kaynaklı hizmet olarak tedarik edilsin, geleneksel yazılım geliştirme süreçleri özellikle ihtiyaç duyulan uzman iş gücü giderleri bakımından pahalı ve adam/gün gereksinimi açısından uzun süreçlerdir. No-code platformları bu anlamda daha düşük maliyetlerle daha hızlı sonuçlar elde etmeyi mümkün kılmaktadır.
Daha Az Teknik Borç: No-code platformları, teknik borçlanmayı kesinlikle azaltan platformlardır. Teknik borç, yazılımın zamanla iyileştirilmemesi veya güncellenmemesi, yazılımı geliştiren ekibin yetkinliklerinin geliştirilememesi (mevcut yazılımlara destek verme ve sürekli uzun süreli geliştirme yapmaları nedeniyle ne yazık ki genellikle böyle olmaktadır) durumunda ortaya çıkan sorunlardır. No-code platformları yapısı gereği birçok ihtiyaç için çözüm üretmek durumunda olduğundan öz yapısını ve kendisini kullananların yeteneklerini teknoloji ve içerik olarak güncel tutmak zorundadır.
Hızlı Entegrasyon: No-Code Platformları gerek platform üzerinde kullanmaya hazır şekilde gelen entegrasyon bileşenleri, gerekse web servis, rest servis, web api gibi yetenekleri ile sap, logo, netsis, e-fatura, kurumsal yazılımlar gibi birçok kurumsal ve ticari uygulama ile hızlıca entegrasyon olanağı sağlamakta, bu anlamda kendi dışındaki uygulamalardan etkin bir şekilde veri alış-verişi yaparak uygulamalar çerçevesinde eksik kalan boşlukları katma değerli biçimde doldurabilmektedir.
E peki yıllardır süre gelen geleneksel yazılım geliştirme yöntemleri ve bu yöntemler ile yazılım üretmek kurumsal süreçlerde değer üretmeden elini eteğini çekip sadece teknolojiyi domine eden ana aktörlerin tarafında mı hayatına devam edecek?
Elbette hayır, bunun tamamı ile mümkün olması olası değil. Geleneksel yazılım geliştirme yöntemleri, ileri seviyede özelleştirilmiş iş gereksinimlerinin var olduğu, yüksek ve güncel teknoloji isteyen, devasa veri tabanlarında transaction koşturması gereken, karmaşık projeler için daha uygun bir yöntem olmaya elbette devam edecek.
Geliştirilen ürünün bütününde performans ve güvenlik anlamında tam anlamı ile kontrolü elde tutma güdüsü, her bir satırı gönlünce debug(hata ayıklama) edebilme konforu geleneksel yazılım geliştirme yöntemlerini muhtemelen hatırı sayılır bir süre daha gündemde tutmaya devam edecek.
Sonuç olarak;
Elbette hangi yaklaşımın seçileceği, projenin özelliklerine, gereksinimlerine ve ekip yapısına bağlıdır.
Bununla birlikte yetkin bir ekipçe yapılacak ihtiyaç analizi sonrası, teknolojik altyapısı ve desteği doğru konumlandırılmış güçlü bir low-code ürününün, yine proje geliştirme ve devreye alma anlamında değer yaratabilecek bir eşlikçi bilişim hizmet firması ile mümkün olan her projede kullanılması, kuruluşlarını dijital dönüşüm ve dijitalde yaşam serüveninde optimum noktada tutmak isteyen her sorumlu yöneticinin ajandasında mutlaka yer bulacaktır.
GitHub CEO’su Chris Wanstrath beyinde beyan ettiği üzere,
“The future of coding is no coding at all.”