Müşterilerden alınan yapılandırılmamış gereksinimler nasıl yönetilir ve tahmin edilir?


21

Bir projenin teklif aşamasında çoğu zaman, potansiyel müşterilerimizden bir yazılım sisteminin gereksinimlerini çok çeşitli kaynaklardan [e-posta, kelime belgeleri, excel] yapılandırılmamış bir biçimde alırım. Genellikle bu "önerilen çözümler" ile karşılaştıkları işletme sorunlarına karşı gelen müşteri tarafında çalışan bir grup "ürün geliştirme" görevlisidir. İş alanındaki uzmanlar olsalar da, çoğu zaman doğru çözümleri yoktur.

Bu sonuçlanır

  • aynı gereksinimin birden fazla sürümü
  • iki gereksinimin bir araya getirilmesi
  • Gereksinimin birkaç satırında daha sonra, birlikte bir araya getirilen gereksinimler her biri yeni ilavelerden bazılarını alarak tekrar ayrılmıştır.

Gelişme başlamadan önce ve böyle bir gereksinimin uygun kullanım durumlarına girip bunları sıralamasıyla nasıl çalışırsınız? Belirli bir gereksinimin geçmişini izlemek için hangi araçları kullanabiliriz, ilk kez tasarlanmasından, uygun bir kullanım durumunda kristalleşene kadar? Böyle bir durumda alınan gereksinimlere karşı çalışmayı tahmin etmek, gereksinimi doğru anlamada yanlış anlama ve hataya karşı çabayı tahmin etme ile sonuçlanan bir kabustur.

Projeyi kazandıktan sonra, müşteriler gereksinimlerine daha fazla düşünmüş ve düzgün ifade edebilmişlerdir. Bu durumda olan, bazı işlevselliklerin düştüğü, bazıları gelişmiş, bazılarının tamamen yeni bir aşamaya geldiğidir. Bu, temel olarak, iş öğesinin proje kazanılmadan önce yapılan tahminlerinin bir kısmını geçersiz kılabilir. Belirli bir gereksinim ağacı oluşturabileceğimiz herhangi bir sistemin olup olmadığını ve her dalın farklı bir tahminde nasıl sonuçlandığını bilmek isterim.

Bu etkinliği daha kolay yönetilebilir hale getirmek için herhangi bir ipucu, araç, püf noktaları? Sadece gereksinim yönetimi ve efor tahmininde olduğumdan daha deneyimli birinden bazı bilgiler edinmeye çalışıyorum.


1
Ekibinizden biri ihtiyaç analizi yapmak için "ürün geliştirme" görevlileriyle çalışıyor mu (örneğin bir İş Analisti)?
Deco

Evet, bunu bir BA bütçesine sahip olmadığımız her durumda yapıyorum.
user20358

Yanıtlar:


17

Gereksinimler büyüyecek ve değişecektir. Bunu kimsenin tartışabileceğini sanmıyorum.

Gelen talepler nasıl toplanır ve işlenir ?

Tecrübelerime göre, küçük veya büyük bir gelişim planlamacıları grubuna yeni veya güncellenmiş gereksinimleri sağlamak için filtre görevi gören tek veya çok küçük bir müşteri grubu olması durumunda, gereksinimleri toplarken yardımcı olur. Yanlarından birileri onları önerebilir ya da yazabilir, ancak teslimat sadece çok az sayıda yapılmalıdır. Bir partiden diğerine değişimde bulunan insanlar ne kadar azsa, o kadar iyidir.

Daha küçük bir grup insanı filtrelemenin amacı, yüzeyde yinelense veya görünüşte önemsiz görünse bile, başkalarının içerdiği çabayı ve bilgiyi atmak veya azaltmak değil, başarısızlık noktalarını sınırlamaktır: Kayıp veya yanlış işlenmiş bilgi. Kapsülleme ve arayüzlerin amacına benzer bir prensibi izler: özel verileri korumak ve benzer talepleri yerine getirmek için ortak bir protokol oluşturmak. Yinelememe izin verin: yinelenenlerin gönderilmesi tamamdır. Bir planlamacı olarak, bana bahsettiği ya da önerdiği şeyin önemli olduğunu söylüyor. Her şeyi kaydedin veya kaydedin.

Gereksinimler nasıl takip edilir ve düzenlenir

Kısa vadede, düşük teknolojiye gidin

