Müşterilerden gelen “yalnızca birkaç alan daha ekleyebilir misiniz” türden talepler nasıl ele alınır?


12

Çok yaygın olarak, yalnızca bir müşterinin istediği alanlar için özellik taleplerimiz vardır. Bu, en iyi ihtimalle uygulamanın kodunu keser. Genellikle, alanları ekledikten birkaç ay sonra veritabanlarına baktığımızda, aslında fazladan alanları kullanmadıklarını görebiliriz. Ayrıca, oldukça eski bir uygulamadır, bu nedenle tek bir alan eklemek için birden fazla kod değişikliği, raporların değiştirilmesi ve alanın görülmesi gerekmeyen diğer müşterileri etkilemediğinden emin olunması gerekir.

  • Bir müşterinin bu özellik isteklerine gerçekten ihtiyaç duyduğundan nasıl emin olabiliriz?

  • Kibarca "buna gerçekten ihtiyacınız yok" nasıl söyleyebiliriz?

Şu anda belirli özellik talepleri için ücret almaya başlıyoruz. (Önceden, özellik istekleri genellikle ücretsizdi) Yapabileceğimiz başka bir şey var mı?


. Homurdanan ve benim nefes altında küfür> bir çok grubu <Afterall, onlar .... beni ödüyoruz
Rachel

Yanıtlar:


16

Ek özellikler için ödeme yapıyorlar mı? Eğer öyleyse, onları kullanıp kullanmadıkları gerçekten sizin işiniz değildir. Onlara ne ödediklerini verin. Bununla birlikte, durum böyle değilse, ek gelir olmadan özellik eklemeye devam etmek isteyip istemediklerine karar vermek liderliğinize bağlıdır.


2
Peki onlar ödüyorlar, ama biz sadece kod kadar dağınık çok önemsiz küçük istekleri yerine kullanmak (ve gelecekte bize daha fazla müşteri getirebilir) büyük özellik istekleri üzerinde odaklanmak istiyoruz
Earlz

8
@Earlz - "Gerçekten odaklanmak istiyoruz ..." - Eminim ki müşteri ilişkileri böyle olmaz. Bu küçük istekler (müşteriye önemli bir değer katabilir) daha büyük işlerde çalışmak için ödediğiniz fiyattır. İhtiyaçlarına cevap veren, seçen ve seçmeyen bir tedarikçiye ihtiyaçları var. Bununla başa çıkmanın yolu, onları adil bir şekilde fiyatlandırmaktır, ancak daha büyük sürümlerde paketlemenin maliyet etkin (daha az regresyon testi ve benzeri) olduğunu ve bunları bu şekilde ele almayı daha çekici hale getirmeye çalıştığını belirtmek, ancak yapamazsınız. seç ve seç.
Jon Hopkins

2
Müşterilerin% 5'ini kaybederek maliyetleri% 50 oranında azaltabiliyorsanız, bu iyi bir anlaşma, geleneksel bilgeliğe gider. Bu özel alanlar küçük ödül için gerçekten çok ter mi?
9000

5
Yazılım geliştirmede, müşterinin istediği şeyi yapmak istememesi için yazılım geliştirmede zayıf bir eğilim var, çünkü havalı veya eğlenceli değil. Biz geliştiriciler, neredeyse evrensel olarak müşterinin istekleri önünde kendi mutluluğumuzu koyma eğilimindeyiz. Ancak, onun eğlenceli ve zevk hakkında değil. Onun müşteri hakkında. Müşteri faturaları ödeyen kişidir, onları mutlu etsen iyi olur. Özelleştirilebilir yazılım yazma işindeyseniz, bu işin bir parçasıdır.
John Kraft

3
@Wayne M, bahsettiğim tavrı gösterdiğin için teşekkürler. Müşteriler teknolojiyi anlamayabilirler, ancak genellikle aptal değildirler. Genellikle iş gereksinimini anlamayan geliştiricidir. Ayrıca, bir özellik eklemek uygulamanın bütünlüğünü tehlikeye atıyorsa, bu kötü uygulama tasarımının bir işaretidir.
John Kraft

3

