Yazılım Mühendisliği

Yazılım Projesi Maliyetini Ne Belirler?

Yazılım Projesi Maliyetini Ne Belirler?

Bir yazılım projesine başlarken sorulan ilk soru neredeyse her zaman aynıdır: "Bu ne kadar tutar?" Anlaşılır bir soru; bütçe planlamak, yönetime sunum yapmak, tedarikçileri karşılaştırmak için bir rakam gerekir. Ama dürüst olalım: proje daha tanımlanmadan verilen kesin bir fiyat, çoğu zaman ya içine gizli bir risk primi saklar ya da ilerleyen aylarda sürpriz maliyetlere dönüşür.

Bu yazıda size tek bir rakam vermeyeceğiz. Bunun yerine çok daha faydalı bir şey yapacağız: yazılım projesi maliyetini gerçekte neyin belirlediğini açıkça anlatacağız. Böylece hangi teklifi alırsanız alın, arkasındaki mantığı okuyabilir, "ucuz" ile "hesaplı" arasındaki farkı görebilir ve doğru soruları sorabilirsiniz.

Neden Kesin Bir Rakam Vermiyoruz (ve Kimse Vermemeli)

Yazılım, raf ürünü değildir. Aynı "stok takip sistemi" ifadesi, bir firma için basit bir giriş-çıkış tablosu, bir başkası için ise çok depolu, parti-lot takipli, muhasebe ve e-fatura entegre bir sisteme karşılık gelir. İkisi de "stok takibi" der; ama efor, risk ve dolayısıyla maliyet arasında ciddi fark vardır.

Projeyi anlamadan verilen fiyatın iki sonucu olur:

  • Yüksek fiyat (risk primi): Tedarikçi belirsizliği bilinmeyenle ölçtüğü için kendini korumak adına payı şişirir. Siz aslında olmayan bir riskin bedelini ödersiniz.
  • Düşük fiyat (sürpriz maliyet): Teklif cazip görünür, sözleşme imzalanır, ama kapsamda olmayan her ihtiyaç ek fatura olarak geri döner. Proje sonunda başlangıç rakamının çok üzerine çıkar.

İki durumda da kaybeden taraf, işi net tanımlamadan fiyat isteyen taraf olur. Doğru yaklaşım, fiyattan önce kapsamı konuşmaktır.

Yazılım Projesi Maliyetini Belirleyen Faktörler

Maliyet tek bir değişkenin değil, birbiriyle ilişkili birçok faktörün bileşkesidir. Aşağıdaki başlıklar, bir projenin efor ve bütçe profilini şekillendiren temel unsurlardır.

1. Kapsam ve Karmaşıklık

En belirleyici faktör budur. Kaç ekran, kaç kullanıcı rolü, kaç iş akışı var? Basit bir CRUD (veri ekle-oku-güncelle-sil) uygulaması ile onlarca koşullu kuralın, onay adımının ve istisnanın olduğu bir kurumsal süreç yazılımı aynı kefeye konamaz. Kapsam büyüdükçe test yüzeyi, hata olasılığı ve entegrasyon noktaları da katlanarak artar.

2. İş Mantığının Derinliği

Ekran sayısı yanıltıcı olabilir. Asıl maliyeti çoğu zaman ekranların arkasındaki iş mantığı belirler. Fiyatlandırma kuralları, prim/komisyon hesapları, yasal hesaplama formülleri, durum makineleri (state machine) gibi derin mantık katmanları, görünürde küçük ama geliştirmesi ve test etmesi zahmetli alanlardır.

3. Entegrasyon Sayısı ve Türü

Yazılımınız kaç dış sistemle konuşacak? Ödeme altyapısı, e-fatura, kargo, ERP, banka, kamu servisleri, mevcut (legacy) sistemler... Her entegrasyon ayrı bir teknik yüzey, ayrı bir dokümantasyon ve ayrı bir hata senaryosu demektir. Özellikle eski/legacy sistemlerle entegrasyon, dokümantasyonun eksik olduğu durumlarda beklenenden fazla efor gerektirir.

