Aramayı tamamlamak için enter'a basınız.

Bilgi talebi

Yatırımcı ilişkileri
anketi
Dijital danışmana sorun Dijital
danışmana
sorun
Logo Blog
Logo Blog
0

Teknik Borç Yönetimi Derken 3 Serisi Ürünler Nasıl Oluştu?

Tuğrul Tekbulut / Logo Yazılım Yönetim Kurulu Başkanı

Ben elektronik mühendisliği okudum. Bir devreyi incelediğinizde, çok fazla atlama teli (jumper) varsa bu devre güven vermez, buna spagetti devre denir. Tasarımın kötü yapıldığı, aleti çalıştırmak için sonradan, bazı kestirme işlemler yapıldığı anlamına gelir.

Şimdi devrelerin yerini “bilgisayar yongaları” aldı ve çoğu işlevler de bu yongaların üzerinde çalışan yazılımlar tarafından gerçekleştiriliyor. Her çalışan kod, iyi yazılım değildir. Artık yaşamsal işlevler yüklenen yazılımların da sağlam bir mühendislik disiplini ile geliştirilmesi gerekli.

Tutarlı, sağlam ve kolay anlaşılır bir mimarisi olmayan veya kötü bir yazım tekniği ile bitirilmiş bir yazılım, elektronik devrelerdeki gibi “atlama telleriyle” çalışır halde gelirse, buna da spagetti kod denir. Böyle bir yazılımın bakımı veya geliştirilmesi de oldukça zor, hatta imkânsız olabilir. Bir yazılımın işlevlerini beklenen düzeyde sağlayabilmesi ve bunu sürdürebilmesi için yapılması gereken ek çalışmaya ve bunun oluşturacağı zaman ve para maliyetine teknik borç (technical debt) diyoruz.

Teknolojinin bu kadar hızlı geliştiği bir alanda, ne kadar iyi bir mimariye sahip olursa olsun, ne kadar ustaca yazılırsa yazılsın, hiçbir yazılımın teknik borcu sıfır değildir. Hele, gerçek anlamda tamamlanması 8-10 yıl alan bir ERP yazılımının da teknik borç içermemesi mümkün değil. Teknik borç sıfırlanamaz ama yönetilmesi gerekir. Bu yazıda da 30 yılı aşkın bir geçmişi olan bir şirketin, on binlerce mekânda, çok da başarıyla çalışan, yaşı da on yılları aşan yazılımlarının değişen teknolojiyle mücadele deneyimini paylaşacağız.

Uygulama yazılımlarını son 10-15 yılda sürükleyen iki temel gelişme var: Web ve mobil teknolojilerindeki olağanüstü gelişim ile bunun iş süreçlerinde yol açtığı müthiş dönüşüm. Bu teknolojik sıçrama, eski iş yapış biçimlerini hızla değiştirdi, bazı iş modellerinin ve işletmelerin sonunu getirdi, bunun yanında yepyeni iş modellerinin ve işletmelerin ortaya çıkışına neden oldu.

Rekabetin dışında kalmak istemeyen kuruluşlar bu teknolojilerin sağladığı imkânlarla iş yapış biçimlerini ve iş modellerini değiştirmek istiyorlar. Gelecekle ilgili iddialı planları olan Logo’nun müşterilerini bu dönüşümün dışında bırakması beklenemez. Sıfırdan bir ürün geliştiren bir grubun yeni teknolojilere adapte olması son derece kolaydır. Nitekim yeni projelerimizde günün en son teknolojilerini kullanıyoruz. Ancak sahada on binlerce farklı mekânda, farklı özelleştirme ve ek yazılımlarla birlikte çalışan bir iş uygulamaları portföyünün yeni teknolojilerle değiştirilmesi, yenilenmesi kolay değil.

Bu hem yazılımcı firma hem de müşteriler için büyük bir risk anlamına geliyor. Burada yapılacak olan şey, yeni teknolojilerle çıkacak ürünlere kadar, sahada çalışan eski ürünlerin yeni teknolojilerin sağladığı yeni ve modern iş yapış biçimlerine uyumunun sağlanmasıdır. Buna belki ürünlerin teknik borcu değil de “ticari borcunun” kontrol altına alınması diyebiliriz.

Arayüze hak ettiği değeri verdik