Benzer bir durumumuz var. Bizim başa çıkma şeklimiz, bize "buna ihtiyacınız yok" demenin özgürlüğünü veren güvene dayalı bir ilişki kurmaktır. Zaman, sabır ve çok konuşmaya ve öğle yemeği ve diğer sıkıcı görevlere hazır olmalısınız. Bu sıkıcı toplantılar, gerçekten önemli özellikler yaratmaya odaklanabileceğiniz uzun vadede kendileri için ödeme yapacak.

Konuşmak, sordukları şeyin gerçekten önemli olup olmadığını da görmenizi sağlayacaktır.


3

"Gerçekten ihtiyacın var mı?" müşterilerle tartışma. Şahsen, "Bu şirketinizi nasıl daha fazla para kazanacak?" Diye sormak istiyorum. ama işin aslı şu ki, bazı yöneticiler, bir nedenden ötürü onu izlemek istiyorlar ve yollarını bulmaya çalışıyorlar. Bunu yapmak istemiyorsanız, isteğinizi caydırmak için hayır deyin veya bu kadar büyük miktarda para talep edin.

Uygulamanızın daha fazla sayıda müşteri alanını ele almasını kolaylaştıracak yollar düşünmeye başlayın.

  1. Raporlardaki ve formlardaki etiketlerin müşteri tarafından mevcut alanları kullanması için ayarlanmasına izin verin.
  2. Varolan veya ek özel alan tablolarına genel alanlar (String12) ekleyin.
  3. Tüm bunların veri girişi tarafından işlendiği ve tablolarda yeni sütunlar oluşturmak zorunda kalmayacağı kullanıcı tanımlı bir alan sistemine sahip olun (buna yardım denildiğini hatırlayamıyorum.).

Mevcut müşterilerin sisteminizi fazlasıyla büyüttüğünü görebilirsiniz. Sektör değişiyor olabilir, bu nedenle yeni gereksinimler ortaya çıkıyor.

Üzgünüz, ancak müşterilerinize sadece teknik nedenlerle istedikleri şeyi kar elde edemiyorsanız, bu hıza uymanız gerekir. Yeni bir gelenin pazarınıza daha fazla alanla girmesi zor olmayacaktır, bu yüzden bunun olmasına izin vermeyin.


3

Pencerenin diğer tarafından bir anlığına baktığımda, son işimde, son kullanıcı tarafından herhangi bir varlığa / tabloya "özel" sütunların eklenmesine izin veren bir ERP sistemine maruz kaldım. Kısa etkileşimlerimden, sütunları dinamik olarak bire bir eşleme ile ikinci bir tabloya ekliyorlardı. Örneğin:

Statik sütunlu WIDGET tablosu:

  • WIDGET_ID
  • EKLENTİ ADI
  • WIDGET_COST
  • vb.

Kullanıcı tanımlı sütunlarla WIDGETCUSTOM tablosu:

  • WIDGET_ID
  • WIDGET_WEIGHT
  • DID_BOB_WORK_ON_WIDGET
  • vb.

WIDGET_ID sütunu bunları birbirine bağlayabilir. Bir widget'ı düzenlerken fazladan alanlarınızı otomatik olarak gösterdi ve bunları dinamik raporlara dahil edebilir, hatta aratabilirsiniz. Oldukça etkiliydi çünkü veritabanı hala onları takip edebilir ve gerekirse bu sütunları dizine ekleyebilir.

Programlama açısından bakıldığında, bunun nasıl aklı başında tutacağını görüyorum. Her müşterinin kendi özel sütunları olabilir, ancak bu özel sütunlar temel mantığınıza müdahale etmez.


Bu uygulama büyük bir revizyon olmadan böyle bir işlevsellik eklemek için çok karmaşık. Yani bu çözüm çıktı (ancak umarım bir yıl içinde gelecek olan büyük bir sürüm güncellemesinde planlandı)
Earlz

1
Bunu bir yıl içinde halledebilirsen, önemli olan ne?
JeffO

@Jeff bir yıl boyunca bu özellik istekleri tarafından bataklık almıyoruz varsayarak bir yıl .. Temelde kesintisiz geliştirme süresi bir yıl
Earlz

1

Özellik "istekleri" sadece, istekleri vardır. Eğer talepte bulunuyorlarsa, kod tabanını bununla "karıştırmanın" ne kadar değerli olduğuna karar vermelisiniz. Endemik bir sorun haline gelirse, üzerine bastırabilirsiniz, ancak sorduğunuz şeyi veya ona yakın bir şeyi ödemeye istekli iseler ve burada ve orada sadece birkaç özellik varsa, parayla git dedim.

