Scrum ve Redmine ile yazılım projesi yönetimi
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 3,826 views

Özgür Web Günleri 2011,

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

Statistics

Views

Total Views
3,826
Views on SlideShare
3,820
Embed Views
6

Actions

Likes
0
Downloads
54
Comments
1

3 Embeds 6

http://www.linkedin.com 4
http://slideclip.b-prep.com 1
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Önemli ek notlar:

    Redmine ile bağlantılar:
    1. Her bir redmine 'issue', git üzerindeki bir branch ile bağlantılandırılır. Böylece kod ile redmine arasındaki ilişki kopmaz.
    git branch -a
    remotes/origin/bug/554/flash_client_size --> 554 rakamı, redmine issue rakamıyla aynıdır.

    2. Redmine içinde 'Custom fields' tanımlanarak bağlantılar yapılır. Bu alanlar;
    a) srs-requirement-id
    Bu alan 'Tracability Matrix' için kullanılır. Yani SRS belgesindeki hangi alanlara denk düşen işlerin başlandığı/bitirldiği/sürdüğü bilgisi takip edilir.

    b) Google documents
    Biz her bir belgemizi artık tamamen google docs ile tutuyoruz. Uzaktan çalışırken pek çok sorunu ortadan kaldırıyor ve eş zamanlı çalışma şansı sağlıyor.

    c) sds-requirement-id
    SDS belgesine bağlantı.

    3. Her bir Sprint için mutlaka bir versiyon tanımlanır. Bu versiyonlar, aynı zamanda git tag
    olarak git üzerinde tanımlanır. Böylece Sprint sonucu ortaya çıkan paket, duruma göre geri alınabilir, tarihçesi takip edilebilir.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Scrum ve Redmine ile yazılım projesi yönetimi Scrum ve Redmine ile yazılım projesi yönetimi Presentation Transcript

  • 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