scrum ve redmine ile yazılım projesi yönetimi

25
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 [email protected]

Upload: gokhan-boranalp

Post on 18-Dec-2014

3.527 views

Category:

Education


0 download

DESCRIPTION

Özgür Web Günleri 2011, Scrum ve Redmine ile yazılım projesi yönetimi

TRANSCRIPT

Page 1: Scrum ve Redmine ile yazılım projesi yönetimi

SCRUM İle Yazılım Projesi Yönetimi

ve Redmine

15 Ekim 2011 Özgür Web GünleriYeditepe Üniversitesihttp://www.ozgurwebgunleri.org.tr/2011/Gokhan [email protected]

Page 2: Scrum ve Redmine ile yazılım projesi yönetimi

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

Page 3: Scrum ve Redmine ile yazılım projesi yönetimi

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

Page 4: Scrum ve Redmine ile yazılım projesi yönetimi

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

Page 5: Scrum ve Redmine ile yazılım projesi yönetimi

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

Page 6: Scrum ve Redmine ile yazılım projesi yönetimi

SCRUM

● Babaları Takeuchi ve Nonaka, 1986

● Jeff Sutherland, Ken Schwaber, 1993, Easel Corp.

● Agile Manifesto, 2001

● CMMI, Capability Maturity Model Integration

● Lean Development

● Kanban

Page 7: Scrum ve Redmine ile yazılım projesi yönetimi

XP

Page 8: Scrum ve Redmine ile yazılım projesi yönetimi

CMMI

Page 9: Scrum ve Redmine ile yazılım projesi yönetimi

Genel Bakış

Page 10: Scrum ve Redmine ile yazılım projesi yönetimi

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

Page 11: Scrum ve Redmine ile yazılım projesi yönetimi

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

Page 12: Scrum ve Redmine ile yazılım projesi yönetimi

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.

Page 13: Scrum ve Redmine ile yazılım projesi yönetimi

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.

Page 14: Scrum ve Redmine ile yazılım projesi yönetimi

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.

Page 15: Scrum ve Redmine ile yazılım projesi yönetimi

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

Page 16: Scrum ve Redmine ile yazılım projesi yönetimi

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.

Page 17: Scrum ve Redmine ile yazılım projesi yönetimi

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.

Page 18: Scrum ve Redmine ile yazılım projesi yönetimi

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

Page 19: Scrum ve Redmine ile yazılım projesi yönetimi

Redmine

● Redmine bir proje yönetim sistemidir.

● Redmine backlogs plugin SCRUM için geliştirilmiştir.

Page 20: Scrum ve Redmine ile yazılım projesi yönetimi

Redmine

Page 21: Scrum ve Redmine ile yazılım projesi yönetimi

Sprint Taskboard

Page 22: Scrum ve Redmine ile yazılım projesi yönetimi

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!

Page 23: Scrum ve Redmine ile yazılım projesi yönetimi

Sorular

Page 24: Scrum ve Redmine ile yazılım projesi yönetimi

KaynakçaEkitaplar

● 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/

Page 25: Scrum ve Redmine ile yazılım projesi yönetimi

● İletişim

[email protected]