9- Ürün Birikimini İyileştirme ve Tahminleme

Bir önceki dersimizde kullanıcı hikayeleri için açıklama ve kabul kriterlerini oluşturmaktan bahsetmiştik.

Bu dersimizde ise bir hikayenin içeriğini herkesin ortak anlamasından ve hikayeyi boyutlandırmaktan, diğer bir ifadeyle, tahminlemeden bahsedeceğiz.

Bunu bir örnek üzerinden görelim.

Ürün sahibi Başlangıç Sayfası Oluşturma maddesini Scrum ekibiyle daha detaylı değerlendirmek üzere bir çalışma başlatır. Gelin birlikte ekip üyemiz Ali Bey, ürün sahibi Zeynep Hanım ve Scrum Ustası Furkan Bey arasındaki konuşmaya bakalım.

Ali: “Aklıma şöyle bir şey geldi, sizinle de paylaşmak istiyorum. Başlangıç sayfasında, telefon numarası, adres bilgileri veya kullanılacak görsellerin kolayca değiştirilebilmesi için bir yönetici paneli gerekir diye düşünüyorum.”

Zeynep: “Evet haklısın, buna ileride kesinlikle ihtiyacımız olacaktır, çok iyi düşündün.”

Ali: “O zaman bu özelliği de ürün birikim listesi öğelerinin içine eklememiz gerekir.”

Zeynep: “Doğru söylüyorsun Ali. Pekî arkadaşlar, sizce bu öğeyi hangi sıraya eklemeliyim?”

Furkan: “Ürün sahibi olarak, kullanıcı hikayesini istediğin sıraya ekleyebilir ve istediğin zaman sırasını değiştirebilirsiniz. Zaman içinde ihtiyaçların aciliyeti ve önem seviyeleri daha da şekillenecektir, ve böylece sırayı belirlemek kolaylaşacaktır.”

İleriki derslerimizde öncelik sırası oluşturma ile ilgili farklı teknikleri detaylı olarak inceleyeceğiz.

Zeynep: “Eğer başka sorunuz yoksa, Başlangıç Sayfası Oluşturma öğesi için boyutlandırma çalışması yapmayı öneriyorum.”

Boyutlandırma veya Tahminleme, belirli bir görevi yerine getirmek için gereken çabanın bir öngörüsüdür. Tahmin, asla bir taahhüt veya verilen söz değildir. Tahminler, varsayımları, belirsizlikleri, riskleri içinde barındırır.

Scrum yaklaşımında tahminler birimsiz değerler üzerinden yapılır. Bir diğer ifadeyle, göreceli büyüklük yaklaşımı esas alınır. Basit bir örnekle açıklayalım. Büyükçe bir binaya baktığınızda, o binanın kaç katlı olduğunu söylemek oldukça zordur, bunun yerine iki binayı karşılaştırıp, hangisinin daha büyük olduğunu söylemek çok daha kolaydır. Buna göreceli boyutlandırma adı verilir.

Benzer başka bir bakış açısı şu şekilde olabilir. Örneğin, parkta yürüyüş yapmak, harcanacak çaba açısından sadece 1 rakamı ile temsil edilsin. Buna karşılık, Everest gibi bir dağa tırmanmanın zorluğu ve karmaşıklığı 100 rakamı ile temsil edilsin. Böylece, ölçek olarak kullanacağımız kriterleri belirlemiş olduk. Bundan sonra, işlerimizin büyüklüğünü düşünürken, parkta yürümeyi, bir yokuşa veya küçük bir tepeye çıkmayı, şehrimizin yakınlarındaki bir dağa tırmanmayı ve en nihayetinde Everest’in zirvesine ulaşmayı düşünerek, tahminleme yapabiliriz. Tahminleme esnasında verilen sayıların doğrusu ve yanlışı yoktur. Takım üyelerinin her birisi, kendisi için işin zorluğunu ve karmaşıklığını düşünerek bir tahminde bulunur.

Ekip üyeleri, “başlangıç sayfası hazırlama” öğesi için tahminlerini birbirlerinden bağımsız olarak bir kağıda yazarlar ve aynı anda birbirlerine gösterirler. Burada amaç, birbirlerinden etkilenmemelerini sağlamak ve her birinin bağımsız tahminde bulunmasını garanti altına almaktır.

Örneğin 9 – 12- 15- 22 – 28 şeklinde rakamlar yazmış olsunlar. Scrum Master, ekip üyelerinden bu rakamları aşağıdaki sayı dizisine uygun şekilde revize etmelerini ister.

0- 1- 2- 3- 5, 8, 13, 20, 40 ve 100 – Bu sayılar, planlama pokeri olarak adlandırılan sayı dizisidir.

