Smart Maple
alm

Yazılım Yaşam Döngüsü Yönetimi (ALM): Uçtan Uca Rehber [2026]

Mehmet Kurtipek
March 1, 2026
8 min read
alm
yazılım yaşam döngüsü
sürüm yönetimi
gereksinim yönetimi
yazılım emeklilik

ALM Nedir ve Neden Önemli?

ALM (Application Lifecycle Management), yazılımın doğumundan, yaşamından ve ölümüne kadarki tüm süreci yönetmektir.

Şöyle hayal edin:

  • Doğum: İşletmenin "Bu özellik gerekli" dediğinde, yazılım düşünülür.
  • Gebelik: Gereksinimler tanımlanır, tasarlanır, geliştirme yapılır.
  • Doğum: Yazılım, üretim ortamında canlı alınır.
  • Hayat: Bakım, güncellemeler, iyileştirmeler yapılır.
  • Yaşlanma: Hata oranı artıyor, bakım maliyeti yükseli. Modernizasyon düşünülür.
  • Ölüm: Yazılım, emekli alınır, yerine yeni yazılım konur.

Başarılı ALM, bu tüm fazların koordineli çalışması demektir.

Neden önemli?

  1. Verimliliği Artırır: Tüm taraflar (iş, geliştirme, operasyon), aynı sayfada. İşlemler standartlaştırılmış, tekrar olmaz.

  2. Riskleri Azaltır: Değişiklikler kontrol altında, rollback imkanlı. Hatalar, erken aşamada tespit edilir.

  3. Maliyetleri Azaltır: Yazılım, tüm ömrü boyunca yönetilirse, israf azalır.

  4. İş Uyumunu Sağlar: Yazılım, iş ihtiyaçları takip eder. İş tarafıyla yazılım tarafının gap'ı kapatılır.

ALM Fazları

Başarılı ALM, belirli fazlardan oluşur. Her faza, belirli aktiviteler ve çıktılar vardır.

Faz 1: Planlama ve Gereksinim Yönetimi

İşletme, ne istediğini tanımlar.

Aktiviteler:

  • Stratejik hedefler: Neden bu yazılımı yapıyoruz?
  • Gereksinimler: Hangi özellikler gerekli?
  • Tahmin: Kaç zaman, kaç para?
  • İnsan Kaynakları: Kaç geliştirici, kaç test?

Çıktılar:

  • Proje Amaçları belgesi
  • Yazılım Gereksinimler belgesi (SRS)
  • Proje Planı (Gantt şeması, bütçe)

Araçlar: Jira, Azure DevOps, GitLab, Asana

Süresi: 1-3 ay, proje büyüklüğüne göre.

Bu faza yönetimi kötü yapılırsa, sonrasında tüm kötü olur. Gereksinimler açık değilse, geliştirme kaybolur.

Faz 2: Tasarım

Gereksimleri, teknik bir tasarıma dönüştür.

Aktiviteler:

  • Mimari Tasarım: Sistem, kaç parçaya bölünür? Hangi teknoloji?
  • Detay Tasarım: Veritabanı şeması, API tasarımı, kullanıcı arayüzü wireframe.
  • Test Planı: Yazılım nasıl test edilecek?

Çıktılar:

  • Sistem Mimarisi Diyagramları
  • Database Şeması
  • API Spesifikasyonları
  • Test Planı

Araçlar: Lucidchart, Figma, ArchiMate, OpenAPI

Süresi: 2-4 hafta.

İyi tasarım, sonraki aşamaları hızlandırır. İyi tasarım, geliştirmeyi rehberlendirer.

Faz 3: Geliştirme (Development)

Kod yazılır.

Aktiviteler:

  • Kodu yazma
  • Code review (başka geliştirici, kodu kontrol ediyor)
  • Unit testing (geliştirici, kendi kodunu test ediyor)
  • Version control (Git, tüm kod değişiklikleri trace edilir)

Çıktılar:

  • Yazılım Kodu (Git repository)
  • Build Artifacts (derlenmiş dosyalar)

Araçler: Git, GitHub, GitLab, Jenkins, VS Code

Süresi: İnsan kaynağına göre değişir. Ortalama 3-12 ay.

Geliştirme, ALM'nin "üretim" adımıdır. Kalite burada oluşturulur veya kaybolur. Code review, test, design disiplini kritik.

Faz 4: Test ve Kalite Güvencesi

Yazılım, çalışır mı? Hatasız mı?

Aktiviteler:

  • Fonksiyonel Test: "Özellik, tarifine göre çalışır mı?"
  • Performans Test: "Sistem, ağır yükleri taşır mı?"
  • Güvenlik Test: "Yazılım, saldırılara karşı güvenli mi?"
  • Kullanıcı Test: "Gerçek kullanıcı, onu kullanabilir mi?"

