İhtiyaç duymayan iş adamları?


27

Teknoloji olmayan iş adamlarının gereksinimlerini karşılamak için en iyi yöntem hangisidir? Bir proje için bir araya gelmeye çalışan bir ekiple çalışıyorum. Ne zaman tanıştığımız ve bir sonraki toplantı için beklentilere indiği gibi, iş adamlarından gereksinimlerini geri getirmelerini istiyoruz. Genelde şöyle bir şeye cevap verirler: “Sizce, bir prototipi hazırlayabildiğinizi düşünüyor musunuz, böylece gelecek hafta neyi sevdiğimizi görelim… bilirsiniz, bir prototipten bu yana hiçbir veri veya hiçbir şeyle değil, sadece işlevsellikle.” Bu 6 aylık bir proje olduğundan, kesinlikle mümkün değil (her şeyi geliştirmek zorunda kalacağız!) ve bir tür spesifikasyon olmadan prototip yapmayı bile bilmiyoruz. Açıkçası, sanırım çoğu insan gibi, ne istedikleriyle ilgili bazı fikirleri var, sadece gerçek gereksinimleri toplamak için gerekli odaklı bir şekilde düşünmüyorlar. Onlara basitçe söylemenin bir alternatifi olarak, “Bize ne istediğini ver ya da hiçbir işe yaramayacağımızı / yapamayacağımızı” (sonuçlardan memnun olmalarını istiyoruz), ne istediklerine karar vermelerine yardımcı olacak yollar var mı? Örneğin, onlara şunu söyleyebiliriz:

“Görmek istediğiniz tüm verileri ve kenar boşluklarındaki işlevselliğin bir tanımını görmek istediğiniz kullanıcı arayüzünü gösteren bazı ekranları (Powerpoint'te, peçetede, herneyse) çizin. Bundan sonra, onu cilalayacağız ve bu davranış gereksinimlerine dayanarak arka uç oluşturacağız. ”

VEYA

“Şu an nasıl görüneceği konusunda endişelenmeyin (1 numara kapanır). Bize programın takip ettiği her şey hakkında istediğiniz verilerin bir listesini verin. Dolayısıyla “Müşteri” için aşağıdakileri listeleyebilirsiniz: isim, adres, telefon numarası, siparişler, vb. Mükemmel bir veritabanı yapısı olmak zorunda değildir, ancak bundan bir şey çıkartabilir ve aradığınız şey hakkında bir fikir edinebiliriz ”

Bu alternatif yaklaşımlardan herhangi biri, iş adamlarının anlamlı olmak istediklerine odaklanmalarını sağlıyor mu? Eylemde gördüğünüz alternatifler var mı?


18
Ben her zaman organize suçlardan analistler için işe alma gereksinimlerini hayal ederdim. “Muhasebe verilerine kimlerin erişmesi gerektiğini söyleyecek misiniz, yoksa zorlanacak mıyım?”
David Thornley

7
"Hakikat, kafa karışıklığından ziyade hatadan daha erken çıkacaktır." (Fred Brooks tarafından alıntılanan Sir Francis Bacon) Temelden uzak olsanız bile, onlara belirli terimlerle ne istediklerini söyleyin / gösterin. Seni düzeltirler. Bir anlayış gelene kadar birkaç kez tekrarlayın.

Yanıtlar:


22

Son 3 ayını büyük bir projenin ayrıntılı ve yorucu - gereksinim toplama safhasında geçirdim ve hepsinden önemlisi, tek bedene uygun bir çözüm olmadığını öğrendim . Her durumda işe yarayacak hiçbir süreç, sır yok. Gereksinim analizi gerçek bir beceridir ve tam olarak nihayet anladığınızı düşündüğünüzde, tamamen farklı bir insan grubuna maruz kalırsınız ve bildiğiniz her şeyi pencereden atmanız gerekir.

Öğrendiğim birkaç ders:

  • Farklı paydaşlar farklı soyutlama seviyelerinde düşünürler.

    Kolaydır demek "bir iş düzeyde konuşma, teknik değil", ama kolay o ille değil yapmak . Tasarladığınız sistem bir fil ve paydaşlarınız onu inceleyen kör insanlar . Bazı insanlar çok derin bir süreç ve rutinin içine giriyor , bir iş olduğunu bile bilmiyorlar . Diğerleri istediğiniz soyutlama düzeyinde çalışabilir ancak abartılı veya hatta yanlış iddialarda bulunmaya eğilimli olabilir ya da arzulu düşüncelerle meşgul olabilir.

    Ne yazık ki, tüm bireyleri bireyler olarak tanımanız ve nasıl düşündüklerini anlamanız, söyledikleri şeyleri nasıl yorumlayacağınızı öğrenmeniz ve hatta neyi göz ardı edeceğinize karar vermeniz gerekir .

  • Bölmek ve fethetmek

    Bir şeyin yapılmasını istemiyorsanız, bir komiteye gönderin.

    Komitelerle görüşme. Bu toplantıları mümkün olduğunca küçük tutun. YMMV, ancak deneyimlerime göre ideal boyut açık oturumlar için 3-4 kişi (kendiniz de dahil) ve kapalı oturumlar için 2-3 kişidir (yani belirli bir soruya cevap vermeniz gerektiğinde).

    Sektörde benzer işlevleri olan insanlarla tanışmaya çalışıyorum. Kazanılacak çok az şey var ve odadaki pazarlamacıların fasulye sayaçlarıyla fırlatılmasından kaybedecek çok şey var. Bir konuda uzman olan kişileri araştırın ve bu konuda konuşmasını sağlayın.

  • Hazırlıksız bir toplantı, amaçsız bir toplantıdır.

    Diğer birkaç cevap / yorum, straw-man tekniğine atıfta bulundu; bu, sıkıntı çeken kişiler için mükemmel bir çözüm oldu. Ama saman adamlara çok fazla güvenmeyin, yoksa insanlar onları demiryoluna bağlamış gibi hissetmeye başlayacak. İnsanları nazikçe doğru yöne doğru dürtmek ve özelliklerini kendileri ortaya çıkarmalarına izin vermelisiniz, böylece kendilerine ait olduklarını hissederler (ve bir anlamda kendilerine aittirler).

    Yapmanız gereken şey, işin nasıl yürüdüğünü ve sistemin nasıl çalışması gerektiğini düşündüğünüz bir tür zihinsel modeldir . Söz konusu şirkette bir uzman olmasanız bile, bir etki alanı uzmanı olmanız gerekir . İşiniz, rakipleriniz, piyasadaki mevcut sistemler ve uzaktan bile olsa ilgili olabilecek her şeyi araştırın.

    Bir zamanlar, herkes için uygun olma eğiliminde olan Kullanım Örnekleri gibi üst düzey yapılarla çalışmanın en etkili olduğunu gördüm, ancak yine de belirli sorular sormak çok kritik. "Müşterilerinizi nasıl faturalandırırsınız?" İle başlarsanız. , çok uzun bir toplantı için varsınız. Başlangıcta süreci belgelemek yerine bir süreç ifade eden sorular sorun : Satır öğeleri nelerdir? Nasıl hesaplanır? Ne sıklıkla değişiyorlar? Kaç çeşit satış veya sözleşme var? Nerede basılıyorlar? Kaptın bu işi.

    Eğer bir adımı özlüyorsanız, genellikle birileri size söyler. Hiç kimse şikayet etmezse, o zaman kendinize sırt üstü bir pat verin, çünkü işlemi tam olarak onayladınız.

  • Konu dışı tartışmaları erteleyin .

    Gereksinim analisti olarak, aynı zamanda kolaylaştırıcı rolünü de oynuyorsunuz ve tüm zamanınızı toplantılarda harcamaktan gerçekten hoşlanmıyorsanız, olayları takip etmenin bir yolunu bulmanız gerekir. İronik olarak, bu sorun nihayet zaman en zararlı hale do insanlar konuşurken olsun. Dikkatli olmazsanız, rayları döşemek için çok zaman harcadığınız treni raydan çıkarabilir.

    Ancak - ve bunu uzun zaman önce zor yoldan öğrendim - insanlara bir sorunun alakasız olduğunu söyleyemezsiniz . Belli ki onlarla alakalı , aksi halde bunun hakkında konuşmuyorlardı. İşiniz, insanların olabildiğince "evet" demesini sağlamak ve bunun gibi bir engel koymak sadece sizi "hayır" alanına sokmak.

    Bu, birçok insanın “eylem öğeleri” ile koruyabildiği hassas bir dengedir - temelde bir süre geri geleceğine söz verdiğiniz genel tartışmalar sırası , normalde gerçekten önemli olduğunu düşünen paydaşların isimleriyle etiketlenir. Bu sadece diplomasinin uğruna değil, aynı zamanda toplantılar sırasında neler olduğunu hatırlamanıza yardımcı olacak ve daha sonra açıklama yapmanız gerekirse kiminle konuşacağınız konusunda da değerli bir araçtır.

    Farklı analistler bunu farklı şekillerde ele alır; bazıları çok genel beyaz tahta veya yazı tahtası günlüğü gibi, diğerleri sessizce dizüstü bilgisayarlarına hafifçe vuruyor ve yavaşça başka konulara giriyor. Her ne ile rahat hissediyorsan.

  • Bir gündeme ihtiyacın var

    Bu muhtemelen hemen hemen her türlü toplantı için doğrudur, ancak gereksinim toplantıları için iki kat doğrudur. Tartışmalar sürdükçe, insanların zihinleri kaybolmaya başlar ve gerçekten önemsedikleri şeylere ne zaman varacağınızı merak etmeye başlarlar. Gündeme sahip olmak, bazı yapılar sağlar ve aynı zamanda, yukarıda belirtildiği gibi, konu dışı olan bir tartışmayı ertelemeniz gerektiğinde karar vermenize yardımcı olur.

    Tam olarak ne o örtmek istedi olmasıdır net bir fikir olmadan oraya gitme ne zaman ve . Bu olmadan, kendi ilerlemenizi değerlendirmek için hiçbir yolunuz kalmaz ve kullanıcılar sizden her zaman uzun sürdüğünüz için nefret edecektir (başka nedenlerden dolayı sizden nefret etmediklerini farz edersiniz).

  • Alay et

    PowerPoint veya Visio'yu sahte bir araç olarak kullanırsanız, çok cilalanmış görünme sorunundan muzdarip olacaksınız . Kullanıcı arayüzlerinin neredeyse esrarengiz bir vadisi ; insanlar peçete çizimleriyle (ya da Balsamiq veya Sketchflow gibi bir araç kullanarak peçete çizimlerine benzeyen bilgisayar tarafından üretilen çizimleri) rahat hissedeceklerdir , çünkü bunun gerçek bir şey olmadığını bilirler - aynı nedenle insanların çizgi film karakterlerini izleyebilmeleri. Ancak, gerçek bir UI gibi görünmeye ne kadar çok başlarsa, o kadar çok insan seçmek ve pençe çekmek isteyecek ve sonuçta önemsiz olan ayrıntılar hakkında tartışmak için daha fazla zaman harcayacaklar.

    Bu nedenle, gereksinimler hakkındaki anlayışınızı test etmek için kesinlikle alay edin ( ilk analiz aşamalarından sonra ) - çok hızlı ve ayrıntılı geri bildirim almanın harika bir yoludur - ama onları rahat ettirin ve siz alay edene kadar alay etmeyin. kullanıcılarınızla göz göze geldiğinizden emin olabilirsiniz.

    Unutmayın sahte bir yukarı yayınlanabilir bir değil , anlaşılmasına yardımcı olmak amacıyla bir araçtır. UI tasarımını yaparken alaycınıza esir kalmasını beklemeyeceğiniz gibi, tasarımın tamam olduğunu kabul edemezsiniz çünkü alay-up Yaşasın. Gereklilikleri tamamen atlamak için bir koltuk değneği olarak kullanılan ya da daha kötüsü bir bahane olarak kullanılan alaylar gördüm; Bunu yapmadığından emin ol. Geri dönün ve bu sahneyi gerçek bir gereksinim grubuna çevirin.

  • Sabırlı ol.

    Bu, pek çok programcının inanması zor, ama önemsiz olmayan projelerin çoğu için, sadece bir kez oturamaz ve tam bir işlevsel özellik elde edemezsiniz. Tek bir toplantıda sadece sabırdan bahsetmiyorum; Gereksinim analizi, kodla aynı şekilde yinelemelidir. A Grubu bir şey söyler ve sonra B Grubu A Grubundan duyduğuna tamamen aykırı olan bir şey söyler. Sonra A Grubu tutarsızlığı açıklar ve C Grubunun söylemeyi unuttuğu bir şey olduğu ortaya çıkar. 500 kez tekrarlayın ve kabaca gerçeğe benzeyen bir şey edin .

    Küçük bir CRUD uygulaması geliştirmiyorsanız (bu durumda neden gereksinimlerinizi hiç rahatsız etmiyorsunuz?) O zaman ihtiyacınız olan her şeyi bir toplantıda ya da iki ya da beşte almayı beklemeyin. Çok dinleyeceksin, çok konuşacak ve kendini çok tekrarlayacaksın. Bu korkunç bir şey değil, aklınızdan çıkarmayın; kaçınılmaz olarak teslimatlarınız için imza attıracak olan insanlarla bir ilişki kurma şansı.

  • Tekniğini değiştirmek veya doğaçlama yapmaktan korkma.

    Bir projenin farklı yönleri aslında farklı analiz teknikleri gerektirebilir. Bazı durumlarda klasik UML (Kullanım Durumu / Etkinlik şemasını kullan) harika çalışıyor. Diğer durumlarda, önceki uyarıma rağmen iş KSI'leri ile başlayabilir veya bir zihin haritasıyla beyin fırtınası yapabilir veya maketlere dalabilirsiniz.

    Sonuç olarak, etki alanını kendiniz anlamanız ve başka birinin zamanını boşa harcamadan ödevinizi yapmanız gerekir. Belirli bir departman veya bileşenin yalnızca bir kullanım vakası olduğunu biliyorsanız, ancak delice karmaşık bir durum varsa, kullanım vakası analizini atlayın ve iş akışları veya veri akışları hakkında konuşmaya başlayın. Bir uygulama uygulamasının her parçası için aynı aracı kullanmazsanız, neden gereksinimlerin her kısmı için aynı aracı kullandınız?

  • Kulağını yere tut.

    Gereksinim analizi için okuduğum tüm ipuçlarını ve püf noktaları, muhtemelen en çok göz ardı edilenlerden biri. Açıkçası toplantıları yaptığımdan daha soğuk konuşmaları dinlemeyi ve ara sıra su soğutmalı konuşmalar yapmayı öğrendiğimi düşünüyorum.

    İzolasyonda çalışmaya alışkınsanız, konuşmayı duyabilmeniz için hareketin olduğu yerde bir yer bulmaya çalışın. Yapamazsanız, o zaman sadece sık sık, mutfağa veya banyoya veya her yere gidin. İşletmenin gerçekte nasıl çalıştığı hakkında, insanların kahve ya da sigara molaları sırasında neyin övgüye uğradığını ya da şikayet ettiğini dinlemekle ilgili her türlü ilginç şeyi bulacaksınız .

  • Son olarak, çizgiler arasında okuyun .

    Geçmişteki en büyük hatalarımdan biri, sonuçlara odaklanmaktı, insanların ne dediğini duymak için zamanım olmadı . Bazen - çoğu zaman - insanlar hiçbir şey hakkında utanıyormuş gibi görünebilir veya tamamen sizin için anlamsız kılan bazı işlemlere müdahale ediyor gibi görünebilirler, ancak gerçekten söylediklerine yoğunlaşıyorsanız , gerçekten orada olduğunun farkına varacaksınız. orada gömülü bir gereksinim - ya da birkaçı.

    Corny ve kulağa saçma geldiği kadar , Beş Whys burada gerçekten faydalı bir teknik. Ne zaman bir dizlik "bu aptal" tepkisine sahipseniz (yüksek sesle söyleyeceğinize değil), kendinizi durdurun ve bir soruya dönüştürün: Neden? Bu bilgiler neden dört kez tekrar basılıyor, sonra basılıyor, fotokopisi çekiliyor, tekrar taranıyor, tekrar basılıyor, bir suntaya sabitlenmiş, dijital kamera ile çekilmiş ve nihayet satış yöneticisine e-postayla gönderiliyor? Orada olan bir sebep ve onlar ne olduğunu bilmiyor olabilir, ama bunu bulmak sizin işiniz. Bununla iyi şanslar. ;)


