Agile konusunda hala yeni olan biri olarak, kullanıcı hikayesi, özellik ve epik arasındaki ilişkiyi veya farkı tam olarak anladığımdan emin değilim.
Bu soruya göre, bir özellik bir hikayeler koleksiyonudur. Cevaplardan biri, bir uzun metrajın aslında bir destan olduğunu öne sürmektedir. Peki özellikler ve destanlar aynı şey olarak mı kabul edilir, yani temelde ilgili kullanıcı hikayelerinin bir koleksiyonu mudur?
Proje yöneticimiz hiyerarşik bir yapı olduğu konusunda ısrar ediyor:
Epic -> Özellikler -> Kullanıcı hikayeleri
Ve temelde tüm kullanıcı hikayeleri bu yapı içinde yer almalıdır. Bu nedenle tüm kullanıcı hikayeleri bir şemsiye özellik altında yer almalı ve tüm özellikler bir epik altında yer almalıdır.
Bana garip geliyor. Birisi kullanıcı hikayeleri, özellikler ve epiklerin nasıl ilişkili olduğunu açıklayabilir mi? Ya da farkları açıkça ortaya koyan bir makale var mı?
Aslında çok genel bir terimdir. Literatüre ve insanların onları nasıl gördüğüne göre değişen, onları yorumlamanın birçok yolu vardır. Söylediğim her şeyi büyük bir tuz tanesi ile alın.
Genellikle bir Epic, yazılımınızda çok genel ve çok iyi tanımlanmamış bir işlevsellik içerir. Çok geniştir. Bunu anlamlandırmaya ve çevik bir yinelemeye uydurmaya çalıştığınızda genellikle daha küçük kullanıcı hikayelerine veya özelliklere bölünecektir. Örnek:
Epik
Özellik ve Kullanıcı Hikayesi, kabul testleri ile kolayca test edebileceğiniz daha spesifik işlevlerdir. Genellikle tek bir iterasyona sığacak kadar ayrıntılı olmaları önerilir.
Özellikler genellikle yazılımınızın ne yaptığını tanımlama eğilimindedir:
Özellik
Kullanıcı hikayeleri, kullanıcının ne yapmak istediğini ifade etme eğilimindedir:
Kullanıcı hikayesi Banka memuru olarak, Müşteri bilgilerini değiştirebilmek istiyorum böylece onu güncel tutabilirim.
İkisi arasında gerçekten bir hiyerarşi olduğunu düşünmüyorum, ancak isterseniz veya çalışma şeklinize uyuyorsa bir hiyerarşiye sahip olabilirsiniz. Bir kullanıcı hikayesi, bir özellik için belirli bir gerekçe veya bunu yapmanın belirli bir yolu olabilir. Ya da tam tersi de olabilir. Bir özellik, bir kullanıcı hikayesini gerçekleştirmenin bir yolu olabilir. Ya da aynı şeyi ifade edebilirler. Her ikisini de kullanabilirsiniz: Kullanıcı hikayeleri iş değeri getiren şeyleri tanımlamak için, özellikler ise yazılımın kısıtlarını tanımlamak için kullanılır.
Kullanıcı hikayesi: Bir müşteri olarak en popüler kredi kartlarıyla ödeme yapmak istiyorum Özellik devletin GOV-TAX-02 XML API'sini destekler.
Ayrıca, genellikle bir Özellik/Kullanıcı hikayesinin yürütüleceği bir yol olan senaryo sorunu da vardır. Genellikle belirli bir kabul testine temiz bir şekilde eşlenirler. Örneğin
Senaryo : Para çekiliyor Banka hesabımda 2000$ olduğu düşünülürse 100$ çektiğimde Sonra 100$ nakit alacağım. Ve bakiyem 1900$
Çalıştığım yerde* bu terimleri bu şekilde tanımlıyoruz. Bu tanımlar matematiksel bir tanım ya da standart bir terim olmaktan uzaktır. Sağcı bir politikacı ile solcu bir politikacı arasındaki fark gibi. Nerede yaşadığınıza bağlıdır. Kanada'da sağ kanat olarak kabul edilen bir şey Birleşik Devletler'de sol kanat olarak kabul edilebilir. Bu çok değişkendir.
Cidden, ben olsam bu konuda fazla endişelenmezdim. Önemli olan, birbirinizi anlayabilmeniz için ekipteki herkesin bir tanım üzerinde anlaşmasıdır. Scrum gibi bazı yöntemler bunları daha resmi bir şekilde tanımlama eğilimindedir, ancak sizin için uygun olanı seçin ve gerisini bırakın. Sonuçta, çeviklik Süreçler ve araçlar yerine bireyler ve etkileşimler ve Kapsamlı dokümantasyon yerine çalışan yazılım ile ilgili değil mi?
Epik: Sonunda daha küçük hikayelere bölünen çok büyük bir kullanıcı hikayesi.
Kullanıcı hikayesi: Bir gereksinimin çok üst düzey bir tanımı olup, geliştiricilerin bunu uygulamak için harcayacakları çabaya ilişkin makul bir tahmin üretebilmelerine yetecek kadar bilgi içerir.
http://www.telerik.com/agile-project-management-tools/agile-resources/vocabulary.aspx
Özellik: Bir yazılım uygulamasının veya kütüphanenin ayırt edici özelliği veya kabiliyeti (örneğin, performans, taşınabilirlik veya işlevsellik).
Bu sadece problem ayrıştırma. Farklı boyutlarda olmaları dışında sadece hikayelerdir.
Ben şahsen bedenlerini etiketlememeyi tercih ediyorum, ancak siz etiketliyorsanız bu da sorun değil. PM'nize çalışma alanınızdaki tanımın ne olduğunu sorun.