Web uygulaması bakım maliyeti, uygulamanın canlıya alınmasından sonra ortaya çıkan tekil teknik taleplerin toplamı değil, ürünün güvenli, kararlı ve geliştirilebilir kalmasını sağlayan sürekli bir bütçe alanıdır. Güvenlik güncellemeleri, framework ve kütüphane yükseltmeleri, hata giderme, performans takibi, sunucu yönetimi, yedekleme ve küçük geliştirmeler farklı sorumluluklar oluşturur. Bu nedenle bakım bütçesi, ilk proje bedelinden ayrı planlanmalı; rutin bakım, SLA kapsamında destek, DevOps operasyonları ve yeni özellik geliştirme aynı sözleşmede bile ölçülebilir biçimde ayrıştırılmalıdır. Bu rehber, yıllık teknik bütçeyi daha gerçekçi kurgulamak için temel karar noktalarını ele alır.

01

Web uygulaması bakım maliyeti neden ayrı planlanmalıdır?

Web uygulaması bakım maliyeti ayrı planlanmalıdır çünkü canlıya alınan bir sistem zaman içinde güvenlik, bağımlılık, performans ve operasyon ihtiyaçları üretmeye devam eder. Canlıya çıkış projenin bitişi değil, işletim döneminin başlangıcıdır; bu dönem için kaynak ayrılmadığında küçük teknik borçlar daha büyük operasyon sorunlarına dönüşebilir.

Bakım bütçesini proje bütçesinden ayırmanın nedeni

Geliştirme projesi belirli bir teslim kapsamına odaklanırken bakım hizmeti uygulamanın değişen teknoloji ortamına uyumunu sürdürür. Bu ayrım, kurumsal web uygulamasının geliştirme ve yayına alma süreci tamamlandıktan sonra hangi sorumlulukların devam edeceğini daha görünür hale getirir.

Yıllık planlama yapılırken yalnızca beklenen hata sayısı değil, kritik güncellemeler, altyapı değişiklikleri, izleme, yedekleme, teknik iyileştirmeler ve ürünün iş hedeflerine göre evrilmesi de dikkate alınmalıdır. Böylece bakım bütçesi reaktif arıza giderme yerine sürdürülebilir ürün yönetiminin parçası olur.

  • Güvenlik ve bağımlılık güncellemeleri
  • Hata analizi ve düzeltme çalışmaları
  • Performans ve erişilebilirlik takibi
  • Sunucu ve dağıtım operasyonları
  • Yedekleme ve geri dönüş kontrolleri
  • Küçük iyileştirme ve teknik borç işleri
Bir ons önlem, bir libre tedaviye bedeldir. - Benjamin Franklin
02

Bakım bütçesine hangi teknik hizmetler dahil edilmelidir?

Bakım bütçesine uygulamanın güvenli ve çalışır kalmasını sağlayan rutin teknik faaliyetler dahil edilmelidir. Bakım kapsamı yalnızca hata düzeltmekten oluşmaz; yazılım bağımlılıkları, altyapı, performans, yedekleme ve izleme gibi süreklilik sorumluluklarının da açıkça tanımlanması gerekir.

Rutin bakım hizmetlerini ölçülebilir başlıklara ayırmak

Framework, paket ve kütüphane güncellemeleri planlı periyotlarla gözden geçirilebilir; kritik güvenlik yamaları ise risk seviyesine göre daha hızlı ele alınabilir. Uygulama sunucuları, veritabanı, loglar, kaynak tüketimi ve yedekleme süreçleri için bulut ve sunucu yönetimi sorumluluklarının kimde olduğu da bakım teklifinde ayrıca belirtilmelidir.

Her hizmetin sıklığı, kapsam sınırı ve çıktısı tanımlandığında bakım sağlayıcıları daha sağlıklı karşılaştırılabilir. Örneğin güncelleme kontrolü, performans raporu veya yedek doğrulaması gibi işler yalnızca “teknik destek” başlığı altında bırakılmamalı, izlenebilir hizmet kalemlerine dönüştürülmelidir.

  • Framework ve kütüphane güncellemeleri
  • Güvenlik yaması ve zafiyet takibi
  • Hata inceleme ve düzeltme
  • Sunucu, veritabanı ve log takibi
  • Yedekleme ve geri yükleme kontrolü
  • Performans ve kaynak kullanım izlemesi
03

Bakım ile yeni özellik geliştirme nasıl ayrıştırılmalıdır?

