agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

49
AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ Savaş DOĞAN Yazılım Proje Yöneticisi 11 Ekim 2011 Pozitif TV Sunumu 1 Sunumun Lisans Ayrıntıları için tıklayınız http://tr. wikipedia .org/ wiki / Creative _ Commons

Upload: kefukar

Post on 01-Nov-2014

6.672 views

Category:

Technology


1 download

DESCRIPTION

Yazılım Proje Yönetiminde Agile (cevik) yaklaşım ile SCRUM yöntemi Savaş DOĞAN - Lisans (cc-BY)Agile Software Development, Scrum

TRANSCRIPT

Page 2: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

2

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

Yazılım Proje Yönetimi

Agile (Çevik) Yaklaşım

SCRUM

Page 3: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

3

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİYazılım Proje YönetimiUzun yıllardır proje yönetimi ile ilgili farklı yöntemler geliştirilmektedir.Özellikle 1990 yılından sonra yazılım proje yönetiminin önemi daha çok anlaşılmıştır. Yazılım Projelerinin 3 ana unsuru vardır.

• KALİTE

3. MALİYET 2. ZAMAN

1. KAPSAM

Page 4: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

4

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİYazılım Proje YönetimiProje yaşam sürecinde zaman ve maliyet tablosu aşağıdaki gibidir.

Page 5: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

5

Yazılım Proje YönetimiYazılım projelerinin ana katmanları

Müşteri ihtiyaçları Analiz Tasarım

KodlamaTestÜrün

Page 6: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

6

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİYazılım Proje YönetimiStandish Group Chaos raporları;

Başarılı29%

Başarısız18%

Belirsiz53%

2004

Başarılı32%

Başarısız24%

Belirsiz44%

2009

Tahmini Yıllık Zarar : 55 Milyar $

Page 7: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

7

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİYazılım Proje YönetimiProje Yönetimi açısından;

Sorunsuz32%

Sorunlu

68%

Page 8: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

8

Yazılım Proje Yönetimi

Tata Consultancy 2007 Raporu

SÜRE %62

BÜTÇE %49

BAKIM %47

KATMA DEĞER (RIO)

%41

BEKLENTİ %33

Başarısızlık dağılımı

Page 9: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

9

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİYazılım Proje YönetimiBaşarısızlığın ana sebepleri :

1- Müşterinin isteklerini doğru analiz edememek.

2- Proje için uygun ekibi kurmamak / kuramamak.

3- Gerekli bütçe ve kaynakları ayırmamak.

4- Proje Yönetim metotları uygulamadan, gelişi güzel geliştirmek.

5- Proje süresince müşteri ile iletişimden kaçınmak.

6- Yanlış teknoloji ya da mimari seçimleri.

7- Şirketin yönetimsel sorunları.…………………………………….

Page 10: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

10

Durum Oran

Tam Başarılı % 4-5

Kısmen Başarılı % 45-50

Çöpe Gidenler % 45-50

Başarılı Proje Durumu

Yazılım Proje YönetimiÜlkemizde durum nasıl ?

Maltepe Ün. Y. Lisans Tezi ( Emin Borandağ – 2006 )

Page 11: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

11

Agile (Çevik) YaklaşımBir yazılım projesi, 6 ay içerisinde tamamlanmazsa ve projeye müşterinizi dahil etmezseniz, başarıya ulaşma ihtimaliniz zayıftır.

Page 12: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

12

Agile (Çevik) YaklaşımYazılım projelerinde üretilen özellik ve fonksiyonların yaklaşık %64’ü neredeyse hiç kullanılmamaktadır.

Page 13: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

13

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİAgile (Çevik) YaklaşımÇevik (Agile) Manifesto

2000 yılında Kent Beck ve 16 arkadaşı tarafından çevik manifesto oluşturulmuştur.

Yazılım geliştirme amacıyla üretilen bu modelleme biçimi, kapsadığı değerler, prensipler ve pratikler sayesinde geleneksel modellemelere metotlarına göre yazılımlara daha esnek ve kullanışlı biçimde uygulanabilir.

Page 14: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

14

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİAgile (Çevik) YaklaşımÇevik (Agile) Manifesto

Önemli Az Önemli

Kişiler ve takım çalışması Süreç ve araçlardan

Çalışan yazılım Detaylı dokümantasyondan

Müşteri ile beraber çalışmak Sözleşme ve anlaşmalardan

