İkinci Şubeyi Açarken Yazılım Neden Çatlıyor?
Tek şubede çalışan her sistem ikincisinde zorlanıyor. Şubeler ayrı tablolarla çalışmaya başlıyor ve merkezdeki toplam hiçbir zaman tutmuyor.
İkinci şube açıldığında çoğu sistem çatlıyor. Bunun sebebi yazılımın küçük olması değil, tek şube varsayımıyla kurulmuş olması.
Belirtisi hep aynı. Her şube kendi kaydını tutmaya başlıyor, merkez rakamları toplamak için dosya istiyor ve ay sonunda toplam tutmuyor.
Çözüm şubeleri ayırmak değil
İlk refleks genelde her şubeye ayrı bir kurulum yapmak oluyor. Bu kısa vadede çalışıyor ama merkezi görüşü tamamen yok ediyor.
Doğru yapı herkesin aynı yere yazması, ama herkesin yalnız kendi kapsamını görmesi. Buna kapsam diyoruz ve sonradan eklenmesi en pahalı şeylerden biri.
Kapsam nereden geliyor
En kritik teknik karar bu. Bir kullanıcının hangi şubeyi görebileceği nereden belirleniyor?
Yanlış cevap, istekten. Yani tarayıcının gönderdiği şube bilgisine güvenmek. O bilgiyi değiştiren kullanıcı başka şubenin verisini okuyabiliyor ve bunu fark etmeniz aylar sürüyor.
Doğru cevap, oturumdan. Kullanıcı giriş yaptığında hangi şubeye bağlı olduğu belirleniyor ve her sorgu ona kilitleniyor.
Sınırlama tek yerde olmalı
Kapsam kontrolünü her sorguya elle yazmak, bir gün birinin unutması demek. Ve unutulan kontrol hata vermiyor, sessizce herkese çalışıyor.
Bu yüzden sınırlama ortak bir katmanda duruyor. Yeni bir ekran yazan kişi kapsamı düşünmek zorunda kalmıyor, çünkü altyapı zaten uyguluyor.
Ve bunu varsaymıyoruz. İki şube hesabı açıp birinin kimliğiyle ötekinin kaydını istiyoruz. Geçiyorsa açık var demektir.
Neyin merkezde neyin şubede olduğu
Bu karar baştan veriliyor ve sonradan ayırmak zor.
Genelde ürün tanımı merkezde oluyor, fiyat ve stok şubede. Her şeyi şubeye bırakmak katalogun zamanla birbirinden ayrışmasına yol açıyor. Aynı ürün üç şubede üç farklı adla kayıtlı hale geliyor ve merkez toplamı alamıyor.
Tersi de sorunlu. Fiyatı tamamen merkeze kilitlemek, bölgesel rekabete cevap veremeyen bir şube demek.
Merkez her şeyi görmeli mi
Bu bir yetki kararı değil, bir veri kararı. Ciro ve stok genelde merkeze açık oluyor ve bu doğal.
Personel bilgisi ve müşteri iletişim verisinde ise gerekliliği sorgulamak lazım. Herkesin her şeyi gördüğü bir sistem, bir gün sızıntı olduğunda en geniş zararı veriyor.
Franchise varsa sınır daha sert
Yapı aynı ama kural değişiyor. Bayi kendi verisini görüyor, merkez toplamı görüyor ve bayiler birbirini hiç görmüyor.
Burada test etmek şart. İki bayi hesabı açılıp çapraz erişim gerçekten deneniyor. Bunu varsaymak, rakip iki bayinin birbirinin müşteri listesini görmesi riskini kabul etmek demek.
Şube kapandığında
Kapanan şubenin verisi silinmiyor, arşive alınıyor. Çünkü geçmiş raporlar o veriye bakmaya devam ediyor.
Silinen bir şube, üç yıl öncesinin cirosunu da siliyor. Bu fark edildiğinde geri dönüşü yok.
Kaç şubeye kadar çalışır
Sınırı şube sayısı değil veri hacmi belirliyor. Yapı baştan kapsamlı kurulduysa şube eklemek bir tanım işi, kod işi değil.
Sonradan eklenen kapsam ise her sorguyu tek tek gözden geçirmek demek. Asıl maliyet orada ve bu yüzden ikinci şubeyi açmadan önce konuşmak, açtıktan sonra konuşmaktan çok daha ucuz.
Şube bazlı rapor olmadan karşılaştırma yok
Tek bir toplam rakam bir şey söylemiyor. Bir şubenin düşüşü ancak diğerlerinin yanında görünüyor.
Ciro, stok devir hızı ve personel performansı şube kırılımında durmalı. Merkezin en çok kullandığı ekran bu oluyor, çünkü karar vermeyi sağlayan şey karşılaştırma.
Burada dikkat edilmesi gereken bir şey var. Aynı ölçünün iki ekranda farklı çıkması güveni bir anda bitiriyor. Ciro ne demek, iptal edilen sipariş sayılıyor mu, iade düşülüyor mu. Bunlar tek yerde tanımlanmalı ve bütün raporlar aynı tanımı kullanmalı.
Stok şubeler arasında nasıl hareket ediyor
Çok şubeli işletmede en çok atlanan konu şube arası transfer.
Bir üründen bir şubede fazla, diğerinde eksik varsa aktarım oluyor. Bu aktarım kayıtsız yapıldığında iki şubenin de stoğu yanlışa düşüyor ve toplam tutmuyor.
Transfer kendi akışı olan bir süreç. Çıktı mı, yolda mı, teslim alındı mı. Üçü ayrı durum ve arada kaybolan malın nerede kaybolduğu ancak böyle bulunuyor.
Yeni şube açmak kod işi olmamalı
Bu basit bir test. Yeni bir şube açmak için geliştirici çağırmanız gerekiyorsa, yapı çok şubeli değil demektir.
Şube bir tanım olmalı. Panelden ekleniyor, kullanıcıları atanıyor ve çalışmaya başlıyor. Sistem büyümeyi engellememeli.
Erdeniz Kurtuluş
Erbeon kurucu ortağı
Bu yazıyla ilgili uzmanlık konularımız