Bölüm 9: Release Planning (Release Planlama) Toplantısı Nedir? 📅

Batuhan Akpunar
4 min readAug 27, 2020

Bir ürün ortaya koymak istiyorsunuz. Tüm süreç hayal etmekle başlar, değil mi? 💭 İşte biz buna basitçe ürün vizyonu diyoruz. 💡 Belirlediğimiz vizyon için kolları sıvadığımız anda süreç bir ürün yol haritasına evrilir. ⛳ Yol haritası, belirli bir süre boyunca geliştirilecek olan ürün özelliklerini içerir. Ayrıca bir yol haritasının, çeşitli sürümlerde sunulan ürünün kapsamını da temsil ettiğini söyleyebiliriz. Bu da sürüm planları şeklinde organize edilir.

Yani kısaca süreç aşağıdaki gibi devam eder;

Release, kısıtlı bir zaman aralığında (time-boxed) ürün vizyonu (vision), öncelikleri, yol haritası (roadmap) gibi stratejik değerler göz önüne alınarak yapılan çalışmadır. Bir Release’ın birden fazla Sprint’ten (iteration) oluştuğunu daha önce açıklamıştım. Release’ın amacı, ortaya kısmen de olsa kullanılabilir fonksiyonel bir ürün çıkarmaktır.

Birazdan bir Release nasıl planlanır bahsedeceğim fakat Sprint yapısına da değinmiş olacağız. Daha iyi pekişmesi açısından Release ile Sprint farkını bir örnek ile detaylandıralım çünkü aşağıda bu ikisini biraz içiçe geçmiş şekilde açıklayacağım.

Release ve Sprint’in farkı nedir?

