2. EĞİTMENEĞİTMEN
Jim Coplien (James O. Coplien)
• Bilişim yazarı
(Advanced C++ Programming Styles, Software Patterns,
Organizational Patterns of Agile Software Development, etc.)
• Eğitmen
(Visiting Professor at University of Manchester, Scrum Trainer)
• Danışman
(AT&T – Bell Laboratuarları Yazılım Geliştirme Araştırma Birimi Eski
Üyesi, Object-Oriented Programlama, Organizasyonel Modelleme,
Scrum ve Çevik Yöntemler danışmanlığı )
3. SCRUM’IN TARİHÇESİSCRUM’IN TARİHÇESİ
• Temelleri Toyota’ya Dayanıyor
(Human Centric Way – 1950)
• Scrum terimi ilk defa 2 Japon
araştırmacının yayınında geçti:“Takeuchi and Nonaka,
The New Product Development Game, Harvard
Business Review, 1986”
• Jeff Sutherland tarafından yazılım geliştirme süreçlerine
implemente edilmesine başlandı (1993).
• 2001 yılında dünyanın önce gelen çevik yazılım
geliştiricileri “Çevik Yazılım Geliştirme Manifestosu”nu
(Agile Manifesto) yayınlamışlardır.
4. SCRUM TEMEL KAVRAMLARISCRUM TEMEL KAVRAMLARI
• “Agile Manifesto” ya dayanır:
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.
Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith Andrew Hunt
Ron Jeffries Jon Kern Brian Marick Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas
5. SCRUM TEMEL KAVRAMLARISCRUM TEMEL KAVRAMLARI
• “Lean” (Yalın - Toyota) Prensiplere dayanır:
Yalınlaşmak için 3 Mu ortadan kaldırılmalıdır:
Muda Muri Mura
- Muda: Waste - Gereksiz çalışmaların ortadan kaldırılması
Müşteri ya da ürüne pozitif etkisi olmayan tüm çalışmalar, beklemeler
ile vakit kaybetme (waterfall) elemine edilmelidir. Örnek:
- Bug tespit edince ortadan kaldır, dokümante etmeye
çalışma,
- Ürün yerine fazla/gereksiz dokümanla vakit geçirme
(Toyota, dokümanların 1 sayfayı aşmaması kuralı)
6. SCRUM TEMEL KAVRAMLARISCRUM TEMEL KAVRAMLARI
- Muri: Overburden – Fazla yüklenmelerin engellenmesi -
Planlanan iş takımın kapasitesinin üzerinde olmamalıdır,
- Proje takımına fazla yüklenmek takımda
memnuniyetsizlik doğurur bu da kalite problemlerine yol
açar.
- Mura: Variation – Tutarsızlık/istikrarsızlıkların kaldırılması
- Standartlar takip edilmelidir,
- Talep/İhtiyaçlardaki belirsizlikler ortadan
kaldırılmalıdır,
- Organizasyondaki (müşteri/IT) kontaklar
belli ve tek olmalıdır.
8. SCRUM ANA ROLLERSCRUM ANA ROLLER
PRODUCT OWNER
- Business Plan,
- Product Vision,
- Product Backlog oluşturulması.
SCRUM MASTER
- Sprint Planning Meeting,
- Sprint Review Meeting,
- Daily Scrum Meeting organizasyonlarını yapar.
- Impediment List listesinde yer alan engellerin çözümüne çalışır.
- Takımdaki verimsizliklerin giderilmesi.
DEVELOPMENT TEAM
9. ANA TOPLANTILARANA TOPLANTILAR
PRODUCT PLANNING MEETING
- Sadece ilk 2 sprint detaylı planlanır,
- Her sprint sonunda takip eden sprintler detaylı planlanır,
- Poker planning / Story points (en az maliyetli çalışma baz alınır)
SPRINT PLANNING MEETING
- Her sprint’in bir business amacı olur,
- Bir sprint 2-4 haftalık süreyi kapsar,
- Maksimum 2 günlük tasklerden oluşur,
- 1-4 saatlik bir toplantı olup, “product backlog”un bölünerek “sprint
backlog”un oluşturulur.
10. ANA TOPLANTILAR (4 TOPLANTI)ANA TOPLANTILAR (4 TOPLANTI)
DAILY SCRUM MEETING
- Her sabah yapılır,
- Kesinlikle 15 dk’yı aşmaz,
- Bu toplantılarda herhangi bir problem çözülmez, sadece belirtilir,
- Her takım üyesi şu 3 soruyu yanıtlar:
Dün ne yaptın?
Bugün ne yapacaksın?
Problem/sorun var mı?
SPRINT REVIEW MEETING
- Müşteri ve takım bir araya gelir,
- Sunum değil, sprint’de geliştirilen uygulama üzerinden gidilir,
- 2-3 saat sürer, yapılanlar, nelerin problemli/problemsiz gittiği ve
gelecek sprint üzerine konşulur.
11. ANA DOKÜMANLARANA DOKÜMANLAR
PRODUCT BACKLOG
- Proje sonunda ortaya çıkacak üründen beklenen temel özellik ve
fonksiyonlardır,
- Oluşturulması Product Owner sorumluluğundadır,
- Beklenen fonksiyonalite belirtilir, önceliğe göre sıralanır (Product
Backlog Items (PBI)),
- Bir PBI, sprint’in yarısından uzun olmamalıdır (öyle ise daha küçük
parçalara bölünür),
- Projede birden fazla ekip çalışsa da tek product list üzerinden gidilir.
13. ANA DOKÜMANLAR (4 DOKÜMAN)ANA DOKÜMANLAR (4 DOKÜMAN)
SPRINT BACKLOG
- Takımın ilgili sprint (iterasyonda) tamamlamayı hedeflediği
çalışmalardan oluşur.
- Buradaki çalışmalar Product Backlog’dan Product Owner ile
anlaşılan önceliklere göre seçilir.
- Sprint Backlog, ilgili çalışmaları tamamlayacağını taahhüt edecek
olan takım tarafından belirlenir.
- Çalışmaların başlangıcında ilk 2 sprint, diğer sprintler çalışmalar
ilerledikçe detaylandırılır.
- Sprint kapsamında ki çalışmaların tamamlanması için gereken
süreler günlük olarak takip edilerek, Burndown Chart oluşturulabilir.
16. ANA DOKÜMANLAR (4 DOKÜMAN)ANA DOKÜMANLAR (4 DOKÜMAN)
SPRINT – BURNDOWN CHART
- Sprintte ne kadar zaman harcandığı değil, kapsamın
tamamlanabilmesi için ne kadarlık işin kaldığına odaklanılır.
17. ANA DOKÜMANLAR (3 DOKÜMAN)ANA DOKÜMANLAR (3 DOKÜMAN)
IMPEDIMENT LIST
- Scrum Master “Daily Meeting”lerde ortaya çıkan,
takımın ilerlemesini engelleyecek problemleri
“Impediment List”de toplar.
- Çözümleri için gerekli adımları atar.
18. UYGULAMA KAVRAM & KURALLARIUYGULAMA KAVRAM & KURALLARI
Proje süresince yeni müşteri talepleri gelmesi doğaldır.
Bu taleplerin Product Owner tarafından Product Backlog’da gereken
yere yerleştirilmesi beklenir.
Bir sprint devam ederken, o sprint’in içeriğinin değişmesi istenirse,
sprint içerisinde bu değişiklik yapılabilir mi takım ile konuşulur.
Takım o sprintte bu ek düzenlemeyi yapamayacak ise kapsamda
değişiklik yapılmaz, Product Owner’a bilgi verilir.
Belirlenen sprint süresi kesinlikle uzatılamaz. Tamamlanan
çalışmalar ile müşteriye gidilir.
Sprint Review’a ilgili müşteri ve takım üyeleri katılarak çıkan ürünü
değerlendirirler. Değerlendirme mutlaka sistem üzerinden yapılır.
Presentasyon vs.. üzerinden gidilemez.
19. UYGULAMA KAVRAM & KURALLARIUYGULAMA KAVRAM & KURALLARI
Sprintler başlamadan 1 hafta ön analiz ve dizayn çalışması yapılır.
Planlama sırasında takımdan alınan maliyetler 1.4 (drag factor) ile
çarpılarak, live problemlere ayrılacak zaman ve çalışılmayan süreler
de dikkate alınarak, daha kesin bir proje süre ve maliyeti çıkartılır.
15 dk’yı aşmaması için günlük toplantılar
mutlaka ayakta yapılır.
Geç gelenlere takımın kabul edeceği bir
ceza verilebilir (şarkı söyleme, dans etme,
ufak maddi bir ceza (proje sonunda kutlama
için kullanmak üzere), gibi.
20. UYGULAMA KAVRAM & KURALLARIUYGULAMA KAVRAM & KURALLARI
Scrum’da overtime yasaktır.
Ekip aynı anda tek projede çalışmalıdır.
Mesai saatlerinde performanslı çalışılmalıdır. Fazla mesainin takım
verimliliği, iş tatmini ve ürün kalitesine negatif etkisi vardır.
Sprint başına tamamlanan story point (n saatlik iş) o takımın hızını
verir ve sonraki sprintte planlanabilecek çalışma öngörülür.
Takım üyeleri gerekli durumlarda birbirlerinin çalışmalarına yardımcı
olmalıdır (architect kodlamaya yardımcı olabilir, developer testlere
yardımcı olabilir).
Scrum CMMI3 ve ISO 9001 uyumludur.