4
Programcılar SE'de gördüğüm en zorlayıcı cevaplardan biri olduğun için +1!
Morgan Herlocker

19

Onlardan bir şey alamazsanız, bir şeyler yazın ve onaylayın. Teknik olmayan insanlar için “hayır, bundan hoşlanmıyorum” demekten çok daha kolaydır.

Çoğu zaman ne istediklerini ve ne söylediklerini iki çok farklı şeyler. Halihazırda bildiğiniz bilgilerle birlikte spekülasyonun ilk taslağını yazmak için biraz zaman ayırın. Paydaşlardan okumasını ve onaylamasını isteyin. Okuduklarında, hoşlanmadıkları veya aynı fikirde olmadıkları şeyleri görmekten daha büyük olasılıkla olacaktır. Geri bildirimlerini alın ve sonra gözden geçirin.

Bir şekilde veya bir başkasına gidebileceğiniz bir şey varsa, çevrimiçi olarak hem seçenekleri hem de karar vericiden bir seçim yapmasını sağlayın. Onlar yapana kadar onları yalnız bırakma.

Prototiplere gelince, ekran mock-up'ları yapın ve bunun yerine işlerin nasıl yürüdüğünü açıklayın. Yine, bir şeyi görmek, olan biteni görmelerine yardımcı olur. Toplantılara katılıp yeni cevaplar alın ve cevapları alın.

