4 Nisan 2015 tarihinde Kadir Has Üniversitesi'nde yapılan 9. Yazılım Teknolojileri Seminer etkinliğinde Uğur Umutluoğlu'nun yaptığı Yazılımcı Gözüyle Scrum sunumu
4. Scrum Nedir?
• Çevik(agile) yazılım geliştirme yöntemlerinden
biridir
• Basit kuralları olan bir süreç yönetimini tarifler
• Belirlenmiş rollerin yüksek verimlilikle çalışmasını
ve kısa sürede üretimi hedefler
• Kesin olarak “Scrum şöyle uygulanır” demek doğru
olmaz. İhtiyaca ve ekip niteliğine göre değişiklikler
gösterebilir
5. Scrum Nedir?
• Scrum hangi projeler için daha uygun?
▫ Gereksinimleri net şekilde belirlenmeyen projeler
▫ Değişime açık projeler
▫ Hızlı geri dönüşler alınması gereken projeler
▫ Karmaşık yapıdaki projeler
• Scrum ne vadediyor?
▫ Müşteri ihtiyaçlarına hızlı cevap verebilme
▫ Takım içi iletişimi arttırma
▫ Aksayan noktaları tespit etme ve problemleri çözme
6. Scrum Rolleri
Steakholder
• Son kullanıcı
• Müşteri
• Yönetici
• …
Product Owner
(Ürün Sahibi)
Scrum Master
(Scrum ustası)
Development Team
11. Yazılımcı için Avantajlar
• İşin planlamasında daha fazla söz sahibidir
• İşler küçük parçalara bölündüğü için göreviniz kısa
ve nettir, göreve odaklanmak daha kolaydır
12. Yazılımcı için Avantajlar
• Sprint planlamaları gerçekçi yapıldığı sürece daha az
stresli bir çalışma ortamı sağlar
• Hızınızı ve üretkenliğinizi somut
şekilde ölçmenizi sağlar
• Dokümantasyon geliştirme ile
paraleldir ve çok kapsamlı değildir
13. Yazılımcı için Avantajlar
• Zorluklar ve engeller scrum master tarafından
çözüme ulaştırılır, yazılımcı bürokrasi ile uğraşmaz
• Hızlı geri dönüşler alınacağı için hatalarınızı ve
eksikliklerinizi görebilirsiniz
• Sen/ben yoktur, takım vardır
14. Yazılımcı için Dezavantajlar
• Yaptığınız/yapamadığınız işler için sürekli açıklama
yapmak zorunda olmak
• Hatalı süre verilen işler nedeniyle sprint hedeflerini
tehlikeye atmak
• Sık yapılan toplantılar çoğu yazılımcı için sıkıcı ve
gereksiz zaman kaybı olarak görülebilir
• Kısıtlı analizler nedeniyle bazı ekranların, servislerin
vs. sık sık değişebilmesi
• Rol hiyerarşisi
15. Agile’a Farklı Bir Bakış Açısı
• “Agile is a cancer that we have to eliminate from the
industry” Erik Meijer
• Günlük vb. toplantılarda çok fazla zaman geçiyor
• Kod yazmaktan çok kod üzerine konuşuluyor
• “We are developers. We write code, we don’t talk
about code”
• http://www.minepla.net – 12 Ocak 2015 tarihli yazı
16. Scrum but
• Scrum rollerinin veya yöntemlerinin bazılarını
kullanılmaması
• Scrum uyguluyoruz ama x sürecini yapmıyoruz
▫ “Scrum uyguluyoruz ama sprint review toplantıları
bizim için gereksiz, o nedenle yapmıyoruz”
▫ “Scrum uyguluyoruz ama her sabah toplanmak
zaman kaybı, haftada 1 kez sabahları toplanıyoruz”
17. Türk Usulü Scrum Senaryoları - I
• Ürünü parça parça çıkarmaya gerek yok, ürün ile
ilgili tüm detaylar belli
• Proje planı belirli
• Kapsam belli, analiz tamamlanmış
• Yapılacak iş net ve basit
Herkes scrum uyguluyor,
biz hep waterfall hep
waterfall… Bari bu projede
scrum uygulayalım
Hakkatten
güzel fikir
Valla ya, hem
değişiklik olur
20. Türk Usulü Scrum Senaryoları - II
• Biliyorum proje 6 ayda ancak biter, ama müşteri ısrarcı 3 aya
bitmeli diyor.
• Nasıl bitireceğiz, mümkün değil
• Scrum diye bir şey varmış, baya hızlı
oluyormuş onu uygulayın diyorlar
• Nasıl ya, bu işler böyle olmaz ki!
• Olur olur, yaparsınız siz
• Ama scrum master nerede, product owner nerede?
• Scrum master sen olacaksın işte, hem fena mı, CV’ne de
yazarsın…
21. Türk Usulü Scrum Senaryoları - III, IV, V…
• “Sadece sabahları günlük toplantıyı yapıyoruz”
• “Toplantı yok, boşa zaman kaybı. Sprint backlogları
çıkarıp görev dağılımı yapıyoruz, gerisine çok
karışmıyoruz”
• “Bizde 1 sprint 2 ay sürüyor”
22. İyileştirme Adına
• Süreci kolaylaştıracak araçlar kullanılmalı (TFS, Jira,
Trello, Asana... vb)
• Toplantı sürelerine dikkat edilmeli
• Verim alınamıyosa retrospective, grooming gibi
toplantılardan vazgeçilmeli
• İşlere verilen sürelerde önceki deneyimlere dikkat
edilmeli
• Dokümantasyona dikkat edilmeli