Çıktılar:

  • Test Raporları
  • Hata Raporu (bug list)
  • Uyum Belgesi

Araçler: TestNG, Selenium, JUnit, JIRA, Load Test tools

Süresi: 2-4 hafta.

Test, çoğu zaman kısaltılır. Pazara hızlı girmek için. Ama kötü kalite = müşteri sorunu = uzun vadede daha pahalı.

Faz 5: Dağıtım (Deployment)

Yazılım, üretim ortamına gider.

Aktiviteler:

  • Dağıtım Planı: Nasıl hatasız konacak?
  • Dağıtım Sonrası Test: Üretim ortamında, çalışır mı?
  • Rollback Planı: Hata olursa, geri dönebilir mi?
  • Kullanıcı Eğitimi: Kullanıcılara, nasıl kullanacağını öğret.

Çıktılar:

  • Dağıtım Belgesi
  • Kullanıcı El Kitabı
  • Release Notes

Araçler: Docker, Kubernetes, GitOps, Ansible

Süresi: 1-2 hafta.

Dağıtım, sıkı işlemle yapılmalı. Hata, müşteriye doğrudan etkiler. Birçok kuruluş, sabah veya hafta sonunda dağıtır (sorun olursa, destek mevcut).

Faz 6: Operasyon ve Bakım

Yazılım, üretimde çalışıyor. Sorunlar oluşabilir.

Aktiviteler:

  • Monitoring: Yazılımın sağlığı kontrol edilir.
  • Destek: Kullanıcı problemi çöz.
  • Maintenance: Hata düzeltme, güvenlik update.
  • Performance Optimization: Sistem yavaşlarsa, hızlandır.

Çıktılar:

  • Incident Reports
  • Performance Metrics
  • Patch Releases

Araçlar: DataDog, Splunk, PagerDuty, Jira

Süresi: Yazılımın tüm ömrü (yıllar).

Operasyon ve bakım, ALM'nin "çoğunu tüketiyor. Yazılımın yüzde 60-80 maliyeti burada. Etkili yönetim, kritik.

Faz 7: Emeklilik (Retirement)

Yazılım, artık gerekli değil. Devre dışı bırakılır.

Aktiviteler:

  • Data Migration: Veriler, yeni sisteme taşınır.
  • Sistem Kapatma: Eski sistem, devre dışı bırakılır.
  • Archive: Tarihsel veriler, saklanır.

Çıktılar:

  • Emeklilik Belgesi
  • Data Backup

Araçlar: Veritabanı yönetimi, archiving systems

Süresi: 1-6 ay.

Emeklilik, çoğu zaman görmezden gelinir. Sonuç: Eski sistemler "vegetative state"'de kalır, bakım yapılmayan, teknik borç birikmiş halde.

Gereksinim Yönetimi: Başı Doğru Yapmak

Gereksinim, ALM'nin temeli. Kötü gereksinimler, kötü yazılım yaratır.

Yaygın sorunlar:

Muğlak Gereksinimler: "Sistem hızlı olmalı" vs "Yanıt süresi 500ms'yi aşmamalı". İkincisi, ölçülebilir.

Eksik Gereksinimler: "Yapabilir" olan şey "yapmalı" olmuyor. Geliştirici, yanlış karar alıyor.

Çakışan Gereksinimler: İş tarafından A isteniyor, B isteniyor, ancak kettisi beraber yapılamıyor. Karar verilmesi lazım.

Değişen Gereksinimler: Proje yarısında, yeni gereksinim ortaya çıkıyor. Plana etki ediyor.

Etkili gereksinim yönetimi:

  1. Açık: Her gereksinim, somut, ölçülebilir, test edilebilir.
  2. Öncelikli: Hangi gereksinim önemli? "Tümü" değil, "bazısı".
  3. Trace: Her gereksinimden, koda, teste, belgeleemeye kadar izleme.
  4. Değişim Kontrol: Gereksinim değişirse, etkisi nedir? Maliyeti? Plana kaç gün eklenir?

Araçlar: Jira, Azure DevOps, Confluence. Bunları kullanarak, gereksinimler merkezi yerde tutulur.

Sürüm Planlama ve Yayımlama

Yazılım, tek bir parça değil, zamanla gelişir.

Major Releases: Büyük özellik ekleme. (Örneğin v1.0 -> v2.0). Aylar alır, büyük planlama gereklirir.

Minor Releases: Küçük özellik, hata düzeltme. (Örneğin v1.0 -> v1.1). Haftalarca alır.

Patches: Sadece hata düzeltme. (Örneğin v1.0.1). Günlerce alır.

