ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
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 (20)

Abapgit kurulum kullanım
Abapgit kurulum kullanımAbapgit kurulum kullanım
Abapgit kurulum kullanım
EliflknurNACAR
Ìý
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
Kubra 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 Tools
Burak 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 Deneyimleri
halilaksu
Ìý
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
S.Oguz Savas
Ìý
Teste bakıs v01
Teste bakıs v01Teste bakıs v01
Teste bakıs v01
Defne Dedekargınoğlu
Ìý
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 Developer Tools
Visual Studio Developer ToolsVisual Studio Developer Tools
Visual Studio Developer Tools
Uğur Tılıkoğlu
Ìý
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
Murat BaÅŸeren
Ìý
Solarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch ManagerSolarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch Manager
Kavi 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şimi
Betul Kesimal
Ìý
Delphi Menu
Delphi MenuDelphi Menu
Delphi Menu
burcu burcu
Ìý
²Ñ±ð²Ôü±ô±ð°ù
²Ñ±ð²Ôü±ô±ð°ù²Ñ±ð²Ôü±ô±ð°ù
²Ñ±ð²Ôü±ô±ð°ù
AyÅŸe Elif Kaya
Ìý
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
GeliÅŸim Platformu BiliÅŸim TopluluÄŸu
Ìý
JÄ°RA'ya GiriÅŸ / Atlassian
JÄ°RA'ya GiriÅŸ / AtlassianJÄ°RA'ya GiriÅŸ / Atlassian
JÄ°RA'ya GiriÅŸ / Atlassian
Cansu Kaya
Ìý
CVS
CVSCVS
CVS
Muharrem Tac
Ìý
Abapgit kurulum kullanım
Abapgit kurulum kullanımAbapgit kurulum kullanım
Abapgit kurulum kullanım
EliflknurNACAR
Ìý
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
Kubra 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 Tools
Burak 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 Deneyimleri
halilaksu
Ìý
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
S.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 ozellikleri
Murat BaÅŸeren
Ìý
Solarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch ManagerSolarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch Manager
Kavi 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şimi
Betul Kesimal
Ìý
Delphi Menu
Delphi MenuDelphi Menu
Delphi Menu
burcu burcu
Ìý
²Ñ±ð²Ôü±ô±ð°ù
²Ñ±ð²Ôü±ô±ð°ù²Ñ±ð²Ôü±ô±ð°ù
²Ñ±ð²Ôü±ô±ð°ù
AyÅŸe Elif Kaya
Ìý
JÄ°RA'ya GiriÅŸ / Atlassian
JÄ°RA'ya GiriÅŸ / AtlassianJÄ°RA'ya GiriÅŸ / Atlassian
JÄ°RA'ya GiriÅŸ / Atlassian
Cansu Kaya
Ìý

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.