SlideShare une entreprise Scribd logo
1  sur  49
Télécharger pour lire hors ligne
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ




                   Savaş DOĞAN
         Yazılım Proje Yöneticisi
         11 Ekim 2011 Pozitif TV Sunumu

        Sunumun Lisans Ayrıntıları için tıklayınız http://tr.wikipedia.org/wiki/Creative_Commons
                                                                                                   1
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ


                 Yazılım Proje Yönetimi


                 Agile (Çevik) Yaklaşım



                  SCRUM
                                          2
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
Yazılım Proje Yönetimi
Uzun 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




                              1. KAPSAM

      3. MALİYET                                      2. ZAMAN
                                                                          3
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
Yazılım Proje Yönetimi
Proje yaşam sürecinde zaman ve maliyet tablosu aşağıdaki gibidir.




                                                                    4
Yazılım Proje Yönetimi
Yazılım projelerinin ana katmanları



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




       Ürün                   Test     Kodlama




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

             2004                                       2009



                Başarılı                                   Başarılı
                 29%                         Belirsiz
  Belirsiz                                                  32%
                                              44%
   53%              Başarısız
                                                         Başarısız
                      18%
                                                           24%




               Tahmini Yıllık Zarar :   55 Milyar $
                                                                      6
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
Yazılım Proje Yönetimi
Proje Yönetimi açısından;




                 Sorunsuz
                   32%
      Sorunlu
       68%




                                       7
Yazılım Proje Yönetimi
                                            Başarısızlık dağılımı
       SÜRE   %62




              BÜTÇE   %49




                      BAKIM      %47



                                KATMA
                                               %41
                              DEĞER (RIO)


                                              BEKLENTİ       %33



                                       Tata Consultancy 2007 Raporu
                                                                   8
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
Yazılım Proje Yönetimi
Baş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ı.
…………………………………….
                                                                    9
Yazılım Proje Yönetimi
Ülkemizde durum nasıl ?

                        Başarılı Proje Durumu
      Durum                                Oran


      Tam Başarılı                         % 4-5



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



      Çöpe Gidenler                        % 45-50


                                   Maltepe Ün. Y. Lisans Tezi ( Emin Borandağ – 2006 )
                                                                               10
Agile (Çevik) Yaklaşım
Bir yazılım projesi, 6 ay içerisinde tamamlanmazsa ve projeye müşterinizi
dahil etmezseniz, başarıya ulaşma ihtimaliniz zayıftır.




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




                                                                     12
