SlideShare a Scribd company logo
1 of 15
Sürüm Yönetiminin aslında esas hedefi ve çıktısı

sağlıklı Sürüm Notlarıdır. Sürüm Notları bir yazılıma ait
işlerin (new feature & bug fix) ne zaman ve hangi
sürümde devreye alınacağını veya alındığını gösterir.
 Sağlıklı bir Sürüm Notu hazırlamak için

öncelikle güzel bir araca ihtiyacımız var. Biz JIRA’yı
tercih ediyoruz.
Geliştirdiğimiz proje, ürün, uygulama vs. ile ilgili her

türlü konuyu (bug, task, new feature, improvement,
problem, support request, etc.) Issue Tracking Tool
üzerinden takip etmemiz gerekiyor.
 Herhangi bir ortamda (DEV, TEST, PROD) uygulama

kullanılırken tespit edilen hatalar takip sistemine
girilirken (affect version) kullanılmalıdır. Bu sayede
hatanın hangi versiyonda ortaya çıktığı belli olacak ve
Sürüm Notlarında gözükecektir.
 Bir hata çözüldüğünde veya bir istek

tamamlandığında bu işin hangi sürümle (fix version)
devreye alınacağı mutlaka İş Takip Aracı'nda
belirtilmelidir. Bu bilgi Sürüm Notlarının
hazırlanabilmesi için çok önemlidir.
Bu bilgileri kullanarak Sürüm Notlarını online olarak
takip edebiliriz.
 Sürüm Yönetimi açısından en önemli konulardan biri

de kodlar'daki değişikliklerin sürüm kapsamında yapılıp
yapılmadığının kontrolüdür. Hiç kimse kapsam dışındaki
bir değişikliğin production ortamına alınmasını istemez.
Bunun önlemenin en iyi yolu Versiyon Kontrol
Araçlarındaki değişikliklerin, İş Takip Araçlarındaki
konularla ilişkilendirilmesidir.
 Eğer developer'lar her check-in yaptıklarında, kod'un

içerisinde ilgili yere bu değişikliğin nedeni olan
IssueKey'i comment olarak yazarlarsa, JIRA ve CVS'in
entegre olduğu durumlarda bu değişiklik JIRA'daki ilgili
issue ile ilişkilendirilir ve raporlanır. Biz git üzerinden
branch sistemi ile gitmeyi tercih ediyoruz. Bunun
avantajları ve dez avantajları vardır.
Bir sürüm kapsamındaki işlerin bağımlılıklarının takip

edilmesi çok önemlidir. Örneğin 2.1.7 sürümünde
çıkartacağınız bir iyileştirmenin bir parçası 2.2.0
sürümde çıkartmayı planladığınız bir iyileştirmeye
bağımlı ise Sürüm Planını tekrardan yapmanız
gerekecektir. Burada esas sorun planın tekrar yapılması
değil bu bağımlılığın önceden ve kolayca tespit
edilebilmesidir.
 Her developer ve QA'in production ortamının

replikası olan testboxları var.
 Developerlar test edilmeye göndermeden önce

yazdıkları kodu jiradaki issue numarasını verdikleri
branchlere merge ediyorlar ve testboxlarına deploy
edip kontrol ediyorlar.
 Teste gelen işler masterla merge edilip QA

tarafından testboxlara deploy edip sadece yapılan kod
değişikliğini test ediyorlar.
 Testten geçen issue'ların branchleri dev-ops ekibi

tarafından kendi yazdığımız bir scriptle birleştirilip fix
versionları ekleniyor.
Çıkan conflictler dev-ops ekibinin takibinde conflict
çıkan branchin developer'ı tarafından düzeltiliyor.
Bu işlemler tamamlandıktan sonra release paketi devops ekibi tarafından testbox'a deploy ediliyor ve eğer
varsa operation document'i uygulanıyor (SQL,curl etc.)
 QA otomasyon ekibi otomatik testleri bu paket

üzerinde çalıştırıyor. Ve Qa manuel ekibi system
checklisti uyguluyor. Bu aşamaya pre-production testi
diyoruz.
Testten geçen paket onaylanıp dev-ops ekibine
gönderiliyor .
 Dev-ops tarafından release rename ediliyor ve

system-admin ekibine deployment approval statusuna
gönderiliyor.
 Deployment yapıldıktan sonra QA release notes'u

yayınlıyor.
Post-production testi yapılıp issuelar kapatılıyor.
Karşılaşılan buglar affected version eklenerek jiraya
açılıyor.

More Related Content

Similar to Release Management

Abapgit kurulum kullanım
Abapgit kurulum kullanımAbapgit kurulum kullanım
Abapgit kurulum kullanımEliflknurNACAR
 
