yazılımcı gözüyle scrum
TRANSCRIPT
Gündem
• Scrum nedir?
• Scrum’da roller ve kavramlar
• Yazılımcı için Scrum’ın avantajları
• Yazılımcı için Scrum’ın dezavantajları
• İşimizi nasıl kolaylaştırabiliriz?
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
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
Scrum Rolleri
Steakholder• Son kullanıcı
• Müşteri
• Yönetici
• …
Product Owner(Ürün Sahibi)
Scrum Master(Scrum ustası)
Development Team
Scrum kavramlar
• Product Backlog
• Sprint Backlog
• Toplantılar▫ Günlük toplantılar
▫ Sprint planning
▫ Sprint review
▫ Retrospective (Geçmiş değerlendirmesi)
▫ Grooming (Kalan işleri(PBI) detaylandırma)
Scrum
• Scrum’a Yazılımcı Gözüyle Bakmak…
• Hmm başka ne gözle bakılabilir ki?
Fabrika ÇalışanıGözüyle Scrum
Damat AdayıGözüyle Scrum
Ev HanımıGözüyle Scrum
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
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 ileparaleldir ve çok kapsamlı değildir
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
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
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ı
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”
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
Hakkattengüzel fikir
Valla ya, hem değişiklik olur
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…
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”
İ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