Daha da ileri gitmek için, bu ürününüzle ilgili sürekli bir sorunsa ve birden fazla müşteri bu tür özelleştirmeleri arıyorsa, belki de uygulamanızın bu bölümlerini yeniden düşünmenin ve müşterilerin bunu yapmaya yetkilendirilecek şekilde esnek hale getirmenin zamanı gelmiştir. ister ad-hoc raporlama, ister esnek veri toplama vb. olsun, bu sıkıntıları bir satış noktasına dönüştürmeye çalışın. "Stok veri modelimiz sizin için yeterince iyi değil mi? Özelleştirme seçeneklerimize göz atın! Bunu kendiniz yapabilirsiniz!"


2
Unutmayın, her sorunun arkasında bir çözüm yapmak ve sonra birine satmak için bir fırsat var;)
MattC

0

Bahsedilen özellikte ne yapacağınızı tam olarak belirtmeli ve bunu oluşturmak için tahmini bir zaman uygulamalısınız. Müşteri, ek alanların iyi olmasını istiyorsa, bunun için faturalandırın. Müşterilerime, özelliği oluşturduktan sonra özellikler eklemek istiyorsanız, bu iyi, ancak bazı durumlarda bunları çalıştırmak için biraz daha pahalıya mal olacağını söylüyorum.

Kullanıp kullanmadıklarını neden önemsediğinizi anlamakta zorlanıyorum. Çok basit, istediklerini inşa edersiniz ve bunun için ödeme alırsınız.

Kod tabanı dağınıklığı? Yeni özellikte çalışırken kodunuzu yeniden düzenlemeniz gerekiyorsa, kodunu ücretlendirin.


0

Eklemeyi düşündüğünüz, "yalnızca birkaç ekstra alan" eklemek de dahil olmak üzere çeşitli özelliklerin bir listesini oluşturun. Listeyi müşterilerinize gösterin ve onlardan önce hangilerini istediklerini bildirin. Kaynaklarınızın sınırlı olduğunu ve hepsini aynı anda yapamayacağınızı açıklayın. Başvurunuzla hangi yöne gitmek istediğinize karar vermek için geri bildirimi kullanın.

Bir müşteri, fazladan birkaç alanın gerçekten bu kadar önemli olduğu konusunda ısrar ederse ve yine de bunları eklememeye karar verirseniz, umarım müşteri bunun yerine uyguladığınız özelliklerin faydasını görebilir.


0

Bir çeşit çekme sisteminden faydalanabileceğiniz anlaşılıyor. Daha sonra hangi özelliğin uygulanacağını kullanıcının seçmesine izin verin, ancak herhangi bir zamanda geliştirilmekte olan sayıyı sınırlayın. Kanban tahtası bunun için müthiş. Kullanıcıya önceliklendirme sürecinin sahipliğini verebilir (sizin için daha az sorumluluk ve stres). Güven bana, eğer kullanıcı hangi özelliğin bir sonraki aşamada geliştirileceğine karar vermek zorunda kalırsa, diğer isteklerin bir kenara bırakılacağını bilerek, sahip olması gereken şeylere gerçekten karar vermek için çok daha fazla yatırım yapacaklar.


Kanban yöntemleri sadece Gemba'ya gidebileceğiniz zaman işe yarar: sorunun oluştuğu yer. Fiziksel alanda olun, işi yapan insanlarla konuşun, nasıl yaptıklarını size göstermelerini izleyin. Gözlerinizle görün, parmaklarınızla dokunun. Sonra ve ancak o zaman, nasıl geliştirileceğini anlamaya çalışın. Ve nasıl geliştireceklerini sorun.
Christopher Mahan

@Christopher - alınan nokta, ama kesinlikle sistem bir dereceye kadar değiştirilebilir. Belki de Kanban'ı unutun, ancak bir çekme sistemi fikrini korumaya çalışın. Özel olarak nasıl çalışırsa çalışsın, kullanıcı, görevlerin öncelik sırasına konması ve geliştirmenin sürekli olduğu bir ortamda hangisinin daha sonra yapılacağını seçmenin bir yoluna sahip olmalıdır. Bir geliştiricinin hangi özelliğin daha sonra tek başına yapılması gerektiğini bilmesinin bir yolu yoktur.
Morgan Herlocker

