Böl ve Yönet: Theme & Epic & User Story & Task
divide et impera: Bazen bir Lord Belial şarkısı, bazen bir Total War Rome 2 modu, bazen bir politik strateji, bazen de verimlilik artışı sağlayan bir yöntem. ‘Böl ve Yönet’ dersem belki kulağa daha aşina gelecektir.
Bu aktarım kapsamında Atlassian standardındaki çevik yaklaşım (Agile) bakış açısıyla büyük çaplı bir iş nasıl basite indirgenebilir ve bu süreçte ne gibi nicel metrikler kullanılabilir konusuna değinmeye çalıştım.
Bana göre başarı karmaşıklığı basitleştirebilme ve kompleks yapıları atomikleştirmeyle beraber yürür. Bu hem sosyal ilişkilerde, hem de profesyonel yaşamda benzerdir. Bazı kişilik kuramcıları da basitliği en büyük erdem olarak görür ve kendini gerçekleştirmenin ön koşulunu ‘basitlik’ olarak nitelendirir. Benzer şekilde bilim felsefesi parsimoni, felsefe ise Ockham’ın Usturası ile basitliğe atıfta bulunur.
Başlamadan: Zamansal öngörüleri verirken tek bir Scrum takımı ya da eşit performansta bir ekibin olduğunu varsaydım. Gene varsayımsal olarak ilgili zaman aralıklarını primer belirleyici olarak kullanmaktan yanayım.
Theme (Initiative)
Bir ‘theme’ veya ‘initative’; tamamlanması yaklaşık 3 ile 12 ay süreceği öngörülen, bir ‘proje’ boyutunda kapsamlı işlerdir. Hiyerarşinin tepesinde yer alan birinci düzey bileşendir. Theme’lerin standart herhangi bir jargonu bulunmamakla beraber, birkaç kelimeyle ifade edilebilmesi beklenir.
Not: Bazı kaynaklarda Theme → Initiative yönünde bir hiyerarşi söz konusu olmakla beraber ben toplam kırılımı (proje yönetim araçlarının kabiliyetlerinden dolayı) 4 düzeyde tutma taraftarıyım.
Epic
Bir ‘epic’; tamamlanması yaklaşık 1 ile 3 ay arası süreceği öngörülen, toplam çıktılarının ‘epic’ çıktısıyla paralel olduğu, dolayısıyla theme KPI metriklerinin içselleştirilmesini sağlayan ikinci düzey bileşendir. Epic’lerin de theme’e benzer biçimde standart bir jargonu bulunmamaktadır fakat bir cümlede C-Level gereksinimi aktarabilmesi beklenir.
Buraya bir es vermek istedim. Theme ve epic yönetsel fonksiyonlarca oluşturulan ve optimizasyonu oldukça güç olan bileşenler olmakla beraber, aktarımın devamında yer alan user story ve task artık product owner’ın oyun sahasına dahil olmaktadır. (Burada PO’nun yönetsel fonksiyonu olmadığı varsayılmıştır)
User Story / Story
Bir ‘user story’ ya da sadece ‘story’; tamamlanması birkaç hafta (yani tek sprint) süreceği öngörülen, toplam çıktılarının ‘epic’ çıktısıyla uyumlu olduğu, dolayısıyla hem epic hem de theme KPI raporlamalarında kullanılabilme potansiyeli taşıyan üçüncü düzey bileşendir. Theme ve epic’ten farklı olarak son kullanıcı gözünden ve herkesin kolayca anlayabileceği standart bir jargona sahip olması tavsiye edilir. Bu jargon şöyledir:
Görüldüğü üzere bir user story gereksinimin üç temel parçasını bize tek cümle içerisinde vermektedir: Aktör, talep ve değer. Bu sayede PBI düzenlemesi ve iş hacmi hesaplaması saniyeler içerisinde gerçekleşebilecek kadar kolaylaşmaktadır.
Not: Benim Türkçede tercih ettiğim user story kullanımı şu şekilde:
… olarak … istiyorum, bu sayede … bulunabilirim.
Örneğin: Medium.com’da blog yazarı olarak içerik üretirken markdown kısayollarını kullanabilmek istiyorum, bu sayede diğer dokümantasyon araçlarından gelen know-how’ımı Medium.com’a yansıtarak daha verimli bir şekilde içerik üretiminde bulunabilirim.
Not 2: Bazı yaklaşımlara göre user story formatının diğer tüm bileşenlere uygulanması ve jargon birliğinin sağlanması esas. Ben bunu naçizane overdesign olarak değerlendiriyorum, bence işlevsel olduğu sürece şablonlara bağlı kalmaktansa projeye göre kıyafet değiştirmek gerekiyor.
Task
Nasıl ki theme ve epic’e yönetsel fonksiyonun bir parçası, user story’ye de product owner’ın oyun sahası dedim; task için de ‘geliştiricinin günlüğü’ ifadesini kullanmak istiyorum.
Bir ‘task’ temel olarak bağlı bulunduğu user story’nin hayata geçirilmesi için gereken teknik görevler bütünüdür. Buradaki teknik vurgusu önemlidir ve jargon standardizasyonun geliştirici takımın taleplerine göre şekillenebileceğini ifade eder.
Bir task ihtiyaca göre n*(sub-) task şeklinde yönetilebilir.
Initiative / Theme (Tamamlanması 3–12 ay arası süreceği öngörülen kapsamlı işler. Genellikle birkaç kelimeyle ifade edilebilen hedeflerdir. Bir projeye denk gelmektedir).
Epic 1
Epic 2
Epic n… (Tamamlanması 1–3 ay arası süreceği öngörülen, toplam çıktılarının theme çıktısını oluşturduğu 2. düzey PM bileşeni. Standart bir jargonu olmamakla birlikte üstten bakışta C-Level talebi ifade etmesi yeterli görülmektedir.)
User Story 1
User Story 2
User Story n… (Tamamlanması 1–2 hafta arası süreceği öngörülen, toplam çıktılarının epic çıktısını oluşturduğu 3. düzey PM bileşeni. Jargon olarak son kullanıcı gözünden yazılmalı ve aktör, eylem ile değeri ifade etmelidir.)
Task 1
Task 2
Task n… (Her bir user story’nin hayata geçirilmesi için gereken ‘teknik’ görevler bütünüdür. Bir task ayrıntısını tüm şirketin anlaması beklenmez. İhtiyaca göre sub-task, sub-sub-task…’lara bölünerek yönetilebilir).
Görüldüğü üzere geliştirme serüvenimiz birkaç kelimelik üstten bir isterle (theme/initiative) başlar, yönetsel fonksiyonun ağzından bir cümleyle (epic) devam eder, product owner tarafından uygun rafinasyon teknikleriyle user story parçacıklarına bölünerek product backlog’a dahil edilir ve son tahlilde üretim fonksiyonu yani geliştirici takımda n*(sub-) task yönetimiyle son bulur. Bu süreç iterasyonun elbette küçük bir kısmını oluşturur, test ve bakım hizmetlerinin yönetimi başlı başına ayrı bir tartışma konusudur.
dipçe: Aktarımda yer alan yorumlar şahsi kanaatlerimdir, bahsi geçen kişi & kurum & kuruluşlarla manevî veya itibarî bir ilişkisi yoktur.