Yazılım Maliyeti Nasıl Hesaplanır? Özel Yazılım Fiyatını Belirleyen Etkenler

Yazılım maliyet hesaplama, projeyi iş kalemlerine bölüp her kalemin gerektirdiği emeği tahmin etmek ve bu emeğe altyapı, lisans ve bakım giderlerini eklemekle yapılır. Özel yazılımın fiyatını ekran sayısından çok iş kurallarının karmaşıklığı, entegrasyonlar, kullanıcı rolleri, test ve yayından sonraki bakım belirler. Aynı fikir için gelen tekliflerin birbirinden çok farklı çıkmasının nedeni de budur: her firma kapsamı farklı okur ve farklı kalemleri dahil eder.

Bu yazıda rakam vermiyoruz, çünkü kapsamı bilinmeyen bir yazılım için verilen her rakam yanıltıcı olur. Onun yerine web tabanlı iş uygulamaları ve özel yazılım projelerinde fiyatı belirleyen etkenleri, adam/gün hesabını ve fiyat modellerini anlatıyoruz. Mobil uygulamaya özgü kalemleri mobil uygulama yaptırma fiyatlarını ele aldığımız yazıda bulabilirsiniz.

Özel yazılım fiyatını belirleyen etkenler

Özel yazılım fiyatları aşağıdaki kalemlerin toplamından oluşur. Bir teklifte bu kalemlerden biri görünmüyorsa ya dahil edilmemiştir ya da başka bir kalemin içine gömülmüştür; iki durumu da firmaya sormak gerekir.

EtkenMaliyeti neden etkilerTeklifte nasıl görünmeli
Kapsam ve iş kurallarıHer istisna, onay adımı ve hesaplama kuralı ayrı geliştirme ve test demektirModül ve işlev bazında kırılım
Kullanıcı rolleri ve yetkilerHer rol için ayrı ekran, ayrı veri erişimi ve ayrı test senaryosu gerekirRol listesi ve yetki tablosu
EntegrasyonlarKarşı sistemin API'si, dokümantasyonu ve test ortamı işin zorluğunu belirlerHer entegrasyon ayrı kalem
Arayüz tasarımıHazır bileşenlerle çalışmak ile özgün tasarım arasında belirgin emek farkı vardırTasarım aşaması ve teslim edilecek ekranlar
PlatformlarWeb, iOS ve Android'in her biri ek geliştirme ve test isterPlatform listesi
Veri taşımaEski sistemdeki verinin temizlenip aktarılması ayrı bir iştirKaynak, veri türleri ve aktarım yöntemi
RaporlamaHer rapor bir sorgu, bir ekran ve bir doğrulama demektirRapor listesi
Test ve kalite güvenceHataların kullanıcıdan önce yakalanması emek isterTest yaklaşımı ve kabul testi desteği
Güvenlik ve KVKKYetkilendirme, işlem kaydı, şifreleme ve veri silme işlevleriGüvenlik gereksinimleri
Barındırma ve altyapıSunucu, veritabanı, yedekleme ve izleme giderleriKimde olacağı ve tahmini gideri
Üçüncü taraf servislerSMS, e-posta, harita, ödeme ve lisans ücretleriAyrı kalem; kullanım bazlıysa birim ücret
Proje yönetimi ve analizToplantılar, planlama, dokümantasyon ve iletişimAyrı kalem ya da efora dahil olduğu açıkça belirtilmiş
Bakım ve destekYayından sonra güncelleme, hata düzeltme ve küçük geliştirmelerAylık ya da yıllık ayrı teklif

Entegrasyonda sayıdan çok nitelik belirleyicidir

"Üç entegrasyon" demek maliyet hakkında az şey söyler. İyi belgelenmiş, test ortamı olan bir API'ye bağlanmak ile belgesiz, eski bir sisteme veritabanı üzerinden bağlanmak arasında ciddi emek farkı vardır. Teklif istemeden önce bağlanacak sistemlerin teknik bilgilerini toplamak, tahminleri gerçekçi hale getirir.

Kullanıcı rolleri maliyeti nasıl büyütür?

Tek tip kullanıcının olduğu bir sistemde her ekran bir kez tasarlanır ve test edilir. Satış temsilcisi, bölge müdürü, muhasebe ve bayi gibi dört farklı rol olduğunda ise aynı ekranın kimde nasıl görüneceği, kimin neyi değiştirebileceği ve hangi işlemin kimin onayına düşeceği ayrı ayrı kurgulanır. Rol sayısı arttıkça test senaryoları da çoğalır. Bu yüzden rol ve yetki tablosunu teklif aşamasından önce çıkarmak, tahminin en belirleyici girdilerinden biridir.