Bakım ile yeni özellik geliştirme, işin mevcut davranışı koruyup korumadığına göre ayrıştırılmalıdır. Mevcut fonksiyonun güvenli ve beklenen biçimde çalışmasını sağlamak bakım, yeni iş kuralı, ekran, entegrasyon veya kullanıcı yeteneği eklemek ise geliştirme kapsamıdır.

Sözleşmede bakım ve değişiklik talebi sınırını çizmek

Örneğin mevcut bir sipariş ekranındaki hatanın giderilmesi bakım kapsamına girebilirken yeni onay adımı eklenmesi işlevsel geliştirmedir. Benzer şekilde desteklenen sürüme geçiş rutin bakım olabilir; ancak geçiş yeni mimari, veri modeli veya kapsamlı arayüz değişikliği gerektiriyorsa ayrı proje olarak değerlendirilmesi gerekebilir.

Bu sınırın teklif aşamasında yazılması, saat havuzunun veya aylık kapasitenin hangi işlerde kullanılacağını netleştirir. özel yazılım geliştirme sürecinin fikirden canlı kullanıma uzanan yapısı ile işletim sonrası bakım akışını birbirinden ayırmak, bütçe raporlamasını da kolaylaştırır.

  • Mevcut hataların düzeltilmesi
  • Uyumluluk ve güvenlik güncellemeleri
  • Yeni özellik ve ekran talepleri
  • Yeni entegrasyon geliştirmeleri
  • Kapsamlı mimari değişiklikler
  • Teknik borç azaltma çalışmaları
04

DevOps ve altyapı sorumlulukları bütçeyi nasıl etkiler?

DevOps ve altyapı sorumlulukları, bakım bütçesini uygulama kodunun ötesine taşıdığı için maliyeti doğrudan etkiler. Dağıtım, izleme, yedekleme ve ortam yönetimi kimin sorumluluğundaysa gerekli operasyon kapasitesi ve uzmanlık da bakım modeline dahil edilmelidir.

Uygulama desteği ile altyapı operasyonunu birlikte planlamak

Üretim, test ve geliştirme ortamlarının yönetimi; otomatik dağıtım süreçleri, SSL ve alan adı kontrolleri, veritabanı bakımı, log izleme ve kaynak kullanım takibi farklı iş paketleri oluşturabilir. Özellikle yüksek erişilebilirlik veya yoğun işlem gerektiren sistemlerde performans ve süreklilik yaklaşımı bakım kapsamının önemli bir parçasıdır.

Altyapı başka bir sağlayıcı tarafından yönetiliyorsa yazılım ekibi ile altyapı ekibi arasındaki sorumluluk sınırı açık yazılmalıdır. Aksi durumda bir kesinti sırasında uygulama, veritabanı, ağ veya bulut hizmeti kaynaklı sorunların kimin tarafından inceleneceği belirsiz kalabilir.

  • Canlı ve test ortamlarının yönetimi
  • CI/CD dağıtım süreçleri
  • Sunucu ve veritabanı izleme
  • Log toplama ve hata analizi
  • Yedekleme ve geri dönüş prosedürleri
  • Kapasite ve kaynak kullanım takibi
05

Uygulama SLA seviyesi bakım maliyetini nasıl değiştirir?

Uygulama SLA seviyesi, olaylara hangi öncelikle ve hangi hizmet penceresinde müdahale edileceğini belirlediği için bakım maliyetini etkiler. Daha kısa müdahale hedefleri daha fazla hazır kapasite gerektirebilir; bu nedenle SLA yalnızca sözleşme maddesi değil, kaynak planlama kriteridir.

Her olay için aynı müdahale seviyesini istememek

Kritik üretim kesintisi, kısmi fonksiyon kaybı ve düşük öncelikli görsel hata aynı kategoride ele alınmamalıdır. Olay seviyeleri; iş etkisi, kullanıcı etkisi ve sistemin çalışabilirliği üzerinden tanımlanabilir. Her seviye için bildirim kanalı, ilk yanıt hedefi, çalışma saatleri ve eskalasyon yöntemi açık hale getirilmelidir.

SLA kapsamında “yanıt süresi” ile “çözüm süresi” aynı anlama gelmez. Bazı sorunların kök nedeni üçüncü taraf servis, bulut sağlayıcısı veya dış entegrasyon olabilir. Bu nedenle taahhütler sağlayıcının kontrol alanı, bağımlılıklar ve kabul edilen hizmet saatleriyle birlikte değerlendirilmelidir.

  • Kritik olay sınıflandırması
  • İlk yanıt hedefleri
  • Hizmet saatleri ve nöbet modeli
  • Eskalasyon ve iletişim kanalları
  • Üçüncü taraf bağımlılıkları
  • Olay sonrası kök neden analizi
