Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
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
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
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
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
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
SCRUM
● Babaları Takeuchi ve Nonaka, 1986
● Jeff Sutherland, Ken Schwaber, 1993, Easel Corp.
● Agile Manifesto, 2001
● CMMI, Capability Maturity Model Integration
● Lean Development
● Kanban
XP
CMMI
Genel Bakış
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
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
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.
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.
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.
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
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.
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.
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
Redmine
● Redmine bir proje yönetim sistemidir.
● Redmine backlogs plugin SCRUM için geliştirilmiştir.
Redmine
Sprint Taskboard
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!
Sorular
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/
● İletişim
– gokhan@zetaops.com

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
  • 7. XP
  • 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/