Kullanıcı hikayeleri çok yüksek ve kavramsal, yönetim geliştiricilerin boşlukları doldurmasını bekliyor


10

Gerçek anlamda XP yapmak gibi çok parlak bir şirkette çalışıyorum. İletişim iyidir ve yönetim yapıcı tartışmaya açıktır, ancak zaman kısıtlamalarına bağlı olarak bazı bazı şeyler tartışılmayacak kadar RUP olarak kabul edilir.

Şu anda, hikayeleri uygularken gerekli hale gelen değişim hacminden biraz rahatsızım. Bu keşiflerin çoğunun (elbette zaman ve çaba harcayan) geliştiricilerin değil hikaye yazarlarının (müşteriler, son kullanıcılar ve ürün sahipleri) sorumlulukları olduğuna inanıyorum. Kısacası, kullanıcı hikayeleri çok kavramsaldır ve sadece temel amacı taşır, ancak yeterli ayrıntıdan yoksundur (özel olarak ön koşullar ve son koşullar, diğer hikayelerle ilgisi, bağımlılıklar ve benzerleri). XP geliştiricilerinin aynı zamanda tasarımcı ve analist olması nedeniyle geliştiricinin boşlukları kendi takdirine göre doldurması bekleniyor. Sorun, bu boşlukların birçoğu, başlangıçta tahmin edilenden daha fazla karmaşıklık ortaya çıktığı için değerlendirme zamanına ve koduna bazı yanlış varsayımların ortaya çıkmasından sonra keşfedilmesidir. O zaman bile, doldurmak için doğru olanı bulmak zaman alır - çeşitli derecelerde - ilk tahminlerden sapma olarak kabul edilir.

Bu sonuçları yönetime, beni gereksiz yere karmaşıklaştırmaya çalışan biri olarak göstermeyecek şekilde yapıcı bir yol arıyorum. Yeniyim ve henüz fazla güvenilirlik sağlamadım.

Size en içten fikirleri bekliyoruz.

Yakından ilişkili ve bir şekilde bir cevap veriyor: Bir kullanıcı hikayesi hakkında bir geliştirici ne kadar ayrıntı bekleyebilir?


4
Ben XP uzmanı değilim ama takım varsayımlar yapıyorsa XP yanlış yapıyorlar.
Songo

4
Eğer takım sadece son kullanıcılara daha fazla soru sorarak önlenebilecek yanlış varsayımlar yapıyorsa, o zaman metodolojiden çok yanlış bir şeyler gider.
Doc Brown

boşlukları doldurmak için ancak bu varsayımlar ve riskler, projeyi takip edebilmeniz için cevap beklediğiniz bir tarihe sahip iş adamlarına / müşterilere geri dönmeniz gerekir.
tgkprog

4
Yazılım geliştirmenin gerçek dünyasına hoş geldiniz. HERHANGİ BİR yazılım geliştirme metodolojisi tüm süreç takip edilirse, herkes devreye girer ve geliştiriciler yeterli beceriye sahipse çalışır. Sorun şu ki, bunların hepsi nadiren gerçekleşiyor. Bu da XP'yi yanlış yaptığınızı söyleyen herkese beni güldürüyor. Her şey her zaman ideal olsaydı, sadece XP'ye değil, muhtemelen herhangi bir metodolojiye de ihtiyacınız yoktur. Bir sürecin gücü, bir T'ye takip edilmediğinde ne kadar iyi çalıştığıdır. XP sapmalar nedeniyle kırılırsa, XP'de bunu denemeye çalışanlarla ilgili bir sorun vardır.
Dunk

2
Müşteriden yeterince kullanıcı hikayesi gelmemesi. Bu beklenen bir şey. Üzerinde çalıştığım çoğu problemde genellikle en az 2 hikaye vardır. Sistem gereksinimlerinin türetildiği yüksek düzey ve geliştiricilerin ihtiyaç duyduğu, geliştiriciler tarafından oluşturulan daha ayrıntılı hikayeler. Bu ayrıntılı hikayeler, üst düzey hikayelerin kaçırdığı eksik gereksinimleri keşfetmeye yardımcı olur. Ve genellikle çok şey var. Ardından, müşteriye geri özel sorular iletebilirsiniz. Bu arada en iyi tahmininizi alıp onunla birlikte gidip müşterinin zamanında yanıt vermesini umuyorsunuz.
Dunk

Yanıtlar:


26

İşin püf noktası, boşluklardan kaçınmak değildir. İşin püf noktası, bu boşlukları gelişim sürecinde mümkün olduğunca erken doldurmaktır.