Geçmişte, aslında FireBug'u açtım ve müşterinin tam önünde istediğini ve böylece nasıl görüneceğini görebileceklerini de değiştirdim. Geribildirimlerini verdiler, bir ekran görüntüsü çektim, sonra değişiklikleri yaptım. Değişimin nasıl olacağını görmeyi gerçekten seviyorlardı ve hızlı olmasını b & c'yi sevdim ve o toplantıda cevabımı aldım ... bir sonraki değil.


2
+1. Strawman tekniği sıklıkla son kullanıcıların ne yaptıklarını düşünmelerini sağlamanın tek yoludur - işleri onlar için o kadar otomatiktir ki, düşünmeleri çok zor.
DaveE

Dürüst olmak gerekirse, (programcılar dahil) herhangi birinin "hayır, bundan hoşlanmıyorum. Bunun değişmesini istiyorum" yerine "bunu istiyorum" yerine kolaylıklar sağlayabileceğini düşünüyorum. Tüm projeyi bir kerede düşünmeye çalışmak yerine, eldeki acil göreve odaklanmaya yardımcı olduğunu düşünüyorum
Earlz

"Bunu istiyorum" yerine "Hayır, beğenmedim" demelerini sağladıkları için +1. Eğer bir şirket ne istediğini tam olarak bilmiyorsa, denemeye ve alıştırmaya yaklaşım budur.
Rachel,

11

İşleri hakkında ve uygulamaları hakkında daha az konuşmalarını sağlayın. Asıl sorunların ne olduğunu öğrenin: ay sonu raporlama çok uzun sürüyor, veri girişi hataları, mevcut uygulamalarını aştı, şirket büyümesi elden çıkıyor.

Bu toplantıların satın alma işlemi yapan insanlarla yapıldığını ancak uygulamayı içeren işleri gerçekten yapacak kişilerin olmadığını tahmin ediyorum. Bu insanlardan birkaçı ile buluşup tanışmayacağınızı sorun. Size gerçekten işlerin nasıl yapıldığını gösterebilirler. Maliyetlerini ve zamanlarını bütçeleştiren müşterilerle ilgilendiğinizden emin olun.

Şu anda kullandıkları veya kullanmak istedikleri raporları olup olmadığına bakın. Açıkça eğer verileri uygun şekilde toplamazsanız, rapor oluşturamazsınız. Bu henüz başlamamış oldukları bir iş kolu olmadığı sürece bir şeyler yapmak zorundalar.