AGILE (Ç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.




                                                      13
AGILE (Ç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



                                                             14
AGILE (Ç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.


                                                                       15
AGILE (Ç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.



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

 Müşterini projeye       En önemli özellikleri     Mümkün olan en kısa sürede
 dahil et                ilk önce yap              çalışan bir sürüm çıkar




             Geri bildirimlere göre yeniden düzenle Müşteri ile değerlendir




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




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




                                    19
Agile (Çevik) Yaklaşım
80 - 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.




                                                                     20
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
Agile (Çevik) Yaklaşım
AVANTAJLARI
 -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.




                                                                   21
AGILE (Ç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)




                                                             22
SCRUM
Tanı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.




                                                                  23
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM
Scrum’ın Çalışma Mantığı




                                       24
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM
Scrum’ın Çalışma Mantığı




                                       25
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM
Scrum’ın Tanımı
                        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’da 3 temel kavram vardır.
 1- Roller (Roles)
 2- Toplantılar (Meetings)
 3- Kavramlar / Araçlar (Artifacts)

                                                                26
SCRUM
Temel Kavramlar
 Scrum’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)

                                                                     27
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM
1- Roller (Roles)
                       • Ürün Sahibi (Product Owner)

                       • Scrum Yöneticisi (Scrum Master)

                       • Takım (Team)




                                                   28
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM
1- Roller (Roles) - Ürün Sahibi (Product Owner)
                                     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)
                                                                            29
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM
• 1- Roller (Roles) - Scrum Yöneticisi (Scrum Master)
                                     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.

                                                                        30
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM
• 1- Roller (Roles) - Takım (Team)
                                     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, ta
                                     sarımcılar ve hatta kullanıcılardan bile 31
                                     oluşabilir.
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM
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)




                                                                    32
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM
2- Toplantılar (Meetings) - Sprint (Koşu) Planlama (Sprint Planning)
 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
                                                                          33
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM
2- Toplantılar (Meetings) - Günlük Scrum Toplantısı (Daily 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.
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.

                                                                            34
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM
2- Toplantılar (Meetings) - Günlük Scrum Toplantısı (Daily 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.


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
                                                                        35
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM
2- Toplantılar (Meetings)-Sprint (Koşu) Gözden Geçirme (Sprint Review)
                   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 .
                                                                          36
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM
3- Kavramlar / Araçlar (Artifacts) - Ürün Gereksinim Dokümanı (Product Backlog)

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

                                                                           37
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM
3- Kavramlar / Araçlar (Artifacts) - Ürün Gereksinim Dokümanı (Product Backlog)

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


                                                                                 38
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM
3- Kavramlar / Araçlar (Artifacts) - Ürün Gereksinim Dokümanı (Product Backlog)

                             Kullanıcı Hikayeleri ( User Story )
                             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.
                                                                            39
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM
3- Kavramlar / Araçlar (Artifacts) - Ürün Gereksinim Dokümanı (Product Backlog)
Kullanıcı Hikayeleri ( User Story )
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ı.




                                                                                40
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM       Örnek Bir Kullanıcı Hikayesi




                                           41
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM     Örnek Bir Ürün Gereksinim Dokümanı (Product Backlog)




                                                                 42
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM
3- Kavramlar / Araçlar (Artifacts) - Sprint ( Koşu ) Dokümanı (Sprint Backlog)

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



                                                                             43
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM     Örnek Bir Sprint ( Koşu ) Dokümanı (Sprint Backlog)




                                                                44
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM
3- Kavramlar / Araçlar (Artifacts) - Sprint Kalan Zaman Grafiği (Burndown Chart)

                             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.
İstenen isteklerin iterasyon süresi içerisinde gerçekleşip gerçekleşemeyeceği bu şema
yardımıyla izlenebilmektedir.




                                                                                   45
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM     Scrum Tahtası ( Scrum Board)




                                         46
AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ
SCRUM     Scrum Tahtası ( Scrum Board)




                                         47
SCRUM       Kimler Kullanıyor




                 PY Metotları Kullanım Oranları (2008)


           84%
 100%

 80%
                            47%
 60%                                          38%          38%

 40%

 20%

  0%
        SCRUM          Iterative            XP           TDD

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


        TEŞEKKÜRLER



           Savaş DOĞAN
         Yazılım Proje Yöneticisi
                                       49

Contenu connexe

Tendances

Agile 101 - Yeni başlayanlar için
Agile 101 - Yeni başlayanlar içinAgile 101 - Yeni başlayanlar için
Agile 101 - Yeni başlayanlar içinBulent Buyuksayar
 
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...Cenk Derinozlu
 
Scrum - Agile Methodology
Scrum - Agile MethodologyScrum - Agile Methodology
Scrum - Agile MethodologyNiel Deckx
 
Agile project management
Agile project managementAgile project management
Agile project managementmicovi
 
Scrum master basics
Scrum master basics Scrum master basics
Scrum master basics Elad Sofer
 
What is scrum in Agile methodology?
What is scrum in Agile methodology?What is scrum in Agile methodology?
What is scrum in Agile methodology?Mario Lucero
 
Scrum In Ten Slides (v2.0) 2018
Scrum In Ten Slides (v2.0) 2018Scrum In Ten Slides (v2.0) 2018
Scrum In Ten Slides (v2.0) 2018pmengal
 
Agile Çalışma Felsefesiyle Organizasyonların Dönüşümü
Agile Çalışma Felsefesiyle Organizasyonların DönüşümüAgile Çalışma Felsefesiyle Organizasyonların Dönüşümü
Agile Çalışma Felsefesiyle Organizasyonların DönüşümüBulent Buyuksayar
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agilevineet
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.pptMohan Late
 

Tendances (20)

Agile Yaklaşımlar
Agile YaklaşımlarAgile Yaklaşımlar
Agile Yaklaşımlar
 
Agile 101 - Yeni başlayanlar için
Agile 101 - Yeni başlayanlar içinAgile 101 - Yeni başlayanlar için
Agile 101 - Yeni başlayanlar için
 
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
 
Scrum - Agile Methodology
Scrum - Agile MethodologyScrum - Agile Methodology
Scrum - Agile Methodology
 
What Is Agile Scrum
What Is Agile ScrumWhat Is Agile Scrum
What Is Agile Scrum
 
Agile project management
Agile project managementAgile project management
Agile project management
 
Scrum for Beginners
Scrum for BeginnersScrum for Beginners
Scrum for Beginners
 
Introduction to Scrum for Project Managers
Introduction to Scrum for Project ManagersIntroduction to Scrum for Project Managers
Introduction to Scrum for Project Managers
 
Scrum master basics
Scrum master basics Scrum master basics
Scrum master basics
 
What is scrum in Agile methodology?
What is scrum in Agile methodology?What is scrum in Agile methodology?
What is scrum in Agile methodology?
 
Scrum Training
Scrum TrainingScrum Training
Scrum Training
 
Scrum In Ten Slides (v2.0) 2018
Scrum In Ten Slides (v2.0) 2018Scrum In Ten Slides (v2.0) 2018
Scrum In Ten Slides (v2.0) 2018
 
Çevik Yaklaşım, Scrum ve XP
Çevik Yaklaşım, Scrum ve XPÇevik Yaklaşım, Scrum ve XP
Çevik Yaklaşım, Scrum ve XP
 
Agile Çalışma Felsefesiyle Organizasyonların Dönüşümü
Agile Çalışma Felsefesiyle Organizasyonların DönüşümüAgile Çalışma Felsefesiyle Organizasyonların Dönüşümü
Agile Çalışma Felsefesiyle Organizasyonların Dönüşümü
 
Scrum framework
Scrum frameworkScrum framework
Scrum framework
 
Scrum training
Scrum trainingScrum training
Scrum training
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum Methodology
 
2017 Scrum by Picture
2017 Scrum by Picture2017 Scrum by Picture
2017 Scrum by Picture
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agile
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
 

Similaire à Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by

E-ticarette Bilgi Teknolojileri - Bilgi Üniversitesi E-ticaret Akademi 2012.0...
E-ticarette Bilgi Teknolojileri - Bilgi Üniversitesi E-ticaret Akademi 2012.0...E-ticarette Bilgi Teknolojileri - Bilgi Üniversitesi E-ticaret Akademi 2012.0...
E-ticarette Bilgi Teknolojileri - Bilgi Üniversitesi E-ticaret Akademi 2012.0...Hakan ERDOGAN
 
Agi̇le Yöntemleri̇
Agi̇le Yöntemleri̇Agi̇le Yöntemleri̇
Agi̇le Yöntemleri̇Fatih Soysal
 
JİRA'ya Giriş / Atlassian
JİRA'ya Giriş / AtlassianJİRA'ya Giriş / Atlassian
JİRA'ya Giriş / AtlassianCansu Kaya
 
Proje yönetimi ve project.net v1.0 tr
Proje yönetimi ve project.net v1.0 trProje yönetimi ve project.net v1.0 tr
Proje yönetimi ve project.net v1.0 trM.Yusuf Atmaca
 
Yazılım projeleri süreç performans ölçümü
Yazılım projeleri süreç performans ölçümüYazılım projeleri süreç performans ölçümü
Yazılım projeleri süreç performans ölçümüTUBITAK
 
Yazılım mimarisi yazılım müh.
Yazılım mimarisi yazılım müh.Yazılım mimarisi yazılım müh.
Yazılım mimarisi yazılım müh.Hüseyin Örer
 
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriGDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriLemi Orhan Ergin
 
Çevik Manifesto Sunum
Çevik Manifesto Sunum Çevik Manifesto Sunum
Çevik Manifesto Sunum ERCAN CETIN
 
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
 
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme PratikleriBaşarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme PratikleriLemi Orhan Ergin
 
İTÜ İşletme Fakültesi - E-ticarette Yazılım ve Altyapı
İTÜ İşletme Fakültesi - E-ticarette Yazılım ve AltyapıİTÜ İşletme Fakültesi - E-ticarette Yazılım ve Altyapı
İTÜ İşletme Fakültesi - E-ticarette Yazılım ve AltyapıMurat Kader
 
Bir CMMI Seviye 5 Organizasyonel Performans Yönetim Projesi Örneği: Kod Kalit...
Bir CMMI Seviye 5 Organizasyonel Performans Yönetim Projesi Örneği: Kod Kalit...Bir CMMI Seviye 5 Organizasyonel Performans Yönetim Projesi Örneği: Kod Kalit...
Bir CMMI Seviye 5 Organizasyonel Performans Yönetim Projesi Örneği: Kod Kalit...Deniz Gungor
 
Wopsy - Intelligently Application Performance Monitoring
Wopsy - Intelligently Application Performance MonitoringWopsy - Intelligently Application Performance Monitoring
Wopsy - Intelligently Application Performance Monitoringwopsy
 
Bilişim Teknolojileri Projelerinde Temel Başarı ve Başarısızlık Nedenleri
Bilişim Teknolojileri Projelerinde Temel Başarı ve Başarısızlık NedenleriBilişim Teknolojileri Projelerinde Temel Başarı ve Başarısızlık Nedenleri
Bilişim Teknolojileri Projelerinde Temel Başarı ve Başarısızlık Nedenlericgoze
 
E-ticarette Yazılım ve Altyapı
E-ticarette Yazılım ve AltyapıE-ticarette Yazılım ve Altyapı
E-ticarette Yazılım ve AltyapıMurat Kader
 
(16 03 2012)pcm sunumu nihai
(16 03 2012)pcm sunumu nihai(16 03 2012)pcm sunumu nihai
(16 03 2012)pcm sunumu nihaidiyadininan
 
Özgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter Sunumu
Özgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter SunumuÖzgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter Sunumu
Özgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter Sunumuibrahimhizlioglu
 
Üretim Yöneticisi Geliştirme Programı
Üretim Yöneticisi Geliştirme ProgramıÜretim Yöneticisi Geliştirme Programı
Üretim Yöneticisi Geliştirme ProgramıDr. Lutfi Apiliogullari
 

Similaire à Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by (20)

E-ticarette Bilgi Teknolojileri - Bilgi Üniversitesi E-ticaret Akademi 2012.0...
E-ticarette Bilgi Teknolojileri - Bilgi Üniversitesi E-ticaret Akademi 2012.0...E-ticarette Bilgi Teknolojileri - Bilgi Üniversitesi E-ticaret Akademi 2012.0...
E-ticarette Bilgi Teknolojileri - Bilgi Üniversitesi E-ticaret Akademi 2012.0...
 
Agi̇le Yöntemleri̇
Agi̇le Yöntemleri̇Agi̇le Yöntemleri̇
Agi̇le Yöntemleri̇
 
JİRA'ya Giriş / Atlassian
JİRA'ya Giriş / AtlassianJİRA'ya Giriş / Atlassian
JİRA'ya Giriş / Atlassian
 
Proje yönetimi ve project.net v1.0 tr
Proje yönetimi ve project.net v1.0 trProje yönetimi ve project.net v1.0 tr
Proje yönetimi ve project.net v1.0 tr
 
Yazılım projeleri süreç performans ölçümü
Yazılım projeleri süreç performans ölçümüYazılım projeleri süreç performans ölçümü
Yazılım projeleri süreç performans ölçümü
 
Yazılım mimarisi yazılım müh.
Yazılım mimarisi yazılım müh.Yazılım mimarisi yazılım müh.
Yazılım mimarisi yazılım müh.
 
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriGDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme Teknikleri
 
Çevik Manifesto Sunum
Çevik Manifesto Sunum Çevik Manifesto Sunum
Çevik Manifesto Sunum
 
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
 
Proje Yönetimi
Proje YönetimiProje Yönetimi
Proje Yönetimi
 
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme PratikleriBaşarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
 
İTÜ İşletme Fakültesi - E-ticarette Yazılım ve Altyapı
İTÜ İşletme Fakültesi - E-ticarette Yazılım ve AltyapıİTÜ İşletme Fakültesi - E-ticarette Yazılım ve Altyapı
İTÜ İşletme Fakültesi - E-ticarette Yazılım ve Altyapı
 
Bir CMMI Seviye 5 Organizasyonel Performans Yönetim Projesi Örneği: Kod Kalit...
Bir CMMI Seviye 5 Organizasyonel Performans Yönetim Projesi Örneği: Kod Kalit...Bir CMMI Seviye 5 Organizasyonel Performans Yönetim Projesi Örneği: Kod Kalit...
Bir CMMI Seviye 5 Organizasyonel Performans Yönetim Projesi Örneği: Kod Kalit...
 
Wopsy - Intelligently Application Performance Monitoring
Wopsy - Intelligently Application Performance MonitoringWopsy - Intelligently Application Performance Monitoring
Wopsy - Intelligently Application Performance Monitoring
 
Bilişim Teknolojileri Projelerinde Temel Başarı ve Başarısızlık Nedenleri
Bilişim Teknolojileri Projelerinde Temel Başarı ve Başarısızlık NedenleriBilişim Teknolojileri Projelerinde Temel Başarı ve Başarısızlık Nedenleri
Bilişim Teknolojileri Projelerinde Temel Başarı ve Başarısızlık Nedenleri
 
MART - www.martgeldi.com - Lego Scrum Simülasyonu Eğitimi
MART - www.martgeldi.com - Lego Scrum Simülasyonu EğitimiMART - www.martgeldi.com - Lego Scrum Simülasyonu Eğitimi
MART - www.martgeldi.com - Lego Scrum Simülasyonu Eğitimi
 
E-ticarette Yazılım ve Altyapı
E-ticarette Yazılım ve AltyapıE-ticarette Yazılım ve Altyapı
E-ticarette Yazılım ve Altyapı
 
(16 03 2012)pcm sunumu nihai
(16 03 2012)pcm sunumu nihai(16 03 2012)pcm sunumu nihai
(16 03 2012)pcm sunumu nihai
 
Özgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter Sunumu
Özgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter SunumuÖzgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter Sunumu
Özgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter Sunumu
 
Üretim Yöneticisi Geliştirme Programı
Üretim Yöneticisi Geliştirme ProgramıÜretim Yöneticisi Geliştirme Programı
Üretim Yöneticisi Geliştirme Programı
 

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

  • 1. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ Savaş DOĞAN Yazılım Proje Yöneticisi 11 Ekim 2011 Pozitif TV Sunumu Sunumun Lisans Ayrıntıları için tıklayınız http://tr.wikipedia.org/wiki/Creative_Commons 1
  • 2. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ Yazılım Proje Yönetimi Agile (Çevik) Yaklaşım SCRUM 2
  • 3. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ Yazılım Proje Yönetimi Uzun 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 1. KAPSAM 3. MALİYET 2. ZAMAN 3
  • 4. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ Yazılım Proje Yönetimi Proje yaşam sürecinde zaman ve maliyet tablosu aşağıdaki gibidir. 4
  • 5. Yazılım Proje Yönetimi Yazılım projelerinin ana katmanları Müşteri ihtiyaçları Analiz Tasarım Ürün Test Kodlama 5
  • 6. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ Yazılım Proje Yönetimi Standish Group Chaos raporları; 2004 2009 Başarılı Başarılı 29% Belirsiz Belirsiz 32% 44% 53% Başarısız Başarısız 18% 24% Tahmini Yıllık Zarar : 55 Milyar $ 6
  • 7. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ Yazılım Proje Yönetimi Proje Yönetimi açısından; Sorunsuz 32% Sorunlu 68% 7
  • 8. Yazılım Proje Yönetimi Başarısızlık dağılımı SÜRE %62 BÜTÇE %49 BAKIM %47 KATMA %41 DEĞER (RIO) BEKLENTİ %33 Tata Consultancy 2007 Raporu 8
  • 9. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ Yazılım Proje Yönetimi Baş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ı. ……………………………………. 9
  • 10. Yazılım Proje Yönetimi Ülkemizde durum nasıl ? Başarılı Proje Durumu Durum Oran Tam Başarılı % 4-5 Kısmen Başarılı % 45-50 Çöpe Gidenler % 45-50 Maltepe Ün. Y. Lisans Tezi ( Emin Borandağ – 2006 ) 10
  • 11. Agile (Çevik) Yaklaşım Bir yazılım projesi, 6 ay içerisinde tamamlanmazsa ve projeye müşterinizi dahil etmezseniz, başarıya ulaşma ihtimaliniz zayıftır. 11
  • 12. Agile (Çevik) Yaklaşım Yazılım projelerinde üretilen özellik ve fonksiyonların yaklaşık %64’ü neredeyse hiç kullanılmamaktadır. 12
  • 13. AGILE (Ç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. 13
  • 14. AGILE (Ç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 14
  • 15. AGILE (Ç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. 15
  • 16. AGILE (Ç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. 16
  • 17. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ Agile (Çevik) Yaklaşım ÇÖZÜM Müşterini projeye En önemli özellikleri Mümkün olan en kısa sürede dahil et ilk önce yap çalışan bir sürüm çıkar Geri bildirimlere göre yeniden düzenle Müşteri ile değerlendir 17
  • 18. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ Agile (Çevik) Yaklaşım Klasik Yaklaşım 18
  • 19. Agile (Çevik) Yaklaşım Çevik Yaklaşım 19
  • 20. Agile (Çevik) Yaklaşım 80 - 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. 20
  • 21. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ Agile (Çevik) Yaklaşım AVANTAJLARI -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. 21
  • 22. AGILE (Ç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) 22
  • 23. SCRUM Tanı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. 23
  • 24. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM Scrum’ın Çalışma Mantığı 24
  • 25. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM Scrum’ın Çalışma Mantığı 25
  • 26. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM Scrum’ın Tanımı 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’da 3 temel kavram vardır. 1- Roller (Roles) 2- Toplantılar (Meetings) 3- Kavramlar / Araçlar (Artifacts) 26
  • 27. SCRUM Temel Kavramlar Scrum’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) 27
  • 28. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM 1- Roller (Roles) • Ürün Sahibi (Product Owner) • Scrum Yöneticisi (Scrum Master) • Takım (Team) 28
  • 29. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM 1- Roller (Roles) - Ürün Sahibi (Product Owner) 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) 29
  • 30. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM • 1- Roller (Roles) - Scrum Yöneticisi (Scrum Master) 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. 30
  • 31. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM • 1- Roller (Roles) - Takım (Team) 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, ta sarımcılar ve hatta kullanıcılardan bile 31 oluşabilir.
  • 32. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM 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) 32
  • 33. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM 2- Toplantılar (Meetings) - Sprint (Koşu) Planlama (Sprint Planning) 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 33
  • 34. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM 2- Toplantılar (Meetings) - Günlük Scrum Toplantısı (Daily 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. 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. 34
  • 35. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM 2- Toplantılar (Meetings) - Günlük Scrum Toplantısı (Daily 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. 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 35
  • 36. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM 2- Toplantılar (Meetings)-Sprint (Koşu) Gözden Geçirme (Sprint Review) 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 . 36
  • 37. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM 3- Kavramlar / Araçlar (Artifacts) - Ürün Gereksinim Dokümanı (Product Backlog) 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. Ü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. 37
  • 38. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM 3- Kavramlar / Araçlar (Artifacts) - Ürün Gereksinim Dokümanı (Product Backlog) 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. 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. 38
  • 39. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM 3- Kavramlar / Araçlar (Artifacts) - Ürün Gereksinim Dokümanı (Product Backlog) Kullanıcı Hikayeleri ( User Story ) 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. 39
  • 40. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM 3- Kavramlar / Araçlar (Artifacts) - Ürün Gereksinim Dokümanı (Product Backlog) Kullanıcı Hikayeleri ( User Story ) 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ı. 40
  • 41. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM Örnek Bir Kullanıcı Hikayesi 41
  • 42. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM Örnek Bir Ürün Gereksinim Dokümanı (Product Backlog) 42
  • 43. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM 3- Kavramlar / Araçlar (Artifacts) - Sprint ( Koşu ) Dokümanı (Sprint Backlog) 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. 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. 43
  • 44. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM Örnek Bir Sprint ( Koşu ) Dokümanı (Sprint Backlog) 44
  • 45. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM 3- Kavramlar / Araçlar (Artifacts) - Sprint Kalan Zaman Grafiği (Burndown Chart) 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. İstenen isteklerin iterasyon süresi içerisinde gerçekleşip gerçekleşemeyeceği bu şema yardımıyla izlenebilmektedir. 45
  • 46. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM Scrum Tahtası ( Scrum Board) 46
  • 47. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ SCRUM Scrum Tahtası ( Scrum Board) 47
  • 48. SCRUM Kimler Kullanıyor PY Metotları Kullanım Oranları (2008) 84% 100% 80% 47% 60% 38% 38% 40% 20% 0% SCRUM Iterative XP TDD 48
  • 49. AGILE (ÇEVİK) YAKLAŞIM İLE SCRUM YÖNTEMİ TEŞEKKÜRLER Savaş DOĞAN Yazılım Proje Yöneticisi 49