Geliştiriciler varsayımlar yaparlarsa, her zaman yanlış olurlar ve bu, yazılımı daha sonra yeniden geliştirmenin zamana mal olacağını haklıyorsunuz. Ancak, aynı şekilde, iş adamlarının ne istediklerini gerçekten bilmediklerinde tam bir ön tasarım yapmaları bekleniyorsa, aynı şey olacaktır.

Bir geliştiricinin işinin büyük bir kısmı, çoğu zaman gerçekten bilmediklerinde müşterinin ne istediğini bulmaktır.

İlk olarak, sorular sorun. Aldığınız cevapların tatmin edici olmadığı durumlarda, bir prototip oluşturun. Müşteriye ne istediklerini gösterin ve size gerçekte istediklerinin nasıl olmadığını söylemelerine izin verin. Bir kağıt prototipiyle başlayın, ardından arkasında kod olmadan HTML tabanlı bir protokole geçin. Ardından, neredeyse çalışan bir ürün üretmek için ihtiyacınız olan en az miktarda geliştirme yapın ve onlara bunu gösterin. Zor bitleri sürece olabildiğince geç bırakın.

Bu kendi içinde zaman alıcı gelebilir, ancak sözde bitmiş bir ürünü yeniden geliştirmeye kıyasla, öyle değil.

Ayrıca, hikayeleri mümkün olduğunca küçük tutun. Her zaman, işletmenin istediği destansı bir şeydir, birçok çıktıya ayrılabilecek bir şeydir. Bu daha iyi çünkü son sürüm adayına bakıp "Ah hayır, aradığımız şey bu değil" diye çığlık attığında çok fazla gelişmemiş olacaksınız.


Şu anda bu cevabı kaldıramıyorum (sınıra ulaşıldı), ancak bu en iyisi. Buna ek olarak, bir veya iki kez tekrarladıktan sonra, çoğu müşteri sizi beğenecektir.
KK.

Aynı çizgiler boyunca. Çok fazla boşluk varsa, Kullanıcı Öyküsü muhtemelen faydalı olamayacak kadar yüksek düzeydedir ve daha küçük, daha kolay tanımlanabilir öykülere bölünecek şekilde ekranlanmalıdır.
Seth

7

O zaman bile, doldurmak için doğru olanı bulmak zaman alır - çeşitli derecelerde - ilk tahminlerden sapma olarak kabul edilir.

Bu bana çok "XP" ish gelmiyor.

Hiçbir şekilde bir XP uzmanı değilim, ancak AFAIK XP fikri, süreçten geri bildirim aldığınızda spesifikasyonlarınızı ve tahmininizi sürekli olarak uyarlamaktır. Kod biraz - - biraz tasarlamak - testi biraz - Ve işlem biraz analiz" ve daha sonra kullanıcı geribildirim almak . Erken mümkün olduğunca sizin yanlış varsayımlar düzeltmek için Ayrıca, kullanıcı geribildirim almak için deneyebilirsiniz daha erken örneğin, , yazılımınızın bazı bölümlerini (kullanıcı arayüzü gibi) tasarladıktan sonra, bir kâğıt veya beyaz tahta üzerinde ve bunu bir kullanıcı veya müşteriyle görüşün . "XP yolu" nun sadece böyle bir yaklaşımı " Kullanıcı hikayeleri".

Teknik özellikleri kullanarak nasıl daha erken geri bildirim alacağınızla ilgili güzel bir makale . Bence bu tür düşünme "metodoloji" ye bağlı değildir ve burada sunulan argümanlar yönetim ile tartışmanıza yardımcı olacaktır.


4

Özetlemek gerekirse aşağıdaki durumdasınız:

  1. Sen yenisin.
  2. Projenin (çalışan bir projeden bahsettiğinizi varsayıyorum) acil durum kısıtlamaları vardır.
  3. Geliştiricinin boşlukları kendi takdirine göre doldurması beklenir.
  4. Çalıştığınız şirket XP uygulamak istiyor. Ancak kullanıcı hikayeleri, XP metodolojisine uygun şekilde uygulanmıyor gibi görünmektedir. Öte yandan " Geliştiricinin boşlukları kendi takdirine göre doldurması bekleniyor ".

Nokta 4'ü düşünün: Benim düşüncem, çevik uygulamaların bir şirketin / ekibin ihtiyaçlarına ve kültürüne uyarlanması gerektiğidir (tam tersi değil). Şirketin XP yöntemine nerede yapıştığını ve nerede saptığını tanımlayın. Bu, endişelerinize yapıcı bir yaklaşımın temelidir.