4. Veri Göçü (Migration)

Sıfırdan başlamayan projelerde en çok hafife alınan kalem budur. Mevcut verinin ne kadar temiz olduğu, kaç kaynaktan geldiği, formatların ne kadar tutarlı olduğu göç maliyetini doğrudan etkiler. "Eski veriyi de aktaralım" cümlesi, çoğu zaman tek başına bir mini proje demektir.

5. Kullanıcı Sayısı ve Ölçek

Aynı işlevi 20 kişi mi kullanacak, 20 bin kişi mi? Ölçek büyüdükçe mimari kararlar değişir: veritabanı tasarımı, önbellekleme, yük dengeleme, eşzamanlılık yönetimi devreye girer. Yüksek ölçek, "çalışan bir yazılımdan" "yük altında çalışan bir yazılıma" geçiş demektir ve bu ek mühendislik gerektirir.

6. Güvenlik ve Uyum Gereksinimleri

KVKK, sektörel regülasyonlar, denetim izleri (audit log), yetki matrisleri, şifreleme ve veri saklama politikaları... Kişisel veya hassas veri işleyen her projede güvenlik ve uyum, sonradan eklenen bir süs değil, baştan tasarlanması gereken bir katmandır. Bu gereksinimlerin seviyesi maliyeti doğrudan etkiler.

7. Platform: Web, Mobil ya da İkisi

Yalnızca web mi, iOS ve Android mobil de mi, yoksa hepsi birden mi? Her platform kendi geliştirme, test ve yayınlama (store) sürecini getirir. Mobil tarafta uygulama mağazası politikaları, cihaz çeşitliliği ve sürüm yönetimi ek dikkat ister.

8. Tasarım ve UX Derinliği

Standart bir arayüz kütüphanesiyle mi ilerlenecek, yoksa markaya özel, üzerinde araştırma yapılmış bir kullanıcı deneyimi mi tasarlanacak? İyi UX yatırımının çoğu zaman geri dönüşü yüksektir; ama derinlik arttıkça tasarım eforu da artar.

9. Performans ve SLA Hedefleri

"Çalışsın yeter" ile "her koşulda hızlı ve kesintisiz çalışsın" arasında büyük fark vardır. Yanıt süresi, çalışma süresi (uptime) taahhütleri ve hizmet seviyesi anlaşmaları (SLA) yükseldikçe altyapı, izleme ve dayanıklılık yatırımı da artar.

10. Bakım ve Sürekli Destek

Yazılım, teslimle bitmez; asıl yaşamı orada başlar. Hata düzeltmeleri, güvenlik güncellemeleri, kütüphane yükseltmeleri, yeni ihtiyaçlar... Bakım ve destek modeli, projenin ilk yılından çok toplam sahip olma maliyetini belirleyen kalemdir.

Maliyet bileşkesi infografiği
On maliyet faktörünü çevreleyen "maliyet bileşkesi": merkezde toplam maliyet, çevresinde eşit ağırlıkta faktörler.

Maliyet Faktörleri: Özet Tablo

FaktörMaliyeti Ne Yönde Etkiler
Kapsam ve karmaşıklıkEkran, rol ve iş akışı arttıkça yükselir
İş mantığı derinliğiKural ve hesaplama katmanı derinleştikçe yükselir
Entegrasyon sayısı/türüHer dış sistem, özellikle legacy, eforu artırır
Veri göçüVeri ne kadar dağınık/kirliyse o kadar yükselir
Kullanıcı sayısı/ölçekYüksek ölçek ek mimari yatırım gerektirir
Güvenlik ve uyum (KVKK)Hassas veri ve regülasyon seviyesiyle artar
Platform (web/mobil)Platform sayısı arttıkça çoğalır
Tasarım/UX derinliğiMarkaya özel, araştırmalı UX eforu artırır
Performans/SLAYüksek uptime ve hız taahhütleri yükseltir
Bakım/sürekli destekToplam sahip olma maliyetinin ana kalemi

