yazılım mühendisliğine giriş - zeynep altanuç programlama /extreme -xp programming 3 de...

18
Yazılım Mühendisliğine Giriş Yazılım Geliştirme Yaşam Döngüsü (devam) 2019 GÜZ 1

Upload: others

Post on 29-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Yazılım Mühendisliğine Giriş - Zeynep ALTANUç 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

Yazılım Mühendisliğine Giriş

Yazılım Geliştirme Yaşam Döngüsü (devam)

2019 GÜZ 1

Page 2: Yazılım Mühendisliğine Giriş - Zeynep ALTANUç 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

2

Page 3: Yazılım Mühendisliğine Giriş - Zeynep ALTANUç 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

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.

Page 4: Yazılım Mühendisliğine Giriş - Zeynep ALTANUç 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

XP Modelleme

4

Page 5: Yazılım Mühendisliğine Giriş - Zeynep ALTANUç 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

5

Page 6: Yazılım Mühendisliğine Giriş - Zeynep ALTANUç 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

Çevik Yazılım Geliştirme Süreçleri

Page 7: Yazılım Mühendisliğine Giriş - Zeynep ALTANUç 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

Çevik Yazılım Geliştirme Yaklaşımı

Scrum’un Yıllar içerisindeki Gelişimi

Page 8: Yazılım Mühendisliğine Giriş - Zeynep ALTANUç 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

Çevik Modelleme Örneği: Scrum

Page 9: Yazılım Mühendisliğine Giriş - Zeynep ALTANUç 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

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.

Page 10: Yazılım Mühendisliğine Giriş - Zeynep ALTANUç 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

Ç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.

Page 11: Yazılım Mühendisliğine Giriş - Zeynep ALTANUç 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

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.

Page 12: Yazılım Mühendisliğine Giriş - Zeynep ALTANUç 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

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.

Page 13: Yazılım Mühendisliğine Giriş - Zeynep ALTANUç 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

«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.

Page 14: Yazılım Mühendisliğine Giriş - Zeynep ALTANUç 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

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.

Page 15: Yazılım Mühendisliğine Giriş - Zeynep ALTANUç 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

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.

Page 16: Yazılım Mühendisliğine Giriş - Zeynep ALTANUç 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

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.

Page 17: Yazılım Mühendisliğine Giriş - Zeynep ALTANUç 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

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.

Page 18: Yazılım Mühendisliğine Giriş - Zeynep ALTANUç 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

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.