Değişime açık olup, uygulamak Plana bağlı kalmaktan

Page 15: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

15

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİAgile (Çevik) YaklaşımÇevik Yazılımın Prensipleri:

1- İlk öncelik, sürekli, kaliteli yazılım teslimatıyla müşteri memnuniyetini sağlamaktır. 2- Proje ne kadar ilerlemiş olursa olsun değişiklikler kabul edilir. Çevik yazılım süreçleri değişiklikleri müşteri avantajına dönüştürürler. 3- Mümkün olduğunca kısa zaman aralıklarıyla (2-6 hafta arası) çalışan, kaliteli yazılım teslimatı yapılır. 4- Analistler, uzmanlar, yazılımcılar, testçiler vs. tüm ekip elemanları bire bir iletişim halinde, birlikte çalışırlar. 5- İyi projeler, motivasyonu yüksek bireyler etrafında kurulur. Ekip elemanlarına gerekli destek verilmeli, ihtiyaçları karşılanarak proje ile ilgili ekiplere tam güvenilmelidir.

Page 16: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

16

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİAgile (Çevik) YaklaşımÇevik Yazılımın Prensipleri:

6- Ekip içerisinde kaliteli bilgi akışı için yüz yüze iletişim önemlidir.7- Çalışan yazılım, projenin ilk gelişim ölçütüdür. 8- Çevik süreçler, mümkün olduğunca sabit hızlı, sürdürülebilir geliştirmeye önem verir. 9- Güçlü teknik alt yapı ve tasarım çevikliği arttırır. 10- Basitlik önemlidir. 11- En iyi mimariler, gereksinimler ve tasarımlar kendi kendini organize edebilen ekipler tarafından yaratılır. 12- Düzenli aralıklarla ekipler kendi yöntemlerini gözden geçirerek verimliliği arttırmak için gerekli iyileştirmeleri yaparlar.

Page 17: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

17

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİAgile (Çevik) YaklaşımÇÖZÜM

Geri bildirimlere göre yeniden düzenle

Müşterini projeye dahil et

En önemli özellikleri ilk önce yap

Mümkün olan en kısa sürede çalışan bir sürüm çıkar

Müşteri ile değerlendir

Page 18: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

18

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİAgile (Çevik) Yaklaşım

Klasik Yaklaşım

Page 19: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

19

Agile (Çevik) YaklaşımÇevik Yaklaşım

Page 20: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

20

Agile (Çevik) Yaklaşım80 - 20 Pareto Kuralı:

Bir projenin %80 ‘lik kısmı, proje süresinin %20 sinde tamamlanır.

Geriye kalan %20'lik iş ise zamanın % 80'ini alır.

Page 21: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

21

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİAgile (Çevik) YaklaşımAVANTAJLARI

-Yazılım ekibinin motivasyonu sürekli yüksek seviyede olur.

- Kısa sürede müşteri memnuniyeti sağlanır.

- Üretkenlikler artar.

- Yazılım kalitesi artar.

- Maliyetler düşer.

- Yazılım projelerinin başarısı %55 e kadar artış gösterebilir.

Page 22: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

22

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİAgile (Çevik) YaklaşımÇevik (Agile) Yaklaşım Çeşitleri

• Sınırsal programlama (Extreme Programming-XP)• Çevik Birleştirilmiş Süreç (Agile Unified Process)• SCRUM• Test Güdümlü Geliştirme (Test-driven Development)• Çevik bilgi Metodu (Agile Data Method)• Özellik güdümlü geliştirme (Feature-Driven Programming)

Page 23: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

23

SCRUMTanımıScrum adı, Rugby sporundaki bir hücum taktiğinin adıdır. Bu taktikte top, tüm oyuncularla birlikte karşı sahaya taşınarak atak yapılmaktadır.

Page 24: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

24

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUMScrum’ın Çalışma Mantığı

Page 25: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

25

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUMScrum’ın Çalışma Mantığı

Page 26: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

26

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM

Yıllardır yazılım geliştirmede süre gelen proje yönetimi sorunları, Scrum metodu doğru uygulandığı taktirde büyük ölçüde aşıldığı görülmektedir. Bunun en temel nedeni «Scrum Ekibi» olgusudur.

Scrum’ın Tanımı

Scrum’da 3 temel kavram vardır.1- Roller (Roles)2- Toplantılar (Meetings)3- Kavramlar / Araçlar (Artifacts)

Page 27: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

27

