Tüm Şirketler Kendi Yazılımlarını Üretebilir
Bildiğiniz gibi çeyrek asırdan fazladır BT sektörü içindeyim. Son yedi yıldır da Avrupa’da çalışıyorum.
Ve diyebilirim ki, özellikle Avrupa ve ABD kökenli şirketlerde yönetici pozisyonunda olan bir çok meslektaşımla bir konuda tamamen aynı görüşteyim:
Kurumların kendi yazılımlarını üretmeleri, onlara büyük avantajlar sağlar.
Aslında, işletmelerin ihtiyacı olan yazılımı sorgusuz sualsiz satın almak yerine, kendisinin üretebileceğine inancım çok daha eskiye dayanıyor.
Ne yazık ki Türkiye’deki bir çok şirketin, özellikle uluslararası büyük şirketlerin pazarladığı ürünlere karşı zaafı var.
Bir çoğu -en çok da sorumluluğu lisans sahibi şirkete atmak için- çok yüksek bedeller ödeyerek, üstelik kendilerine pek de uygun olmayan yazılımlara köle haline geliyorlar.
Oysa demin de bahsettiğim gibi, Avrupa ve Amerika’da şirketler için gerçek ve daha fazla değer yaratan fırsatların, kendi hesaplarına ait yazılımlardan veya şirketin kendisi için oluşturduğu yazılımlardan kaynaklandığı fikri benimsenmiş durumda.
Zira Berlin’de tanıştığım C-level pozisyonundaki bir kaç meslektaşım, Almanya’da -hem köklü şirketler hem de Startup’lar – çoğu şirketin, yazılımı, ekonomik değer yaratmanın bir kaynağı ve fark yaratan bir varlık olarak gördüklerini söyledi.
Ancak yine de birçok şirket -yazılımın stratejik önemini kabul edenler bile- hala klasik zihniyete sahip.
Bütçelerini aşsa ve esasen verimden çok sorun sağlasa da, büyük şirketlerin “Mutlaka bunu almalısınız” dediği ürünlere hapsolmuş durumdalar.
Şahsi kanaatim, kendi yazılımına sahip olmak konusunda cesareti kıran şeyin, yazılım üretmenin pratikte nasıl bir deneyim olduğunun bilinmemesidir.
Bu makalede, finansal hizmetler, sigorta, imalat, tıbbi cihazlar, ilaçlar, restoranlar, perakende, teknoloji hizmetleri ile nakliye ve seyahat vb. tüm endüstrilerde faaliyet gösteren şirketler için kendi yazılımlarını oluştururken izleyecekleri stratejik plandan bahsetmek istiyorum.
Şu an düşündüklerinizi duyar gibiyim,
“Biz yazılım şirketi değiliz, yazılım üretmek çok masraflı bir iş”
“İhtiyaçlarımızı ERP içinde gidermemiz uzun vadede daha güvenli. Sürekli farklı yazılım kullanırsak, yazılımı yazan kişi giderse ne yaparız?”
“Biz inovasyonu üretimde yapmalıyız. Yazılımın çok iyi olması, büyük bir fayda sağlamaz”
“Biz ilaç lojistiği yapıyoruz, rakiplerimiz de öyle…Yazılım bize ne kadar fark katabilir ki? Ürünleri uçarak teslim edemeyiz”
Bu cümlelerin neden kurulduğunu anlıyor, fakat doğru olduğunu düşünmüyorum. Çünkü, rakiplerinizle aynı şeyleri yaparak onların önüne geçemezsiniz.
Şöyle açıklayalım:
Rakiplerinizden sadece %1 fazla pazar payı almak için çok fazla süreç iyileştirmesi ve yatırım yapmanız gerekir.
Oysa kendi yazılımınızı geliştirirseniz, rakiplerinizde olmayan inovasyonu sağlayarak, daha önce içinde olmadığınız pazarlara hitap edebilirsiniz..
Bizzat yaşadığım ilaç lojistiği örneği paylaşmak isterim.
İlaç lojistiği yapan bir firmayla çalıştığım dönemde, yukarıdaki soruyu sordular ve bir ERP şirketine bütün know-how ‘larını aktardılar.
Eğer tavsiye ettiğim gibi 2008 senesinde ileri lojistik uygulamarını kendi yazılımlarına dönüştürebilselerdi, Lieferando, Deliveryhero veya Getir gibi bir yazılım altyapısını 2010’lu yıllarda geliştirebilir ve bu yazılımı sonradan kurulan mikro lojistik yapan şirketlere satabilirlerdi.
Ancak bunun yerine küresel ERP firmasına bağımlı hale gelip, çeviklikten uzaklaştılar.
“Şirketinizin üretebildiği en büyük değer tecrübesidir, şirket tecrübenizi aktarabileceğiniz yegane yöntem yazılımlardır”
Kendi Yazılımınıza Nasıl Sahip Olursunuz?
Peki ama bir şirketin kendi yazılımına sahip olmak için izlenmesi gereken strateji nasıl olmalıdır?
Ne yazık ki bu konuda çoğu teknoloji danışmanı, kendisinin bağlantılı olduğu yazılım firmasına ihtiyacınız olan yazılımı yazdırmanızı salık verir.
Gerekli durumlarda elbette profesyonel şirketlerden yardım alınabilir ancak aslolan, gereken yazılımın kurumun içinde üretilmesidir.
Kendi yazılımınızı üretirken:
1. Şirket içindeki yetenekli personeli bir araya getirin ve geliştirin
Dünya’da ister Startup isterse köklü işletmeler, kendine özgü yazılımlar geliştirmek için öncelikle şirket içindeki son derece yetenekli personellerine güvenir.
İhtiyaç halinde kilit yazılımlar oluşturmak için, hemen dışarıdan yazılım hizmeti üreten şirketlerle anlaşmayı düşünmezler. Yazılım geliştiricilerini sadece kodlayıcılar olarak değil, yaratıcılar ve problem çözücüler olarak görürler.
Yazılım geliştiren personel ise, yazılım ürünleri ve uygulamalarındaki en son gelişmeler hakkında sürekli olarak bilgi edinirler ve büyük bir kısmı önemli açık kaynak topluluklarına katılırlar.
2. Modüler bir mimari tasarlayın
Önde gelen şirketlerin, hızlı inovasyonu kolaylaştıran çok modüler yazılımları vardır.
Yazılımcıları, rutin işler için lisanslı bileşenlerin yanı sıra ücretsiz, ancak değerli, açık kaynaklı yazılımlardan yararlanarak sık sık şirket içi yazılımlar veya platformlar oluştururlar.
Örneğin, çok popüler prometheus izleme yazılımı, SoundCloud tarafından geliştirilmiştir.
Bu tür tutumlar, uygulamaların daha hızlı oluşturmalarına olanak tanır. Bu noktada, kullanılan lisanslı yazılımları ve diğerlerini akılda tutarak tasarım yapmak hayati önem taşır.
Çünkü herhangi bir uyumsuzluk durumunda, yeniden yapılandırma yapmak, kodu yeniden yazmaktan daha iyidir.
Elbette, ticari çözümlerin oynadığı rol önemlidir. Ancak daha önemli olan işletmenin kendi hesabına ait olan yazılımdır ve ticari yazılımın yığınının bir parçası olmasıdır.
3. Deneysel yeniliği benimseyin
İşletmede ne kadar çok yetenekli personel barındırırsanız, üretilecek yazılımlar da o kadar kaliteli hale gelir.
Yaygın ve geleneksel yaklaşım, geniş kapsamlı ticari paketleri lisanslamak ve ardından bunları şirketiniz için yapılandırmak veya özelleştirmektir.
Buna karşılık, kendi yazılımını kullanan firmalar, genellikle odaklanmış bir iş problemini çözmeyi hedefleyerek başlarlar. Yeni özellikler ve ürünler geliştirerek bunları yinelerler.
Bir yazılımı deneyip müşterilerinizin, tedarikçilerinizin veya çalışanlarınızın nasıl tepki verdiğini ve bunun sonucunda işinizin gelişip gelişmediğini görene kadar neye ihtiyacınız olduğundan tam olarak emin olamazsınız.
Oysa ticari hazır bir ürün kullanırsanız, kullandığınız ürünün sizin ihtiyaçlarınıza göre modifiye edilmesi hem çok uzun sürer hem de maliyetlidir.
Ayrıca, hazır yazılımları ne kadar esnetirseniz kırılganlığı da o kadar artar. Bu sebeple de, hazır yazılımların esneklik gösteremediği yerlerde, iş süreçlerinizi değiştirmeniz gerekir.
Oysa, iş süreçlerinizde vazgeçtiğiniz şeyler, 5-10 yıl sonra farklı bir sektör için büyük bir inovasyon olabilir.
Öğrenme, daha sonra yapmayı seçtiğiniz şeyi etkilemelidir.
4. Küçük başlayın, ardından kapsam ve ölçek oluşturun
Deneysel yeniliğin bir sonucu da, yazılım üretme sürecinin başında üretilen ürünlerin hemen hemen her zaman, hata payının yüksek veya kırılgan olma eğiliminde olmalarıdır.
Örneğin bir arkadaşım, şirketlerinde yeni bir makine öğrenimi tabanlı sistemi test amaçlı kullanmaya başladıktan sonra, tahminler güvenilir görünmediği için, test edilmiş bir algoritmaya hızla geri döndüklerini paylaştı.
Dolayısıyla yazılımcıların acele etmeden, önce algoritmik mantığı ve işlevselliği sağladıktan sonra ölçeklenebilirlik ve esneklik konularında çalışmaları gerekir.
Bu ilke önemli olmakla birlikte, uyarmam gerekir ki; evet güvenilirlik ve esneklik çok önemlidir, ancak bu konulardaki yaklaşımların göreceli olacağı birçok durumla karşılaşabilirsiniz.
5. Hata riskini, hatadan elde edeceğiniz faydalarla dengeleyin
Yöneticiler, anlaşılması güç olmayan nedenlerden dolayı, yazılım geliştirme söz konusu olduğunda genellikle riskten kaçınırlar.
Ancak, başlangıçta yapılması muhtemel hataları kabul etmek, daha fazla istek ve verimlilik artışı açısından önemli faydalar sağlayabilir.
Örneğin, tanıdığım şirketlerden birinin yalnızca pahalı olmakla kalmayıp iş modeline uygun olmayan, genellikle verimsiz çözümler öneren, satın aldığı bir stratejik yazılımı vardı.
Şirket, hızlı bir şekilde ihtiyaçlarına cevap verebilecek ,”yeterli” bir yazılım oluşturmak için birkaç yetenekli yazılımcı görevlendirdi.
Yöneticiler, yeni yazılımın hata yapacağını ve işler ters gittiğinde müşterilere tazminat ödemek zorunda kalacaklarını elbette biliyorlardı.
Ancak, riski almaya istekliydiler çünkü lisans ücretleri ödemeyerek elde edecekleri tasarruf öyle yüksekti ki, bu onlara hata yapabilme özgürlüğü veriyordu.
Zamanla yazılımı yenilediler ve sürekli olarak geliştirdiler. Sonuçta fark yaratan bir çözüme ulaştılar.
Dijital bir dünyada fark edilmek, genellikle, benzersiz kodlamadan kaynaklanır; bu bir firmanın rakiplerinden daha iyi yazılıma sahip olması demektir.
Sahip olunan yazılım, sürekli olarak üstün bir değer sunar ve bunu eskisinden daha verimli bir şekilde yapar. Rakiplerinizin benzer birşeyi yapabilme şansı kısa vadede yoktur.
Dijital teknolojiler gelişmeye devam ederken, ürünlerinizi, hizmetlerinizi ve operasyonlarınızı geliştirmeye devam etme yeteneğinin sonsuz olduğunu akılda tutmak özellikle önemlidir.
Yolculuk asla bitmez.