顧客からの「もう少しフィールドを追加できます」タイプのリクエストを処理する方法は?


12

非常に一般的には、1人の顧客のみが必要とするフィールドの機能要求があります。これは、せいぜい、アプリケーションのコードを乱雑にします。多くの場合、フィールドを追加してから数か月後にデータベースを調べると、実際には余分なフィールドさえ使用していないことがわかります。また、非常に古いアプリケーションであるため、単一のフィールドを追加するには、複数のコード変更、レポートの変更、およびフィールドを表示する必要のない他の顧客に影響を与えないようにする必要があります。

  • 顧客がこれらの機能要求を実際に必要としていることをどのように確認できますか?

  • 「本当に必要ない」と丁寧に言うには?

現在、特定の機能のリクエストに対して課金を開始しています。(以前は、機能要求は通常無料でした)他にできることはありますか?


。私の息の下でぶつぶつとのろいの多い> <やっぱ、彼らが....私を払っている
レイチェル

回答:


16

彼らは追加機能にお金を払っていますか?もしそうなら、彼らがそれらを使用しているかどうかは本当にあなたのビジネスではありません。彼らが支払うものを彼らに与えてください。ただし、そうでない場合は、追加収入なしで機能を追加し続けるかどうかを判断するのはあなたのリーダーシップ次第です。


2
彼らはお金を払っていますが、コードを乱雑にしている些細な小さなリクエストの多くではなく、彼らが最終的に使用する(そしてより多くの顧客を獲得する可能性がある)より大きな機能リクエストに焦点を当てたいと思います
アールズ

8
@Earlz-「私たちは本当に注力したい...」-あなたはそれが顧客関係の仕組みではないだろうと確信しています。これらの小さなリクエスト(顧客に大きな価値をもたらす可能性があります)は、より大きなものに取り組むために支払う価格です。彼らは、自分のニーズに応えるサプライヤーを必要とします。それに対処する方法は、それらを公平に価格設定することですが、より大きなリリースにバンドルすることは費用効果が高く(回帰テストなどが少ない)、それらをそのように処理することをより魅力的にしようとすることを指摘することですが、できません選んで決める。
ジョンホプキンス

2
顧客の5%を失うことでコストを50%削減できれば、それは大したことです。これらのカスタムフィールドは、ほとんど報酬のない汗をかいていますか?
9000

5
ソフトウェア開発では、開発者が顧客の望んでいることをしたくないという傾向があります。それは、クールでも面白くないからです。私たちの開発者は、ほとんど普遍的に顧客の欲求よりも自分の幸せを優先する傾向があります。しかし、それは私たちの楽しさと楽しみについてではありません。その顧客について。顧客は請求書を支払う人であり、請求書を幸せにした方が良いでしょう。あなたがカスタマイズ可能なソフトウェアを書くビジネスをしているなら、これは仕事の一部です。
ジョンクラフト

3
@ウェインMは、私が言及していた態度を示してくれてありがとう。顧客はテクノロジーを理解していないかもしれませんが、通常はバカではありません。通常、ビジネスニーズを理解していないのは開発者です。さらに、機能の追加がアプリケーションの整合性を損なう場合、それはアプリケーション設計が不十分であることを示しています。
ジョンクラフト

3

同様の状況があります。私たちが扱う方法は、「これは必要ない」と言う自由を私たちに与える信頼ベースの関係を構築することです。それには時間がかかり、忍耐が必要であり、あなたはたくさん話をし、昼食や他の退屈な仕事をする準備をしなければなりません。これらの退屈な会議は、あなたが本当に重要な機能の作成に集中できる長期的には、自分自身のためにお金を払うでしょう。

話すことはまた、彼らが求めていることが本当に重要であるかどうかを確認させます。


3

「本当に必要なのか」になれないと思います。顧客との議論。個人的に、「これによりあなたの会社はより多くのお金を稼ぐことができますか?」しかし、問題の事実は、一部のマネージャーは、何らかの理由でそれを追跡することを望んでおり、彼らは彼らの方法を取得することに慣れています。やりたくない場合は、「いいえ」と言うか、そのような多額の料金を請求して、要求を思いとどまらせます。

アプリケーションがより多くの顧客フィールドを簡単に処理できるようにする方法の検討を開始します。

  1. 既存のフィールドを利用するために、レポートとフォームのラベルを顧客が設定できるようにします。
  2. 汎用フィールド(String12)を既存または追加のカスタムフィールドテーブルに追加します。
  3. これがすべてデータ入力によって処理され、テーブルに新しい列を作成する必要のないユーザー定義のフィールドシステムを使用します(これがヘルプと呼ばれるものを思い出せません)。

