web-dev-qa-db-ja.com

バグが1つあるため、お客様はソフトウェアに「非常にがっかり」しています。返信するには?

私たちは数年前から、お客様の1人用にカスタムソフトウェアを構築してきました。これまでのところすべてが順調です。

ただし、お客様は常にソフトウェアのバグを見つけると、非常に哀れになり、ソフトウェアの品質に本当にがっかりしていると不満を言うように常に心がけています。他のバグ、彼らはソフトウェアの品質が悪化していると仮定します。それは、帰納法による証明のようなものです。もしあるなら、たくさんあるはずです。

私にとっては、常にバグが存在する可能性があります(ソフトウェアは [〜#〜] crm [〜#〜] ソリューションの一部であるため、飛行機や原子炉などの実行に使用されるソフトウェアのようなものはありません)明らかに、さまざまなテスト方法がありますが、私たち(またはお客様)はすべてをテストしているわけではないため、バグが侵入する可能性があります。私の意見ではそれは大丈夫です。

しかし、そのような哀れで感情的な反応にどのように反応しますか?彼らがこのように始めたとき、私はいつも完全に無言です。

6
SoftwareGuy

たいていの場合、あなたはこの顧客と良好な関係を築いているようです。 (「これまでのところすべてが順調です。」)おそらく、その関係を維持したいと考えています。

しかし、このシナリオは2回以上発生したようです。おそらく、何らかの理由で(意図せずに)顧客に、これらの偶発的なバグにそれほど悩まされていないことを信じさせたのでしょう。もしそうなら、顧客はあなたからもっと注目を集めるために、問題に対する彼ら自身の表明された懸念のレベルを上げるべきだと感じるかもしれません。

このような場合、問題を払いのけているように見えるほど、不満が出てきます。

(おそらく)非常に高価な開発プロセス以外では、リリース後にバグが見つかることは避けられないでしょう。しかし、バグがすり抜けるためにacceptable(または "OK")である必要はありません。 wantでバグのあるソフトウェアを提供しないこと、および1つのバグの発見でも対処する必要があることを明確にすることで、これら2つの信念を和らげることができます。次のステップは、それに対処する方法を理解することです。

自分が状況の一番上にあり、問題を修正するために合理的な範囲内ですべてを行っていることを顧客に理解させると、彼らは不満を少なくするかもしれません。彼らが何らかの形でバグの存在を通知した場合(「これは発生するはずですか?」というメールなど)before彼らがどれほどがっかりしているのかを話し合う会議あなたは、この状況をどれほど真剣に受け止めているかを批判の一部をそらす可能性があります。

15
David K
  1. バグの繰り返しが問題であることをお客様と真剣に同意する

  2. これらのバグを防ぐためにさらに作業を行う必要があることをお客様に同意してもらいます

  3. より多くのQAとより多くのテストが適切であることをお客様に同意してもらいます

  4. これにより、最初は状況が少し遅くなり、コストがかかるように見えることをお客様に同意してもらいます。

  5. 開発中にさらにQAを行い、より多くのテストを記述します。

  6. それに応じて請求する

14
Michael Durrant

他のお客様と同じように、「問題が発生してごめんなさい。私たちは何ができますか?」

今、あなたはおそらく彼らが求めるすべてを行うことができないでしょうし、確かに彼らが望んでいるほど自由ではありません。それは交渉の問題です。しかし、最初のコミュニケーションは謝罪であり、その後に前向きで建設的な序曲が続きます。

10
Telastyn

最初からクライアントとの仕事の性質について前向きではなかったようです。あなたとあなたのクライアントがすべてのソフトウェアにバグがある。

そして、私はallを意味します。あなたのHelloWorldアプリでさえも、それが期待されているなら「バギー」です...

  • ロケール設定に基づいて自動的に翻訳する
  • 聴覚に障害のあるユーザーのために「hello world」と声を出して言う
  • トースターで走る
  • その他の無理なこと

または、それが何かをすることが期待されている場合でも合理的なそれは最初は期待されていなかった:

  • STDOUTが/dev/nullにリダイレクトされている場合でも、「Hello World」を視覚的に表示します

バグは多くの場合、別の観点から見ると単なる機能です。どちらかの側でこれについての妄想がある場合は、それをクリアしてください。

BUT FIRST、次のいずれかに該当する場合はwise to apologizeです。

  • バグは深刻です
  • バグはあなたの側の不注意の結果です
  • クライアントがプロセス、ソフトウェアの性質、またはバグの性質について十分に教育されていなかった場合
  • クライアントは非常に動揺しています(それがあなたの責任ではない場合でも)

そこから何をするかは、契約とクライアントを維持したいという願望に依存します。時間単位で請求する場合、請求可能な時間かどうかはお客様とクライアントの間です。問題が最近の請求対象の仕事に関連しているかどうかを判断する前に、あなたの側でいくつかの調査が必要になる場合があります。 Xの完成に対する固定価格の場合は、たぶん無料で修正する必要があります。しかし、たとえあなたが契約を結んでいるとしても、交渉の領域を超えるものはありません。

基本的に、クライアントと話し合い、合意に達します。人間のように話します。クライアントのニーズと期待を明確に考慮していることを確認してください。プロジェクトの収益性が疑わしくなっている場合は、クライアントが関係(生計を立てるため)でのニーズも理解できるように、できるだけ丁寧に口調で説明します。

これが一般的な出来事である場合:

  • クライアントを教育し、バグ修正と変更リクエストの手順(および請求)に同意します。
  • 開発とQAプロセスを更新します。
  • attitudeを更新します。

あなたの仕事は主に何をしているかを知るおよび高品質の仕事を提供するです。クライアントが安定した製品を確実に入手できるようにするためのプロセスがない場合は、すぐに修正する必要があります。次に、同様に重要なことですが、仕事、製品、またはプロセスについて誤解が生じたときに、クライアントに丁寧に教育することがあなたの仕事です。

バッテリーを交換するためにあなたの車を整備士に連れて行くことを想像してください。交換後すぐに、角を曲がると「異音」が聞こえます。車で帰るとき、整備士は問題を丁寧に調査し、状況を説明し、新しく見つかったノイズがバッテリーの取り付けに関連していたかどうかに基づいて請求します(すべきです)。

彼はおそらくしない自分の友達に行き、「私は哀れなクライアントを持っている」と言います。 。

8
svidgen

あなたの質問に対する即座の答えは専門家であり続けることですが、行動でそれをバックアップする必要があります。具体的には、客観的かつ公正な方法で顧客の懸念に対処します。

オープンラインのコミュニケーションと、バグを報告および追跡する簡単な方法を用意することが重要です。通常、これはプロジェクトマネージャーまたは開発リーダーを経由しますが、顧客は追跡システム(Jiraなど)に直接アクセスできる場合があります。

顧客がバグを報告できることを確信し、実際に修正された場合、これはソフトウェア自体とその構築に使用されたプロセスの両方に対する態度を改善するのに大いに役立ちます。

重要なことは、バグを報告し、修正するようにスケジュールし、修正を検証するときに、チーム全体が従うプロセスを明確に定義することです。バグの種類によっては、テストケースを追加したり、手動でテストしたりする必要があります。テストが存在しないバグ(スペルエラーなど)が後で再び壊れた場合にも、明確な回帰戦略が必要です。必ずお客様と協力して、リスクの高い領域を特定し、QAから投資収益を最大化してください。

2
user22815

役立つかもしれないことの1つは、ソフトウェア開発が実稼働環境に似ていることを指摘することです。原子炉のような最も厳しい環境でさえ、未知のものは統計的に制限されなければならないことを理解しています。彼らの境界は私たちのものよりもちょうど厳しいです。

canバグを任意のまれなレベルに引き上げることを顧客に説明します。たとえば、最近非常に人気が高まっている「6シグマ」などです。ただし、このグレードの大規模アプリケーションの開発には非常に費用がかかります。彼らが本当に低いバグ率を評価しているのであれば、彼らはその費用を自由に支払うことができます。

あなたが取ることができる別のアプローチは、よりテスト可能な要件を作成することです。彼らがあなたのソフトウェアで非常に高いレベルの信頼性を達成することを望んでいるなら、あなたが与えられる要件はますます具体的にならなければならないでしょう。要件が与えられた場合

ユーザーはインターフェースがインタラクティブであると感じるはずです

高い信頼性が得られません。要件が与えられた場合

ユーザーがインターフェイスをクリックすると、95%の時間で0.1秒以内に応答します。残りのケースの4.99%では、処理中に「待機」アイコンが表示されます。

バグを軽減するためのテストプロセスを開発できるため、高レベルの信頼性を求めることができます。

続いて、私はシークに代わるものを提案したいと思います。あなたの顧客は顧客のように振る舞っています。機会が与えられたら、彼らと協力して彼らをパートナーに変えましょう。顧客/プロバイダーの関係は、パートナー/パートナーの関係ほど安定していません。後者は実際にはバグをよりよく処理できます。

これは実際にはあなたの質問に対応していないので、これをフォローアップとしてリストしますが、より長期の顧客に対処する場合に考慮することが重要であることを発見しました。

2
Cort Ammon

あなたは本当に間違ったウェブサイトで尋ねています。プログラマーとしては、これにはまったく返信しません。あなたのマネージャー、またはより良いあなたの製品マネージャー、またはおそらくあなたの営業担当者は、彼らが顧客に返信するものです。

あなたのマネージャー、プロダクトマネージャー、または営業担当者があなたのところに来て、なぜソフトウェアのバグについて非常に多くの不満があるのか​​と尋ねた場合、悪い答えは「私は哀れな開発者だから」です。良い答えは、「1週間のテストでは不十分だと私たちがどのように言ったか覚えていますか?そして、リリースの直前にこれらの大きな変更を行うべきではないことをどのように伝えたか?そして、私たちは機能を追加する代わりに、品質を向上させるために真剣に時間を費やしますか?」

1
gnasher729

もちろんバグに対処しますが、考慮すべき要素がいくつかあります。結局のところ、それはビジネス関係、つまり価値対価値の提案であることを忘れないでください。

1)全体的な関係は良好ですか?彼らはソフトウェアを使用していますか?彼らはビジネス関係を続けたいですか?あなたは彼らの傷ついた感情を修正することができないかもしれませんが、あなたは確かに前向きな前向きな結果に集中することができます。

2)人々は時々面白い方法で自分を表現します。彼らは世界の終わりについて話します、しかしそれは彼らが話す方法です。 (私の女の子はそれをします。)

3)問題への対処について懸念を抱いている可能性があります。人々は幸せな道を好きです。したがって、彼らの失望感は、問題を抱えていることと同じくらいそれについて話す必要があることからのものかもしれません。

4)「私たちのためにもっと仕事をしてほしいのですが、前のバージョンのひどいバグのため、割引が必要です。」のように、それは交渉の戦術かもしれません。わかりました。

5)問題を修正するために時間を支払う方法など、正当なコストの懸念があるかもしれません。

私は、外部および内部の顧客とのやり取りに気づきました。結果に焦点を当て、問題に熱心に対処すると、信頼が向上するので、やり取りがスムーズになります。問題を修正し、長い目で見てください。あなたの関係の基礎を確立するとき、あなたは前向きなものに集中したいと思います。

他に何もない場合、それは学ぶべき顧客との対話の良い例です。

0
Rob