Özel yazılım mı hazır yazılım mı sorusunun doğru yanıtı, "ihtiyacınıza bağlı" demekten daha somuttur. Bazı işletmeler için hazır bir program yıllarca yeter, bazıları için ise iş süreçleri hazır bir ürüne sığmaz. Yazılım geliştiren bir firma olsak da her işletmeye özel yazılım önermiyoruz; hazır bir çözüm ihtiyacı karşılıyorsa bunu söylemek daha doğrudur. Bu yazı, KOBİ'lerin kararı beş ölçüte bakarak vermesine yardımcı olmak için hazırlandı.
Özel yazılım mı hazır yazılım mı? Önce ihtiyaçlarınızı sıralayın
Karar, bir ürün seçmekle değil, ihtiyaç listesi çıkarmakla başlar. İşletmenizde yazılımın yapması gereken işleri, "olmazsa olmaz" ve "olursa iyi olur" diye ikiye ayırın. Sonra hazır yazılım adaylarını bu listeye karşı satır satır kontrol edin. Deneme sürümü sunuyorsa kendi verinizle birkaç gün kullanın.
Hazır yazılımın olmazsa olmaz maddelerin tamamını karşılaması gerekir. Eksik kalan maddeler için elle iş yapmak ya da ek bir araç kullanmak kabul edilebilir mi? Bu sorunun yanıtı, kararın büyük bölümünü zaten verir. Hazır yazılım olmazsa olmaz maddelerin önemli bir kısmını karşılamıyorsa, özel çözüm gündeme gelir.
Karşılaştırmayı daha görünür kılmak için basit bir tablo hazırlayabilirsiniz: satırlarda ihtiyaçlarınız, sütunlarda aday yazılımlar olsun ve her hücreye "karşılıyor", "kısmen karşılıyor" ya da "karşılamıyor" yazın. Bu çalışma satış sunumlarının yarattığı genel izlenimi somut verilere indirger ve karar toplantısında herkesin aynı sayfada olmasını sağlar.
İhtiyacınız ne kadar kendine özgü?
Hazır yazılımlar, çok sayıda işletmenin ortak ihtiyaçlarına göre tasarlanır: muhasebe, stok, randevu, müşteri takibi gibi. İşletmenizin süreçleri bu yaygın kalıplara uyuyorsa hazır yazılım çoğu zaman en pratik yoldur; kurulumu ve kullanıma geçişi hızlıdır.
Şu durumlarda hazır yazılım zorlanır:
- Sektöre ya da işletmeye özgü bir iş akışınız var ve bunu rakiplerinizden ayıran şey o akıştır.
- Standart dışı hesaplama, onay ya da raporlama kuralları gerekiyor.
- Kendi cihazlarınızla ya da özel bir donanımla çalışacak bir yazılıma ihtiyaç duyuyorsunuz.
- Müşterinizin ya da çalışanınızın gördüğü arayüz, markanızın bir parçası olmalı.
Bir süreci "özgün" saymadan önce, gerçekten gerekli olup olmadığına da bakın. Bazen süreci hazır yazılımın düzenine uydurmak, yazılımı sürece uydurmaktan daha sağlıklıdır. Bu soruyu dürüstçe sormak, gereksiz özel geliştirmenin önüne geçer.
Bu noktada çalışanlarla konuşmak yararlıdır. Günlük işi yapan kişiler, hazır yazılımın hangi adımda işlerini zorlaştıracağını yöneticilerden daha net görür. Karar yalnızca yönetim masasında verilirse, yazılım kullanıma geçtikten sonra "bu bizim işimize uymuyor" geri bildirimiyle karşılaşma ihtimali artar.
Entegrasyon: mevcut sistemlerle konuşabiliyor mu?
İşletmeler nadiren tek yazılımla çalışır. Muhasebe programı, e-ticaret sitesi, kasa, depo, bir cihaz ya da bir mobil uygulama birbirine veri vermek zorunda olabilir. Hazır yazılımı değerlendirirken şunlara bakın: Dışarıya veri aktarımı ya da bir API (diğer programların bağlanabileceği arayüz) sunuyor mu? Sunduğu bağlantılar sizin sistemlerinizle gerçekten uyumlu mu?
Bağlantı yoksa verileri elle taşımak hem emek hem hata riski demektir. Bu noktada üç yol vardır: hazır yazılımın yanına küçük bir entegrasyon katmanı yazdırmak, sürecin o kısmı için özel bir yazılım geliştirmek ya da farklı bir hazır yazılım seçmek. Firmanızdaki sistemlerle bağlantı ihtiyacı için sistem entegrasyonu ve cihaz özelleştirme hizmetimize bakabilirsiniz.
Entegrasyon ihtiyacı büyük göründüğünde bile her bağlantı özel yazılım gerektirmez. Bazı durumlarda dosya aktarımı ya da hazır bir bağlantı aracı yeterlidir. Asıl soru, veri alışverişinin ne sıklıkla ve hangi güvenilirlikle yapılması gerektiğidir: günde bir kez dosya aktarmak ile anlık eşitleme çok farklı işlerdir.
Büyüme ve ölçeklenme: bugünkü ihtiyaç yarın da geçerli mi?
Bugün işinizi karşılayan bir yazılım, işletme büyüdüğünde sorun çıkarabilir. Hazır yazılımlarda şu noktalara dikkat edin:
- Lisans modeli kullanıcı başına mı? Çalışan sayısı arttıkça toplam maliyet nasıl değişir?
- Veri hacmi büyüdüğünde yazılım yavaşlar mı?
- Yeni şube, yeni ürün grubu ya da yeni bir satış kanalı eklemek mümkün mü?
- İhtiyaç duyduğunuz yeni bir özelliğin eklenip eklenmeyeceği tamamen sağlayıcının yol haritasına bağlı.
Özel yazılımda yol haritası sizindir, ama bunun karşılığı geliştirme emeğidir ve yazılımın büyümeye uygun tasarlanması gerekir. Özel yazılım, kötü tasarlandığında hazır yazılımdan daha az ölçeklenebilir olabilir. Büyüme planınız belirsizse daha küçük bir ilk sürümle başlamak ve sonra genişletmek mantıklı bir yoldur.
Bakım, destek ve sahiplik: yazılım gerçekten sizin mi?
Hazır yazılımda güncelleme ve güvenlik düzeltmelerini sağlayıcı yapar; karşılığında genellikle abonelik ya da lisans ücreti ödersiniz. Sağlayıcının fiyatı, özellik setini ya da ürünün kendisini değiştirebileceğini hesaba katın. Verinizi dışarı alabildiğinizden emin olun.
Özel yazılımda bakım ayrıca planlanmalıdır; bir yazılım yayına çıktıktan sonra güncellenmezse zamanla eskir. Asıl dikkat edilecek konu sahipliktir. Sözleşmeden önce şu soruları yanıtlatın:
- Kaynak kod kime ait ve size teslim edilecek mi?
- Veriniz hangi biçimde dışarı alınabilir?
- Yazılımı başka bir ekibin devralabilmesi için belge hazırlanacak mı?
- Sunucu, alan adı ve geliştirici hesapları kimin adına açılacak?
- Bakım ve destek hangi koşullarla sürecek?
Bu soruların yanıtı, ileride başka bir çözüme geçmek isterseniz özgürlüğünüzü belirler.
Maliyeti değerlendirirken yalnızca başlangıç bedeline değil, toplam sahip olma maliyetine bakın. Hazır yazılımda lisans ya da abonelik, eğitim ve veri taşıma; özel yazılımda geliştirme, bakım ve sonraki geliştirmeler kalem kalem düşünülmelidir. Birinin başlangıçta ucuz görünmesi, birkaç yıllık toplamda da ucuz olacağı anlamına gelmez; tersi de geçerlidir.
Hızlı karşılaştırma ve karma yol
Aşağıdaki tablo tek başına karar vermez, yalnızca eğilimleri özetler:
| Ölçüt | Hazır yazılım genellikle uygun | Özel yazılım genellikle uygun |
|---|---|---|
| Süreç | Yaygın, standart süreçler | İşletmeye özgü, fark yaratan süreçler |
| Başlangıç | Hızlıca kullanıma geçmek istendiğinde | Planlama ve geliştirme için zaman ayrılabildiğinde |
| Entegrasyon | Hazır bağlantılar yeterliyse | Çok sayıda sistemle özel bağlantı gerekiyorsa |
| Büyüme | Öngörülebilir ve sınırlıysa | Hızlı değişiyor ya da farklı kanallara açılıyorsa |
| Bakım | Sağlayıcıya bırakmak tercih ediliyorsa | Kendi yol haritanız ve bakım anlaşmanız varsa |
| Sahiplik | Lisans ya da abonelik yeterliyse | Kaynak kod ve veri üzerinde söz hakkı isteniyorsa |
İkisi arasında seçim yapmak zorunda da değilsiniz. Birçok işletme için en gerçekçi yol karma çözümdür: genel işleri hazır yazılıma bırakmak, yalnızca fark yaratan ya da hazır yazılımın bağlanamadığı kısım için özel yazılım geliştirmek. Bu sayede özel emeğiniz yalnızca gerçekten gerekli yere harcanır.
Karma yolun da dikkat edilecek yanları vardır. Hazır yazılımla özel parça arasındaki bağlantı, hazır yazılımın sürüm güncellemelerinden etkilenebilir; bu yüzden bağlantının kim tarafından, nasıl bakımının yapılacağı baştan belirlenmelidir.
Karar vermeden önce kendinize sorun
- En kritik iş süreçlerimiz hangileri ve hazır yazılım bunları karşılıyor mu?
- Mevcut sistemlerle veri alışverişi zorunlu mu?
- Önümüzdeki dönemde kullanıcı, şube ya da ürün sayımız artacak mı?
- Yazılımın bakımı ve desteği için kaynak ayırabilir miyiz?
- Kaynak koda ve veriye sahip olmak bizim için ne kadar önemli?
- Zamanımız hazır çözümün hızına mı, özel çözümün planlamasına mı uygun?
Yanıtlarınızın çoğu "evet, hazır yazılım yeterli" yönündeyse, özel geliştirmeyi gündemden çıkarmak sağlıklı bir karardır. Yanıtlar karışıksa, küçük ve ölçülü bir özel parça ile başlamak çoğu zaman en az riskli yoldur.
Özel yazılım bir hedef değil, bir seçenektir. Özel çözüme yönelirseniz sonraki adım planlamadır; bunu yazılım projesi nasıl planlanır yazımızda, süre ve maliyeti etkileyen unsurları ise yazılım geliştirme süresi ve maliyeti neleri etkiler yazımızda anlattık. Web tabanlı kurumsal sistemler için web yazılımı ve kurumsal sistemler hizmetimizi inceleyebilir, teknoloji tarafı için ASP.NET Core ile kurumsal web yazılımı yazımıza bakabilirsiniz. İhtiyaçlarınızı birlikte değerlendirmek isterseniz yazılım iletişim sayfamızdan bize yazın; hazır bir çözüm yeterliyse bunu açıkça söyleriz.