Açıkçası, gelen gereksinimlerin düzenlenmesi ve izlenmesinde büyük ölçüde etkili olabilecek düşük teknolojili çözümler var: yazı tahtaları, yapışkanlar, poster panoları, neyin var. Bunlar kısa vadeli planlama için harika olabilir. Oldukça görünürler, serbest şekillendirmeyi kabul ediyorlar ve 'yeniden yapılandırması kolay'.

Uzun vadede, aranabilir, sıralanabilir, bağlanabilir bir yazılım aracı kullanın

Daha uzun menzilli çabalar için, bir tür yazılım değerli olacaktır. Özel gereksinim yönetimi araçları vardır: Kapılar, Clearcase / Clearquest ve diğerleri. Bu son derece özel araçlar ne yaptıkları konusunda harikalar, ancak çoğu zaman abartılılar. Bazen düz, eski bir elektronik tablo bile yeterli değildir. Kişisel olarak genel sorun takip sistemlerini bunu başarmak için oldukça faydalı buluyorum ve şu anda favorim redmine ait, ancak diğerlerinin de iyi olacağına eminim.

Bir sorun takip sistemi ile, izin vermeyi seçtiğiniz herkes 'yeni bir sorun' ya da gereksinim yaratabilir ve dahil etmeye uygun gördükleri herhangi bir ayrıntı ekleyebilir. Sorunu izleyebilir ve gerçekleştirdiğiniz tüm eylemlere geri bildirimde bulunabilirler. Yeniden kategorize edebilir, önceliği ayarlayabilir, bedeni yeniden yazabilir, ek bilgiler ekleyebilir, diğer 'konularla' ilişkilendirebilir, daha yüksek bir seviyeye yükseltebilir veya 'vaka kullan' ya da öyküyü ya da sisteminize uygun herhangi bir terminoloji reklam müzesi kullanabilirsiniz. Başka bir deyişle, konular üzerinden izlenebilir, sıralanabilir, öncelikli, geçmişe duyarlı, ilgili bir ihtiyaç listesi oluşturmak için çok şey yapabilirsiniz. Ayrıca, kutudan oldukça kolay bir şekilde yapılandırılabilir ve açık kaynaklı, eğer araç herhangi bir noktada istediğim veya istediğim gibi değilse, işlemimin ihtiyaçlarına daha iyi uyacak şekilde kolayca değiştirebilirim.

Araçlar hakkında konuştuğum son bir not, konuştuğum bazı insanlar değişiklik yönetimi ve versiyonlama sistemindeki düz eski metin dosyalarını kullanarak çok başarılılar. Belli ki tarihi sürümlerin avantajlarından yararlanıyorlar. Ayrıca temel işletim sistemini ve gereksinimleri bulmak, bağlamak ve kataloglamak için ek araçlar kullanırlar. Yapılandırılmış, ilgili meta bilgi kadar ekleyemiyorlar, ancak buna ihtiyaç duyduklarını düşünmüyorlar ve çabaları için yeterli değer katmıyorlar. Bu sizin için durum olabilir veya olmayabilir. Bunun avantajı, geliştirme yığında yönetmek ve bakım yapmak için potansiyel olarak birkaç az yazılım parçası olmasıdır.

Sözleşme sonrası ödül / proje sonrası proje geliştirme gereksinimleri

Sorunun son yönü, çaba başladıktan sonra ihtiyaçların nasıl yönetileceğidir. Bence bu konuda iki önemli düşünce var ve bunları nasıl idare edeceğinizin bir kısmı müşteri ile ilişkinizin niteliğine bağlı: ilk önce, eğer sabit bir değerde sözleşme yapılırsa, sözleşme ödülünden sonra gelen gereksinimler dahil edilebilir. Bunun anlamı, çabanın kapsamını değiştirebilecekleridir, bu yüzden bu ekstra kalemler teslim edildiğinde ve kabul edildiğinde oran veya fatura daha yüksek olacaktır; kabul edilen tekliften eşdeğer miktarda bir çaba kaldırılmadıkça. Kapsamda bir değişikliğe gidilecekse, müşterinin sonucu anlamasını ve kabul etmesini sağlamalısınız, aksi takdirde, bu son bildirilerin masaya yatırılması gerekecektir.

İkincisi, sözleşmenin imzalanmasından sonra gelen yeni gereksinimler için ve sözleşme daha çok zamana ve maddi çabaya yöneliktir (işin tamamlanmasını sağlamak için ne gerekiyorsa), müşteri, bu belirli bir süreçte dahil etmekte ısrar ediyor. Yapıp yapmamanız ya da yapmamanız durumunda, yapacağınız her şey tamamlandığı sürece size ödeme yapılır.