Sprint, bir Release içinde yer alan Feature (özellik) veya Feature set (özellik kümesi), Release ise ürünün belirli bir sürümü için hazırlanan tamamlanmış (completed feature set’tir (özellik kümesi). Her ikisi de “kullanılabilir” olarak kabul edilebilir ve son kullanıcı tarafından test edilebilir yapılardır ancak genel olarak konuşursak, bir Sprint sonunda ürünün yalnızca kısa vadeli bir parçası ortaya çıkarken Release sonunda ürünün stratejik bir özelliğini ortaya çıkar.

Hemen pekiştirmek için bir örnek vermek istiyorum.

Bir ev inşaatını düşünelim. 🏠 Proje, müstakil evimize bir garaj ekleyerek Ev v1.0'dan Ev v2.0'a yükseltmek olsun. Release garajın kendisidir, Sprint ise garajı oluşturmak için planlanan parçalardır. Yani Sprint’ler şu şekilde oluşturulabilir:

Sprint 1: Betonu dökün
Sprint 2: Kolonları oluşturun
Sprint 3: Elektrik bağlantılarını yapın
Sprint 4: Duvarları örün

Release 1: İç dekora geçiş

Sprint 5: Boyayı yapın
Sprint 6: Evdeki fazla eşyaları taşıyın
Sprint 7: Mobilyaları yerleştirin

Release 2: Ev 2.0'ı ev sahibine teslim edin

Her bir Sprint’in kendi içinde bir bütünlüğü vardır fakat tam bir proje değildir. Yukarıdaki örnekte Release 1'in sonunda Ev v1.1 olarak ev sahibine sunulabilirdi ve sonuç ev sahibinin stratejik hedeflerine uyuyuyorsa erkenden teslim edilebilirdi. Fakat sprint sonlarında bunu yapamazdık. Release, bizi projenin bitmiş haline biraz daha yaklaştıran ve müşterinin stratejik hedeflerini temsil eden proje parçasıdır.

Release Planning (Release Planlama) toplantısı nasıl yapılır?

Tekrar Release planlamaya geri dönelim. Product Owner, Release planlama toplantısında ürün vizyonunu, Release’de ulaşılması planlanan hedefleri ve izlenecek yol haritasını ekip ile paylaşır. Bu toplantıya tüm paydaşların katılması sağlanmalıdır. Toplantıda, her bir Sprint’te hangi Feature’ların geliştirileceği, Sprint’lerin kaç hafta süreceği ve Release sonunda ortaya çıkması hedeflenen Featurelar ekip ile paylaşılır.

Hemen basit bir örnek proje belirleyelim ve üzerinde tartışalım. 5 katlı bir apartmanda ilk kattan ikinci kata taşındığımız bir “taşınma projesi” planlayalım. 🏠

Taşınma işlemini 2 haftaya yayalım ve sadece Cuma-Cumartesi-Pazar günleri eşit miktarda çalışalım. Evet, şu anda 2 Release ve 3 günlük Sprint’ten oluşan bir plan yaptık. Şimdi de taşınma işleminde bize yardım edecek arkadaşlarımız ile birlikte her Sprint’te yapacağımız işleri önem sırasına göre aşağıdaki gibi dizelim. Örneğin; evin temizlenmesini ilk sprinte, büyük eşyaların taşınmasını ikinci sprinte, mutfak eşyalarının taşınmasını da üçüncü sprinte atayalım. Çünkü yol haritamıza şöyle bir madde eklenmiş; “ilk Release sonrasında taşınılan evde oturulmaya başlanabilmeli”. İlk Release tamamlandı ve hedefimizi tutturduk. 🤗

Verdiğim bu örnek sonrasında bir önceki projemiz “Ev v1.0'dan Ev v2.0'a yükseltme” projesini şimdi daha iyi kavradığınızı düşünüyorum 🙂

Release Planning toplantısında alınan aksiyonların amacı aslında uzun vadeli planlama yapmak için bir yol haritası oluşturmak. Ürünün piyasa koşullarıyla ilgili bilgilere dayanarak güncelliğini korumalı, strateji ve yatırım getirisi pozitif tutulması sağlanmalıdır. Bu nedenle yol haritası oluşturmada Product Owner’a büyük rol düşüyor.

Bu bölümde tanıştığımız yeni bir kavram var, velocity.. Planlamanın bir parçası olarak takımın her bir Sprint’te ne kadarlık iş yapabileceğini tahmin etmemiz gerekir. Neden mi? 🤔 Çünkü ürünün bitiş tarihini tahmin etmemiz (forecasting) gerekiyor. Projenin henüz başındayken ilk Sprint’e ne kadar iş atamamız gerektiğini belirlemek biraz zor olacaktır fakat zamanla takımın belli bir zaman diliminde ne kadarlık iş çıkarabileceği tutarlı bir şekilde tahmin edebiliyor olacağız. Kimse bizden henüz işin başında %100 isabetli bir süre tahmini beklemiyor. Bu nedenle, takım, Sprint başında plan yaparken velocity’e odaklanmak yerine, Backlog’daki Story’lerden hangilerini tamamlayabileceklerine odaklanmalıdır.

Şimdi biraz daha detaya girelim ve sprint başında belirlediğimiz velocity değerini tutturamazsak ve işler yolunda gitmezse neler yapabiliriz konuşalım. Görseldeki örnekten yola çıkalım.

  • Sprint 1'de belirlediğimiz velocity 16, yani 16 birimlik işi tamamlamayı hedefliyoruz. Tahminimizin hatalı olduğunu, beklenmedik sorunlar çıktığını varsayalım. Tamamlanması hedeflenen fakat yetişmeyen işler bir sonraki Sprint’te koşulmak üzere bekletilir ve bir sonraki Sprint’e önem sırasına göre eklenir.
  • Sprint 2'de tamamlanması istenen işler takımla paylaşılır ve Sprint 1 için gerçekleşen velocity değeri atanır. Eğer takım Sprint 2'de kendisinden tamamlanması beklenenden işleri süre dolmadan tamamladıysa bir sonraki Sprint’ten uygun büyüklükteki işler Sprint 2'ye dahil edilebilir.
  • Sprint 3 için de aynı akış izlenir ve velocity Sprint1 ve Sprint2'nin ortalaması alınarak belirlenir.

Product Owner yol haritamızı, hedeflerimizi ve hangi Release’de hangi özelliklerin tamamlanması gerektiğini açıkladı. Şimdi sırada Sprint planlama var.

Bölüm 10: Sprint Planning (Sprint Planlama) Toplantısı Nedir? 📅 ↪

Bir önceki bölüme göz atmak ister misiniz?
Bölüm 8: Story Prioritization (Hikaye Önceliklendirme) Nedir? 🎰 ↩

--

--

No responses yet