Yazılım Mimarileri - Yazılım Geliştirme Modelleri
Yazılım Mimarileri - Yazılım Geliştirme ModelleriYazılım Mimarileri - Yazılım Geliştirme Modelleri
Yazılım Mimarileri - Yazılım Geliştirme ModelleriKubra Kose
 
Hepsiburada Micro Frontends Dönüşümü
Hepsiburada Micro Frontends DönüşümüHepsiburada Micro Frontends Dönüşümü
Hepsiburada Micro Frontends DönüşümüOğuzhan Aslan
 
Developer Tools
Developer ToolsDeveloper Tools
Developer ToolsBurak Erol
 
Gartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
Gartner EEE - Yazılım Geliştirme - SoftTech DeneyimleriGartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
Gartner EEE - Yazılım Geliştirme - SoftTech Deneyimlerihalilaksu
 
Tıbbi cihazlarda yazılım yaşam çevrimi EN 62304
Tıbbi cihazlarda yazılım yaşam çevrimi EN 62304Tıbbi cihazlarda yazılım yaşam çevrimi EN 62304
Tıbbi cihazlarda yazılım yaşam çevrimi EN 62304S.Oguz Savas
 
Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)Ahmet Yanik
 
Application Compatibility (Uygulama Uyumluluğu)
Application Compatibility (Uygulama Uyumluluğu)Application Compatibility (Uygulama Uyumluluğu)
Application Compatibility (Uygulama Uyumluluğu)windowsblogu
 
Office 2010 Araçları
Office 2010 AraçlarıOffice 2010 Araçları
Office 2010 AraçlarıEren Caner
 
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleriVisual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleriMurat Başeren
 
Solarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch ManagerSolarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch ManagerKavi International
 
Yazılım mühendisliğinde i̇nsan bilgisayar etkileşimi
Yazılım mühendisliğinde i̇nsan bilgisayar etkileşimiYazılım mühendisliğinde i̇nsan bilgisayar etkileşimi
Yazılım mühendisliğinde i̇nsan bilgisayar etkileşimiBetul Kesimal
 
JİRA'ya Giriş / Atlassian
JİRA'ya Giriş / AtlassianJİRA'ya Giriş / Atlassian
JİRA'ya Giriş / AtlassianCansu Kaya
 

Similar to Release Management (20)

Abapgit kurulum kullanım
Abapgit kurulum kullanımAbapgit kurulum kullanım
Abapgit kurulum kullanım
 
Yazılım Mimarileri - Yazılım Geliştirme Modelleri
Yazılım Mimarileri - Yazılım Geliştirme ModelleriYazılım Mimarileri - Yazılım Geliştirme Modelleri
Yazılım Mimarileri - Yazılım Geliştirme Modelleri
 
Hepsiburada Micro Frontends Dönüşümü
Hepsiburada Micro Frontends DönüşümüHepsiburada Micro Frontends Dönüşümü
Hepsiburada Micro Frontends Dönüşümü
 
Developer Tools
Developer ToolsDeveloper Tools
Developer Tools
 
Gartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
Gartner EEE - Yazılım Geliştirme - SoftTech DeneyimleriGartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
Gartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
 
Tıbbi cihazlarda yazılım yaşam çevrimi EN 62304
Tıbbi cihazlarda yazılım yaşam çevrimi EN 62304Tıbbi cihazlarda yazılım yaşam çevrimi EN 62304
Tıbbi cihazlarda yazılım yaşam çevrimi EN 62304
 
Teste bakıs v01
Teste bakıs v01Teste bakıs v01
Teste bakıs v01
 
Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)
 
Application Compatibility (Uygulama Uyumluluğu)
Application Compatibility (Uygulama Uyumluluğu)Application Compatibility (Uygulama Uyumluluğu)
Application Compatibility (Uygulama Uyumluluğu)
 
Office 2010 Araçları
Office 2010 AraçlarıOffice 2010 Araçları
Office 2010 Araçları
 
Visual Studio Developer Tools
Visual Studio Developer ToolsVisual Studio Developer Tools
Visual Studio Developer Tools
 
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleriVisual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
 
Bilgi sis..
Bilgi sis..Bilgi sis..
Bilgi sis..
 
Solarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch ManagerSolarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch Manager
 
Yazılım mühendisliğinde i̇nsan bilgisayar etkileşimi
Yazılım mühendisliğinde i̇nsan bilgisayar etkileşimiYazılım mühendisliğinde i̇nsan bilgisayar etkileşimi
Yazılım mühendisliğinde i̇nsan bilgisayar etkileşimi
 
Delphi Menu
Delphi MenuDelphi Menu
Delphi Menu
 
Menüler
MenülerMenüler
Menüler
 
Yazılım Gereksinim Mühendisliği Semineri
Yazılım Gereksinim Mühendisliği SemineriYazılım Gereksinim Mühendisliği Semineri
Yazılım Gereksinim Mühendisliği Semineri
 