1 ve 2 nedeniyle şu anda şirketin XP'yi makul bir şekilde uygulayıp uygulamadığını sorgulamak için iyi bir konumda değilsiniz. Yönetim ile bir tartışma başlatmak büyük olasılıkla sizi "işleri zorlaştıran " biri olarak gösterecektir . Bununla birlikte, endişelerinizi diğer geliştiricilerinizle tartışmaya başlayabilirsiniz. Belki de sizin gibi düşünen bazı geliştiriciler bulabilirsiniz. Belki endişelerinizi yönetime iletecek kıdemli bir geliştirici vardır. Ancak işlerin hızlı bir şekilde değişmesini beklemeyin, özellikle mevcut projede değil. Ancak proje, yapıcı bir yaklaşıma daha fazla madde katan daha fazla veri toplama fırsatı verecektir.

Şimdi nokta 3: İyi kullanıcı hikayelerinin müşteriler / son kullanıcılar / ürün sahipleri ve geliştiricileri tarafından ortaklaşa yazıldığını düşünüyorum . Bazı inisiyatifler gösterin: Yazarlara kullanıcı hikayelerinin doğrudan sorulması için fırsat arayın. Bu mümkün değilse, bazı üst düzey geliştiriciye veya yönetime kullanıcı hikayelerinin yazarları tarafından cevaplanması gereken açık sorularla nasıl başa çıkılacağını sorun. Belki de en azından yazılı bir yazışmanız olabilir. Boşlukları kendi takdirinize göre doldurmanız gerektiğinden, seçiminiz müşterileri / son kullanıcıları / ürün sahiplerini aktif olarak dahil etmek olmalıdır.

Bir noktada, şirketinizin XP'yi (veya genel olarak çevik uygulamaları) nasıl uyguladığı hakkında yeterince düşünce ve gözlem yaptınız. Belki biraz zaman geçti ve artık bir greenhorn olarak algılanmıyorsunuz. Belki müşteriyle aktif katılımınız bazı olumlu etkiler göstermiştir. Belki bir sonraki proje zaten başlıyor. Belki de zaten diğer geliştiricilerin bazı yedek var. Belki de çalışma şeklinin hiç de fena olmadığını öğreniyorsunuz. Mesele şu ki, şirketinizdeki gerçek deneyime ve verilere dayanarak endişelerinizi yönetime iletmek için yeterli fikriniz olacaktır.


"İşleri zorlaştıran biri" bölümüne odaklanmanız için +1.
Aşkan Kh. Nazary

@ ashy_32bit: Seçici olmamakla birlikte, eğer cevapların odaklanmasını istiyorsanız, sorunun odak noktasını yapmış olmalısınız. (ör. ikinci paragrafın çoğu kaldırıldı)
pdr

3

Açıkçası, kullanıcı hikayeleri çok fazla ayrıntıya sahip olmamalıdır. "Yazılımın X yapmasını istiyorum, Y iş ihtiyacını karşılamak için" yeterli olmalı . Sonuçta, iş adamlarının nasıl yapılacağını dikte etmesini istemezsiniz - buradaki yazılım ve en iyi uygulamaların uzmanısınız.

Bununla birlikte, geliştiricilerin ayrıca şunu sorması gerekir : "Bunun nasıl çalışmasını bekliyorsunuz?", "Bu özellik Z ile etkileşime girdiğinde ne olur?" Geliştiriciler gereksinim duymazlar, uygulama yaparlar.

Uygulama ve değerlendirme arasında çok fazla boşluk varmış gibi geliyor. Paydaşlar birkaç günde bir yarı-kodla prototiplere bakmalıdır. Bu, yabani otlara çok fazla girmeden önce geri bildirim almanızı sağlar.


2

Size eksik görünen bir hikayeyi tahmin etmeniz istenirse, hikaye hakkında sorularınız olduğunu ve bu sorular cevaplanmadan önce doğru bir tahmin veremeyeceğinizi bildirin.

Ardından, sorularınızı sorun ve cevapların hikayenin bir parçası olduğundan emin olun.

Sorularınız (tümü) yanıtlanmamış olsa bile bir tahmin vermek zorunda kalırsanız, bir tahmin vermeyi reddetmeyi veya tahmininizde kalan boşluklar için olası en kötü sonuçları varsaydığınızı açıkça belirtmeyi seçebilirsiniz ( muhtemelen tahmininizi yüksek bir aykırı değer haline getirecektir).


