Kullanım Durumları (use cases), kullanıcı ile sistem arasında bir sonuca ulaşmak için adım adım bir eylem sırasını tanımlar; karmaşık süreçler için detaylı planlamalar gerektiren durumlarda kullanılır. Kullanıcı Hikayeleri (user stories), kullanıcıya bir sonuca yönelik istekleri kısa bir formülle (As a... I want... So that...) kaydeder, esnek ve yinelemeli projeler için uygundur. Kullanıcı Akışları (user flows), kullanıcının sistem üzerinden geçişini veya yolunu görselleştirir, genellikle ekranlar arasındaki geçişlerle grafik şeklinde sunulur.
Ana özellikler:
Uygulama:
Her projede tüm kullanım durumları kullanıcı hikayeleri ile değiştirilebilir mi?
Hayır, kullanıcı hikayeleri karmaşık senaryolar için çok kısa. Çok sayıda alternatif içeren geniş süreçlerde bunları sürdürülebilir hale getirmek zor olacaktır.
Kullanıcı akışı, görselleştirme için yazılım araçları gerektirir mi?
Hayır, çoğu zaman sadece kağıtta çizilmiş bir şema yeterlidir - önemli olan yapı, aracın karmaşıklığı değil.
Kullanıcı hikayeleri yalnızca istekleri mi içermelidir yoksa kabul kriterleri de gereklimidir?
Kabul kriterleri mutlaka gereklidir - bunlar olmadan, kullanıcı hikayesi eksik ve işlevsiz olacaktır.
Olumsuz Durum: Büyük bir projede tüm süreçleri yalnızca kullanıcı hikayeleriyle tanımladılar ve alternatif senaryoları kaydetmediler. Artılar: Hızla bir back log oluşturduk. Eksiler: Geliştiriciler adımlar arasındaki geçiş koşullarının tamamını anlamadı, prod'da rahatsız edici hatalar ortaya çıktı.
Olumlu Durum: Karmaşık süreçler için kullanım durumları, basit görevler için kullanıcı hikayeleri ve navigasyon için kullanıcı akışları oluşturduk. Artılar: Gereksinimlerin tam karşılanmasını sağladık, riskleri minimize ettik. Eksiler: Dokümantasyon süreci daha fazla zaman aldı.