Bu tablo bir fiyat listesi değildir; bir düşünme çerçevesidir. Kendi projenizi bu satırlar üzerinden okuduğunuzda, aldığınız tekliflerin neden farklılaştığını çok daha net görürsünüz.

Üç Fiyatlandırma Modeli: Hangisi Ne Zaman?

Maliyetin nasıl hesaplandığı kadar, nasıl fiyatlandırıldığı da önemlidir. Sektörde üç temel model kullanılır:

  • Sabit fiyat: Kapsam baştan çok net olduğunda anlamlıdır. Belirsizlik varsa, tedarikçi riski fiyata gömer; kapsam değişince de değişiklik talepleri (change request) gündeme gelir.
  • Zaman ve malzeme (time & material): Kapsamın evrileceği, keşfedilerek ilerleyeceği projelerde esneklik sağlar. Şeffaftır ama iyi bir yönetişim ve güven ilişkisi ister.
  • Keşif-önce (discovery-first): İkisinin en sağlıklı bileşimi. Önce kısa, tanımlı bir keşif aşamasıyla belirsizlik azaltılır; ardından çok daha güvenilir bir fiyatlama ve model seçimi yapılır.

Kısacası model seçimi de belirsizlik seviyesine bağlıdır. Belirsizlik ne kadar yüksekse, önce keşif o kadar değerlidir.

Keşif-Önce Yaklaşımı: Belirsizliği Baştan Azaltmak

Kerberos olarak konumumuz nettir: hazır kalıp satmıyoruz, keşif-önce çalışan bir mühendislik ortağıyız. Bunun sebebi ideolojik değil, tamamen pratiktir. Bir projeyi anlamadan fiyatlamak, hem sizin hem bizim için risk demektir.

Keşif (discovery) aşaması, kod yazmadan önce yürütülen, kısa ve tanımlı bir çalışmadır. Amacı, "ne kadar tutar" sorusunu tahminden çıkarıp mühendisliğe oturtmaktır. Bu aşamanın çıktıları şunlardır:

  • Net kapsam: Neyin dahil, neyin dışında olduğu yazılı ve üzerinde anlaşılmış hale gelir.
  • Mimari taslak: Teknoloji, entegrasyon noktaları ve ölçek kararları önceden verilir.
  • Gerçekçi tahmin: Fiyat, havadan değil, tanımlı işlerden çıkar.
  • Azalan risk: Sürpriz kalemler minimuma iner; ilerleyiş öngörülebilir olur.

Keşif, projeyi yavaşlatan bir formalite değildir; aksine, en pahalı hataları (yanlış mimari, yeniden yazım, kapsam kayması) daha kağıt üzerindeyken önleyen bir sigortadır.

Keşif-mimari-geliştirme-destek süreç şeridi
Dört adımlı süreç: Keşif → Mimari → Geliştirme → Sürekli Destek. Keşif adımı vurgulu.

"Ucuz Teklif" Tuzağı ve Toplam Sahip Olma Maliyeti

En düşük teklif, çoğu zaman en pahalı yoldur. Nedenini açalım:

  • Kapsam dışı sürprizler: Düşük fiyat genellikle dar bir kapsamla mümkündür. Eksik kalan her ihtiyaç, sonradan ek maliyet olarak gelir.
  • Teknik borç: Hızlı ve ucuz yazılan kod, kısa vadede iş görür ama bakımı, ölçeklenmesi ve güvenliği zamanla katlanan bir yük oluşturur.
  • Yeniden yazım riski: Sağlam kurulmayan bir sistem, ihtiyaçlar büyüdüğünde baştan yazılmak zorunda kalabilir. Bu, ödediğiniz ilk bedelin boşa gitmesi demektir.