SCRUMTemel KavramlarScrum’da 3 temel kavram vardır.

1- Roller (Roles)• Ürün Sahibi (Product Owner)• Scrum Yöneticisi (Scrum Master)• Takım (Team)

2- Toplantılar (Meetings)• Sprint (Koşu) Planlama (Sprint Planning) • Sprint (Koşu) Gözden Geçirme (Sprint Review)• Günlük Scrum Toplantısı (Daily Scrum)

3- Kavramlar / Araçlar (Artifacts)• Ürün Gereksinim Dokümanı (Product Backlog) • Sprint ( Koşu ) Dokümanı (Sprint Backlog)• Sprint Kalan Zaman Grafiği (Burndown Chart)

Page 28: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

28

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM

• Ürün Sahibi (Product Owner)

• Scrum Yöneticisi (Scrum Master)

• Takım (Team)

1- Roller (Roles)

Page 29: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

29

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM

Projenin iş değeri açısından geri dönüşü ile sorumludur. Ekibin bir parçasıdır, müşteri tarafından görevlendirilmiştir, detayları takip eder, geri dönüşler verir.

Ürün Sahibinin sorumlulukları;

Paylaşımcı bir vizyonda çalışmak Gereksinimleri toplamak Gereksinim önceliklerini yönetmek Her iterasyon sonunda ürün kabulü yapmak Projenin yatırım geri dönüşünden sorumlu olmak (ROI-Return On Investment)

1- Roller (Roles) - Ürün Sahibi (Product Owner)

Page 30: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

30

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM

Scrum’da Geleneksel Proje Yöneticisi rolü yoktur.

Scrum Master’ın görevleri;

Takımın Scrum’ın temel değerlerine,pratiklerine ve kurallarına bağlı kalmasını garanti altına alır. Takımı ve organizasyonu Scrum’a adapte eder.

Takımın dış etkilerden korunmasını ve sadece kendi işine yoğunlaşarak üretkenliğinin artmasından sorumludur.

• 1- Roller (Roles) - Scrum Yöneticisi (Scrum Master)

Page 31: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

31

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM

Scrum Takımı, devamlı iletişim halinde olan ve tek bir hedefe ulaşmak için mücadele eden kişilerden oluşur.

Scrum’da takımların özellikleri;

Gereksinimlerin süre tahminini yaparlar. 5 – 9 kişiden oluşur. Koşuya başlarken hedefi seçip, çalışma sonucunu belirlerler. Koşu hedefine ulaşmak için proje sınırları dahilinde her şeyi yapmakta serbesttirler . Kendi kendilerini organize ederler. Çalışma sonuçlarını belli aralıklar ile ürün sahibine gösterirler .

Takım üyeleri; geliştiriciler, testçiler, analistler, mimarlar, tasarımcılar ve hatta kullanıcılardan bile oluşabilir.

• 1- Roller (Roles) - Takım (Team)

Page 32: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

32

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM

• Sprint (Koşu) Planlama (Sprint Planning)

• Sprint (Koşu) Gözden Geçirme (Sprint Review)

• Günlük Scrum Toplantısı (Daily Scrum)

2- Toplantılar (Meetings)

Page 33: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

33

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM

Süreç adımları aşağıdakilerden oluşur;

Geniş kapsamlı gereksinim listesinin çıkarılması Yapılacak dağıtımların (bir veya daha fazla) çıkış tarihinin ve fonksiyonel özelliklerinin belirlenmesi Başarılı geliştirme için uygun dağıtım gereksinimlerinin belirlenmesi Dağıtımlar için gereksinimlerin eşleştirilmenin yapılması (Hangi gereksinim hangi dağıtımda yer alacak? ) Dağıtımlar için takımların belirlenmesi Risk değerlendirmesi ve risk kontrollerinin belirlenmesi Gözden geçirmeler ve olası gereksinim değişikliklerinin belirlenmesi Geliştirme araçları ve altyapısının onaylanması Dağıtım maliyeti ve geliştirme, materyal toplama ve pazarlama maliyetlerinin hesaplanması Yönetimi ve destekleri gözden geçirme ve onaylama

2- Toplantılar (Meetings) - Sprint (Koşu) Planlama (Sprint Planning)

Page 34: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

34

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM

