クライアントの手や神の行動の外でコードが壊れたり異常が発生したりした場合、契約に保証条項を保証または追加する必要がありますか?
もしそうなら、その言語は何を言うべきですか?
クライアントが何らかの保証を要求しない限り、保証を提供しないでください。多くのクライアントはそれを使用してあなたを年季奉公に強制することになります。
彼らが要求しても、弁護士に相談してください。それ以外の場合は、大惨事に備えています。
クライアントの手や神の行動の外でコードが壊れたり異常が発生したりした場合、契約に保証条項を保証または追加する必要がありますか?
必要に応じて、仕事をしないでください。これはあり得ない状況です。コードが壊れたり機能しなくなったりする可能性のある変更可能な項目のリストに終わりはありません。
無料で仕事をするのが好きでない限り、次に進みましょう。
これに対応する標準的な方法は、サポートまたはメンテナンス条項を追加することです-「最初の10時間の作業は無料で含まれ、残りは次のレートで利用できます:」。
私はAdamの「やらない」を賛成しましたが、商用ソフトウェア製品にそのような保証を提供することは、顧客から多くの好意的な注目を集めるかもしれません。また、他の業界と比較して巨大なコジョーネがあったこともわかります。 :-)
次の状況では、保証の提供を検討する場合があります。
その場合、「購入日から1年間、ソフトウェアがユーザーマニュアルに記載されているように実質的に実行されない場合、修正して無料で発行することを保証します。更新。"
それは多くの保証のように聞こえませんが、ほとんどの商用ソフトウェアが持っているよりもはるかに多く、バグを修正することを顧客に安心させ、Wordは「実質的に」あなたが壊れないように十分な小刻みの余地を残します。
それが誰かのための契約プログラミングなら、それを忘れてください。私はかつてそのような状況に陥り、WindowsプログラムをMacに移植し、契約に署名する前にクライアントが都合よく言及しなかったWindowsバージョンの実際には非表示の機能であった「バグ」を修正するために数万ドルを失いました、私たちは繰り返しスペックを求めてきましたが。その経験は、私が固定価格の契約をやめる主な理由の1つでした。
プロジェクト終了後の特定の期間(たとえば3〜6か月)は、バグ修正を含む保証を提供するのが一般的です。これは、あなたがコードの後ろに立っていることをクライアントに言います、そして率直に言って、あなたはあなたのコードで提供する問題に対していくらかの責任を負うべきです。
私たちのプロジェクトで通常行うことは、バグとは何かを定義するSLA(サービスレベルアグリーメント)と、重大度のレベルに応じて修正するためのスケジュールです。たとえば、ライブプロジェクトは、レポートを受け取ってから1時間以内に解決する(少なくとも試行する)必要があります。視覚的な問題や小さなバグは48時間以内に解決する必要があります。
バグが何であるかを明確に定義することは非常に重要です-クライアントはしばしばバグレポートとして(時には意図せずに)新しい機能で作業しようとするからです。これらの定義は常に解釈に対していくらか開かれているため、意見の相違を調停できる調停者(通常は開発言語/プラットフォームの権限)を割り当てる必要があります。
契約の文言には、次のようなものを記載する必要があります。
考えられるのはほんの少しです。