Doğru soru "Kim daha ucuz?" değil, "Üç yıl sonra bu yazılımın bana toplam maliyeti ne olur?" olmalıdır. Toplam sahip olma maliyeti (TCO); ilk geliştirme, bakım, değişiklikler, kesintiler ve gerekirse yeniden yazımın toplamıdır. Baştan doğru kurulan bir sistem, ilk rakamı biraz daha yüksek olsa bile bu toplamda neredeyse her zaman öne geçer.

Kerberos ile Nasıl İlerliyoruz

2002'den bu yana, 150'yi aşkın projede ve 50'den fazla kurumsal müşteriyle çalışırken hep aynı ilkeyi koruduk: önce anlamak, sonra inşa etmek. 30'u aşkın mühendisten oluşan ekibimiz, projenize hazır bir şablonla değil, sizin sürecinize özel (tailor-made) bir mühendislik yaklaşımıyla bakar.

Süreç dört adımda ilerler: Keşif → Mimari → Geliştirme → Sürekli Destek. Keşifle belirsizliği azaltır, mimariyle sağlam bir temel kurar, geliştirmeyle işi hayata geçirir ve sürekli destekle yazılımınızın uzun ömürlü olmasını sağlarız.

Size baştan bir rakam söylemek yerine, o rakamı güvenilir kılacak zemini birlikte hazırlamayı öneriyoruz. Çünkü doğru fiyat, doğru sorulardan sonra ortaya çıkar.

Başlamadan Önce Doğru Adım: Keşif Görüşmesi

Aklınızda bir proje varsa ve "ne kadar tutar" sorusuna sağlıklı bir yanıt istiyorsanız, ilk adım bir teklif değil, bir konuşmadır. Kısa bir keşif görüşmesinde ihtiyacınızı dinler, kapsamı birlikte netleştirir ve size gerçekçi bir yol haritası çıkarırız.

Keşif görüşmesi planlayın » — projenizi konuşalım, maliyeti tahminden çıkarıp mühendisliğe oturtalım.

Sıkça Sorulan Sorular

Yazılım projesi maliyetini en çok ne belirler?

Maliyet tek bir değişkenle değil, birbiriyle ilişkili faktörlerin bileşkesiyle belirlenir: kapsam ve karmaşıklık, ekranların arkasındaki iş mantığının derinliği, entegrasyon sayısı, veri göçü, ölçek, güvenlik gereksinimleri, platform, tasarım derinliği, performans hedefleri ve bakım. Bu faktörlerin seviyesi yükseldikçe efor ve dolayısıyla maliyet artar.

Proje başında neden kesin bir fiyat verilmiyor?

Yazılım raf ürünü değildir; aynı isimle anılan iki proje efor ve risk açısından çok farklı olabilir. Kapsam tanımlanmadan verilen bir fiyat ya kendini korumak için risk primi barındırır ya da sonradan sürpriz kalemlerle büyür. Sağlıklı yaklaşım, fiyattan önce kapsamı netleştirmektir.

Keşif-önce yaklaşımı ne demek?

Keşif-önce, kod yazmadan önce yürütülen kısa ve tanımlı bir çalışmadır. Amacı belirsizliği azaltmaktır: net kapsam, mimari taslak ve gerçekçi bir tahmin çıkarır. Böylece maliyet tahminden çıkıp tanımlı işlere dayanır ve sürpriz kalemler minimuma iner.

En düşük teklif neden her zaman en ucuz yol değildir?

Düşük teklif genellikle dar bir kapsamla mümkün olur; eksik kalan her ihtiyaç sonradan ek maliyet olarak döner. Ayrıca aceleyle yazılan kod teknik borç ve yeniden yazım riski taşır. Doğru soru "kim daha ucuz" değil, yazılımın toplam sahip olma maliyetinin ne olacağıdır.

Projeni konuşalım Tüm Yazılar

İlgili Yazılar