JİRA'ya Giriş / Atlassian
JİRA'ya Giriş / AtlassianJİRA'ya Giriş / Atlassian
JİRA'ya Giriş / Atlassian
 
CVS
CVSCVS
CVS
 

Release Management

  • 1. Sürüm Yönetiminin aslında esas hedefi ve çıktısı sağlıklı Sürüm Notlarıdır. Sürüm Notları bir yazılıma ait işlerin (new feature & bug fix) ne zaman ve hangi sürümde devreye alınacağını veya alındığını gösterir.
  • 2.  Sağlıklı bir Sürüm Notu hazırlamak için öncelikle güzel bir araca ihtiyacımız var. Biz JIRA’yı tercih ediyoruz.
  • 3. Geliştirdiğimiz proje, ürün, uygulama vs. ile ilgili her türlü konuyu (bug, task, new feature, improvement, problem, support request, etc.) Issue Tracking Tool üzerinden takip etmemiz gerekiyor.
  • 4.  Herhangi bir ortamda (DEV, TEST, PROD) uygulama kullanılırken tespit edilen hatalar takip sistemine girilirken (affect version) kullanılmalıdır. Bu sayede hatanın hangi versiyonda ortaya çıktığı belli olacak ve Sürüm Notlarında gözükecektir.
  • 5.  Bir hata çözüldüğünde veya bir istek tamamlandığında bu işin hangi sürümle (fix version) devreye alınacağı mutlaka İş Takip Aracı'nda belirtilmelidir. Bu bilgi Sürüm Notlarının hazırlanabilmesi için çok önemlidir. Bu bilgileri kullanarak Sürüm Notlarını online olarak takip edebiliriz.
  • 6.  Sürüm Yönetimi açısından en önemli konulardan biri de kodlar'daki değişikliklerin sürüm kapsamında yapılıp yapılmadığının kontrolüdür. Hiç kimse kapsam dışındaki bir değişikliğin production ortamına alınmasını istemez. Bunun önlemenin en iyi yolu Versiyon Kontrol Araçlarındaki değişikliklerin, İş Takip Araçlarındaki konularla ilişkilendirilmesidir.
  • 7.  Eğer developer'lar her check-in yaptıklarında, kod'un içerisinde ilgili yere bu değişikliğin nedeni olan IssueKey'i comment olarak yazarlarsa, JIRA ve CVS'in entegre olduğu durumlarda bu değişiklik JIRA'daki ilgili issue ile ilişkilendirilir ve raporlanır. Biz git üzerinden branch sistemi ile gitmeyi tercih ediyoruz. Bunun avantajları ve dez avantajları vardır.
  • 8. Bir sürüm kapsamındaki işlerin bağımlılıklarının takip edilmesi çok önemlidir. Örneğin 2.1.7 sürümünde çıkartacağınız bir iyileştirmenin bir parçası 2.2.0 sürümde çıkartmayı planladığınız bir iyileştirmeye bağımlı ise Sürüm Planını tekrardan yapmanız gerekecektir. Burada esas sorun planın tekrar yapılması değil bu bağımlılığın önceden ve kolayca tespit edilebilmesidir.
  • 9.  Her developer ve QA'in production ortamının replikası olan testboxları var.
  • 10.  Developerlar test edilmeye göndermeden önce yazdıkları kodu jiradaki issue numarasını verdikleri branchlere merge ediyorlar ve testboxlarına deploy edip kontrol ediyorlar.
  • 11.  Teste gelen işler masterla merge edilip QA tarafından testboxlara deploy edip sadece yapılan kod değişikliğini test ediyorlar.
  • 12.  Testten geçen issue'ların branchleri dev-ops ekibi tarafından kendi yazdığımız bir scriptle birleştirilip fix versionları ekleniyor. Çıkan conflictler dev-ops ekibinin takibinde conflict çıkan branchin developer'ı tarafından düzeltiliyor. Bu işlemler tamamlandıktan sonra release paketi devops ekibi tarafından testbox'a deploy ediliyor ve eğer varsa operation document'i uygulanıyor (SQL,curl etc.)
  • 13.  QA otomasyon ekibi otomatik testleri bu paket üzerinde çalıştırıyor. Ve Qa manuel ekibi system checklisti uyguluyor. Bu aşamaya pre-production testi diyoruz. Testten geçen paket onaylanıp dev-ops ekibine gönderiliyor .
  • 14.  Dev-ops tarafından release rename ediliyor ve system-admin ekibine deployment approval statusuna gönderiliyor.
  • 15.  Deployment yapıldıktan sonra QA release notes'u yayınlıyor. Post-production testi yapılıp issuelar kapatılıyor. Karşılaşılan buglar affected version eklenerek jiraya açılıyor.