Bu sayfaya muhtemelen keyifli bir sebeple gelmediniz.
Ödeme yapıldı. Takvim iki kere kaydı. Sistem ya hiç devreye girmedi ya da girdi de kimse kullanmıyor. Yazılımcı ayrıldı veya ajansla iletişim koptu. Şimdi elinizde ne olduğunu bile net bilmiyorsunuz.
Bu durum sandığınızdan çok daha yaygın. Ve önemli kısmı şu: çoğu kurtarılabilir.
Önce teşhis, sonra tedavi
Bu işe asla “baştan yazalım” diyerek başlamıyorum. O cümle, teknik insanların en kolay ve çoğu zaman en pahalı cevabıdır. Mevcut sistemde beğenilmeyen kodun içinde, yıllarca birikmiş ve hiçbir yere yazılmamış iş kuralları vardır. Sıfırdan yazma kararı, o kuralları da çöpe atma kararıdır.
Önce bağımsız bir durum tespiti yapıyorum.
Durum tespiti raporu (3-5 iş günü)
Şunlara bakıyorum:
Veri, En kritik başlık. Veritabanı tutarlı mı, yedek alınıyor mu, yedekten geri dönüş denenmiş mi? Veri sağlamsa kurtarma şansı yüksektir.
Kod, Devredilebilir durumda mı? Bir başkası bu kodu okuyup değişiklik yapabilir mi, yoksa her dokunuşta bir şey mi kırılıyor?
Sunucu ve erişim, Sunucular kimin hesabında? Alan adı, sertifikalar, mağaza hesapları, ödeme sağlayıcı erişimleri kimde? Şirketin kontrol edemediği her erişim bir risktir.
Güvenlik, Açıkta duran şifreler, güncellenmemiş bağımlılıklar, yetkilendirme boşlukları, kişisel veri işleme.
Kapsam ve sözleşme, Sözleşmede yazan iş ile teslim edilen iş arasındaki fark. Mülkiyet ve devir maddeleri.
Rapor, yönetim kuruluna sunulabilecek dilde yazılır ve tek bir net tavsiyeyle biter.
Üç olası karar
| Karar | Ne zaman | Tipik maliyet |
|---|---|---|
| Kurtar | Veri sağlam, kod okunabilir, sorun yönetimde | En düşük |
| Devral ve düzelt | Sistem çalışıyor ama sahipsiz ve kırılgan | Orta |
| Kademeli yeniden yaz | Kod devredilemez durumda ama veri ve kurallar sağlam | Yüksek, ama tek seferde değil |
Üçüncü seçenekte bile sistemi bir gecede değiştirmiyorum. Modül modül, eskisi çalışmaya devam ederken yenisi devreye alınır. İşin durmasına yol açan “büyük geçiş” yaklaşımı, kurtarma projelerini ikinci kez batıran şeydir.
Devralma
Devir kararı çıkarsa şunları düzene sokuyorum:
- Tüm erişimlerin şirket adına toplanması (sunucu, alan adı, mağaza, ödeme)
- Kaynak kodun sizin kontrolünüzdeki bir depoya taşınması
- Çalışan yedekleme ve geri yükleme düzeni, test edilmiş olarak
- Sistemin nasıl çalıştığını anlatan, ekibinizin okuyabileceği dokümantasyon
- Tek kişiye bağımlılığın kırılması
Kurtarma işinin başarı ölçütü sistemin çalışması değil, bir daha aynı duruma düşmeyecek hale gelmesidir.
Neden bana geliyorlar
SeezSoft olarak 2017’den beri kurumsal sistemler kuruyoruz ve bu işlerin bir kısmı sıfırdan değil, başkasının bıraktığı yerden başladı. İnşaat, otelcilik, perakende ve gıda tarafında hem yeni sistem kurduk hem yarım kalmış sistemleri ayağa kaldırdık.
Durum tespiti aşamasında satış yapmıyorum. Rapor bağımsızdır; sonucunda “mevcut firmanızla devam edin, sadece şu üç maddeyi sözleşmeye ekleyin” da diyebilirim ve sıklıkla diyorum.
Sonraki adım
Elinizde ne olduğunu anlatın, anlatacak çok şey olmaması da bir bilgidir. İlk görüşmede durumun kurtarılabilir görünüp görünmediğini ve durum tespitine değip değmeyeceğini söylerim.