Birçoğunda programcı olduğunuza dair bu genel kavramlar vardır, böylece tüm programların nasıl oluşturulacağını bilirsiniz. e-Ticaret siteleri aynı, değil mi?

Küçük başla. Ne yazık ki, onların önünde bir şey elde edene kadar, işlem sadece kayıt olmuyor. Eğer gidecek hiçbir şeyiniz yoksa, sadece sahte olun.


Jeff haklı. Onları düzeltmeleri gereken gerçek iş problemi hakkında konuşmalarını sağlayın. Sonra hızlı ve ucuz bir şekilde yapılabilecek bir şey bul. Bunu yaparsan, asla aç kalmazsın.
Christopher Mahan

+1 "İşleri hakkında ve uygulamaları hakkında daha az konuşmalarını sağlayın." Bu altın bir kuraldır.
DPD

8

Bunun birçoğunun genel kişilerarası becerilerle ve müşteriyle ilk başta nasıl iletişim kurduğuyla ilgisi var. Bunun hakkında söyleyebileceğim pek bir şey yok, ötesinde - süreci etkileşimli bir süreç olarak açıkladığınızdan emin olun, burada müşterilerden geri bildirim ve çaba bekleyin.

Özellikle tarif ettiğiniz senaryo için, işte size bazı daha fazla öneri: Neye sahip olduğunuzu yararlı bulacağınızı açıklayarak başlayın ve bilgileri teknik uzmanlık gerektirmeyen veya bilgi birikimi gerektirmeyen şekilde tanımlamak için araçlar sağlayın:

  • Kullanıcı hikayeleri / kullanım durumları Kullanıcıların ne yapmayı beklediklerini, hangi bilgileri yapmak için ihtiyaç duyduklarını ve kullanıcıların kendilerini girmelerini bekleyebileceğiniz ve bekleyebilecekleri şeylerin ayrıntılı açıklamalarını isteyin. Bu bilgilere sahip olduktan sonra, onlarla birlikte yürüyün ve her şeyin hikayelerle kaplı olduğundan emin olun - uygulamaya girecek hiçbir şey olmamalı, kullanıcının orada ne yapacağını kapsayan hikayeleriniz olmamalıdır.

  • Zorlayıcı gösteriler Müşterileri kazanmak için daha önemli olan nedir? Programın veya işlevselliğin hangi kısımları öne çıkmalı ve tamamen parlatılmalıdır? Çalışmak istediğiniz not defterlerini veya karton kutuları veya diğer standları kullanarak bir mockup demosu sağlayabilir misiniz?

  • Pazar / rekabet bilgisi Her kullanıcı öyküsü için rakiplerimize benzeyen ne yapıyoruz? Farklı? Rakiplerimiz hangi hikayeyi anlatıyor ve kopyalamaya / öykünmeye / iyileştirmeye / inovasyona / bilerek farklı olmaya çalışıyor muyuz?

  • Açık sorular Gereklilikler ve tasarım nedir, sizin emin olduğunuz bilgi nedir ve bir deney nedir? Hangisinin işe yaradığını görmek için alternatifleri nerede deneyeceğiz? Birden fazla alternatife bakıyorsanız ve yalnızca bir tanesini anlattıysanız, diğerleri nelerdir?

Sonra bazı sınırlar çizin:

  • Lütfen bana teknik kısıtlamalar koymayın . Bir iş adamı size "windows kullandığından linux'dan daha iyi" deme. Bununla birlikte, "hedef pazarımızın tümü pencereleri kullanıyor, uygulamamızın başarılı olmak için pencerelerde çalışması gerekecek" satırları boyunca talimatlar sağlayabilirler.

  • Tasarım konusunda endişelenmeyin Özellikle satış veya pazarlama odaklı insanlarla ilgileniyorsanız, tasarım sorunları ile uğraşma eğilimindedirler. Yine, bilginin kapsamını uzmanlık alanlarına göre daraltın - "mavi burada daha güzel" muhtemelen uygun değildir. "Rakibimiz mavi renk temasını kullanıyor ve programımızın yenilik yapmadığımız kısımları için 80'li yıllardan beri var, yeni olmadığımızı bildirmek için mavi bir plan kullanmalıyız", muhtemelen uygundur. "Adın ekranın en üstünde olması gerekir" muhtemelen uygun değildir, ancak "bu sayfadaki en önemli bilgi kullanıcının adı ve banka hesap bakiyesidir", muhtemelen. Bir tasarımcının bu gereklilikleri bir kullanıcı arabirimine çevirme işlemine katıldığından emin olun.

  • Kararları not alın Tercihen bunları sözleşmelere veya yaptığınız diğer taahhütlere dahil edin. Bununla birlikte, müşterinin anlamadığı bir kararın yazılı kağıda değmeyeceğini unutmayın. "Uygulama 1521 numaralı bağlantı noktasında çalışacak" oturumunu imzalayan bir müşteri, "dağıtım sırasında güvenlik duvarı ve güvenlik için özel bir yapılandırma gerektirebilecek özel, yapılandırılabilir bir bağlantı noktası üzerinde çalışacak olan" oturum açmış olan müşteriye değmez. "

