Özgür Web Günleri 2011,
Scrum ve Redmine ile yazılım projesi yönetimi
Report
Share
Report
Share
1 of 25
Download to read offline
More Related Content
Scrum ve Redmine ile yazılım projesi yönetimi
1. SCRUM
İle Yazılım Projesi Yönetimi
ve Redmine
15 Ekim 2011
Özgür Web Günleri
Yeditepe Üniversitesi
http://www.ozgurwebgunleri.org.tr/2011/
Gokhan Boranalp
gokhan@zetaops.com
2. Yol yordam
● Yazılım projesinde hayat döngüsü
● SCRUM, XP ve CMMI
● Redmine proje yönetim yazılımı
● Püf noktaları
● Sorular
3. Yazılım projesinde hayat döngüsü
● Zaman çok az
● Bütçe daima kısıtlı
● Kaynaklar belirsiz
● Belgeleme zayıf
● Bilgi akışı sorunlu
● Programcılar kofti
● Yöneticiler cahil
● Patron hodbin
● Hakem daima bıyıklı
● Zaman iyi planlanmış
● Bütçe ihtiyaca göre
● Kaynaklar belirli
● Belgeleme güçlü
● Bilgi akışı doğrudan
● Programcılar canavar
● Yöneticiler hedefe
odaklı
● Patron akil
● Zemin futbola müsait
4. Yazılım projesinde hayat döngüsü
● En başta, sorunları doğru tespit etmek
● Hatanın, daima var olacağını düşünerek, hatayı azaltacak
sistemler kurmak
● Proje büyüklüğünü doğru anlamak
● Zayıf ve güçlü noktaları doğru tespit etmek
● Daima iletişim kanallarını açık tutmak
ÖNCE KENDİNİ EĞİT
5. SCRUM
● Geliştirme sürecini hızlandırmak
● Bireysel ve kurumsal amaçları yan yana getirmek
● Performansa dayalı bir kültür yaratmak
● Hisse sahiplerinin değer üretmesine destek olmak
● Her seviyede, kalıcı ve istikrarlı bir iletişim performansına
erişmek
● Bireysel gelişimi ve yaşam kalitesini ilerletmek
6. SCRUM
● Babaları Takeuchi ve Nonaka, 1986
● Jeff Sutherland, Ken Schwaber, 1993, Easel Corp.
● Agile Manifesto, 2001
● CMMI, Capability Maturity Model Integration
● Lean Development
● Kanban
10. SCRUM
● Roller
– Product Owner, ScrumMaster, Team.
● Toplantılar
– Sprint Planlama, Sprint Gözden Geçirme
ve Günlük Scrum Toplantıları
● Yapılar
– Product Backlog, Sprint Backlog ve
Burndown Chart
11. SCRUM
● Ürün Sahibi - Product Owner
– Ürünün özelliklerini belirlemek,
– Ürünün çıkma tarihini belirlemek
– Ürünün karlılığından sorumlu olmak. ROI.
– Piyasa koşullarına göre özellikler arasında
sıralama yapmak.
– İhtiyaca göre, her 30 günde bir özellikleri ve
sıralamayı tekrar ayarlamak
– İşin sonucunu kabul ya da reddetmek
12. SCRUM
● SCRUM Master - Çilekeş
– Ekibin işlevsel ve üretici olduğuna emin
olmak
– Tüm rollerle yakın işbirliği yapmak
– Engelleri kaldırmak!
– Ekibi harici müdahalelerden korumak
– Sürecin takip edildiğine emin olmak.
Toplantılar zamanlamak v.b.
13. SCRUM
● Team - Yazılım Ekibi
– Yedi ve daha fazla üyesi vardır
– Sprint hedeflerini seçer ve işin sonuçlarını
tanımlar
– Proje yönergeleri dahilinde sprint hedefine
erişmek için gerekeni yapma hakkı vardır.
– Kendisini ve yapacağı işleri kendi kendine
organize eder
– Çalışma sonuçlarının demosunu Ürün
Sahibi'ne yapar.
14. SCRUM
● Sprint Planlama Toplantısı
– Müşteriyle yazılımcıları en başında yan
yana getirir
– Reel maliyetlerin tespitine olanak sağlar
– Müşterinin ne yapmak istediğini, hedeflerini
yazılım ekibi doğru anlamış olur
– Yapılacak işlerin sıralaması doğru yapılır
– Bu işlerin tamamı 'Product Backlog' a
yazılır.
15. SCRUM
● Sprint Planlama Toplantısı
– Ekip yapılacak işin zaman tahminini yapar
– Belirlenen sprint zamanı aşılamaz
– Backlog'daki toplam işler 2 gün ila 16
saatlik daha küçük işlere bölünür
– Bu toplantılar 4 saati geçemezler
– Ekip işin zamanında bitmeyeceğine karar
verirse, eksiltme veya sıralamayı tekrar
gözden geçirme talebinde bulunabilir
16. SCRUM
● Yan faydalar
– Başta sistem mimarı ve analistlere daha
çok iş düşer. Ekipteki junior programcılar,
bu süreçte nasıl planlama yapıldığını ve
sistem mimarisini öğrenme şansına sahip
olurlar
– Müşteri ile yazılım ekibi arasındaki bağlantı
kopmaz.
– Müşteri ne zaman, ne özellikte bir ürüne
sahip olacağını bilir.
17. SCRUM
● Sprint Gözden Geçirme Toplantısı
– En fazla 4 saat olabilir
– Ürün Sahibi ve ortaklar ilk yarısına katılır
– Backlog'daki işlerin hangilerinin yapıldığı
denetlenir.
– Sonraki sprint işleri sıralanır
– Zamanın yarısında, Scrum Master, ekip
üyeleriyle birlikte geriye dönük
değerlendirme (Sprint Retrospective)
yapar.
18. SCRUM
● Günlük Scrum Toplantılar - Daily Scrum Meeting
– Dün ne yaptım?
– Bugün ne yapacağım?
– Bana engel olan şeyler nelerdi?
Scrum Master;
●Biten, başlayan işleri takip eder. Buna
göre Burndown Chart'lar güncellenir
●Bağımlı işleri, engelleri tespit eder
●Daima ekibin kişisel sorunlarını dikkate alır
19. Redmine
● Redmine bir proje yönetim sistemidir.
● Redmine backlogs plugin SCRUM için geliştirilmiştir.
22. Püf Noktaları
● Ekip elemanları değişebilir. Yapıyı buna göre kurun.
● Daima en önce test ve continuous integration (CI) alt
yapısını kurmaya bakın. Buildbot, Hudson, Teamcity v.b.
● Ekip üyelerini seçmeye zaman ayırın. Test edilmemiş
coder'la 'asla' çalışmayın.
● Proje yönetiminin, aslında kriz yönetimi olduğunu
unutmayın. Sakin olmaya çalışın.
● Ürün yöneticisiyle açık ve net ilişki kurun. Sorunları
kendinize saklamayın.
● Redmine üzerinde, kullanmaya başlamadan mutlaka
pratik yapın.
● Kesinlikle her gün spor yapın!
24. Kaynakça
Ekitaplar
● The Scrum Papers: Nuts, Bolts, and Origins of an Agile Process, Jeff Sutherland, Ph.D. Ken
Schwaber,
● Lean Software Development: An Agile Toolkit, Mary Poppendieck, Tom Poppendieck
● Yöneticiler için Dogru Sorular CMMI, Orhan Kalaycı
Baglantılar
● http://en.wikipedia.org/wiki/Capability_Maturity_Model_Integration
● http://www.nitelik.net/
● http://www.extremeprogramming.org/rules.html
● http://agilemanifesto.org/
● http://www.redmine.org/
● http://www.redminebacklogs.net/