Yazılım
- Anasayfa
- Yazılım
Yazılım İhtiyacınızı Bugünkü İş Akışınızın Haritasından Çıkarıyoruz
Bir işletmenin özel yazılım ihtiyacı çoğu zaman bir tabloda, bir defterde ya da çalışanlar arasında gidip gelen mesajlarda kendini belli eder. Siparişler elle takip ediliyorsa, aynı bilgi üç farklı yere tekrar tekrar yazılıyorsa ya da ay sonu raporu günler sürüyorsa, bir şeylerin yerinde olmadığı açıktır. Sorunun kaynağını görmek için önce bugünkü iş akışınızı adım adım çiziyoruz. Gaziantep’te hangi sektörde çalışırsanız çalışın, en değerli bilgi çoğu zaman yöneticiden değil, o işi her gün yapan çalışandan gelir. Bu yüzden görüşmelere sahada çalışan ekip arkadaşlarınızı da davet ediyoruz. Hangi bilginin nereden geldiğini, kimin onayından geçtiğini ve nerede tıkandığını tek tek not ediyoruz. Mümkünse bir iş gününü yerinde izleyerek kâğıt üzerinde görünmeyen ara adımları da yakalıyoruz. Ortaya çıkan akış şeması, yazılacak sistemin neyi çözmesi gerektiğini herkesin aynı şekilde anlamasını sağlıyor. Çözüm konuşmasına ancak bu ortak resim oluştuktan sonra geçiyoruz.
Akış netleşince ihtiyaçları öncelik sırasına koyuyoruz. Olmazsa işin yürümeyeceği özellikleri, işi kolaylaştıracak ama bekleyebilecek olanlardan ayırıyoruz. Sistemi kimlerin kullanacağını, her kullanıcı grubunun neyi görüp neyi değiştirebileceğini, hangi raporların hangi sıklıkla alınacağını yazıya döküyoruz. Her özellik için başarı ölçüsünü de yazıyoruz; örneğin bir raporun kaç dakikada hazırlanması ya da bir siparişin kaç adımda girilmesi gerektiği gibi. Bu çalışmanın sonunda ekranların kaba çizimlerini ve veri yapısının ana hatlarını içeren bir kapsam belgesi hazırlıyoruz. Belge, projenin neyi kapsadığını olduğu kadar neyi kapsamadığını da açıkça söylüyor. Yazılım geliştirme sürecinde en çok zaman ve bütçe kaybı, baştan konuşulmamış beklentilerin sonradan ortaya çıkmasıyla yaşanıyor. Kapsam belgesi bu riski azaltıyor. Yeni bir istek geldiğinde de bunun takvime ve maliyete etkisini birlikte, sakin bir şekilde değerlendirmemize imkân veriyor. Belgeyi sizinle satır satır okuyup onaylamadan geliştirmeye geçmiyoruz.
Her ihtiyaç sıfırdan yazılmış bir sistem gerektirmez. Kapsam çalışması sırasında piyasadaki hazır çözümleri de sizin adınıza inceliyoruz. Bir muhasebe ya da stok programı işinizin büyük kısmını karşılıyorsa, eksik kalan parçayı tamamlayan küçük bir ek geliştirmenin daha mantıklı olabileceğini açıkça söylüyoruz. Hazır bir paketin lisans ücretlerini, kullanıcı sayısı arttıkça değişen maliyetini ve size tanıdığı esnekliği özel geliştirmeyle yan yana koyuyoruz. Özel geliştirmeye karar verdiğimizde ise teknoloji seçimini modaya göre değil, uzun vadeli bakım kolaylığına göre yapıyoruz. Yaygın kullanılan, iyi belgelenmiş ve başka geliştiricilerin de kolayca devralabileceği araçları tercih ediyoruz. Sistemin tarayıcıdan mı, telefondan mı yoksa her ikisinden mi kullanılacağına işinizin gerçek koşullarına bakarak karar veriyoruz. Depoda eldivenle çalışan bir personel ile masa başında rapor inceleyen bir yöneticinin ihtiyaçları farklıdır ve arayüz bu farkı gözetmelidir. İnternet bağlantısının zayıf olduğu yerlerde çalışacak ekranlar için çevrim dışı kayıt gibi çözümleri de baştan konuşuyoruz.
İlk Sürümü Küçük Tutup Gerçek Kullanıcılarla Sınıyoruz
Kapsamın tamamını tek seferde teslim etmek yerine, işin en kritik akışını çözen bir ilk sürümle başlamayı öneriyoruz. Örneğin bir sipariş takip sisteminde önce siparişin girilmesi, onaylanması ve durumunun izlenmesi çalışır hâle geliyor; raporlar, bildirimler ve ayrıntılı yetki ayarları sonraki adımlara kalıyor. Bu yaklaşımın size birkaç faydası var. Yatırımın ilk bölümü daha kısa sürede işe yarar hâle geliyor ve ekibiniz sistemi gerçek işlerde kullanmaya başlıyor. Kâğıt üzerinde mantıklı görünen bazı kararların sahada farklı işlediği de ancak bu kullanımla ortaya çıkıyor. İlk sürümü önce küçük bir kullanıcı grubuna açıyor, onların geri bildirimleriyle ekranları ve iş kurallarını düzeltiyoruz. Geri bildirimleri toplamak için kullanıcıların ekrandan doğrudan not bırakabileceği basit bir yöntem kuruyoruz. Bir yazılım projesinde en pahalı hata, yanlış varsayımlar üzerine aylarca kod yazmaktır; ilk sürüm bu riski erkenden görünür kılıyor.
Geliştirme sırasında işi kısa döngülere bölüyoruz. Her döngünün başında hangi işlerin ele alınacağını sizinle birlikte seçiyoruz; böylece öncelikler değiştiğinde plan da kolayca yön değiştirebiliyor. Her döngünün sonunda tamamlanan ekranları ve işlevleri, sizin de erişebildiğiniz bir deneme ortamında gösteriyoruz. Böylece ilerlemeyi yalnızca raporlardan değil, sistemi bizzat kullanarak takip ediyorsunuz. Bir ekranın beklediğiniz gibi olmadığını erken fark etmek, bitmiş bir modülü baştan yazmaktan çok daha az maliyetlidir. Tüm kod değişikliklerini sürüm kontrol sisteminde kayıt altına alıyoruz; hangi değişikliğin ne zaman ve neden yapıldığı her zaman izlenebiliyor. Bir geliştiricinin yazdığı kodu başka bir ekip üyesi gözden geçirmeden ana sürüme almıyoruz. Kodun okunabilir olmasına, iş kurallarının açıklamalarla belgelenmesine özen gösteriyoruz. Bu özen yalnızca bizim için değil, ileride sisteme dokunacak her geliştirici için değerli. Proje boyunca iletişimi tek bir sorumlu kişi üzerinden yürütüyor, sorularınıza kimin cevap vereceğini baştan netleştiriyoruz.
Test, geliştirmenin sonuna eklenen bir adım değil, her döngünün doğal parçası. Hesaplama yapan, stok miktarını güncelleyen ya da fatura bilgisi üreten kritik iş kurallarını otomatik testlerle koruma altına alıyoruz. Böylece bir yerde yapılan değişiklik başka bir yeri bozduğunda bunu hemen görüyoruz. Ekran akışlarını gerçekçi senaryolarla elle de deniyoruz: yanlış girilen bir tarih, yarım bırakılan bir form, aynı kaydı aynı anda düzenleyen iki kullanıcı. Canlıya geçmeden önce ekibinizin sistemi kendi günlük işleriyle denediği bir kabul dönemi planlıyoruz. Kabul döneminde bulunan her hatayı kayıt altına alıyor, çözüldüğünü ekibinizle birlikte teyit ediyoruz. Mevcut tablolarınızdaki ya da eski programınızdaki verilerin yeni sisteme aktarılmasını da bu dönemde deneme aktarımlarıyla güvenli hâle getiriyoruz. Aktarımdan sonra eski ve yeni sistemdeki toplamları karşılaştırarak hiçbir kaydın kaybolmadığını doğruluyoruz. Gerçek veri hacmiyle yapılan denemeler, az kayıtla hızlı görünen bir ekranın binlerce kayıtta yavaşlayıp yavaşlamadığını da gösteriyor.
Mevcut Programlarınızla Konuşan Güvenli Bir Altyapı Kuruyoruz
Yeni bir sistem, işletmenizde zaten kullanılan programlardan kopuk çalışırsa ekibinize çift kayıt yükü getirir. Bu yüzden entegrasyonları kapsamın başından itibaren planlıyoruz. Muhasebe programınız, e-fatura sağlayıcınız, ödeme altyapınız, kargo firmalarının sistemleri ya da satış yaptığınız pazar yerleriyle hangi bilginin hangi yönde ve hangi sıklıkla aktarılacağını belirliyoruz. Aynı bilginin iki sistemde farklı görünmesi durumunda hangisinin esas alınacağını da baştan kurala bağlıyoruz. Karşı tarafın sunduğu programlama arayüzlerini inceliyor, sınırlarını ve ücret koşullarını önceden size bildiriyoruz. Entegrasyonları önce karşı tarafın deneme ortamında sınıyor, canlı verilere ancak sonra bağlanıyoruz. Aktarım sırasında bir hata oluştuğunda sessizce kaybolan kayıtlar yerine, sorunu ilgili kişiye bildiren ve yeniden denenebilen bir yapı kuruyoruz. Entegrasyon noktaları bir yazılım sisteminin en kırılgan yerleridir; karşı taraftaki küçük bir güncelleme bile akışı etkileyebilir. Bu noktaları izleme araçlarıyla takip ediyor, olağan dışı bir durumdan sizden önce haberdar olmayı hedefliyoruz.
Güvenlik, sistemin her katmanında düşünülmesi gereken bir konu. Kullanıcı girişlerini güçlü parola kurallarıyla ve gerektiğinde ikinci bir doğrulama adımıyla koruyoruz. Her çalışanın yalnızca işi için gereken verilere erişebildiği bir yetki yapısı kuruyor, kritik işlemlerde kimin neyi ne zaman değiştirdiğini kayıt altına alıyoruz. İşten ayrılan bir çalışanın erişimini tek adımda kapatabileceğiniz bir kullanıcı yönetimi ekranı da sistemin parçası oluyor. Veriler hem sunucuya giderken hem de sunucuda dururken şifreleniyor. Formlardan gelen her veriyi sunucu tarafında yeniden denetliyor, kötü niyetli girişlerin veritabanına ulaşmasını engelliyoruz. Müşteri ve çalışan bilgileri gibi kişisel verileri işleyen bölümleri, kişisel verilerin korunmasına ilişkin mevzuatı gözeterek tasarlıyor ve gereksiz veri toplamaktan kaçınıyoruz. Yedekleme düzenini yalnızca kurmakla kalmıyor, yedekten geri dönüşü belirli aralıklarla deneyerek gerçekten çalıştığını doğruluyoruz. Yazılım güvenliği tek seferlik bir kontrol değildir. Kullanılan kütüphanelerdeki açıkları takip etmek ve güncellemeleri zamanında uygulamak da bu işin sürekli bir parçası.
Sistemin nerede çalışacağı da güvenlik kadar önemli bir karar. Bazı işletmeler verilerinin kendi binalarındaki bir sunucuda durmasını isterken, bazıları bakım yükünden kurtulmak için bulut altyapısını tercih ediyor. İki seçeneğin maliyetini, bakım sorumluluğunu ve olası kesintilerdeki etkisini size açıkça karşılaştırıyoruz. Sahada çalışan ekibinizin, depodaki personelinizin ya da şehir dışındaki bayilerinizin sisteme nasıl erişeceğini de bu kararın içinde değerlendiriyoruz. Deneme ortamı ile canlı ortamı birbirinden ayırıyoruz; yeni bir özellik, gerçek verilere dokunmadan önce ayrı bir kopyada sınanıyor. Olası bir kesintide sistemin hangi adımlarla ve hangi sırayla yeniden ayağa kaldırılacağını anlatan kısa bir acil durum planı da hazırlıyoruz. Altyapıyı, kullanıcı sayınız ve veri hacminiz arttığında baştan kurulmasına gerek kalmadan büyüyebilecek şekilde planlıyoruz. Gaziantep’teki merkezinizden uzakta bir şube açtığınızda ya da yeni bir satış kanalı eklediğinizde sistemin bu büyümeye ayak uydurabilmesi, başlangıçta verilen bu kararlara bağlı.
Kaynak Kodu Size Teslim Ediyor, Bakımı Birlikte Planlıyoruz
Sizin için geliştirdiğimiz sistemin kaynak kodu, sözleşmede açıkça belirtildiği şekilde size aittir. Kodu barındıran depoya işletmeniz adına erişim tanımlıyor, her teslimde güncel hâlinin orada bulunmasını sağlıyoruz. Kurulum adımlarını, sistemin mimarisini, veritabanı yapısını ve entegrasyon ayarlarını anlatan teknik belgeleri de teslim paketine ekliyoruz. Bu belgeler, bir gün başka bir ekiple çalışmaya karar verseniz bile işin kaldığı yerden sürebilmesi için hazırlanıyor. Sistemde kullanılan ücretli bileşenlerin, harici hizmetlerin ve alan adlarının listesini yenileme tarihleriyle birlikte size teslim ediyoruz. Sunucu, veritabanı ve yönetim hesaplarının ana yetkilerini de sizin adınıza tanımlıyor, bizim erişimimizi ihtiyaç duyulan düzeyle sınırlı tutuyoruz. Verilerinizin de tamamen size ait olduğunu ve istediğiniz an yaygın dosya biçimlerinde dışa aktarılabileceğini baştan yazılı hâle getiriyoruz. Bir yazılım firmasına bağımlı kalma kaygısı, birçok işletmenin özel geliştirmeden çekinmesinin başlıca nedenlerinden biri. Bu kaygıyı sözle değil, teslim ettiğimiz belgeler ve erişimlerle gideriyoruz.
Canlıya geçiş, sistemin hayatında yalnızca bir başlangıç. Kullanıma başladıktan sonraki ilk haftalarda ekibinizle daha sık temas kuruyor, gözden kaçan hataları ve alışkanlıklarla çelişen akışları hızla düzeltiyoruz. Ardından düzenli bir bakım dönemine geçiyoruz. Bu dönemde sunucu ve veritabanı sağlığını izliyor, işletim sistemi ve kütüphane güncellemelerini deneme ortamında sınadıktan sonra uyguluyor, yedeklerin düzenli alındığını kontrol ediyoruz. Sistemin yavaşladığı ya da hata oranının arttığı dönemleri izleme kayıtlarından fark ediyor, kullanıcılar şikâyet etmeden önce müdahale etmeye çalışıyoruz. Bakım kapsamında yapılan her işi, tarih ve açıklamasıyla birlikte aylık bir özet hâlinde paylaşıyoruz. Destek taleplerinizi tek bir kanaldan kayıt altına alıyor, her talebin durumunu şeffaf biçimde izleyebilmenizi sağlıyoruz. Acil bir sorunla sıradan bir iyileştirme isteğinin nasıl ayırt edileceğini ve her biri için nasıl bir yol izleneceğini de baştan birlikte tanımlıyoruz. Böylece mesai dışında çalışmayan bir ekranla karşılaştığınızda kime ve nasıl ulaşacağınızı biliyorsunuz.
İşletmeniz değiştikçe sistemin de değişmesi gerekir. Yeni bir ürün grubu, farklı bir fiyatlandırma modeli ya da yeni bir satış kanalı eklendiğinde bunların sisteme nasıl yansıyacağını birlikte planlıyoruz. Belirli aralıklarla yaptığımız değerlendirme görüşmelerinde, kullanım verilerine bakarak hangi ekranların yoğun kullanıldığını, hangilerinin göz ardı edildiğini inceliyoruz. Bu veriler, bir sonraki geliştirme adımını tahmine değil gerçek kullanıma göre seçmemizi sağlıyor. Kullanıcıların en sık yaşadığı zorlukları destek kayıtlarından çıkarıp ekran tasarımında küçük ama etkili düzeltmelere dönüştürüyoruz. Büyük değişiklikleri ise yine kapsam, öncelik ve deneme adımlarından geçirerek hayata geçiriyoruz. Ekibinize yeni katılan çalışanlar için kısa eğitim içerikleri ve kullanım kılavuzları hazırlıyoruz; sistemi bilen tek kişinin işten ayrılmasıyla bilginin kaybolmasını istemiyoruz. Gaziantep’te büyümeyi hedefleyen bir işletme için özel bir sistem, bir kez kurulup kendi hâline bırakılan bir ürün değildir. İşle birlikte olgunlaşan, her yıl biraz daha değer üreten bir çalışma aracıdır.
Özel Yazılım Projelerinde Sorular ve Yanıtlar
Projenin ne kadar süreceğini nasıl öngörüyorsunuz?
Önce kapsamı ekran, rol, veri ve bağlantı düzeyinde çıkarıp işi birkaç haftalık parçalara bölüyoruz. İlk parçanın gerçekleşen süresi, kalan takvimi doğrulamak için en sağlam ölçüdür; plan buna göre güncellenip her aşama sonunda sizinle paylaşılır.
Piyasadaki hazır programlar varken neden sıfırdan geliştirme yapalım?
Her durumda gerekmez; işinizi hazır bir paket karşılıyorsa önce onu öneririz. Paket süreçlerinizi ona uydurmanızı istiyor, veri ekipler arasında hâlâ elle taşınıyor ya da lisans maliyeti kullanıcı sayısıyla büyüyorsa, özel yazılım daha mantıklı bir yatırım olabilir.
Kullandığımız muhasebe programıyla bağlantı kurulabilir mi?
Pek çok güncel muhasebe ve e-fatura programı dış bağlantıya açık bir arayüz sunar; bu durumda aktarılacak alanları belgeleyip bağlantıyı planlıyoruz. Program kapalıysa dosya aktarımı gibi ara çözümlere bakıyor, neyin mümkün olduğunu teklifte açıkça söylüyoruz.
Kaynak kodu ve sistem erişimleri kimde kalıyor?
Sözleşmede aksi belirtilmedikçe kaynak kod, veritabanı, sunucu ve yönetici erişimleri teslimle birlikte işletmeye verilir. Kurulumu ve mimariyi anlatan teknik belgeler de eklenir; ileride sistemi başka bir ekip devralırsa sıfırdan başlamaz.
Yayından sonraki yeni istekler nasıl yönetiliyor?
Gelen her talebi bir kayıt sisteminde topluyor; hata düzeltmesi, rutin bakım ya da yeni geliştirme olarak sınıflandırıyoruz. Hatalar aciliyetine göre ele alınır; yeni özellikler sizinle birlikte sıraya konup sonraki sürümün planına girer.
Verilerimizin güvende olduğundan nasıl emin olabiliriz?
Rol bazlı yetkilendirme, şifreli bağlantı, işlem kayıtları ve düzenli yedekleme projenin ilk gününden mimariye dahil edilir. Yedeklerin gerçekten geri yüklenebildiğini belirli aralıklarla deniyor, kişisel verilerle ilgili yasal yükümlülükleri de tasarım kararlarında gözetiyoruz.