Sürüm Planlama Prosesi:

  1. Backlog Oluşturma: Yapılması gereken tüm işlerin listesi.
  2. Backlog Refinement: Hangi işler bu sürüme girer? İş tarafı ve geliştirme, prioritize eder.
  3. Sprint Planlama: 2-3 haftalık sprintlere böl. Kim, ne yapacak?
  4. Daily Standup: Her gün, ilerleme raporu.
  5. Sprint Review: Sprint sonunda, yapılan işler gösteriliyor. Kullanıcı ve iş tarafı, feedback veriyor.
  6. Sprint Retrospective: Ekip, neler iyiye, neler kötüye gitti, tartışıyor. Gelecekte iyileştirmeler.

Popüler metodoloji: Scrum, Kanban.

Araçlar: Jira, GitHub Projects, Azure DevOps.

Etkili sürüm yönetimi, öngörülebilir teslimaş, müşteri memnuniyeti sağlar.

Uyum Yönetimi: Düzenli ve Denetlenmiş

Yazılım, düzenleyici gereksinimlere uymalı. GDPR, finansa, sağlık, vs.

Uyum Yönetimi:

  1. Gereksinimleri Anlama: Hangi düzenlemeler geçerli?
  2. Yazılımı Kontrol Etme: Uyumlu mu?
  3. Audit Trail: Tüm değişiklikleri belgelemeye.
  4. Sertifikasyon: İç veya dış denetçi, uyumu kanıtlıyor.

Araçlar: Confluence, Git logs, secure logging systems.

Yazılım Emeklilik: Sonu Planlamak

Yazılım, bir gün, devre dışı bırakılacak. Plansız bırakılmışsa, kaos.

Emeklilik Planlaması:

  1. Yeni Sistem Belirleme: Hangi yazılım, bunu değiştiriyor?
  2. Data Migration: Eski veriler, yeni sisteme taşınır.
  3. Kullanıcı Geçişi: Kullanıcılar, yeni sisteme alışır.
  4. Eski Sistem Kapatma: Trafiği yeni sisteme, kademeli olarak yönetelir.
  5. Archive: Tarihsel veriler, saklanır (legal gereksinimler için).

Zaman Çerçevesi: 1-6 ay.

Emeklilik yapılmadığında, sistemler "zombie" haline gelir: Kimse bakım yapmıyor, ama yeterince eski değil tamamen kapanması için.

ALM Araçları

Birçok araç, ALM'yi destekler:

Jira

Atlassian tarafından. Proje yönetimi, gereksinim takibi, bug tracking.

Avantaj: Çok feature, entegrasyonlar, Agile desteği.
Dezavantaj: Bazen karmaşık, self-hosted maliyetli.

GitHub

Kod repo + işlem yönetimi. Açık kaynak projeler için, ücretsiz.

Avantaj: Simple, geliştiriciler severler, git entegre.
Dezavantaj: Kurumsal özellikler sınırlı.

GitLab

GitHub'a alternatif, self-hosted seçeneği var.

Avantaj: DevOps odaklı, CI/CD entegre, açık kaynak.
Dezavantaj: Daha az popüler GitHub'dan.

Azure DevOps

Microsoft tarafından. Proje yönetimi, kod repo, test, deployment.

Avantaj: Windows/Azure ortamında çok iyi, kurumsal destek.
Dezavantaj: Öğrenme eğrisi, Microsoft besli.

Seçim, ekip tercihine ve altyapıya göre.

Agile vs Waterfall: ALM'de Metodoloji

ALM, metodolojiden bağımsız. Ama uygulamada, metodoloji seçimi önemlidir.

Waterfall (Klasik):

Aşama aşama: Planlama -> Tasarım -> Geliştirme -> Test -> Dağıtım.

Avantaj: Öngörülebilir, büyük projeler (havalimanı, banka) için uygun.
Dezavantaj: Değişikliklere kötü uyum, hata geç bulunur.

Agile (Çevik):

İterasyona dayalı: 2 haftalık sprint'ler, her sprint'te yazılım parçası teslim.

Avantaj: Değişikliklere uyum, erken feedback, hata erken tespit.
Dezavantaj: Başlangıçta öngörülemezlik, skop kayması.

Çoğu kurumsal proje, bugün "Agile-Waterfall" (ikisinin karması) kullanıyor. Sabit scope ve timeline, ama iteratif delivery.

ALM, her metodoloji içinde uygulanabilir. Anahtar, tutarlı süreç.

DevOps ve ALM: Modern Yaklaşım

DevOps, "Geliştirme" ve "Operasyon" birleştirmesi. ALM ile tamamlayıcı.

ALM: Planlama, Geliştirme, Test, Dağıtım, İşletme.
DevOps: Planlama, Geliştirme, Test, Dağıtım, İşletme, İzleme, İyileştirme (geri bildirim döngüsü).