既存の顧客がシステムを成長させていることに気付くかもしれません。業界は変化しつつあるため、新しい要件が浮上しています。

申し訳ありませんが、利益ではなく純粋に技術的な理由で顧客が望むものを提供できない場合は、ペースを上げる必要があります。新規参入者がより多くの分野で市場に参入することは難しくないので、それを起こさないでください。


3

しばらくウィンドウの反対側から見ると、最後の仕事で、エンドユーザーが任意のエンティティ/テーブルに「カスタム」列を追加できるERPシステムにさらされました。私との簡単なやり取りから、1対1のマッピングで2番目のテーブルに列を動的に追加しているように見えました。例えば:

静的列を持つWIDGETテーブル:

  • WIDGET_ID
  • WIDGET_NAME
  • WIDGET_COST

ユーザー定義可能な列を持つWIDGETCUSTOMテーブル:

  • WIDGET_ID
  • WIDGET_WEIGHT
  • DID_BOB_WORK_ON_WIDGET

WIDGET_ID列はそれらを結び付けることができます。ウィジェットを編集しているときに追加のフィールドが自動的に表示され、動的レポートに追加したり、ウィジェットで検索したりすることもできます。データベースは引き続きそれらを追跡し、必要に応じてそれらの列にインデックスを付けることができるため、かなり効率的でした。

プログラミングの観点から見ると、正気を保つ方法がわかります。すべての顧客が独自のカスタム列を持つことができますが、これらのカスタム列はコアロジックに干渉しません。


このアプリケーションは複雑すぎて、大規模なオーバーホールなしにそのような機能を追加することはできません。そのため、このソリューションは公開されています(ただし、1
以内に

1
1年でこれを処理できる場合、大したことは何ですか?
-JeffO

@Jeffは、平均してこれらの機能要求に動揺しないと仮定して1年です。基本的に中断のない開発時間の1年
Earlz

1

機能の「リクエスト」は、まさにリクエストです。彼らが要求している場合は、それでコードベースを「乱雑にする」ことが会社にとってどれだけ価値があるかを決める必要があります。それが風土病の問題になった場合、それを抑えることができますが、彼らがあなたが求めているものまたはそれに近いものを喜んで支払い、それがあちこちのいくつかの機能であるなら、私はお金で行くと言います。

さらに進むと、これが製品の絶え間ない問​​題であり、複数の顧客がこの種のカスタマイズを探している場合は、おそらくアプリのこれらの部分を再考し、顧客がこれを実行できるように柔軟にする時間ですアドホックレポート、柔軟なデータ収集などです。これらの煩わしさをセールスポイントに変えてみてください。「当社のストックデータモデルは十分ではありませんか?カスタマイズオプションをチェックしてください!あなたは自分でそれを行うことができます!」


2
すべての問題の背後には、解決策を作成して、それを誰かに売る機会があることを忘れないでください;)
MattC

0

この機能で何をしようとしているかを正確に特定し、それを構築するために推定時間を適用する必要があります。お客様が追加で問題のないフィールドが必要な場合は、請求を行います。私は顧客に、機能を構築した後に機能を追加したい場合はそれでいいと言いますが、場合によっては機能させるのに少し費用がかかります。

私はあなたが彼らがそれを使うかどうか気にする理由を理解するのに苦労しています。それは簡単です、あなたは彼らが望むものを構築し、あなたはそれに対して支払いを受けます。

コードベースの混乱?新しい機能で作業しているときにコードをリファクタリングする必要がある場合は、料金を請求してください。


0

「いくつかの追加フィールド」の追加など、追加を検討するいくつかの機能のリストを作成します。リストを顧客に表示し、どの顧客が最初に欲しいかについてフィードバックを求めます。リソースが限られており、一度にすべてを実行できないことを説明します。フィードバックを使用して、アプリケーションで使用する方向を決定します。

顧客はいくつかの余分なフィールドが実際にあると主張している場合はその重要な、あなたはまだそれらを追加していない上決定し、うまくいけば、顧客はまだあなたが代わりに実装している機能の利点を見ることができます。


0