Sizce, sürecin devam etmesini teşvik etmek için:

  • Aynı soyutlama seviyesinde geri bildirim sağlayın Bu, örneğin, birimler için - genel olarak, müşteri aylık hacminden bahsediyorsa, bant genişliği yüksekliğine cevap vermeyin. Veya, kullanım durumları için - modülleri veya hata düzeltmelerini veya özelliklerini değil, çalışma durumlarını işlevselliği açıklayın.

  • Anlamlı iletişim sağlayın Size sağladığınız bilgiler açısından, keşfettiğiniz veya aradığınız ek bilgileri sahip olduğunuz soruları ifade edin. "Linux ile gidiyoruz" muhtemelen kötü bir şekilde yazılı geri bildirim alırken, "testlerimiz linux makinelerinde barındırıldığında ve Windows'ta IE ile erişildiğinde uygulamanın daha düzgün çalıştığını gösteriyor" daha uygun olabilir.

  • Hızla yineleyin Müşteriyi meşgul tutmak için hızlı, anlamlı güncellemeler ve yinelemeler yapın. İşlem başladığında elde edilemeyen veya elde edilmesi kolay olmayan teknik özellikler ve bilgiler, herhangi bir işi için ödeme yapmazken, muhtemelen size ödeme yapan müşterinizden çok çaba alabilir. Müşterinin sürece dahil olması ve bu konuda yatırım yapması, işin zaman ve çaba harcamak zorunda kaldığı bir şey olduğunda sona erebilir.


5

Müşterileriniz, iş adamları, bir tür sorun yaşayabilir, bir tür teknik çözüm talep edebilir, ancak çözümün nasıl işe yarayacağı konusunda çok az fikir sahibi olabilir ve bu nedenle herhangi bir olası çözümü nasıl belirleyeceğine dair çok az fikri vardır. Eğer öyleyse, eksik rol müşteriyi, sorunlarını, iş akışlarını vs. inceleyen bir iş çözüm analisti ve olası çözümlerin şirket prosedürlerine, kültürlerine vb. belirli bir çözüm zaman içinde, bütçe vb. altında uygulanabilir. Bu, hem işletme uygulamaları (hukuk, muhasebe, lojistik vb.), hem de kullanıcı psikolojisi ve yazılım teknolojisi hakkında biraz bilgi gerektiren, disiplinlerarası bir rol olabilir.

Müşteriyi kendi iş çözümleri analisti olmaya zorlamak istiyorsunuz. Bu, makul bir şartname sağlamak için yeterli uzmanlığa sahip olmaları bir rol olmayabilir. Ve sen de bu rolü almak istemiyor gibisin. Ne siz ne de müşteriniz bu rolü yerine getirecek uzmanlığa sahip değilse, başarılı bir proje için gereken tüm insanlara sahip olamazsınız.

Bazen, müşterinin oynayabileceği bir sürü hızlı prototip, müşterinin (dile getirilen ve bildirilmeyen) ihtiyaçları için bir tür kullanılabilir çözümü deneysel olarak keşfetmenin ve birleştirmenin tek yolu olabilir. Bu, herhangi bir açık uçlu olmayan sözleşme için uygun olabilir veya olmayabilir.

EKLENDİ: Gerekli bir uzmanlığa sahip olmayan müşterilerden bir gereksinim belgesini zorlamaya çalışırsanız, bu potansiyel olarak yaklaşmakta olan bir felaketi belirten çok büyük bir kırmızı bayrak olabilir.


3

Kullanıcı Arabirimi veya Veri gereksinimleri için sormayın, İşlevsellik gereksinimleri isteyin.

Onlara uygulamanın ne yapmasını istediklerini sorun. Uygulamayı nasıl kullanmak istediklerini görmelerini sağlayın. UI, Data, vb. Gibi ayrıntıları başlangıç ​​için bırak.

Kullanıcıların genellikle UI veya Veri açısından ne istediklerini bilmediklerini, ancak ne kadar işlevsellik istediklerini bildiklerini öğrendim. Örneğin, bana "Giriş yapmak ve tüm Müşteri Bilgilerini görmek istiyorum." Ekranların neye benzeyeceğini veya hangi verileri istediklerini girmeyin, işlevselliklerini onlardan alın.