Fark: DevOps, feedback loop'u vurgular. Deploy sonrası, hemen geri bildirim alınır ve geliştirilir.

DevOps araçları: CI/CD (Jenkins, GitLab), IaC (Terraform), Containers (Docker, Kubernetes).

Modern ALM, DevOps disiplini içerir.

Best Practices: ALM Başarılı Kurma

  1. Standartlaştırma: Tüm projeler, aynı ALM süreci. Öngörülebilir.

  2. Otomasyonu Artır: Code build, test, deployment otomatik olsun. El ile yapılan, hata yaratır.

  3. Ölçüm ve Raporlama: Yazılım delivery hızı, kalite, maliyet, ölçülmeli.

  4. Ekip Eğitimi: Tüm taraflar (iş, geliştirme, operasyon), ALM prosesini bilmelidir.

  5. Continuous Improvement: Süreçleri düzenli gözden geçir, iyileştir.

  6. DevOps Kultur: Geliştirme ve operasyon, birlikte çalışmalıdır.

  7. Traceability: Her gereksinimden, koddan, teste, belgeleemeye kadar, bir link. Denetlenebilir.

Sonuç: ALM, Yazılım Olgunluğunun Göstergesi

Yazılım geliştirme, harita olmadan seyahat gibi. Harita (ALM), yolu gösterir, risk azaltır, kaynak optimize eder.

Etkili ALM, geliştirme ekibini, operasyon ekibini, iş tarafını, bir arada tutuk. Açık iletişim, açık amaçlar, açık süreçler.

Daha geniş bağlam için, Kurumsal Yazılım Bakım ve Modernizasyon rehberimizi okuyun. Teknik Borç Yönetimi, ALM süreci içinde, teknik kaliteyi korumayı tartışır. Legacy Sistem Modernizasyonu, eski yazılımları, bu ALM disiplini kullanarak, dönüştürme stratejilerini açıklar.

ALM yol haritası oluşturmak istiyorsanız, Smart Maple danışmanları yardımcı olabilir. Mevcut prosesleri değerlendirerek, iyileştirme planı, araç seçimi, ekip eğitimi sunabiliriz. Ziyaret edin smart-maple.com adresini daha fazla bilgi için.

Related Articles

February 28, 2026

Pazaryeri Entegrasyon Yazılımı: Trendyol, Hepsiburada ve Amazon Türkiye [2026]

Türkiye'de satış yapmak artık tek bir kanal üzerinden imkansız hale geldi. 2026 yılında, e-ticaret satışlarının yüzde 70-80'i üçüncü taraf pazaryerlerinde gerçekleşmektedir. Trendyol, Hepsiburada, Amazon Türkiye, N11, GittiGidiyor gibi platformlar, artık e-ticaret işletmelerinin hayatı değiştirebilecek bölümüdür. Ancak bu fırsat, bir sorunla birlikte gelir: her pazaryerini ayrı ayrı yönetmek, manuel olarak ürün yükleme, fiyat güncelleme, sipariş takibi imkansızdır. Büyüyen işletmeler için paza

Read More
February 27, 2026

Yapay Zeka Projesi Maliyet Analizi: Bütçe, Ekip ve ROI Hesaplama

Yapay zeka projelerine yatırım yapma kararı alan işletmeler için en kritik soru şudur: "Ne kadar maliyetli olacak?" Bu soruya net bir cevap vermek, proje kapsamından ekip bileşimine, bulut altyapısından veri yönetimine kadar birçok faktörün analiz edilmesini gerektirir. Bu rehber, yapay zeka projelerinin gerçekçi bütçelendirilmesi için bir yol haritasıdır. Yapay Zeka Projesi Maliyet Bileşenleri Bir yapay zeka projesinin toplam maliyeti, beş ana kategoriye ayrılır: insan kaynakları ve pers

Read More
February 26, 2026

Nearshore Yazılım Geliştirme: Türkiye'nin Avrupa İçin Stratejik Konumu

Üç Geliştirme Modelini Anlamak Yazılım geliştirme sürecinde coğrafi konum kritik bir karar faktörüdür. Karar vericilerin üç temel modeli anlaması gerekir: nearshore, offshore ve onshore geliştirme. Nearshore geliştirme, ekibinizi coğrafi olarak yakın, çalışma saatleri örtüşen ve iş kültürü uyumlu bir ülkeye konumlandırır. Ekipler genellikle 5 saatten kısa uçuş mesafesinde, en fazla 4 saatlik saat dilimi farkıyla çalışır. Avrupa şirketleri için Türkiye, Polonya ve Romanya bu modelin örnekleri

Read More