İşe ürünlerimizin kullanıcı arayüzünün kendimize özgü, modern bir grafik dilinin oluşturulması ile başladık. Logomuzdan başlayarak, en küçük ürünümüzün bir ekranındaki bir ikona kadar, her yerde bir bütünlük ifade eden tutarlı bir tasarım diline sahip olmalıydık. Bu konuda şirketimizin de logosunu tasarlamış olan ünlü sanatçı Emre Senan ve öğrencileri ile çalışmaya başladık. Ekran tasarımlarının grafik dilini ve standartlarını oluşturduk. Ürünlerimizdeki tüm ikonlar -ki binleri aşıyordu- teker teker tasarlandı, yenilerinin tasarlanması için kurallar belirlendi.

Bu dönüşümü gerçekleştirme sürecinde iken, en yakın rakibimiz Netsis ile birleştik. Netsis oldukça geniş bir müşteri tabanına sahip; beğenilen, Ege bölgesinde pazar lideri olan bir rakibimizdi. Bu sürece, farklı yazılım mimarisine sahip olmasına karşın Netsis’i de dâhil etmeye karar verdik. Hem ilerideki maliyetlerimiz açısından, hem de pazarlama açısından ürünlerin hepsinin aynı firma ve aileye mensup olduğunu gösterebilecek bir görünüm ve davranış elde etmeliydik. Netsis ve Logo yazılımcılarından arkadaşları bir araya getirdik. Ortak bir yazılım mimarisi grubu oluşturduk. Çözümü imkânsıza yakın gibi gözüken tüm teknik problemler birer birer çözüldü.

App kültüründen ilham aldık

Ürünler, grafik açıdan akraba bir görünüme sahip olmalı (look and feel), mobil ve web uygulamalara da imkân sağlayabilmeliydi. Grafik dili oturduktan sonra kullanıcı deneyimini geliştirme çalışmalarına başladık. Müşterilerimizden, iş ortaklarımızdan ve müşteri teması çok olan destek uzmanlarımızdan gelen geribildirimleri derledik. Web ve mobil teknolojilerindeki gelişmelere uyumlu bir kullanıcı deneyimi nasıl geliştirebilirdik?

Yine ilk günlerimizdeki gibi, Apple nasıl yapmış diye Apple’a bakmaya başladık. Apple iPhone ile “app” denen bir kavram ortaya atmıştı ve bu mobil deneyimi sürükleyen bir gelişme olmuştu. App’ler küçük yazılımlardı ve mobil uygulamaları internet tarayıcılarından bağımsız hale getirmiş ve çok tutulmuştu.

Bence, PC’den sonra geniş kitlelerin, bilişimle tanışması mobil devrimle ve app’ler sayesinde oldu. Büyükanneler, dedeler, “app” dediğimiz, kullanımı çok kolay uygulamalar sayesinde dijital dünyaya dâhil oldular. Biz de bu rüzgârı arkamıza almalı ve kullanıcı deneyimimize “app”lerden ilham alan bir yaklaşım getirmeliydik. Bugün 3 serisinde somutlaşan Logo’ya özgü kullanıcı deneyimi bu şekilde gelişti.

Kullanım kolaylığına odaklandık

ERP yazılımları çok büyük yazılımlardır. Örneğin Logo’nun ortalama bir ERP ürünü 1500-2000 arası form, yüzlerce rapordan oluşan geniş bir özellik kümesini içerir. Bu özelliklerin farklı parametrelere göre kurulumlarını, kullanım esnasındaki seçenekleri ve de entegre edilen ek yazılımları düşünürsek, ne kadar karmaşık bir yapıdan bahsettiğimiz anlaşılabilir. Bu kadar karmaşık bir yapı içeren bir ERP ürününün bir işletmeye kurulması, işletmeye özel değişikliklerin gerçekleştirilmesi, kullanıcıların eğitilmesi aylar alabilir. Böyle geniş kapsamlı bir ürünün tüm özelliklerinin, tüm kullanıcılar tarafından öğrenilmesi çok zordur. İşletmede herkes farklı bir görev gördüğünden yazılımla etkileşimi de işyerindeki rol belirleyecektir. Yani ürünün tümünün, tüm kullanıcılara öğretilmesi gerekli de değildir.

“Gerekli değildir”i keşfetmemiz zincir bir reaksiyon halinde devam edecek bir inovasyon sürecini başlatmış oldu. Kullanıcılar ürünleri işletme içindeki rollerine uygun özellikleri bağlamında öğrenmeliler ve kullanmalılardı. İşletme içinde belli roller tespit etsek, bunların kullandığı veya etkileşim içinde bulunacağı işlevleri App’ler altında kümelendirsek, büyükannelere bile kolay gelen bu tarz, her zaman kullanım kolaylığını ön plana almış olan Logo’nun kullanım kolaylığını artırmaz mıydı? İşte, sonunda 3 serisi ürünlere yönünü veren “App in App” kavramı böyle ortaya çıktı: “app” kümelerinden oluşan bir büyük uygulama… sonuçlandı.