Görünmeyen kalemler

Teklif karşılaştırmasında en çok gözden kaçan kalemler test, veri taşıma, yayına alma ve dokümantasyondur. Bu kalemleri ayrıca göstermeyen düşük bir teklifte bu işlerin nasıl ele alınacağını sorun; kapsam dışında kalmış olabilir ya da proje ortasında ek talep olarak karşınıza çıkabilirler.

Yayından sonraki maliyet

Yazılımın maliyeti teslimle bitmez. Kullanılan kütüphanelerin ve altyapının güvenlik güncellemeleri, tarayıcı ve işletim sistemi değişikliklerine uyum, mobil uygulamalarda mağazaların yeni gereksinimleri, barındırma ve yedekleme giderleri her yıl bütçede yer alır. Bu kalemleri teklif aşamasında sormayan işletme, yayından sonra plansız bir gider kalemiyle karşılaşır.

Yazılım maliyeti nasıl hesaplanır, adam/gün nedir?

Adam/gün, bir kişinin bir iş gününde harcadığı emeği ifade eden ölçü birimidir. Yazılım maliyeti çoğunlukla toplam eforun adam/gün cinsinden tahmin edilmesi ve bu eforun ekipteki rollerin (analist, tasarımcı, geliştirici, test uzmanı, proje yöneticisi) günlük ücretleriyle çarpılmasıyla hesaplanır. Büyük projelerde aynı mantık adam/ay birimiyle ifade edilir.

Hesaplama genellikle şu adımlarla yapılır:

  1. İşi parçalara ayırın. Projeyi modüllere, modülleri işlevlere bölün. Bu kırılım ne kadar ayrıntılıysa tahmin o kadar gerçekçi olur.
  2. Her parça için efor tahmin edin. Geliştirme ekibi her işlev için analiz, tasarım, geliştirme ve test emeğini ayrı ayrı tahmin eder.
  3. Belirsizliği hesaba katın. Her iş için iyimser, olası ve kötümser olmak üzere üç tahmin yapılabilir. PERT olarak bilinen yaygın yöntemde olası tahmine dört kat ağırlık verilir ve ağırlıklı toplam altıya bölünür: (iyimser + 4 × olası + kötümser) ÷ 6.
  4. Rol bazlı ücretle çarpın. Kıdem ve uzmanlık farkı günlük ücrete yansır.
  5. Ortak işleri ekleyin. Proje yönetimi, toplantılar, dokümantasyon ve yayına alma.
  6. Sabit giderleri ekleyin. Lisanslar, üçüncü taraf servisler ve altyapı.
  7. Yayın sonrasını ayrıca hesaplayın. Bakım ve destek çoğu zaman ayrı bir sözleşme konusudur.

Efor ile takvim aynı şey değildir

Adam/gün toplam emeği gösterir, projenin kaç günde biteceğini değil. Ekip büyüdüğünde bazı işler paralel yürür ve takvim kısalır; ama her iş bölünemez ve kalabalık ekip iletişim yükü de getirir. Teklifte hem toplam eforun hem de takvimin ayrı ayrı yazılı olmasını isteyin.

Teklifteki adam/gün tablosu nasıl okunur?

Günlük ücreti düşük olan teklif her zaman ucuz değildir; toplam efor yüksek tahmin edilmişse toplam tutar yine yüksek çıkar. Bu yüzden iki şeye birlikte bakın: toplam adam/gün ve bu eforun aşamalara dağılımı. Geliştirmeye ayrılan emek büyükken teste ve analize neredeyse hiç pay ayrılmamışsa, bu kalemlerin nasıl yapılacağını sorun. Aynı modül için firmalar arasında belirgin efor farkı varsa, kapsamın farklı anlaşıldığı büyük olasılıkla o modüldedir.

Tahmin ne zaman güvenilir olur?

Tahminin isabeti kapsamın netliğine bağlıdır. Tek sayfalık bir fikir notuna verilen fiyat kaba bir aralıktır. Gereksinimleri yazılmış bir teknik şartnameye verilen fiyat ise çok daha isabetlidir. Bu yüzden bazı firmalar önce analiz aşamasını ayrı fiyatlar, geliştirme teklifini analiz sonunda verir.

