Scrum Kavramları

13 Nis

Scrum yaklaşımı üç ana kavram üzerinde inceleyebiliriz. Bunlar: product backlog, sprint backlog ve burn-down chart şeklindedir. Bu elemanlar Scrum yaklaşımı ile geliştirme yaparken takımlara yardımcı olan, yön veren ve projedeki şeffaflığı sağlayan elemanlardır.

Product Backlog (İstekler listesi)

Bir projede takımın tamamlaması gereken işler listesidir. Bu liste müşterinin ürününde ihtiyaç duyduğu ve yapılmasını istediği işlerin listesidir. Scrum yaklaşımının kilit bileşeni olan kullanıcı hikayeleri (user story) bu listenin temelini oluşturmaktadır.

Product Backlog listesi Product Owner tarafından yönetilir. Product Owner kullanıcı hikayelerini (user story) listeye eklemek ve çıkarmakla sorumludur. İstekler listesi müşteri ve Product Owner tarafından öncelik sırasına göre sabit bir şekilde oluşturulur. Bu sabit öncelik sırası Scrum kavramını kilit noktasıdır. Çünkü müşteri için en değerli hikayeler listede en üst sırada yer alacaktır. Kullanıcı hikayeleri eklendikçe listedeki diğer hikayelerle karşılaştırılıp müşteriye göre uygun öncelikli bir yere koyulacaktır. Sprint süresince product backlog listesine kullanıcı hikayeleri eklenmeye devam edebilir. Ancak Sprint tamamlanana kadar eklenen istekler Yürütülmekte olan Sprint turuna sokulmaz ve takıma sunulmaz.

User Stories (Kullanıcı hikayeleri)

Daha önce de belirtildiği gibi Product Backlog listesi öncelik sırsına konulmuş kullanıcı hikayeleri listesidir. Bir kullanıcı hikayesi müşteriye göre değer ifade edecek şekilde kartlara yazılır. Kullanıcı hikayesi geliştiriciye iş önceliği ve önem değerini anlatmak için yazılır. Kullanıcı hikayeleri bir pano üzerine dikey sırada olacak şekilde asılır. Kullanıcı hikayeleri INVEST diye kısa bir isimle adlandırılan kurallar dizisini içerirler. Aşağıdaki listenin baş harflerini birleştirdiğimizde INVEST kelimesi oluşur.

  • Indipendent(Bağımsızlık): Kullanıcı hikayesi kendi başına bir içeriğe sahip olmalıdır. Diğer kullanıcı hikayelerine bağlı olmamalıdır.
  • Negotiable(Tartışılabilir): Kullanıcı hikayeleri, bir sprint döngüsüne girene kadar her an değiştirilebilir.
  • Valuable(Değer): bir kullanıcı hikayesi son kullanıcı için bir değer ifade etmelidir.
  • Estimable(Tahmin yürütülebilir): Bir kullanıcı hikayesinin süresi tahmin edilebilmelidir.
  • Sized appropriately(Makul boyut): Kullanıcı hikayeleri plan, görev ve öncelik bakımından derecelendirilmesi ele alınabilmesi için çokkompleks yapıda olmamalıdır.
  • Testable(Test edilebilirlik): Kullanıcı hikayeleri test edilebilirliği mümkün kılmalıdır.

Sprint Backlog(Sprint Listesi)

Bir Sprint turunda takımın yapacak olduğu işlerin listesidir. Product Backlog listesinin bir alt kümesi olarak düşünülebilir. Product Backlog içerisinde ürüne ait tüm kullanıcı hikayeleri yer alırken Sprint Backlog içerisinde Sprint içerisine alınmış hikayeler ve görevler yer alır. Bir Sprint döngüsü için seçilen bir kullanıcı hikayesi görevlere bölünerek takımda bulunan üyelere dağıtılır.

Görevler ise kullanıcı hikayelerini oluşturan iş birimleri olarak düşünülebilir. Her bir iş birimi bir takım üyesine atanır. Örneğin bir kullanıcı giriş ekranının tasarlanması veya bir ürün kataloğunun hazırlanması birer görev olarak düşünülüp takım üyelerine dağıtılabilir. Bu görevler kartlar üzerine yazılarak bir görev panosuna iliştirilir. Ancak günümüzde gelişmiş yazılımlarla görev panoları yerine bilgisayar ortamında da kayıtlar tutulabilmektedir.

Script Backlog
Script Backlog

Sprint listesi aynı zamanda iş bitim grafiği(burn-down chart) için de gerekli bilgileri hazırlamaktadır. Her Sprint turunda Sprint panosu boşaltılır. Kalan işler olursa product backlog listesine geri iade edilir.

Born-down chart (İş sonu grafiği)

Sprint turu sırasında takım üyeleri görevlerini yerine getirildikçe kalan iş ve yapılan iş arasındaki korelasyonu belirten bir grafik ortaya çıkmaktadır. Bu grafik takım üyelerine veya yöneticilerine fikir vermektedir. Aynı zamanda takımın iş için istediği sürelerin yeterli olup olmadığı ve işin zamanında tamamlanıp tamamlanamadığı konusunda da fikir veren bir grafiktir. Grafiğin İngilizce adı olan burn-down, sözlük anlamı olarak yanıp bitmek şeklinde ifade edilmektedir. Bunu bir mumun yanarken zamana göre boyunu izlediğimizde bu şekilde bir grafik ortaya çıkar. Scrum yaklaşımında da yapılacak olan işler bittikçe zamana göre azalacak ve belirlenen süre sonunda sıfırlanacaktır.

Burn-down chart
Burn-down chart