An Introduction to Scrum

Download Report

Transcript An Introduction to Scrum

Scrum’a Giriş
Barış BAL
Ekim 2014
Mountain Goat Software,
LLC
Scrum’a Giriş
Sunumu Yapan
<Ad Soyad>
<Tarih>
Mountain Goat Software,
LLC
Bayrak Yarışını Kaybediyoruz
“Ürün geliştirmede kullanılan ‘bayrak yarışı’
yaklaşımı maksimum hız ve esneklik
hedefleri ile çelişebilir. Bunun yerine, holistik
veya ‘rugby’ yaklaşımı (takımın topu ilerigeri paylaşıp, bir mesafeyi birim olarak
gitmeyi denediği), günümüz rekabetçi
gereksinimlerine hizmet edebilir.
Hirotaka Takeuchi and Ikujiro Nonaka, “The
New New Product Development Game”,
Harvard Business Review, January 1986.
Mountain Goat Software,
LLC
100 Kelime ile Scrum
• Scrum, en kısa zamanda en yüksek iş değerini teslim
etmeye odaklanmamızı sağlayan bir agile süreçtir.
• Scrum, hızlı ve tekrar tekrar asıl çalışan yazılımı
denetlememize imkan verir (her 1 hafta – 1 ay).
• İş birimi öncelikleri belirler. Takımlar, en öncelikli
yetenekleri teslim etmek için, en iyi yolu kendiliğinden
organize olarak belirler.
• Her 1 hafta – 1 aylık sürede gerçek çalışan yazılım
ortaya çıkarılır. Yaygınlaştırma veya bir sprint daha bu
ürün üzerinde çalışılma kararı verilir.
Mountain Goat Software,
LLC
Scrum’ın Kökleri
•
•
•
•
Jeff Sutherland
•
•
1993 yılında Easel Corp ilk scrum
IDX ve 500 üstü kişi Scrum kullandı
Ken Schwaber
•
•
•
ADM
Sutherland ile birlikte OOPSLA 96’da
Scrum sundu.
3 Scrum kitabının yazarıdır
Mike Beedle
•
PLOPD4’da Scrum patternleri
Ken Schwaber and Mike Cohn
•
2002 yılında ilk olarak Agile Alliance
içerisinde Scrum Alliance’ı ortak kurdular.
Mountain Goat Software,
LLC
Scrum’ı kim kullanıyor:
•Microsoft
•Yahoo
•Google
•Electronic Arts
•High Moon Studios
•Lockheed Martin
•Philips
•Siemens
•Nokia
•Capital One
•BBC
•Intuit
Mountain Goat Software,
LLC
•Intuit
•Nielsen Media
•First American Real Estate
•BMC Software
•Ipswitch
•John Deere
•Lexis Nexis
•Sabre
•Salesforce.com
•Time Warner
•Turner Broadcasting
•Oce
Scrum ne için kullanılıyor:
•
•
•
•
•
•
•
•
•
Ticari yazılımlar
Şirket içi geliştirme
Kontratlı geliştirme
Sabit fiyatlı projeler
Finansal uygulamalar
ISO 9001-sertifikalı
uygulamalar
Gömülü sistemler
24x7 ve %99.999 hizmet
vermesi gereken sistemler
Joint Strike Fighter (JSF)
Mountain Goat Software,
LLC
• Oyun geliştirme
• FDA Onaylı, yaşam kritik
sistemler
Uydu kontrol yazılımları
•
• Web siteler
• El bilgisayarı yazılımları
• Mobil telefonlar
• Ağ uygulamaları
• ISV uygulamaları
• Kullanımda olan bazı büyük
uygulamalar
Karakteristikler
•
•
•
•
•
•
Kendiliğinden organize takımlar
1 ay uzunluğundaki “Sprint”lerde ürün
geliştirilir.
Gereksinimler “Product Backlog” içerisinde
maddeler olarak tutulur.
Herhangi bir mühendislik pratiği tanımlı
değildir.
Proje teslimatı yapılan Agile bir ortam
yaratmak için üretken kurallar kullanır.
“Agile süreçlerden” birisidir.
Mountain Goat Software,
LLC
Çevik Yazılım Geliştirme
Manifestosu
Süreç ve Araçlar
ziyade
Bireyler ve
Etkileşimler
Kapsamlı
Dokümantasyon
ziyade
Çalışan Yazılım
Sözleşme Pazarlığı
ziyade
Müşteri ile İşbirliği
ziyade
Değişime Karşılık
Vermeye
Plana Bağlı
Kalmaktan
Kaynak: www.agilemanifesto.org
Mountain Goat Software,
LLC
Proje Gürültü Seviyesi
Anlaşmadan
Uzak
Gereksinimler
Anarşi
Teknoloji
Kesinlikten
Uzak
Mountain Goat Software,
LLC
Source: Strategic Management and
Organizational Dynamics by Ralph
Stacey in Agile Software Development
with Scrum by Ken Schwaber and Mike
Beedle.
Basit
Kesinliğe
Yakın
Anlaşmadan
Uzak
Karışık
Scrum
24 saat
Sprint
1-4 hafta
Sprint hedefi
Return
Cancel
Return
Gift
Coupons
wrap
Gift
Cancel
wrap
Ürün
İş Yığını
Mountain Goat Software,
LLC
Sprint Görev
Yığını
Coupons
Mümkünse teslim
edilebilir ürün parçası
Putting it all together
Resme aşağıdaki linkten ulaşabilirsiniz:
www.mountaingoatsoftware.com/scrum
Mountain Goat Software,
LLC
Sprintler
• Scrum projeleri Sprint’ler süresince ilerler
•
Extreme Programming’deki iterasyonlar
• Süresi 1–4 hafta veya en fazla 1 takvim
•
•
ayıdır
Sabit Sprint süresi, daha iyi ritim
yakalanmasını sağlar
Sprint süresince ürün tasarlanır, kodlanır
ve test edilir
Mountain Goat Software,
LLC
Sıralı vs. Örtüşen Geliştirme
Gereksinim
Tasarım
Geliştirme
Test
Bir zamanda bir şeyin
tamamını yapmak yerine
...Scrum takımları bir
zamanda herşeyden biraz
yapar
Kaynak: “The New New Product Development Game” by
Takeuchi
and Software,
Nonaka. Harvard Business Review, January 1986.
Mountain
Goat
LLC
Sprint süresince değişiklik
yapılmaz
Değişiklik
• Sprint sürelerini, ne kadar süre değişikliği
sprintin dışında tutabileceğinize göre
planlayın.
Mountain Goat Software,
LLC
Scrum çerçevesi
Roller
• Ürün Sahibi
• Scrum Master
• Takım
Toplantılar
• Sprint Planlama
• Sprint Ürün Gözden Geçirme
• Sprint Süreç Gözden Geçirme
• Ne Var Ne Yok Toplantısı
Çıktılar
• Ürün İş Yığını (Product Backlog)
• Sprint Görev Yığını (Sprint
Backlog)
• Eksiltmeli İş Bitirme Çizelgesi
(Burndown Chart)
Mountain Goat Software,
LLC
Scrum çerçevesi
Roller
• Ürün Sahibi
• Scrum Master
• Takım
Toplantılar
• Sprint planlama
• Sprint Ürün Gözden Geçirme
• Sprint Süreç Gözden Geçirme
• Ne Var Ne Yok Toplantısı
Çıktılar
• Ürün İş Yığını
• Sprint Görev Yığını
• Eksiltmeli İş Bitirme
Mountain Goat Software,
LLC
Çizelgesi
Ürün Sahibi
• Ürünün yeteneklerini belirler
• Yaygınlaştırma içeriğini ve tarihini belirler
• Ürünün karlılığından sorumludur (ROI)
• Pazar değerine göre yetenekleri
•
•
önceliklendirir
Gerektiği durumda her iterasyon yetenkleri
ve öncelikleri günceller
İş sonuçlarını kabul veya reddeder.
Mountain Goat Software,
LLC
Scrum Master
•
•
•
•
•
•
Projede yönetimi temsil eder
Scrum değer ve pratiklerinin
içselleştirilmesinden sorumludur
Engelleri ortadan kaldırır
Takımın tam olarak fonksiyonel ve üretken
olduğundan emin olur
Tüm roller ve fonksiyonlar arasındaki yakın
işbirliğini sağlar
Dış müdahalelereden takımı korur
Mountain Goat Software,
LLC
Takım
•
•
•
Genellikle 5-9 kişidir
Disiplinler Arası:
•
Yazılımcılar, test mühendisleri, kullanıcı
deneyimi tasarımcıları, vb.
Takım üyeleri tam zamanlı olmalıdır
•
Bazı özel durumlar olabilir (Ör: Veritabanı yöneticileri)
Mountain Goat Software,
LLC
Takım
•
Takımlar kendiliğinden
Örgütlüdür (self organized)
•
•
İdeal olarak hiç bir ünvan yoktur, (çok nadiren
olabilir)
Takım üyeleri sadece sprintler arasında
değişmelidir.
Mountain Goat Software,
LLC
Scrum çerçevesi
Roller
• Ürün Sahibi
• Scrum Master
• Takım
Toplantılar
• Sprint Planlama
• Sprint Ürün Gözden Geçirme
• Sprint Süreç Gözden Geçirme
• Ne Var Ne Yok Toplantısı
Çıktılar
• Ürün İş Yığını
• Sprint Görev Yığını
• Eksiltmeli İş Bitirme
Mountain Goat Software,
LLC
Çizelgesi
Takım
Kapasitesi
Sprint Planlama Toplantısı
Sprint önceliklendirme
Ürün İş
Yığını
•
•
İş Durumu
Teknoloji
Sprint
hedefi
Sprint planlama
•
Mevcut
Ürün
Ürün iş yığını analiz edilir ve
değerlendirilir
Sprint hedefi seçilir
•
•
Mountain Goat Software,
LLC
Sprint hedefine nasıl ulaşılacağı
belirlenir (tasarım)
Ürün İş yığınından (kullanıcı
hikayeleri / yetenekler) Sprint
Görev Yığını oluşturulur
Sprint görev yığını saat bazında
tahminlenir
Sprint
Görev
Yığını
Sprint Planlama
• Takım bitirmek için taahhüt verebileceği
•
•
maddeleri ürün iş yığınından seçer
Sprint Görev Yığını oluşturulur
•
•
Görevler belirlenir ve tahmin yapılır (1-16 saat)
Sadece Scrum Master tarafından değil, ortak olarak
yapılır
Üst seviye tasarım düşünülür
Tatil planlayıcısı
olarak, otellerin
fotoğraflarını
görmek istiyorum
Mountain Goat Software,
LLC
Orta katman kodlaması (8 saat)
UI kodlaması (4)
Testlerin yazılması (4)
Foo class’ının kodlaması (6)
Performans testi güncellemesi (4)
Ne Var Ne Yok Toplantısı
• Parametreler
•
•
•
Günlük
15 Dakika
Ayakta
• Problem çözmek için değildir
•
•
Tüm dünyayı davet edebilirsiniz.
Sadece takım üyeleri, Scrum Master, Ürün
Sahibi konuşabilir.
• Diğer ekstra toplantıların düzenlenme
ihtiyacını ortadan kaldırır
Mountain Goat Software,
LLC
Herkes 3 soru cevaplar
Dün ne yaptın?
Bugün ne yapacaksın?
Önünde engel var mı?
1
2
3
• Bunlar Scrum Master’a durum bildirmek
için değildir.
•
Takım üyelerinin önünde verilen taahhütlerdir.
Mountain Goat Software,
LLC
Sprint Ürün Gözden Geçirme
• Takım, sprint süresince ne tamamladığını
•
•
sunar
Genellikle yeni yeteneklerin ve mimarinin
demosu şeklindedir
Resmi değildir
•
•
2 saat hazırlanma
Slayt yok
• Tüm takım katılır
• Bütün dünyayı davet edin
Mountain Goat Software,
LLC
Sprint Süreç Gözden Geçirme
• Periyodik olarak iyi ve kötü giden noktalara
•
•
•
bakılır
Genellikle 15–30 dakika
Her sprint sonunda yapılır
Tüm takım katılır
•
•
•
•
Scrum Master
Ürün Sahibi
Takım
Belki müşteriler ve diğerleri
Mountain Goat Software,
LLC
Başla / Dur / Devam
• Tüm takım bir araya gelir ve yapılmak
istenenleri tartışır:
Yapmaya başla
Yapmayı bırak
Bu yöntem, Sprint
Süreç Gözden
Geçirmeyi yapmanın
bir çok yolundan
sadece birisidir
Mountain Goat Software,
LLC
Devam Et
Scrum çerçevesi
Roller
• Ürün Sahibi
• Scrum Master
• Takım
Toplantılar
• Sprint Planala
• Sprint Süreç Gözden Geçirme
• Sprint Süreç Gözden Geçirme
• Ne Var Ne Yok Toplantısı
Çıktılar
• Ürün İş Yığını
• Spring Görev Yığını
• Eksiltmeli İş Bitirme
Mountain Goat Software,
LLC
Çizelgesi
Ürün İş Yığını
• Gereksinimler
• Projede yapılması istenen
tüm işlerin listesi
• İdeal olarak her maddenin
müşteri veya kullanıcı
açısından bir değeri vardır.
• Ürün sahibi tarafından
önceliklendirilmiştir
• Her sprint başlangıcında
tekrar önceliklendirilir
Ürün İş Yığını
Mountain Goat Software,
LLC
Örnek Ürün İş Yığını
Ürün İş Yığını Maddesi
Konuk kullanıcının rezervasyon
yapmasına izin verir
Konuk olarak, rezervasyon iptal etmek
istiyorum.
Konuk olarak, rezervason tarihlerini
değiştirmek istiyorum.
Otel çalışanı olarak, RevPAR raporu
almak istiyorum (oda başına gelir)
Tahmin
3
5
3
8
Exception Handling’in iyileştirilmesi
8
...
30
...
50
Mountain Goat Software,
LLC
Sprint Hedefi
• Sprintte yapılacak işin odaklanacağı
noktayı tanımlayan kısa ifade
Beşeri Bilimler
Veritabanı Uygulaması
Uygulamanın SQL yanında,
Oracle veritabanında da
çalışması
Nüfus genetik çalışmaları için
gerekli yeteneklerin desteklenmesi
Finansal Servisler
Gerçek zamanlı ve akan veri ile ABC
şirketinden daha fazla teknik
belirtecin desteklenmesi
Mountain Goat Software,
LLC
Sprint Görev Yığınının Yönetilmesi
•
•
Bireyler kendi yapacakları işleri seçerler
•
Asla iş ataması yapılmaz
Kalan tahmini iş miktarı her gün güncellenir
Mountain Goat Software,
LLC
Sprint Görev Yığınının Yönetilmesi
•
•
•
•
Takım üyeleri, Sprint Görev Yığını üzerinde
ekleme, silme ve güncelleme yapabilir.
Sprint işleri gelişir
Eğer net değilse, daha yüksek tahminli bir Sprint
Görev Yığını maddesi tanımlanır, sonra
parçalara ayrılır
Yapılacak iş daha çok belli olmaya başlayınca
kalan iş miktarı güncellenir
Mountain Goat Software,
LLC
Bir Sprint Görev Yığını
Görevler
UI kodlanması
Ara katmanın kodlanması
Ara katmanın testi
Paz Salı Çar Per Cum
8
4
8
16
12
10
4
8
16
16
11
8
8
8
8
8
8
4
Online yardımın yazılması
12
Foo sınıfının geliştirilmesi
8
Hata loglama eklenmesi
Mountain Goat Software,
LLC
Saatler
Eksiltmeli İş Bitirme Çizelgesi
Mountain Goat Software,
LLC
Paz Salı Çar
Görevler
UI kodlaması
Ara katman kodlaması
Ara katman testi
Online yardım yazılması
8
16
8
12
4
12
16
8
10
16
Per Cum
7
11
50
Saatler
40
30
20
10
0
Paz
Mountain Goat Software,
LLC
Salı
Çar
Per
Cum
8
Ölçeklenebilirlik
•
•
•
Genellikle takımlar 7 ± 2 kişidir
•
Ölçeklenebilirlik, takımların takımından
gelmektedir
Ölçekleme Faktörleri
•
•
•
•
Uygulamanın tipi
Takım boyutu
Takım dağılımı
Proje süresi
Scrum 500+ kişiden oluşan projelerde
kullanılmaktadır
Mountain Goat Software,
LLC
Scrum’ların Scrum’ı ile
Ölçeklendirme
Mountain Goat Software,
LLC
Scrum’ların Scrum’larının Scrum’ı
Mountain Goat Software,
LLC
Sonraki Adım
•
•
•
•
www.mountaingoatsoftware.com/scrum
www.scrumalliance.org
www.controlchaos.com
[email protected]
Mountain Goat Software,
LLC
Scrum Okuma Listesi
•
•
•
•
Agile and Iterative Development: A Manager’s Guide by
Craig Larman
Agile Estimating and Planning by Mike Cohn
Agile Project Management with Scrum by Ken Schwaber
Agile Retrospectives by Esther Derby and Diana Larsen
Mountain Goat Software,
LLC
Scrum Okuma Listesi
•
•
•
•
•
Agile Software Development Ecosystems by Jim Highsmith
Agile Software Development with Scrum by Ken Schwaber
and
Mike Beedle
Scrum and The Enterprise by Ken Schwaber
Succeeding with Agile by Mike Cohn
User Stories Applied for Agile Software Development by
Mike Cohn
Mountain Goat Software,
LLC
Copyright notice
• You are free:
•
• to Share―to copy, distribute and and transmit the work
• to Remix―to adapt the work
Under the following conditions
• Attribution. You must attribute the work in the manner
specified by the author or licensor (but not in any way that
suggests that they endorse you or your use of the work).
• Nothing in this license impairs or restricts
the author’s moral rights.
•
For more information see
http://creativecommons.org/licenses/by/3.0/
Mountain Goat Software,
LLC
Contact information
Presentation by: Mike Cohn
[email protected]
m
www.mountaingoatsoftware.com
(720) 890-6110 (office)
Mountain Goat Software,
LLC