Her kurumun işleyişi biraz farklıdır. Hazır bir paket bu farkı kapatamadığında iki seçenek kalır: süreci yazılıma uydurmak ya da yazılımı sürece. Biz ikincisini yapıyoruz — mevcut iş akışınızı adım adım çıkarıp yalnızca sizin ihtiyacınıza cevap veren, mevcut sistemlerinizle konuşan bir uygulama geliştiriyoruz. Uygulama kendi ortamınızda çalışır ve veriniz sizde kalır.
Özel yazılım geliştirme nedir?
Özel yazılım, hazır bir paket satın almak yerine kurumun kendi iş akışına göre yazılan uygulamadır. Amaç daha çok özellik değil, doğru özelliktir: sürecinizde gerçekten var olan adımları ekrana taşımak ve olmayanları hiç yazmamak. Hazır paketler genellikle bir sektörün ortalamasına göre tasarlanır; kurumu rakiplerinden ayıran şey ise çoğu zaman tam da o ortalamanın dışında kalan kısımdır.
Uygulamada bu fark kendini şöyle gösterir: paketin karşılamadığı adımlar tablolara, e-postalara ve kişisel not defterlerine taşınır. Veri iki yerde birden tutulur, hangisinin doğru olduğu tartışılır, aynı bilgi bir sistemden diğerine elle kopyalanır. Bu iş her ay tekrar eder ve maliyeti kimse tek bir kalemde görmez.
Özel yazılımın işi bu boşluğu kapatmaktır. Süreç tek bir yerde yürür, veri tek yerde durur ve raporlar aynı kaynaktan üretilir. Geliştirmeyi Laravel ve MySQL üzerinde yapıyoruz; uygulama kendi sunucunuzda ya da barındırma hesabınızda çalışır, verinizi dışarı çıkarma zorunluluğu getirmez.
Özel yazılım her ihtiyaç için doğru cevap değildir ve bunu açıkça söylüyoruz. Muhasebe, bordro veya e-fatura gibi mevzuatın belirlediği ve sık değişen alanlarda hazır ürünler genellikle daha güvenli seçimdir; buralarda sıfırdan yazmak yerine mevcut ürüne bağlanmayı öneririz. Özel geliştirme, işin gerçekten size özgü olan kısmına ayrılmalıdır.
Neler yapıyoruz?
Özel yazılım projelerinde iş genellikle şu başlıklarda toplanır. Bir projede hepsinin bulunması gerekmez; hangisinin gerçekten gerektiği keşif aşamasında belli olur.
- İş akışı uygulamaları — Teklif, sipariş, onay, servis kaydı, iş emri, stok hareketi gibi adımların baştan sona takip edildiği ekranlar. Her kaydın kim tarafından ne zaman değiştirildiği görülebilir; sorumluluk tahmin edilmez.
- Rol ve yetki yönetimi — Kimin neyi görebileceği ve değiştirebileceği rol bazında tanımlanır. Aynı ekran, bakan kişiye göre farklı davranır; herkes için ayrı program yazılmaz.
- Raporlama ve panolar — Yönetimin karar için baktığı sayılar tek kaynaktan üretilir. Excel’e aktarım desteklenir, ama raporun doğruluğu Excel’e değil veritabanına dayanır.
- Mevcut sistemlerle entegrasyon — Muhasebe, ERP, e-ticaret veya sahadaki başka bir uygulamayla veri alışverişi kurulur. Böylece yeni uygulama, var olan düzenin yanına eklenen bir ada olmaz.
- Veri taşıma — Yıllardır tablolarda ve eski programlarda biriken veri temizlenerek aktarılır. Taşıma öncesinde neyin aktarılacağı ve neyin bilinçli olarak bırakılacağı yazılı hâle getirilir.
- Otomatikleştirme — Zamanlanmış görevler, e-posta bildirimleri ve tekrar eden hesaplamalar arka planda çalışır. İnsanın yaptığı tekrar işi, hatanın da kaynağıdır.
- Dosya ve belge yönetimi — Sözleşme, fotoğraf, ölçüm ve teklif gibi belgeler ilgili kayda bağlanır. Bir dosyanın hangi işe ait olduğu klasör adına ya da kişinin hafızasına bırakılmaz.
- Belgeleme — Veri modeli, kurulum adımları ve iş kuralları yazılı bırakılır. Belgesiz bir yazılım, onu yazan kişi ayrıldığında bakımı en pahalı varlığa dönüşür.
Nasıl çalışıyoruz?
Özel yazılım projelerinde en büyük risk teknik değil iletişimseldir: yazılan şeyin gerçekte istenen şey olmadığının aylar sonra anlaşılması. Süreci bu riski küçültecek şekilde kurguluyoruz — kısa döngüler, erken teslim ve gerçek veriyle deneme.
- Süreci yerinde dinleme — İşi yapan kişiyle konuşarak başlarız; yönetimin anlattığı süreçle sahadaki süreç çoğu zaman aynı değildir. Farkın nerede olduğunu görmeden ekran tasarlanmaz.
- Kapsam belgesi — Ekran listesi, roller, veri modeli ve entegrasyonlar yazılı hâle getirilir. Teklif bu belgeye dayanır; kapsam değişirse fark açıkça konuşulur.
- Parça parça teslim — Uygulama tek seferde değil, çalışan parçalar hâlinde teslim edilir. En çok acıyan adım ilk sırada geliştirilir; ekip aylarca beklemeden sonucu görür.
- Gerçek veriyle deneme — Test, uydurma kayıtlarla değil sizin gerçek verinizin bir kopyasıyla yapılır. Bir yazılımın nerede zorlanacağı ancak gerçek veriyle ortaya çıkar.
- Devreye alma ve eğitim — Kurulum, yetkilendirme ve veri taşıma yapılır; kullanıcılara kendi ekranları üzerinden eğitim verilir. Geçiş döneminde eski yöntem bir süre yedekte tutulur.
- Bakım — Teslimden sonra hata giderme, güvenlik güncellemeleri ve yeni ihtiyaçlara göre ekleme sürer. Bir iş yazılımı yaşayan bir üründür; süreç değiştikçe o da değişir.
Ne kazandırır?
- Tekrar eden işin ortadan kalkması — Elle yapılan kopyalama, derleme ve raporlama işleri otomatikleşir. Kazanılan zaman ölçülebilir bir kalemdir.
- Tek doğruluk kaynağı — Veri tek yerde tutulur. “Hangi tablo güncel” tartışması, birçok kurumda göründüğünden çok daha pahalıya mal olur.
- Hatanın azalması — Zorunlu alanlar, kontroller ve onay adımları yazılımın içindedir; kural insanın hatırlamasına bırakılmaz.
- İzlenebilirlik — Hangi kaydı kimin ne zaman değiştirdiği görülür. Bu hem iç denetim hem müşteri itirazları için gerekir.
- Süreçle birlikte büyüme — İşiniz değiştiğinde yazılım da değişebilir. Hazır pakette beklenen sürüm, özel yazılımda planlanan bir geliştirmedir.
- Bağımsızlık — Kaynak kod ve veri sizde kalır. Tedarikçi değiştirmek isterseniz bu bir kriz değil, bir devir işidir.
Özel yazılımın getirisi çoğunlukla tek bir kalemde görünmez; kazanılan saatlerin, önlenen hataların ve daha hızlı verilen kararların toplamıdır. Bu yüzden projeye başlamadan önce hangi ölçütün iyileşmesini beklediğinizi birlikte yazıyoruz. Ölçütü belirlenmemiş bir yazılım projesi, başarılı olup olmadığı hiçbir zaman anlaşılamayan bir yatırıma dönüşür.
Häufig gestellte Fragen
Hazır bir program varken neden özel yazılım yaptıralım?
Hazır paket, ihtiyacınızın büyük bölümünü karşılıyorsa doğru seçimdir ve bunu açıkça söyleriz. Özel yazılım, sürecin paketle örtüşmeyen kısmı işin tam da ayırt edici tarafı olduğunda anlam kazanır: elle tutulan tablolar, iki sistem arasında insan eliyle taşınan veriler, her ay tekrarlanan derleme işleri. Karar ölçütü “paket yetersiz mi” değil, “aradaki farkı kapatmak için harcanan insan saati ne kadar” sorusudur.
Proje nasıl fiyatlanır ve kapsam nasıl belirlenir?
Kapsam, keşif aşamasında çıkarılan süreç haritasına ve ekran listesine dayanır. Her ekranın hangi veriyi gösterdiği, hangi rolün ne yapabildiği ve hangi entegrasyonun gerektiği yazılı hâle getirilir; teklif bu belgeye göre verilir. Kapsam sonradan değişirse fark ayrıca değerlendirilir — sürpriz ek kalem çıkmaması için kapsam belgesi sözleşmenin ekidir.
Verilerimiz nerede tutulur?
Uygulama ve veritabanı sizin belirlediğiniz ortamda çalışır: kendi sunucunuzda, kurum içi bir makinede veya seçtiğiniz barındırma sağlayıcısında. Zorunlu bir bulut bağımlılığı getirmeyiz. Yedekleme planı, erişim yetkileri ve kayıt tutma kuralları kurulum sırasında birlikte belirlenir.
Mevcut sistemlerimizle konuşabilir mi?
Evet; çoğu projede asıl değer buradan çıkar. Karşı sistemin API’si varsa doğrudan bağlanılır. API yoksa veritabanı görünümleri, zamanlanmış dosya aktarımı (CSV, XML) veya ara bir servis üzerinden çalışılır. Hangi yöntemin uygun olduğu, karşı sistemin neye izin verdiğine bakılarak keşif aşamasında belirlenir; varsayımla ilerlenmez.
Teslimden sonra yazılım kime ait olur?
Geliştirilen yazılım ve içindeki veri size aittir. Kaynak kod teslim edilir, kurulum ve çalıştırma adımları belgelenir. Amaç, ekibinizin ya da başka bir geliştiricinin projeyi devralabilmesidir; kimseyi tek bir tedarikçiye bağlayan bir yapı kurmayız.
Yazılım teslim edildikten sonra ne oluyor?
Teslim, işin sonu değil bakım döneminin başlangıcıdır. Hata giderme, güvenlik güncellemeleri, yeni ihtiyaçlara göre ekleme ve kullanıcı desteği bu dönemde yürütülür. Bakım kapsamı yazılı olarak belirlenir; hangi talebin bakım, hangisinin yeni geliştirme sayılacağı baştan bellidir.