何らかのプルシステムの恩恵を受ける可能性があるようです。次に実装する機能をユーザーが選択できるようにしますが、いつでも開発できる数を制限します。これにはかんばんボードが最適です。これにより、ユーザーに優先順位付けプロセスの所有権を与えることができます(責任が軽減され、ストレスが軽減されます)。ユーザーが次にどの機能を開発するかを決定することを余儀なくされ、他のリクエストが脇に置かれることを知っているなら、彼らは本当に必要なものを決定するためにもっと多くを投資するでしょう。


かんばん方式は、問題が発生した場所であるGembaに移動できる場合にのみ機能します。物理的な空間にいて、仕事をしている人々に話しかけ、彼らがそれをどのように行うかを見せてください。目で見て、指で触れてください。それから、そしてそのときだけ、それを改善する方法を見つけようとします。そして、それを改善する方法を彼らに尋ねます。
クリストファーマハン

@Christopher-取られたポイントですが、システムはある程度修正できます。かんばんを忘れるかもしれませんが、プルシステムの概念を維持しようとします。具体的にどのように機能するかに関係なく、ユーザーはタスクが優先順位付けされ、開発が継続的に行われる環境で次に実行するタスクを選択する方法が必要です。開発者は、自分で次にどの機能を実行する必要があるかを本当に知る方法がありません。
モーガンハーロッカー

1
Ironcode、あなたは正しい。私はバンクオブアメリカで働いており、私たちのチームは、ビジネスユニットにbugzillaのバグの優先度を介して機能のリクエストに優先順位を付けさせます。彼らはバグを提出し、バグに優先順位を付けます。彼らはいつでも優先順位を変更でき、私たちは調整します。はい、場合によっては切り替えコストが発生しますが、ビジネスにとってより効果的であることがわかりました。管理者は顧客の目標を持っている可能性があるため、これはおそらく元のポスターでは機能しないことに注意してください。(控えめに言っても、この管理アプローチは見当違いのようです)
クリストファー・マーハン

0

顧客に「オフィスでの1日」を体験してもらい、彼らが実際にソフトウェアをどのように使用しているかを確認するよう依頼する必要があると思います...待ってください。また、金メッキをしないでください。そのまま動作させます。ほとんどの企業は、うまく機能していてもitく見えることを気にしません。


これを行いました。これが、機能リクエストがおそらく使用されない時期を知っている理由です。
アールズ

ああ、それから、クライアント企業で政治的な戦いがあります。お前、やっちゃったんだな。または、ステーキとストリッパーを使用することもできます。
クリストファーマハン

0

リクエストを追跡します。大きな機能の設計/開発に着手したら、そのリリースに含める優先度の高いリクエストをいくつか選んでください。


0

リクエストの標準交渉システムを構築します。たぶん、fogbugzのようなバグ報告システムまたは機能要求システムに基づいたものです。顧客がリクエストを送信できるようにし、以下に基づいて優先順位を付けます。

  • 機能の技術的実現可能性/コスト
  • 機能リクエストは「有料」のものですか?それが契約にある、および/または彼らがそれを支払ったならば、それを入れてください
  • 機能は「意味をなす」のでしょうか?これは少し芸術ですが、一般的に、十分な顧客が機能を要求した場合、無料で実装します。製品を改善し、次の顧客への販売をより簡単にする機会です。
  • 未使用の有料サイクルがありますか?契約の一部としてメンテナンス/サポートの月間時間のセットを含める場合(数が非常に少ない場合でも行うことを強くお勧めします)、それらが慣れていない場合は、これらの種類の変更を行ってそれらを投げ始めます

0

顧客がアプリケーションの完全な所有権を持っている場合、彼らが尋ねることを行います。彼らに彼らのお金を吹き飛ばしましょう。それは彼らのものです。

ただし、そうでない場合は、これらの補助フィールドのソリューションに進み、コアデータモデルの外部にそれらを格納する必要があります。その後、データベースビューのようなものを使用して、この特定の顧客用の追加フィールドをマージできます。(保存されているデータの性質に応じて、補助ストアを実行する方法がいくつかあります。最も単純なのは、メインテーブルの一部のPKと同じ主キーを持つテーブルですが、使用時には非効率的ですフィールドの非常にまばらです。これは、インデックス作成などを必要とするフィールドの機能が必要な場合にのみ本当に問題になります。)

この段階でそれらを実装するのに十分なリソースがないという顧客の要求を先送りすることもできます。その時点で、あなたが望むものを安く実装することが可能になるとき(であなたの最善の見積もり)と言うロードマップを指すと本当に役立ちます。また、メタ機能はメインアプリケーションの主要な販売機能となるため、機能を安価にサポートできる状態にすること優先する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.