06

Aylık bakım paketi mi saat havuzu mu tercih edilmelidir?

Aylık bakım paketi veya saat havuzu seçimi, talep sıklığı ve iş yükünün öngörülebilirliğine göre yapılmalıdır. Düzenli kontrol ve sürekli operasyon gereken uygulamalarda sabit kapsam, değişken ve aralıklı taleplerde ise saat havuzu daha uygun bir yönetim modeli olabilir.

Hizmet modelini uygulamanın talep profiline göre seçmek

Sabit bakım paketleri belirli kontrollerin her ay yapılmasını, raporlanmasını ve kapasitenin önceden ayrılmasını kolaylaştırır. Saat havuzu ise dönemsel hata, küçük geliştirme veya danışmanlık ihtiyaçlarında esneklik sağlayabilir. Ancak havuzun hangi işlerde tüketileceği, devreden saat olup olmadığı ve acil işlerin nasıl önceliklendirileceği sözleşmede açıklanmalıdır.

Karar verirken yalnızca aylık bedel karşılaştırılmamalıdır. Kapsama dahil hizmetler, uzmanlık alanları, planlı bakım sıklığı, iletişim kanalları ve ek kapasitenin nasıl fiyatlandırıldığı birlikte değerlendirilmelidir. Böylece düşük kullanım dönemlerinde gereksiz kapasite, yoğun dönemlerde ise beklenmeyen maliyet riski azaltılabilir.

  • Sabit kapsamlı aylık bakım paketi
  • Ön ödemeli teknik saat havuzu
  • Talep bazlı destek modeli
  • Paket ve saat havuzu hibriti
  • Devreden kapasite kuralları
  • Ek kapasite ve öncelik koşulları
07

Sürekli geliştirme retainer modeli ne zaman anlamlıdır?

Sürekli geliştirme retainer modeli, ürün yol haritasında her ay yeni geliştirme, optimizasyon ve teknik iyileştirme ihtiyacı bulunan uygulamalarda anlamlıdır. Retainer modeli yalnız bakım değil, düzenli ürün kapasitesi satın alır; bu nedenle kapsamı klasik destek paketinden daha geniştir.

Bakım ekibinden sürekli ürün ekibine geçiş kriterleri

Ürün sürekli yeni modüller kazanıyor, kullanıcı geri bildirimleri düzenli işleniyor veya iş süreçleri sık değişiyorsa yalnız hata bazlı destek yetersiz kalabilir. Retainer modelinde analiz, geliştirme, test, DevOps ve ürün koordinasyonu için aylık kapasite ayrılabilir; öncelikler belirli dönemlerde yeniden sıralanabilir.

Bu modelin verimli olması için backlog yönetimi, kapasite ölçümü, tamamlanan işlerin raporlanması ve sonraki dönem önceliklerinin ortak planlanması gerekir. Aksi durumda retainer belirsiz bir “ekip erişimi” ücretine dönüşebilir. Kapasitenin hangi rollerden oluştuğu ve bakım taleplerinin bu kapasiteyi tüketip tüketmediği de sözleşmede belirtilmelidir.

  • Düzenli ürün yol haritası
  • Sürekli küçük ve orta geliştirmeler
  • Planlı teknik borç azaltımı
  • Analiz, geliştirme ve test kapasitesi
  • Backlog ve öncelik yönetimi
  • Aylık çıktı ve kapasite raporlaması
08

Yıllık web uygulaması bakım bütçesi nasıl oluşturulur?

Yıllık bakım bütçesi, rutin bakım kapasitesi ile öngörülemeyen teknik ihtiyaçlar ve planlı geliştirme kapasitesini ayrı kalemlerde ele alarak oluşturulmalıdır. Tek bir yıllık toplam yerine bütçe katmanları kullanmak, gerçek kullanımın ve değişiklik taleplerinin daha kolay izlenmesini sağlar.

Sabit ve değişken teknik maliyetleri ayırmak

Sabit katmanda izleme, yedek kontrolü, güncelleme takibi ve belirlenmiş destek seviyesi bulunabilir. Değişken katmanda beklenmeyen hata araştırmaları, dış servis değişiklikleri, kapasite artışı veya plan dışı teknik işler yer alabilir. Ürün geliştirme bütçesi ise yeni özellik yol haritasına göre ayrıca ayrılmalıdır.