Böylece, verilen tahminler 8 -13 – 13 -20 ve 20 olarak revize edilir. Burada amaç, verilen tahminlerin birbirine yakın olanlarını kategorize etmek ve benzer bir ölçeğin içine yerleştirmektir.

Bu tahminlerden sonra, ekip üyeleri tahminler arasındaki farkların neler olduğunu belirlemek üzere tartışırlar. 20 rakamını seçen bir takım üyesi, siteye koyulacak logonun dijital olarak hazır olmadığını ve çizim yapılması gerektiğini söyler. Diğer bir takım üyesi, ana sayfada kullanılacak resimler için profesyonel fotoğraf çekimi gerektiğini ifade eder. Diğer takım üyeleri, bu detayları düşünmediklerini kabul ederler ve işin zorluk seviyesi olarak ekipçe 20 rakamı üzerinde ortak karara varırlar. Bunun üzerine Furkan ekibe bir hatırlatma yapar.

Furkan Scrum master: “Arkadaşlar, bu 20 rakamının karşılığının 20saat veya 20 gün olmadığını hatırlatmak isterim. Fakat bundan sonra, diğer öğeleri tahmin ederken, bu öğe ile karşılaştırıp, zorluk ve karmaşıklık açısından puan vermemiz daha kolay olacaktır.”

Diğer öğelerin tahminlenmesiyle, ürün birikim listesindeki öğelerin her birisine, hikaye puanları verilmiş olur.

6- Scrum Yaklaşımında Ürün Birikim Listesi

Scrum’da ürün birikim listesi, şeffaflık, denetim ve adaptasyon için fırsatlar sağlamak üzere tasarlanmış bir eserdir.

Ürün birikim listesi, üründe ihtiyaç duyulan her şeyin sıralı bir listesidir.

Birikim listesi, var olanlara ek, yeni özellikler, iyileştirmeler veya değişiklikler içerebilir.

Ürün birikim listesindeki her bir madde, ürün birikim öğesi olarak adlandırılır.

Bir birikim öğesinin, açıklaması, sırası, boyutu ve değeri gibi özellikleri tanımlanır. Ayrıca, işin tamamlanıp tamamlanmadığını test etmeye yardımcı olacak kabul kriterleri de yer almalıdır.

Ürün birikiminden sorumlu kişi, ürün sahibidir.

Ürün birikim listesinde değişiklik yapma faaliyetine ürün birikim yönetimi diyoruz.

Peki ürün birikim listesi tam olarak nasıl oluşturulur ve yönetilir?

Her şey, bir hedef veya vizyonla başlar.

Ürün sahibinin, ürünün ulaşması gereken hedefi tanımlaması beklenir.

Ürün sahibi, paydaşlarla sürekli işbirliği yaparak, piyasa koşullarını, rakipleri, yasal düzenlemeleri inceleyerek iş gereksinimlerini belirler.Ürün birikim listesinde sadece ve sadece ürün hedefine ulaşmamıza yardımcı olacak öğeler bulunmalıdır.

Ürün hedefi, ürün birikim listesi için bir taahhüttür. Bir seferde, sadece, bir ürün hedefi olmalıdır.

Ürün birikim listesini yönetmek, devam eden bir süreçtir. Ürün sahibi ise, ürün birikim listesinden sorumludur ve istediği zaman ürün birikim listesi öğelerinin sırasını değiştirebilir, yenilerini ekleyebilir veya var olanları çıkarabilir.

Ürün sahibinin, geliştirme ekibiyle yakın çalışması çok önemlidir. Ürün birikim listesi iyileştirme etkinliği sırasında, ürün sahibi ve geliştiriciler, büyük öğeleri daha küçük parçalara bölmek için işbirliği yapar. Öğeler, ne kadar küçük olursa, yönetimi ve kontrolü o kadar kolaylaşır.

Ayrıca, ürün birikim listesi üzerinde, öğelerin detaylarını, boyutunu ve sırasını belirlemek için de çalışacaklardır. Bir öğenin boyutu, işi yapma çabasının ne kadar büyük veya küçük olduğunu gösterir. Bir öğenin boyutunu bulma işlemine, boyutlandırma veya tahmin etme denir.

Ekip üyeleri, yani geliştiriciler, boyutlandırmadan sorumludur.

Ürün birikim listesi, ürün yaşadığı sürece mevcut olan bir belgedir. Ürünün kendisiyle birlikte büyür ve iş gereksinimlerine, pazar koşullarına, kanunlardaki değişikliklere ve buna benzer faktörlere göre içeriği değişir.

Ürün birikim öğlelerinin, bir sonraki sprint için seçime hazır oldukları kabul edilir. Bu, öğelerin bir sprint içine sığacak kadar küçük olduğu anlamına gelir. Böylece, ekip hemen bu gereksinimler üzerinde çalışmaya başlayabilecektir.