Yazılım Mühendisliğine Giriş - Zeynep ALTANUç Programlama /Extreme -XP Programming 3 De...
Transcript of Yazılım Mühendisliğine Giriş - Zeynep ALTANUç Programlama /Extreme -XP Programming 3 De...
Yazılım Mühendisliğine Giriş
Yazılım Geliştirme Yaşam Döngüsü (devam)
2019 GÜZ 1
2
Uç Programlama /Extreme -XP Programming
3
Değişen müşteri istekleri, ürünün yaşam döngüsü sırasında mutlaka karşılanmalıdır.
Bu yaklaşım ile geliştirilen bir yazılım projesi dört ilkeye bağlı olarak geliştirilir;
i) İletişim ii)Basitlik iii)Geri Besleme iv) Cesaret
Agile yaklaşımı ile asıl hedeflenen süreçleri etkin kullanarak hızlandırmak ve gerektiğinde bunların dokümantasyonunu almaktır.
Agile Proje Yönetimi için önemli olan kriterler: Değişime açık olunması, Takım içi iletişimin üst düzeyde olması, Hızlı ve sürekli ürün teslimi, Test odaklı olması Basit ve gerçekçi bir planlaması olmalıdır.
XP Modelleme
4
5
Çevik Yazılım Geliştirme Süreçleri
Çevik Yazılım Geliştirme Yaklaşımı
Scrum’un Yıllar içerisindeki Gelişimi
Çevik Modelleme Örneği: Scrum
Scrum Tanımı « Jeff Sutherland»
Scrum ile ürün geliştirilirken proje yöneticileri yoktur.
Proje yöneticisi yerine, takım güçlendirilmiştir.
Takım elemanları sonuçtan sorumludurlar ve kendi kendilerini yönetirler.
Klasik proje yöneticisi olan patrona, Scrumgeliştirme ortamında gerek yoktur.
Scrum Master her gün, 15 dakika kadar süren, stand-up toplantılar gerçekleştirir.
Çevik Modellemede Toplantılar
Çevik modellemede toplantılar operasyonel düzeyde gerçekleşir.
«Product Owner», «Scrum Master» ve takım elemanları ile «sprint» planlanırken, demo ve «retrospective» toplantılarında bir araya gelirler.
«Scrum Master» ve takım elemanları günlük «stand-up» ( gerektiğinde «product owner» da katılır. )toplantıları yapar.
Product Owner (PO)Product Owner agile metodolojisinde hedeflenen bir pozisyondur .
Product Owner geliştirilecek ürünün vizyonunun açık olarak anlaşılmasını sağlar. Bu vizyon müşterilerin, son kullanıcıların ve iştirakçilerin (stakeholders) bakış açısına göre sağlanır.
Product Owner ürünün ticari değerinin oluşmasını sağlar.
Product Owner ürün «backlog» larının yönetiminden sorumludur.
Scrum Artifact
Sprint Backlog:
Çalışma sırasındaki ilerlemelerden oluşur.
Yapılacaklar «sprint» (ilgili yazılım parçasının geliştirilmesi) geliştirme aşamasına getirilen kullanıcı hikayeleri ile ilgili olmalıdır.
Bu hikayelerin çalışmaya eklenip eklenemeyeceğine ya da nasıl dahil edilebileceğine karar verilir.
«Sprint Retrospective « Toplantıları
«Sprint Retrospective» toplantıları her bir «sprint» sonunda yapılır
Takımlar her bir «sprint» implementasyonutamamlanıp «release» işlemi gerçekleştirileceği zaman bu toplantıları yapar.
Bu toplantı tüm takım elemanları, Product Ownerve Scrum Master katılımı ile gerçekleşir.
Genellikle 1 saatlik bir toplantı olarak düzenlenir.
Scrum 1.0 Product Owner geliştirme
takımının dışında olarak gereksinimlerin belirlenmesine sadece Sprint başında katkı sağlayabilir.
Agile sürece katkısı sadece başlangıç aşamasındadır.
Fonksiyonel gereksinimlerin çok sık değişiklik göstermediği problemlerin çözümünde günümüzde de uygulanmaktadır.
Scrum 2.0 Product Owner her zaman çevik (agile)
olmak zorundadır. Çünkü : Takımın görevi sadece yazılım geliştirmek
değil, geliştirilen ürünün devamlılığını da sağlamaktır.
Product Owner bu aşamada ürünün fonksiyonelliği ile ilgili karar vermek zorundadır. Bu, her zaman çevik olmak demektedir.
Fakat Product Owner (business) iş tarafında karar verebilme olanağı bulamaz.
Geliştirme takımı Product Owner ‘ı tümüyle geliştirme takımına çekmek ister. Çünkü sürekli olarak değişen gereksinimler bunu gerektirir.
Scrum 1.0 & Scrum2.0
Scrum 1.0: Product Owner «stakeholders»(iştirakçiler) ile birliktedir.
«Stakeholders» (katılımcılar) isteklerini geliştirme takımına aktarır.
«Sprint» süresince öncelikleri değiştiremez.
Scrum 2.0: Product Owner geliştirme takımının bir elemanıdır ve «stakeholders» (katılımcılar) ile iletişimi devam ettirir.
Product owner geliştirme takımı ile birlikte çalışabilir ve «Sprint» süresince öncelikleri değiştirebilir.
Scrum 3.0 Product Owner, «Stakeholders»
isterlerini sürekli olarak geliştirme takımına aktarma görevi ile zamanının çoğunu çevik olarak takım içinde geçirir. Bu rolü ile «Team Captain» olarak
görevini gerçekleştirir.Geliştirme takımı ile birlikte çalışan
«Team Caption» «Sprint» süresince öncelikleri değiştirebilir.
«Stakeholders» ile etkileşimi sağlayan «Product Owner» farklı bir kişidir ve «Business Owner» olarak adlandırılır.
Scrum AvantajlarıStakeholder, Product Owner ve Scrum Master
rollerini günümüz dünyasının problemlerine uygun olarak tanımlar.
Scrum 1.0 ve Scrum 2.0 genişletilerek birleştirilebilir.
Ölçeklenebilir (scalable) bir yapısı vardır. Yani büyük organizasyonlar modele herhangi bir ekleme ya da değiştirme yapmadan problemlerine uygulayabilir.