Koşu başladıktan sonra takım sürecin başka bir anahtar aktivitesi olan Günlük Scrum Toplantılarını gerçekleştirir. Bu kısa toplantı (15 dk) her iş gününde belirlenen saatte gerçekleştirilir ve tüm takım katılır (genelde sabahları). Takımın ilerleyişini ve karşılaştıkları engelleri görmek için önemli bir fırsattır.

2- Toplantılar (Meetings) - Günlük Scrum Toplantısı (Daily Scrum)

Teker teker tüm ekip üyeleri, şu soruların cevaplarını verir; Dün ne yaptım? Bugün ne yapacağım? Önümde olan engeller ve karşılaştığım sorunlar neler?

Scrum Master, toplantı esnasında notlar tutar ve sorun yaşayan üyelere toplantıdan sonra yardımcı olur.

Page 35: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

35

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM

Günlük Scrum toplantısı kesinlikle bir tartışma platformu değil, işlerin ne durumda olduğu ve varsa sorunların paylaşıldığı bir toplantıdır, eğer tartışma gerekiyorsa bu toplantıdan sonra gerçekleştirilir.

2- Toplantılar (Meetings) - Günlük Scrum Toplantısı (Daily Scrum)

Bu toplantılar çok faydalıdır ve sonuçları aşağıdaki gibidir: Engeller oluştu ise yönetim tarafından ortadan kaldırılır Daha az gereksiz tekrarlanmış efor harcanır Takım üyeleri arasında daha iyi birliktelik ve uyum sağlanır Hedef netleşir ve takım tarafından kabul edilir Takım iletişimini sağlar Takımın önünde yaptıklarını açıklayacak olmak bireyi başarılı olma yönünde teşvik eder Takım dinamiği ve etiği inşa edilir

Page 36: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

36

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM

Her sprint (koşu) başlangıcında, planlama toplantısı yapılır. Toplantının ilk kısmında Ürün Sahibi ile Takım, Ürün Gereksinim Listesi’ni gözden geçirir ve gereksinim elemanlarının hedeflerini ve içeriklerini belirler.

Toplantının ikinci kısmında, takım üyeleri Ürün Gereksinim Listesi’nin en üstünden (Ürün Sahibi tarafından kritik, iş değeri katan gereksinimlere yüksek öncelikler verilir) başlayarak koşu sonucunda gerçekleştirilecek gereksinimlerden oluşan Koşu Gereksinim Listesi’ni oluştururlar. Bu Scrum’ın anahtar uygulamasıdır. Takım, Ürün Sahibi tarafından belirtilen önceliklendirilmiş gereksinimlerden ne kadarını yapacağını belirler ve taahhüt eder .

2- Toplantılar (Meetings)-Sprint (Koşu) Gözden Geçirme (Sprint Review)

Page 37: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

37

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM

Proje boyunca yapılması gereken iş elemanlarının basit bir listesidir. Bu listeye herhangi biri tarafından ekleme yapılabilir. Ama ancak ve ancak Ürün Sahibi, takım tarafından gerçekleştirilecek gereksinimlerin öncelik sırasını belirleyebilir. Elbette bunu paydaşlar ve takımla tartışarak yapmalıdır.

3- Kavramlar / Araçlar (Artifacts) - Ürün Gereksinim Dokümanı (Product Backlog)

Ürün Gereksinim Listesi canlı bir dokümandır, geçerli ve kullanışlı olması için devamlı bakım gerekir. Birçok yeni eleman zamanla eklenebilir, birçok eleman daha küçük parçalara ayrıştırılabilir, bazı gereksinimlerin artık gereksiz veya anlamsız olduğu fark edilip silinebilir. Listedeki sıralamalar her gün değişiklik gösterebilir. Ürün Gereksinim Listesi, genellikle kullanıcı hikayelerinden oluşur ve kullanıcı bakış açısından bakılır.

Page 38: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

38

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM

Product Backlog listesindeki sıra ile en öncelikli olanlardır. Hiçbir zaman önceliği düşük bir özellik veya fonksiyon önceliği yüksek bir özellik veya fonksiyondan önce geliştirilemez. Bu bağlamda bazı “sprint” lerde proje takımı, Product Backlog’dan 4 eleman, bazı sprint’lerde 25 eleman seçebilir.

3- Kavramlar / Araçlar (Artifacts) - Ürün Gereksinim Dokümanı (Product Backlog)

Seçilen özellik ve fonksiyonlar Sprint Backlog denilen ikinci bir listeye aktarılır. Proje takımı bir sonraki sprint başlangıcına kadar bir daha Product Backlog’a bakmaz, o sprint dahilinde sadece ilgili Sprint Backlog listesine odaklanır.Sprint Backlog dahilindeki her özellik veya fonksiyon için maksimum 3 günlük geliştirme süresi verilir.

