29 Ocak 2017

Scrum Üzerine Kısa Bilgiler (Agile & Scrum Glossary)

Scrum Üzerine Kısa Bilgiler (Agile & Scrum Glossary)

Agile süreçlerin en iyi uygulamalarından biri olan Scrum'ın birçok terimlerini ve kısa ama yararlı bilgilerini bu başlık altında toplamaya çalışacağım.

1) Scrum'ın temeli deneycilik(Empiricism) oluşturur. Her deneysel süreç üç ayakla desteklenir. Scrum Empirical (Scrum Ampirikleri); Şeffaflık(Transparency), Gözlem(Inspection) ve Adaptasyon(Adaptation).

2) Increment: çalışan yazılım parçasına denir. Incremental ise artırımlı ürün parçacığı çıkarmak demektir.

3) Scrum'ı ilk defa 1995'teki OOPSLA konferansında Ken Schwaber ve Jeff Sutherland tanıttı.

4) Scrum size fiziksel bir Board tutun demez ama tutmakta fayda vardır. Fiziksel Board 'a Time For Kaizen mutlaka ekleyin.

5) Sprint Burndown Chart: takımın başarısını değil gidişatını gösterir. Saat, PBI veya Task bazlı Sprint Burndown Chart grafiği tutabilirsiniz. Task bazlı tutacağınız zaman Task'ın başlangıç(In Progress) ve Bitiş(Done) zamanlarını yazabilirsiniz.

6) Impediment: Takımın önündeki engeller demektir.

7) Stakeholder: Paydaşlar demektir. Sprint Review toplantılarına katılırlar.

8) Size: Büyüklük demektir ve PBI'lara sadece Size değeri verilir. Estimate ise saat tahimini için Task'lar da kullanılır.

9) Release: Bitmiş ve yayınlamaya hazır ürün demektir.

10) Time-Box: Zaman sınırıdır. Scrum'daki her toplantının bir Time-Box süresi vardır.

11) Agile Engineering Practices: Agile yazılım geliştirme yaklaşımının bel kemiği olarak görülen Pair Programming, Test Driven Development, Continuous Integration, Refactoring, Acceptance Testing, Small Releases, Simple Design, Coding Standards, Shared Metaphor, Collective Code Ownership gibi mühendislik pratikleridir.

12) Commitment: Scrum Takımı’nın bir Sprint’te bitirebileceği iş için söz vermesi anlamına gelir.

13) Feedback: Geri bildirim almak demektir. Ürünü tanıtırken paydaşlardan alınan geri bildirimler önemli olabilir.

14) Grooming: Olgun olmayan PBI’ların olgunlaştırılması ve detaylandırılması için gerçekleştirilen aktiviteler.

15) Kaizen: Her zaman daha iyiye doğru değişimi benimse kültürüdür.

16) Lead Time: Lead Time, Kanban metodu içinde tanımlanmış bir terimdir. Kanban metodunda bir ihtiyacın yapıldığı zaman lead time başlar ve bu ihtiyaçla ilgili işler tamamlanıp teslim edildikten sonra Lead time sonlanır.

Genellikle Cycle Time ile karıştırılır ya da yanlış tanımlanır. Cycle Time, ihtiyaç yapıldıktan sonra başlamaz. İhtiyaç ile ilgili geliştirme başladıktan sonra Cycle Time saati çalışmaya başlar ve ihtiyaç teslim edildiğinde Lead time da olduğu gibi sonlanır.

17) Multitasking – Çok Görevlilik: Multitasking bir bireyin aynı anda birden çok görev, Domain ile uğraşmasıdır.

18) Story Point: Product Backlog’ta bulunan her bir maddeye (PBI) verilen puanlardır.

19) Velocity: Development Team’in bir Sprint’te bitirdiği işlerin tamamı takımın hızını belirler. Velocity, Release planlama için kullanılır.

20) Vivify Scrum(Agile Tool for Professionals): TFS benzeri bir araçtır. Sprint'leri yönetmek için kullanabilirsiniz. (vivifyscrum.com)

Kaynaklar
en.wikipedia.org/wiki/Ken_Schwaber (Ken Schwaber)
en.wikipedia.org/wiki/Jeff_Sutherland (Jeff Sutherland)
en.wikipedia.org/wiki/Scrum_(software_development) (Scrum)
en.wikipedia.org/wiki/Agile_software_development (Agile)
en.wikipedia.org/wiki/OOPSLA (Object Oriented Programming,Systems,Languages & Applications)