Hazır yazılımlar işin %80'ini çözer; kalan %20 çoğu zaman işletmeyi farklılaştıran kısımdır. Özel yazılım tam bu noktada devreye girer. Ancak "bize özel yazılım yapalım" cümlesi, doğru yönetilmezse bütçesi ve takvimi olmayan bir projeye dönüşebilir.
Ne zaman özel yazılım gerekir?
- Süreç sektöre özgü ve standart paketlerde karşılığı yok (özel üretim akışı, ölçüm/numune takibi, saha operasyon kuralları).
- Hazır paket var ama sizin iş kuralınız onu "bükerek" kullanmayı gerektiriyor; kullanıcılar sürekli hile yapıyor.
- Birden fazla sistemi birbirine bağlamak, tek tek elle iş yapmaktan daha ucuz hale geldi.
- Raporlama ihtiyacı hazır raporların dışında ve kararlar bu rapora bağlı.
Entegrasyon: projenin en riskli kısmı
Deneyim şunu gösteriyor: özel yazılım projelerinde takvimi kaydıran şey genellikle ekranlar değil, entegrasyon. Çünkü iki tarafın da veri modeli, çalışma saatleri ve hata davranışı farklı. Sağlıklı entegrasyon için baştan netleşmesi gerekenler:
- Kim ana sistem? Aynı veri iki yerde tutulacaksa, hangisi doğru kabul edilecek?
- Ne sıklıkta? Anlık mı, 5 dakikada bir mi, günlük mü?
- Hata olunca ne olacak? Kayıt kuyruğa mı girecek, tekrar mı denenecek, kim bilgilendirilecek?
- Kimlik eşleştirme: Müşteri, ürün ve belge kimlikleri iki tarafta nasıl eşleşiyor?
- Test ortamı var mı? Canlı sistemde deneme yapmak, üretimde hata demektir.
Projenin beş adımı
1. Analiz: Ekran listesi değil, karar noktaları çıkarılır. "Kim, hangi durumda, neyi onaylıyor?" sorusu yazılı hale gelir.
2. Prototip: Tıklanabilir bir taslak üzerinden ekran akışı onaylanır. Bu adım atlanırsa, geliştirme bittikten sonra "ben bunu kastetmemiştim" konuşması başlar.
3. Geliştirme: Kısa döngülerle ilerlenir; her döngü sonunda çalışan bir parça teslim edilir, geri bildirim alınır.
4. Test: Gerçek senaryolar ve gerçek veri kopyasıyla. Özellikle uç durumlar: iptal, iade, yetkisiz kullanıcı, boş veri.
5. Devreye alma ve bakım: Eğitim, veri göçü, izleme. Sonrasında bakım ve gelişme talepleri için bir süreç tanımlanır.
Kapsamı kontrol altında tutmak
En pratik yöntem: her isteği "olmasa da çalışır mı?" sorusuyla süzmek ve sürüm planına yazmak. Proje sırasında eklenen her özellik takvimi öteler; bu yüzden ilk sürümü "işi yürüten en küçük hali" olarak tanımlamak, sonraki sürümlere alan bırakmak gerekir.
Devralınabilirlik
Özel yazılımın en büyük riski, onu yazan ekibe bağımlı kalmak. Bu yüzden kaynak kodun, veritabanı şemasının ve kurulum adımlarının dokümante edilmesi ve erişiminizin olması şart. Anlaşmada bunu açıkça yazmak, beş yıl sonra size zaman kazandırır.
ligosoft'un yaklaşımı
Özel yazılımı mevcut ürünlerimizin yanına koyuyoruz: Mirago ticari veriyi tutarken, özel geliştirdiğimiz modüller aynı veritabanı üzerinde çalışıyor. Böylece "ayrı bir program daha" edinmiyorsunuz; mevcut akışın içine eklenen bir parça oluyor. Geliştirme, entegrasyon ve bakım süreçlerini aynı ekiple yürütüyoruz.