1

Yaptığınız şey çevik bir gelişim yolu değil. Bunun yerine, düşük kalite gereksinimleriyle çalışıyorsunuz. Çevik bir gelişim yolunun gereksinimleri belirtmemek yanlıştır.

Bunun yerine, başlangıçta mümkün olduğunca belirtmeleri gerekir ve gerekirse daha sonra değişir. Sonra çalışmanızı parçalara ayırır ve yinelemelerde uygularsınız. Her yinelemeden sonra bitmiş bir şeyiniz var.

Şelale gelişimindeki fark, şelale gelişimindedir, her şey ilk gereksinimlerle uygulanır ve sonunda değiştirilir.


0

Geliştiriciler, kullanıcı hikayelerinin oluşturulmasından tamamen kaldırılmış gibi görünüyor. Onları ayrıntılı bir özellik gibi okuyabilmeyi ve ilk seferinde doğru yapmayı umuyor musunuz? Bunu yapabilseydiniz, XP'ye veya başka çevik bir metodolojiye ihtiyacınız olmazdı.

Birisi hikayenin çok belirsiz olup olmadığını soruyor olmalı. Kabul Testi nerede yapılır ?

Kullanıcı hikayeleri değişmek içindir. Bununla başa çıkman gerek.


0

Bir geliştirici bir hikaye / ayrıntılı gereksinimleri yazabiliyor olsa da ben iyi olan birçok görmedim. daha iyi akışlar öneren ancak zaten iyi yazılmış durumun bir girdisi olarak sorunları belirtmekte iyiyiz.

Yeni ve mevcut ürünler üzerinde çalıştık ve her ikisinde de sadece 5- satırın ve boşlukları doldurmamız ve 'anlayış' veya daha ayrıntılı bir belge yapmamızın beklendiği durumlar vardı.

Projeler çok daha iyi taşındı, bu konuda yardımcı olan kendi profesyonel hizmetler ekibimiz vardı (veya bir durumda başka hiç kimse olmadığı için atlayan bir VP). Her iki şekilde de geliştirilmesi zaman kaybıdır (geri bildirim gelmediği ve son tarih değişmediği sürece). benim önerim: daha fazla ayrıntı isteyin, daha fazla bilgi verin, varsayımlarınıza ve belgelerinize zamana bağlı geri bildirim isteyin ve bu bilgileri x tarihine kadar almazsanız yeniden çalışma ve gecikme riski olduğunu belirtin.


0

Geliştirme metodolojisinden bağımsız olarak, gereksinimleri tanımlamak için ne kullanırsanız kullanın geliştiriciyi varsayımlar yaparsa, iş tarafına geri döndürülmesi gerekir. Hangi cevabı tercih edeceğime dair genellikle iyi bir fikrim var, bu yüzden böyle şeyleri tekmeliyorum:

XYZ benim için belirsiz. ABC demek mi? Yoksa bir şey mi kaçırıyorum? (XYZ'nin şart olduğunu varsayalım, ABC'nin geliştirici olarak yapmak istediğim varsayım olduğunu varsayın)

Kötü varsayımlarda bulunmadan önce, işleri yeniden yapmaktan daha az zaman alır. Tahminlerinin doğru olduğunu onaylamadan gereksinimler hakkında tahminlerde bulunan geliştiriciler, kötü geliştiriciler olma eğilimindedir ve şirketlerine çok paraya mal olurlar. Kötü bir yönetici işleri geri atmanıza izin vermiyorsa, zaman ve para açısından yanlış yapmanın ne kadar pahalı olduğunu ona açıklayın. Hâlâ ısrar ederse, söylediklerini yapın ve UAT'i başarısız olduğunda, bir dahaki sefere bir daha geri dönmek istediğinizde, ona izin vermediği zamanın ne kadar maliyetli olduğunu hatırlatın. Hala dinlemiyorsa, daha iyi bir patron bulun.

İşleri tekmelemenin bir diğer değeri, yavaş yavaş işin neye ihtiyacınız olduğunu öğrenmesi ve size daha iyi gereksinimler vermesidir.


0

Bir geliştirici olarak,

Bir kullanıcı hikayesinin özelliklerini tam olarak anlamam gerekiyor,

böylece güvenle tahmin edip uygulayabilirim.

Başka bir deyişle, hikayenin ayrıntılarını anlayana kadar sorular sormalısınız. Bu, yineleme planlamasında yapılır ve karar noktası görevi görür: eğer tahmin edemezseniz, inşa edemezsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.