Eğer onlara aşina değilseniz, bir Kanban yaklaşımı ve Çevik yöntemlere bakmak isteyebilirsiniz. Bu teknikler, uzun vadeli gelişim hedeflerini gözden kaçırmadan, derhal kaygılara odaklanmaya yardımcı olabilir.

Seçenekleri “eğer” senaryoları olarak sunun ve müşteriye bir seçenek ve karar verin

Her iki durumda da, 'eğer' tahmini, müşteri ve ekibinizle pazarlık yaparken kullanacağınız iyi bir stratejidir. Alternatif yaklaşımlar için aynı bilgiyi gösteren bir sütunla görevlerin, maliyetlerin ve planlanan programın yan yana karşılaştırmasını yapın. Microsoft Project muhtemelen büyük ölçüde benzer görevlere dayanarak farklı tahminler oluşturabileceğiniz için bunu yapmak için iyi bir adaydır.

Ancak, temel bir elektronik tablo bile, genellikle belirli değişikliklerin veya eklerin maliyet ve zamanlamayı nasıl etkileyeceğini göstermek için etkilidir. Bu durumda bir liste büyük olasılıkla bir ağacın farklılıkları göstermek kadar etkili olabilir. Bu senaryoları oluşturmayı seçtiğiniz araç ve yöntem, büyük ölçüde projenin ve personelin büyüklüğüne bağlıdır (ancak üçlü bile olsa MS Project gibi bir yazılımın kendi fayda ve yetenek sınırları vardır).

Bunları, iç iş kalemleri olarak senaryolar varsa ve bunları proje süresince sakladıklarını düşünün. Karar verme ve müzakere sürecinde kritik gösterilerdi. Ayrıca, onları tekrar ziyaret etmeniz veya varsa, ardışık bir tur için tekrarlamanız gerekebilir.

Ne senaryolar hazırlanırsa, profesyonellerin ve conların teknik veya uygulama perspektifinden (basitleştirilmiş şartlarla) ek bir açıklaması, bir alternatifin neden bu kadar önemli bir etkiye sahip olacağını haklı göstermeye yardımcı olabilir.


4

Buna yinelemeli bir süreç olarak bakardım. Adım 1 gereksinimleri toplamaktır. Adım 2 onları sıralamaktır. Adım 3 onları önceliklendirmektir. Adım 4, çabayı tahmin etmek için her birinin yeterince küçük bitlere bölünmesidir. Adım 5, bu bitleri küresel çaba kovasına bağlamak (diyelim ki 84 kişi-gün). Adım 6, kaynaklara olan çabayı haritalandırmak içindir (84 kişi-gün / 2 dev = 42 gün).

Bu yüzden şu anda 1. ve 2. adımlar arasına sıkışıp kaldınız, gereksinimleriniz var, ancak ihtiyacınız olan şekilde sizde yok.

Diyelim ki aynı şartın birden fazla versiyonu var. Bunlar esas olarak aynı mı? Öyleyse, en net görünen şeyi seçin ve kullanın. Ayrıntılara göre değişirse, en mantıklı görünen şeyi seçin ve onu kullanın. Ardından müşteriye, gereksinimi doğrulamasını isteyen bir mesaj gönderin. Gereksinimin doğru olması için ileri-geri ve kaç kez gitmeniz gerekebilir. Vazgeçme veya cesaretini kırma. Bir proje yetersiz ihtiyaçlar nedeniyle başarısız oldu.

Çalışmayı sürdürmek ve değişen gereksinimlerle senkronize etmek için Microsoft projesini kullanın. Müşteri bir değişiklik talep ederse, ek çalışmaları belirtin, bunu modelinize takın ve yeni tarih hakkında bilgi verin. Gevşemeyi toplamak için rastgele aralıklarla yeni aygıtlar getirebileceğine inanma. Programınız, her yeni kaynak eklendiğinde rampa süresini hesaba katmalıdır. Her projeye dikkat edip ondan öğrenirseniz, bunu yalnızca uygun şekilde modelleyebileceksiniz. Diyelim ki Bob, X projesini 4 ay boyunca çalkalandıktan sonra getirdi. 1. ayda ne kadar üretkendi? 3'üncü?

Proje modelini haftada bir tekrar ziyaret etmeli, gerektiğinde güncellemeleri yapmalısınız. Değişikliklerin tarihsel kaydını tutun. Bu, gelecekte daha iyi tahminler sunmanıza yardımcı olacaktır.

Doug

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.