Yıllık plan, uygulamanın kritikliği, kullanıcı sayısından çok işlem yoğunluğu, entegrasyon bağımlılıkları, teknoloji yığını ve şirket içi teknik ekibin sorumluluklarıyla birlikte değerlendirilmelidir. Böylece dış sağlayıcıdan alınacak hizmet yalnızca “aylık bakım” olarak değil, toplam sahip olma maliyetinin ölçülebilir bir bileşeni olarak görülebilir.

  • Rutin bakım için sabit kapasite
  • SLA ve destek hizmeti bütçesi
  • Altyapı ve üçüncü taraf giderleri
  • Beklenmeyen teknik işler için rezerv
  • Planlı sürüm ve yükseltme çalışmaları
  • Yeni özellik geliştirme bütçesi
09

Bakım teklifinde hangi sorumluluklar açıkça yazılmalıdır?

Bakım teklifinde hizmet kapsamı, sorumluluk sınırları, SLA, iletişim yöntemi, hariç tutulan işler ve yeni geliştirme süreci açıkça yazılmalıdır. İyi bir bakım teklifi yalnız fiyatı değil hizmetin nasıl işletileceğini tanımlar; böylece farklı sağlayıcıların teklifleri ortak kriterlerle karşılaştırılabilir.

Teknik teklifleri aynı kapsam üzerinden karşılaştırmak

Uygulama kodu, sunucu, veritabanı, bulut hesabı, alan adı, sertifikalar, üçüncü taraf servisler ve yedekleme için kimin sorumlu olduğu belirtilmelidir. Teklif yapısını karşılaştırırken web uygulaması tekliflerinde fiyat, kapsam ve sözleşme kontrol kriterleri bakım dönemine uyarlanabilir.

Ayrıca iş talebinin nasıl açılacağı, önceliğin kim tarafından belirleneceği, kullanılan saat veya kapasitenin nasıl raporlanacağı ve kapsam dışı işlerin nasıl onaylanacağı yazılı olmalıdır. Kaynak kodu ve erişim hesaplarının sahipliği de bakım sağlayıcısına gereksiz bağımlılığı önlemek için net tutulmalıdır.

  • Uygulama ve altyapı sorumlulukları
  • SLA seviyeleri ve hizmet saatleri
  • Dahil ve hariç iş tanımları
  • Talep, öncelik ve onay süreci
  • Kapasite ve kullanım raporlaması
  • Erişim, kod ve hesap sahipliği
10

Bakım ve sürekli geliştirme teklifi nasıl hazırlanmalıdır?

Bakım ve sürekli geliştirme teklifi, uygulamanın mevcut teknik durumu ile beklenen hizmet seviyesinin birlikte değerlendirilmesiyle hazırlanmalıdır. Sağlıklı teklif için önce sorumluluk ve talep profili görünür hale getirilmelidir; aksi durumda sağlayıcılar farklı varsayımlarla fiyatlandırma yapabilir.

Teklif öncesi hazırlanacak teknik bilgi seti

Teknoloji yığını, sunucu mimarisi, mevcut entegrasyonlar, kullanıcı ve işlem yoğunluğu, bilinen teknik borçlar, mevcut izleme araçları ve beklenen destek saatleri başlangıç verisi olarak paylaşılabilir. Güvenlik beklentileri için güvenlik hizmetlerinin nasıl yönetildiğine ilişkin çerçeve de bakım sorumluluklarının ayrıştırılmasına yardımcı olabilir.

Bu bilgiler üzerinden rutin bakım, SLA desteği, DevOps, saat havuzu ve sürekli geliştirme kapasitesi ayrı kalemler halinde istenebilir. Böylece uygulama sahibi yalnız başlangıç teklifini değil, yıllık işletim modelini ve büyüme dönemlerinde ek kapasitenin nasıl devreye alınacağını da değerlendirebilir.

  • Teknoloji yığını ve mevcut sürümler
  • Altyapı ve entegrasyon envanteri
  • Beklenen destek ve SLA seviyesi
  • Rutin bakım görevleri
  • Aylık geliştirme ihtiyacı
  • Raporlama ve sorumluluk modeli

Web Uygulamanız İçin Sürdürülebilir Destek Modeli Oluşturun

Bakım, güvenlik, DevOps ve sürekli geliştirme ihtiyaçlarınızı birlikte kapsamlandırarak uygulamanıza uygun destek modeli ve teklif çalışması talep edin.

Destek Modeli İçin Teklif Alın