1
Ironcode, haklısın. Bank of America'da çalışıyorum ve ekibimiz, iş biriminin özellik isteklerini bugzilla hata önceliği aracılığıyla önceliklendirmesine izin veriyor. Onlar hataları dosyalamak, daha sonra hataları öncelik. Önceliği her zaman değiştirebilirler ve biz ayarlıyoruz. Evet, bazen anahtarlama maliyetleri gerektiriyor, ancak bunun iş için daha etkili olduğunu gördük. Yönetimin müşterilerinin hedefleri olabileceğinden, bunun muhtemelen orijinal poster için işe yaramayacağını unutmayın. (yalın bir yana, bu yönetim yaklaşımı yanlış görünüyor)
Christopher Mahan

0

Sanırım müşterinizden bir ya da daha fazlasını “ofiste bir gün” geçirerek yazılımı gerçekten nasıl kullandıklarını görmelerini istemelisiniz ... Bekleyin ... Beni 250 $ / saat karşılığında kiralayın ve öğreneceğim. Ayrıca, lütfen, lütfen goldplate etmeyin. Sadece çalışmasını sağlayın. Çoğu işletme, iyi çalıştığında çirkin görünmesini umursamaz.


Bunu biz yaptık. Bu nedenle özellik isteklerinin ne zaman kullanılmayacağını biliyoruz.
Earlz

Ah, o zaman müşteri şirketinde politik kavgalar var. Sen bittin. Veya biftek ve striptizci olabilir.
Christopher Mahan

0

İstekleri izleyin. Büyük özellikleri tasarlamaya / geliştirmeye başlarken, bu sürüme dahil etmek için birkaç öncelikli istek seçin.


0

İstekler için standart bir görüşme sistemi oluşturun. Belki bir şey bildirme veya sisbugz gibi özellik istek sistemi dayalı bir şey. Müşterilerinizin istekte bulunmasına izin verin ve aşağıdakilere dayanarak önceliği belirleyin:

  • özelliğin teknik fizibilitesi / maliyeti
  • özellik "ücretli" bir istek mi? Bir sözleşmedeyse ve / veya bunun bedelini ödediyse,
  • özellik "mantıklı" mı? Bu bir sanattır, ancak genellikle yeterli sayıda müşteri bir özellik isterse, ücretsiz olarak uygulayın. Ürününüzü daha iyi hale getirme ve bir sonraki müşteriye satışı daha kolay hale getirme fırsatı
  • Kullanılmayan, ücretli döngüleriniz var mı? Sözleşmelerinizin bir parçası olarak bakım / destek için bir dizi aylık saat eklerseniz (sayı çok düşük olsa bile kesinlikle yapmanızı öneririm) ve kullanılmıyorsa, bu tür değişiklikleri yapmaya atmaya başlayın

0

Müşterinin uygulamanın toplam sahipliği varsa, istediklerini yapın. Bırak paralarını uçursunlar; bu onların.

Ancak, bunu yapmazsanız, bu yardımcı alanlar için bunları çekirdek veri modelinin dışında saklamayı içeren bir çözüme gitmek istersiniz. Daha sonra bu müşteri için ekstra alanları birleştirmek üzere veritabanı görünümü gibi bir şey kullanabilirsiniz. (Depolanan verinin niteliğine bağlı olarak yardımcı depo yapmanın birkaç yolu vardır; en basit olanı ana tablonuzdaki bazı PK'larla aynı birincil anahtara sahip bir tablodur, ancak kullanım Alanın çok seyrek olması, yalnızca alanın indeksleme gibi şeyler gerektiren özellikleri istedikleri zaman gerçekten bir sorundur.)

Ayrıca, müşterilerin bu aşamada bunları uygulamak için yeterli kaynağınız olmadığını söyleyerek isteklerini erteleyebilirsiniz. Bu noktada, (en iyi tahmininiz) istediklerini ucuza uygulamanın ne zaman mümkün olacağını söyleyen yol haritanıza işaret ederseniz gerçekten yardımcı olur. Ve gerektiğini o meta özelliği ana uygulamanın temel bir satış özelliği olduğunda, ucuza özellikleri desteklemek için mümkün hale bir duruma uygulama öncelik verin.

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.