Page 39: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

39

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM

Kullanıcı Hikayeleri ( User Story )

3- Kavramlar / Araçlar (Artifacts) - Ürün Gereksinim Dokümanı (Product Backlog)

Her tür kullanıcının, sistem içerisindeki tüm hareket ve eylemleri baz alınarak hazırlanan senaryolardır.Bir tek eylem baz alınarak, küçük parçalar halinde hazırlanması önemlidir.Daha sonra bu senaryolara öncelik derecelendirmesi ve zorluk derecesini ifade eden hikaye puanı (story points) verilir.

Öncelik değerleri 1 ile 10 arasında ardışık verilirken,Puanlamalar 1, 2, 3, 5, 8, 13, 21, 34,… şeklinde verilir.

Süre bir çok etkene bağlı olarak, değişken olduğu için kullanılmaz. Scrum Ekibinin 1 haftada tamamladığı toplam hikaye puanları ile projenin toplam puanı, proje süresini zaten verecektir.

Page 40: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

40

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM

Kullanıcı Hikayeleri ( User Story )

3- Kavramlar / Araçlar (Artifacts) - Ürün Gereksinim Dokümanı (Product Backlog)

Hikaye Oluşturmada INVEST ( YATIRIM )Kuralı :

I (Independent - Bağımsız) : Hikayeler birbirinden bağımsız olmalı.N (Negotiable - Tartışılabilir): Kendi başına bir anlam ifade etmeli, bağımlı olmamalı. İçeresinde başka Kullanıcı Senaryosu barındırmamalı.V (Valuable - Değerli): Mutlaka bir değer ifade etmeli.E (Estimable - Değer): Büyüklük verilebilir olmalı.S (Small - Küçük): Yeterince kısa ve küçük olmalı.T (Testable – Test Edilen): Test edilebilir olmalı.

Page 41: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

41

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM Örnek Bir Kullanıcı Hikayesi

Page 42: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

42

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM Örnek Bir Ürün Gereksinim Dokümanı (Product Backlog)

Page 43: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

43

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM

Sprint backlog, mevcut sprint için seçilmiş, product backlog’dan elde edilmiş iş ve görevleri kapsar. Sprint backlog’daki işlerin amacı, sprint sonunda son ürünün bir parçası olan bir işlevselliği ya da çalışabilir bir parçayı elde etmektir. Takım tarafından sprint planlama toplantısının ikinci bölümünde belirlenmektedir.

3- Kavramlar / Araçlar (Artifacts) - Sprint ( Koşu ) Dokümanı (Sprint Backlog)

Her görev 4 ile 16 saat arasında olmalıdır. 16 saatten büyük görevler, yeterince iyi tanımlanmamış anlamına gelmektedir.

Sprint backlog sadece takım tarafından değiştirilmektedir.

Page 44: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

44

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM Örnek Bir Sprint ( Koşu ) Dokümanı (Sprint Backlog)

Page 45: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

45

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM

Bu grafik, iterasyon (sprint) boyunca işlerin ne kadarının yapıldığı ile normalde ne kadar yapılması gerektiğini karşılaştırılabilmesini sağlar. Bir iterasyonun toplam 100 saatten ve 20 günden oluştuğunu farz edelim. Normal olarak beklenen her gün 5 saatlik bir işin yapılmasıdır. Takım elemanları her gün ne kadarlık bir iş gerçekleştikleri bilgisini girerler.

3- Kavramlar / Araçlar (Artifacts) - Sprint Kalan Zaman Grafiği (Burndown Chart)

İstenen isteklerin iterasyon süresi içerisinde gerçekleşip gerçekleşemeyeceği bu şema yardımıyla izlenebilmektedir.

Page 46: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

46

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM Scrum Tahtası ( Scrum Board)

Page 47: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

47

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

SCRUM Scrum Tahtası ( Scrum Board)

Page 48: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

48

SCRUM Kimler Kullanıyor

SCRUM Iterative XP TDD0%

10%20%30%40%50%60%70%80%90%

84%

47%38% 38%

PY Metotları Kullanım Oranları (2008)

Page 49: Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

49

AGİLE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ

TEŞEKKÜRLER

Savaş DOĞANYazılım Proje Yöneticisi