Fiyatlandırma modelleri

Aynı kapsam farklı sözleşme modelleriyle fiyatlanabilir. Model seçimi, riskin kimde kalacağını belirler.

ModelNasıl işlerUygun olduğu durumRisk kimde
Sabit fiyatTanımlı kapsam için baştan anlaşılan tek fiyatKapsam net, değişiklik beklentisi düşükTahmin hatası firmada, kapsam değişikliği müşteride
Zaman ve malzemeHarcanan efor, anlaşılan birim ücretle faturalanırKapsam belirsiz ya da sık değişecekToplam maliyet belirsizliği müşteride
Aşamalı sabit fiyatAnaliz ayrı fiyatlanır, geliştirme analiz sonunda sabitlenirKapsamı henüz olgunlaşmamış orta ölçekli projelerİki tarafa daha dengeli dağılır
Aylık kapasiteBelirli bir ekip kapasitesi aylık ücretle ayrılırUzun soluklu ürün geliştirmeÖnceliklendirme ve verim takibi müşteride

Sabit fiyat bütçe açısından güven verir; ama firma belirsizliği fiyata risk payı olarak ekler ve her değişiklik ek teklif gerektirir. Zaman ve malzeme modeli esneklik sağlar; ancak düzenli raporlama ve öncelik yönetimi olmadan maliyeti kontrol etmek zorlaşır. Hangi modeli seçerseniz seçin, değişiklik taleplerinin nasıl fiyatlanacağı sözleşmede yazılı olmalıdır.

Teklif karşılaştırma kontrol listesi

Birden fazla firmadan teklif aldığınızda aşağıdaki soruları her teklif için ayrı ayrı cevaplayın. Teklifleri baştan aynı formatta istemek için bir teklif talep dokümanı (RFP) hazırlamak karşılaştırmayı kolaylaştırır.

  • Teklifteki kapsam maddeleri şartnamedeki gereksinimlerle eşleşiyor mu?
  • Varsayımlar ve kapsam dışı konular açıkça yazılmış mı?
  • Efor kırılımı modül ya da aşama bazında verilmiş mi?
  • Test, veri taşıma ve yayına alma dahil mi?
  • Teslimden sonraki hata düzeltme dönemi ve kapsamı belirtilmiş mi?
  • Barındırma kimde olacak, gideri kim ödeyecek?
  • Lisans ve üçüncü taraf servis ücretleri ayrıca gösterilmiş mi?
  • Bakım ve destek ücreti ile kapsamı ayrı teklif edilmiş mi?
  • Kaynak kod ve fikri mülkiyet koşulları açık mı?
  • Değişiklik talepleri nasıl değerlendirilecek ve fiyatlanacak?
  • Ödeme planı teslim aşamalarına bağlanmış mı?
  • Projede çalışacak ekip ve günlük muhatabınız belli mi?
  • Dokümantasyon ve kullanıcı eğitimi dahil mi?

Aşağıdaki örnek, aynı şartnameye verilmiş iki teklifin kapsam düzeyinde nasıl ayrışabileceğini gösteriyor:

KalemTeklif ATeklif B
Analiz ve tasarımDahilDahil
GeliştirmeDahilDahil
Veri taşımaDahilKapsam dışı, müşteri yapacak
Test ve kabul desteğiDahil, test senaryolarıylaBelirtilmemiş
Muhasebe entegrasyonuDahilKarşı sistemin API'si hazırsa dahil
BarındırmaBirinci yıl dahilMüşteride
Bakım ve destekAyrı yıllık teklifBelirtilmemiş

Teklif B daha düşük görünse bile "kapsam dışı" ve "belirtilmemiş" satırlarının her biri, ya sizin ekibinizin yapacağı bir iştir ya da sonradan fiyatlanacak bir taleptir. İki teklifi karşılaştırmadan önce bu satırları firmaya sorup tabloyu tamamlayın.

Bu listeyi doldurduğunuzda en düşük fiyatlı teklifin aslında en dar kapsamlı teklif olduğunu görebilirsiniz. Gerçek karşılaştırma için geliştirme, lisans, barındırma ve birkaç yıllık bakım giderini birlikte, yani toplam sahip olma maliyetini hesaplayın.

Maliyeti düşürmenin yolları

