web-dev-qa-db-ja.com

修正/バグは誰が支払うべきですか?

デスクトップとウェブの両方の開発でフリーランスを始めたばかりで、すでに私の仕事を受け入れており、彼がバグを発見するたびに私に何度も戻ってきてくれました。自由。これでよろしいですか、それともサポート料金を請求する必要がありますか?

受け入れられ完了したと思われる作業の修正に対処するための最良の方法はどれですか?

33
Agush

契約の一部には、受け入れテスト、つまりクライアントが実行するテストが記述されている必要があり、アプリケーションは、契約が履行されるためにそれらに合格する必要があります。これらのテストでカバーされていないものは、クライアントの責任です。それらがカバーするものはすべてあなたのものです。

可能性のあるすべての問題を予測することは(特に非テクニカルクライアントの場合)不可能なので、契約の一部として新しい問題を修正する場合は、期間を指定する条項を連絡先に追加する必要があります。その後は、有償サポートのみを提供する必要があります。

42
Mchl

上記の答えはすべて良好です。ただし、考慮すべきいくつかの箇条書きを追加します。

  • クライアントはあなたにとって価値がありますか?クライアントがあなたにとって価値があり、将来さらに多くの仕事をもたらすと思われる場合、クライアントを幸せに保つために余分な数ヤードに行く価値がある場合があります。厳格さと柔軟性のバランスを見つける必要がありますが、これはクライアントごとに異なる場合があります。簡単に修正できるバグが範囲外であることを確信しているからといって、将来の作業を失うことはありません。一方で、クライアントがあなたの上を歩き回るのを望まないでしょう。微妙なバランスです!

  • バグはユーザーテストで簡単に見逃された可能性がありますか?たとえば、特定の年が入力された場合にのみ発生する日付関連のバグを考えます(ミレニアムバグなどを考えてください)。クライアントはテスト中にこれを発見することを合理的に期待できなかったので、それを修正する責任はあなたにあります。

10
Dan Diplo

場合によります。

最初の例では、作業が完了していないと主張できるので、支払う必要があります。

後日、お客様は継続的なサポートに料金を支払う必要があります。

ただし、問題は、境界がどこにあるのか、何がバグを構成しているのか、何が新機能なのかを判断することです。要件や受け入れテストがあることは、これを定義するのに長い道のりです。

実際に作業を行う前にこれらのものを準備する必要がありますが、まだ準備ができていない場合は、たぶん今がその時です。 私たちサポート契約について話し合う必要がある "(私たちが"私たち "に重点を置いていることに注意してください)。

とはいえ、バグを無料で修正してヒットする必要がある場合もあります。他に何もなければ、それは善意を築き上げます。

10
ChrisF

私がフリーランスをしていたとき、私の基本的な顧客合意は、プロジェクトを公開する前に必要な「受諾」と呼ばれる条件を定義していました。受け入れの瞬間、私は「立ち上げサポート」と呼ばれる30日間の期間が始まりました。その30日間が経過すると、プロジェクトの進行中の作業は1時間ごとに請求されます。

このクライアントと良好な関係を築いている場合は、現在の状況がどれほど役に立たないかについて心をこめて、継続的なメンテナンスとサポートの1時間あたりの料金を提案してください。カスタムソフトウェアの購入は、サンドイッチや何かを購入するようなものだと思う人もいます。それはそうではありません。

6
Dan Ray

契約では、1時間あたりの料金を指定し、時間を追跡します。あなたのクライアントに価格を与えるとき、これが推定であり、実際の結果がより少ないかまたはより多いかもしれないことを指定してください。

クライアントに進捗状況を最新の状態に保ち、必然的に提案を行った場合は、所要時間(変更が元の仕様から外れている場合)を伝えるだけで、変更にお金の価値があるかどうかを判断できます。したがって、彼にとって重要な変更のみが追加されます。

私は契約の許容できるバグと許容できないバグ(有料サポートと無料サポート)を個人的にカバーします。そのようにして、少なくとも最初から何かを書いています。彼はなぜその条項が必要なのか疑問に思うので、率直に言って、何かを壊す新しいOSアップデートが出た場合、それは無料のサポートではないことを説明してください。ただし、指定されたプラットフォームの元の仕様によるコードのバグはカバーされます。

ただし、プログラミングではなくフリーランスのIT業務しか行っていないことにも触れておきます。これはおそらくクライアントを怖がらせる可能性がありますが、あなたの仕事が自分自身を売り込み、他よりもプロフェッショナルで、発信的で、助けになること、そしてより厳格な契約を結んでいる理由を明らかにすることを確認してください。

さらに、その条項を受け入れないクライアントは、おそらく悪いクライアントです。

2
Smokey

一般的に、アプリケーションの提供後、一定の日数の間は無料でサポートを受けることができます。確かに生涯無料のサポートは不可能/受け入れられないです。

発生したバグがバグであり、既存の機能への変更ではないことを確認してください。機能の変更については、課金する必要があります。

2
Gopi

彼がそれをテストして署名した場合、あなたは彼が支払うべきだと主張することができます。

あなたが自分の仕事に誇りと価値を置いているなら、あなたはそのコードを修正するだろうと主張するでしょう。経験から学び、次回より効率的により良いコードを構築します。または、バグ修正をカバーするためにより多くの利益を考慮に入れてください。

入力でプログラムが望ましくない、または予期しない動作をする場合、それはバグであり、修正する必要があります。

最初の開発作業の追加として、サポート料金を前もって見積もることができます。

2
cometbill