Bunu yaptıktan sonra hızlıca bir mockup yapın ( Balsamiq'i severim ). Kullanıcı Arayüzünün / Verilerin ne olacağını varsayalım ve çok fazla zaman harcamayın. O zaman bu maketi müşteriye geri götür. Oradan, size "bu alanlara ihtiyacımız yok" veya "Aslında sadece bir tane değil telefon numarası istiyoruz" veya "bu bir liste olmalı, liste şeklinde değil" diyebilirler.

Başlangıç ​​noktasına sahip olduğunuzda Veri ve Kullanıcı Arabirimini silmek çok daha kolaydır ve İşlevsellik belirleme en iyi başlangıç ​​noktasıdır.


2

Öncelikle iş süreçlerine odaklanmaya çalışmanızı öneririm. Bir belgede veya tartışmada, şu anda yazılımınız tarafından hangi görevleri yerine getireceklerini nasıl yaptıklarını açıklamalarını sağlayın. Ardından, sürecin hangi kısımlarının değişmesini istediklerini (yazılımınızı istemelerinin nedeni) odaklanın. Yazılımın kullanılmasıyla, sürecin hangi bölümlerinin iyileştirilebileceğini veya hatta tamamen kaldırılabileceğini tartışmak için bunu başlangıç ​​noktası olarak kullanın.

Müşteriniz yazılım gereksinimlerini karşılamada kullanılmıyorsa, ekibiniz kendi gereksinimlerini karşılamalıdır. Birden fazla revizyondan geçmeyi beklemektesiniz, ancak en azından aradığınızı iletmek için başlangıçta bir belge sunmalısınız.

Yazılımınızı içerecek olan beklenen sonuç işleminin işlevsel gereklilikleri hakkında iyi bir fikir edindikten sonra, arayüzlerin maketlerini hazırlamaya başlayabilirsiniz. Öncelikle bıçak alıp almalarına izin vermek istersen, yapabilirsin, ama genellikle ilk fikirleri vermekten ve çevrelerinde değişiklik yapmalarına izin vermekte daha iyi olursun. Bunun için işlevsel bir kod gerekmez. Geliştirilen UI'lerin ekran görüntüleri, statik dolgu metni kullanan mizanpajların HTML gösterimleri veya hatta çizimler (personel konusunda iyi bir sanatçı varsa) ilk UI tartışmaları için kullanılabilir.

Birkaç revizyondan geçtikten sonra ve herkes ne sunulduğunu kabul ederse , müşterinin yazılı onayını alın! Ne kadar direnç gösterdikleri önemli değil, bu adım çok önemlidir. Gereklilikleri imzalayarak, projeye daha fazla katkısı olamayacağı anlamına gelmediğini (müşteriyle olan ilişkinizin niteliğine bağlı olarak), bu durumda gereklilikleri nasıl düzelteceğinizi belirlemelisiniz. ele alınacaktır (örneğin, inceleme ve onaylamaya tabi, daha sonraki bir versiyona gönderilir, ayrıca donanım olarak fiyatlandırılır, vb.).


1

Program özelliğini, özellik olarak geliştireceğinizi söylerim. Bir sonraki toplantıya kadar 1-2 hafta içinde X sayısıyla çalışacağınızı söyleyin. Bu 1, 2, 3 veya daha fazla olabilir.

İlk önce en önemli işlevsellik geliştirerek başlayacağınızı söyleyin. Temel özelliklerle başlamanız gerekir. Diyelim ki bir para çekme makinesi yapıyorsunuz (tartışma uğruna). Onlara, tamam, en önemli özelliklerin listesindeki ilk (veya sonraki), büyük bir geri çekilme yaparken kullanıcının doğum tarihçesini doğrulama olarak sormaktır (projenizde bir temel niteliği yerine, bildiğiniz en önemli özelliklerden biri değildir) sonraki uygulanacak).

Bu saf iddia, müşteriden bir tepki ortaya çıkarmalıdır. Onlara ne zaman soracağını soruyorlardı? Henüz projede yapılmayan ve bahsettiğinizden daha iyi olan en önemli özellik nedir?

Önceki örneğin tekrar kullanılması müşterinin kullanıcının kartını doğruladığını veya para yatırdığını vb. Yaptığını söyleyebilir. Ardından, sizin için tanımlamasını isteyin. Çok fazla soru sormaktan çekinmeyin, gerekirse saf sorular bile.

Bunu müşteriyle tartıştıktan sonra, bu tek işlevsellik için bazı gereksinimleriniz olmalıdır. Birden fazla işlevsellik parçasını tanımlayabilirsiniz ancak bu sayıyı çok düşük tutardım.

1-2 hafta içinde ne yaptığınızı göstermek ve üzerine girdi almak için müşteri ile tekrar görüşün. Müşteriye sunun ve herhangi bir şeyin değiştirilmesi veya eklenmesi gerekiyorsa girdilerini alın.

Ardından bir sonraki özellik grubu için önceki alıştırmayı tekrarlayın. Bu süreçte, projenin geri kalanında yinelemeli bir şekilde devam edin, müşteri ile temas halinde olduğunuzdan ve çalışmanızı göstermek ve daha sonra ne yapacağınızı (her zaman küçük parçalarla kalarak) planlamak için düzenli aralıklarla toplantı yaptığınızdan emin olun.


1

Mühendislik konuşmasından bahsediyorsun ve benim tecrübeme göre bunu umursamıyorlar; ayrıca hiçbir şey yapmayı taahhüt etmiyorlar (özellikle yazılı olarak) ve iş türlerine özgü olmasa da gerçekten herhangi bir iş yapmak istemiyorlar - hiç kimse bir alanda bir demet iş yapmak istemiyor. bilmiyorum ve bilmiyorum. Bu senin işin (onların aklında).