Maliyeti düşürmenin sağlıklı yolu kapsamı akıllıca yönetmektir; testi ya da dokümantasyonu kısmak değil.

  • MVP ile başlayın. Fikri en küçük çalışan sürümle doğrulamak, kullanılmayacak özelliklere harcanacak bütçeyi korur. Yaklaşımın ayrıntıları MVP nedir yazımızda.
  • Kapsamı aşamalara bölün. İlk aşamada iş için zorunlu olan akışları yapın, diğerlerini kullanım verisine göre planlayın.
  • Hazır bileşen kullanın. Kimlik doğrulama, ödeme ya da bildirim gibi yaygın işlevlerde hazır servisler emeği azaltır. Bazen tamamen hazır bir ürün yeterli olabilir; bu kararı hazır yazılım ile özel yazılımı karşılaştırarak verin.
  • Gereksinimleri netleştirin. Belirsizlik fiyata risk payı olarak yansır. Net bir şartname bu payı küçültür.
  • Karar vericiyi sürece katın. Onay bekleyen her gün, ekibin beklemesi ya da yanlış yönde ilerlemesi demektir.
  • Değişiklikleri toplayın. Tek tek gelen küçük değişiklikler yerine planlı aralıklarla toplu değerlendirme yapın.

Kısılmaması gereken kalemler de var: test, güvenlik ve yedekleme. Bu kalemlerden yapılan tasarruf, yayından sonra daha yüksek bir maliyet olarak geri döner.

Granobra'da fiyatlandırmaya nasıl yaklaşıyoruz

İstanbul merkezli ekibimizle özel yazılım tekliflerini kapsamı sizinle birlikte netleştirerek hazırlıyor, fiyatı belirleyen kalemleri bu yazıdaki başlıklar üzerinden konuşuyoruz. Kaynak kod ve lisans koşullarını teklifte açıklıyor, sözleşmede belirliyoruz. Kapsam ve süreç için web yazılım ve özel yazılım geliştirme sayfamıza göz atabilirsiniz.

Sık sorulan sorular

Yazılım maliyeti neden firmadan firmaya bu kadar değişiyor?

Firmalar aynı kapsamı farklı okur, farklı kalemleri dahil eder ve farklı riskleri fiyatlar. Ekibin yapısı ve kıdemi de günlük ücreti etkiler. Teklifleri kapsam ve varsayım düzeyinde eşleştirdiğinizde farkların önemli bir kısmı açıklanır.

Adam/gün ücreti neye göre belirlenir?

Rolün uzmanlık düzeyi, ekibin deneyimi, kullanılan teknoloji ve firmanın çalışma modeli ücreti belirler. Bir teklifteki adam/gün sayısını değerlendirirken ücret kadar tahminin hangi iş kırılımına dayandığına da bakın.

Sabit fiyat mı, zaman ve malzeme mi daha avantajlı?

Kapsam netse sabit fiyat bütçe öngörülebilirliği sağlar. Kapsam belirsizse ya da ürün kullanım verisiyle şekillenecekse zaman ve malzeme modeli daha esnektir. Pek çok projede analiz aşamasını ayrı fiyatlayıp geliştirmeyi sonra sabitlemek dengeli bir yoldur.

Yazılım teslim edildikten sonra ek maliyet olur mu?

Olur. Barındırma, lisanslar, üçüncü taraf servisler, güvenlik güncellemeleri ve küçük geliştirmeler yayından sonra da sürer. Bu kalemleri baştan sormak, toplam bütçeyi doğru planlamanızı sağlar.

Özel yazılım fiyatları için ön tahmin almak mümkün mü?

Kısa bir ihtiyaç özetiyle kaba bir aralık alınabilir, ama bu aralık kapsam netleştikçe değişir. Gerçekçi bir fiyat için gereksinimlerin yazılı olması ve entegrasyonların bilinmesi gerekir.

Yazılım projenizin kapsamını ve maliyet kalemlerini birlikte netleştirmek isterseniz ihtiyacınızı Granobra ile paylaşın. Projenizi konuşalım: teklif alın.

Diğer Yazılar

Web tasarım, yazılım, marka kimliği ve dijital pazarlama üzerine diğer yazılarımızı inceleyin. Farklı yaklaşımları ve proje planlarken dikkate alınabilecek noktaları keşfedin.

Projenizin kapsamını birlikte netleştirelim.

Web, yazılım veya tasarım ihtiyacınızı ve hedeflediğiniz takvimi paylaşın. Projenize uygun hizmet kapsamı ve çalışma planı üzerinden ilerleyelim.

Projenizi Konuşalım