Entegre mobil uygulama fikrini geliştirdik

“App in App” tasarım fikrinin yol açtığı başka inovasyonlar ve geliştirmeler de oldu. Kullanıcıların sadece belli App’leri kullandığını varsayan bu yaklaşım Logo mobil stratejisini de belirlemiş oldu. Bir kullanıcının ofisinde, masaüstünde kullandığı işlevlerle, mobil olarak kullanmak isteyeceği işlevler farklı olabilirdi. Mobil uygulamaların kişiye ve firmaya özel olabilmesini sağlayabilmesi ve ekosistemin Logo ERP uygulamalarına entegre mobil uygulamalar geliştirebilmesi önem kazandı. Bu konuda  imkanlar geliştirmeliydik. Logo’ya kolaylıkla sökülüp takılabilen uygulamalar için bir plug-in altyapısı geliştirme fikri böylece ortaya çıktı.

Bu uygulamalar masaüstü, WCF ile web ve REST servisleriyle mobil kullanıma yön veren uygulamalar olmalıydı. Kullanıcıya ve firmaya özel yazılarak özelleştirme sorununa bir çare olabilirdi. Ayrıca üçüncü parti yazılımların Logo ile entegre edilmesinin standartlaştırılmasını sağlayabilirdi. Logo ve Netsis’in piyasada en çok satılan ürünleri Delphi ile yazılmıştı. Delphi, Embarcadero tarafından geliştirilmeye devam edilse ve güncellense bile eskisi kadar popüler olmadığı ve bilen eleman bulunamadığı için teknik borcun en önemli nedenlerinden biri sayılıyordu.

Milyonlarca satırı değiştirmemiz mümkün olmasa bile yeni eklenenleri daha güncel bir dil ile ve popüler bir IDE ortamında geliştirebilirdik. İş uygulamalarında en yaygın kullanılan C# ve Microsoft Visual Studio için Logo App geliştirme şablonunu oluşturduk ve Microsoft Visual Studio Marketplace’e yükledik. Buradan da şunu görüyoruz: Teknik borç, bir ürünü mutlaka yeniden yazarak ödenmeyebilir. Zaten yeniden başlatılan bir ERP ürünün bitene kadar teknik borcu yine oluşacaktır.

Zorunluluklar yaratıcılığımızı tetikledi

aÖzetle, 3 serisi ürünlere yol açan süreç böyle gelişti. Teknik borçların bir kısmını ödeyelim diye yola çıktık, tüm ürünlerimizin geleceğini belirleyen bir kullanıcı deneyimi ve teknik altyapı geliştirdik. Zorunluluklar ve zorluklar yaratıcılığı tetikliyor. Yaratıcılığı desteklemek için hata yapabilme kültürünü hakim kılmak gerekiyor. Hata yapmaktan korkan insanlarla inovasyon gelişemez. Hele bu ortamın, iki şirketin birleşmesiyle oluşan, birbirini tanımayan ve birbirine çekimser bakan insanlarla başladığını düşünürseniz, sürecin insan kaynakları yönetimi açısından da büyük bir başarı içerdiği anlaşılır.

Şirket birleşmeleri kıymetli elemanların kaybedilmesi riskini taşır. Tiger 3 ve Netsis 3 serisi ürünlerin geliştirme süreci, Logo ve Netsis takımlarını birleştirdi. Tek bir takım olma başarısını elde ettik. Güçlü büyük bir takım oluşturduğumuz gibi, ortaklaştırılan teknolojik altyapı sayesinde maliyetler düştü. Ortaya çıkan ekstra insan kapasitesi ile başka sorunlara odaklandık. Kullanıcı deneyimi tasarımını organizasyonumuzun en önemli parçalarından biri haline getirdik.

Biz bu süreçte hem yeni ürünler geliştirdik, teknolojik borcu azalttık, kullanım alanını genişlettik, ürünleri daha kolay kullanılır ve zevkli hale getirdik; hem de Netsis ve Logo’dan ortak kütüphanelerle, ortak süreçlerle çalışan tek bir dev yazılım takımı çıkardık. Amacımız şimdi bu başarıyı uluslararası platforma taşımak…