Yaptığım şey şudur: kendileriyle ne istediklerini kendi dillerinde konuşun. Onlar (kullanım durumları vb sözleşme ile tasarım) için umut ediyorum yolu hassas olması mümkün veya istekli olmayacak ama sen gerçek tasarımına istenen hususlar muğlak ve havadar listenin onların türünü tercüme kesin olabilir ve Sonuç olarak, bir tasarım belgesi. Bunu resmi olarak yapma zamanını size ayıracaklarsa, çok daha iyi. Değilse, bir hazırlıksız, yineleyebileceğiniz gayrı resmi bir yaratın.

Bu süper mutlu bir cevap değil, biliyorum, ama müşterileri (ya da gerçekten kimseyi) evrenime adım atıp dilimi konuşmaya zorlamayı bıraktığımda hayatı daha kolay buldum. Etki alanı ve gereklilikleri (genellikle müşteri tarafından sadece belli belirsiz bir şekilde anlaşılan) ile ilgili soruları yerine getirdiğimde aynı soruları tekrar tekrar sorduğum halde, karşı taraftaki konu tartışmaların sinir bozucu olmamasıdır. Aslında, müşterilerle olan ilişkiler güçlenmeye meyillidir, sanırım insanlar ne bildikleri hakkında konuşmaktan hoşlanıyorlar ve POV'larını daha titiz bir tasarım yaklaşımına bıraktıklarından daha yuvarlak bir şekilde anlıyorsunuz.


1

Programlama hakkında bir şey bilen bir yönetici olmadan bu konuda hiç bir zaman başarılı olamadım. Aksine, işe yaradığını bulduğum tek yaklaşım gerçekte neler olup bittiğini gözlemlemektir.


1

Sanırım programcılar, bir programın oluşturulmadan önce nasıl görüneceğini düşünmekte daha iyi bir yeteneğe sahipler. Kağıt prototipleme bunun üstesinden gelmek için etkili bir teknik olabilir . Kağıt prototipleri oluşturmak için nispeten "ucuz". Müşterilerinizi basit bir kağıt prototip üzerinden yürüterek, “gerçek gereklilikleri toplamak için gerekli olan odaklanmış şekilde” düşünme ihtiyacını kanıtlarsınız. Ve odaklanmak için özel bir yol sunar: Aslında kafanızdaki uygulamayı kullanmaya çalışmak!

Ayrıca, müşterinin gerçekten istediği uygulamaya müşterinin ne istediğini tahmin etmekle ilgili en hızlı şekilde yineleyebilir, ancak aktarmakta zorluk çekebilirsiniz. Bir prototipe bakmak ve neden uygulamanızın ideal gereksinimle uyuşmadığına karar vermek, uygulamanın tüm gereksinimlerini listelemekten daha kolaydır.


Diğer ortakların daha iş odaklı olduğu bir web sitesinde çalıştım. Özel ihtiyaçlar için birçok farklı şekilde sormaya devam ettim. Yanıtları temel olarak, "Siz bilgisayar adamı sizsiniz, bu şeyleri çözmenizi bekliyoruz. İş şeylerini yapmayı tercih ediyoruz." İlk versiyon piyasaya sürülmeden önce belirli ayrıntılarla ilgilenmediler ! Piyasaya sürüldükten sonra gereksinimler konusunda çok daha istekliydiler , ilk başta sorduğumda bana çok zaman kazandıracak her türlü geri bildirimi veriyorlardı .

Bu yüzden yinelemenin anahtar olduğuna karar verdim: asgari uygulanabilir sürümü oluşturun ve geri bildirime göre geliştirin. Gereksinimler çok belirsiz ve genelse, "En basit, en hızlı uygulama nedir?" (temel sistem tasarımını / mimarisini engellemek). “Doğru” olduğunu düşündüğünüz şeye dayanarak varsayımlara fazla ağırlık vermeyin. Bu sadece zamanınızı boşa harcayacaktır, çünkü düşünme sürecinizin müşterilerinizden farklı olması ihtimali çok yüksektir.

Örneğin: müşteri resim yükleme özelliğini sorar; daha fazla özel gereksinimin ayrıntılarını vermeyecektir. Olabildiğince saf yapın. Müşterinin istediğini düşünmekle birlikte, otomatik kırpma, yeniden boyutlandırma ve küçük resim özellikleri eklemeyin. Müşterinin asgari uygulanabilir sürümü (naif olmayan sürümden çok daha hızlı geliştirebileceğiniz) görmesine izin verin ve gereksinimler “Geçerli sürümde sorun budur” şeklinde akmaya başlayacaktır. Bu yeni gereksinimlerin her birini "hata" olarak günlüğe kaydedin. Hangilerinin en kolay / en faydalı olduğu ile öncelik verebilirsiniz.

Aslında başıma geldi: Özel davet koduyla kayıt formu için istek. Fikir, her yeni kullanıcının birkaç davetiye aldığı viral bir kayıt işlemi oluşturmaktı. Kodların benzersiz olmasını ve yalnızca bir kez kullanılabilmesini sağlamak için çok zaman harcadım. Ayrıca ad ve soyad alanlarını isteğe bağlı hale getirerek süreci mümkün olduğunca sürtünmesiz yapmak için çok çaba sarf ediyorum. Sonunda, ortaklar bu değişiklikleri istedi: ad ve soyad zorunlu, kayıt "kodu", eğer herhangi bir alana girilmişse geçerli ... sigh ~

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.