web-dev-qa-db-ja.com

私が犯した間違いについてクライアントに請求する必要がありますか?

クライアント用のWebサイトを開発した後、読み込み時間が極端に長く、いくつかの変更を行う必要があることに気付きました。極端な読み込み時間は、私が使用していたcss/jsフレームワークの肥大化が原因です。これらのフレームワークに含まれているコードの多くは使用されておらず、サイトの読み込み時間を遅くしています。私の計画は、CSSフレームワークを削除し、サイズが1 KB程度の最小限のレスポンシブCSSフレームワークを使用し、必要なコードのみを追加することです。だから私の質問は、この間違いをバックステップして修正するためにクライアントに請求すべきですか?

6
MikeTheCoder

私の意見では、これをあなたの批判であると見なさないでください-結局私はあなたが誰であるか、このウェブサイトが何であるかなどの手掛かりがありません

あなたはこれに請求することはできず、あなたの仕事をあなたのクライアントに強調するために、100%割引で請求したとしても、あなたが素人っぽく見えるリスクを伴います。そしてそれは誰かがあなたに支払うものではありません。

クライアントの観点から、あなたはあなたの専門知識と彼らが行うことができないであろう決定をするために支払われます。サードパーティのライブラリの使用は、適合性を念頭に置いて行う必要があります。その重要な要素はパフォーマンスでなければなりません(ストレステストはラボのある時点で行うことができます)。したがって、正しいテクノロジーを選択しなかった場合の責任を負う必要があります。

これが既存のテクノロジー、または必須のテクノロジー(つまり、私が会社に行ったときのようにクライアントが事前に選択したもので、彼らがすでに数万を費やしていた場合)必要ではないが、とにかくコストを正当化するために使用したいBizTalkライセンスのカップル_:'(_)の場合、そうではない可能性があります。それがあなたの選択であったかどうかが鍵だと思います。

あごに持っていく必要があると思います。できる場合は、クライアントに通知せずに(会話を避けて)修正しますが、必要な場合は、ライブラリの予期しない問題が原因で無料で実行していることと、「勝つ」ことをクライアントに伝えることができます。もう一度それらを使用してください。

15
Andras Zoltan

フレームワーク/ライブラリの選択が完全にあなたのものであった場合、あなたはそれを所有する必要があります。顧客(特に家族)は、仕事に2度支払うことを望んでいません。それを行うためのより良い方法があり、それを逃した場合、専門家としてあなたは正しいことをする責任があります。

クライアントが仕事に期待する品質のレベルについては、一定の前提があります。たとえば、大工に階段を組み立ててもらい、木の反りのために階段が不均一であるとします。彼は木材の責任者であり、階段が水平であることは、書面であろうとなかろうと、かなりの期待です。大工が問題を修正することを期待し、支払いたくないでしょう。

アプリのユーザー数が2000人の場合は問題なく機能し、5000人の場合は問題がなかった場合、それはサイトの負荷の契約レベルに基づいて議論できるものです。あなたの説明から、一人のユーザーが問題を抱えているように聞こえ、それはあなたの開発の選択に依存しています。私はあなたがそれを修正し、パフォーマンスの問題を特定してそれを処理したことを彼らに知らせるべきだと思います。それはあなたが仕事に請求する金額よりもはるかに価値のある善意を築くでしょう。

5
cdkMoose

できますが、できません。それを修正し、実際のコストと100%割引で請求書を送信して、クライアントが価値を認められるようにします。あなたは良い専門的な関係と評判を保ちます。

5
Otávio Décio

あなたが誇りに思って、将来自分を売るために使うことができるものを持っている方がいいです。あなたはあなた自身の学習への投資として問題を修正することであなた自身の追加コストを相殺することができます。

2
Matt Clegg

定額契約か時間単位契約かによって異なります。

固定金額の契約を結んでいる場合、通常、要求された機能が変更されたときにのみ、固定金額の契約に変更または追加料金を請求します。固定金額の契約は、あなたが説明しているこのような問題を犠牲にして、開発者をスコープクリープから保護します。これは、ソフトウェアが契約要件を満たすために(補償されない)大きなリファクタリングを行わなければならない問題です。 。

時間ごとの契約がある場合、状況はさらに混乱します。通常、フリーランサーが請求する時間給は、知識とスキルに正比例します。私は、最初にフリーランスでソフトウェアの世界で後輩だったときに、1時間あたり50ドルを請求し始めました。私は現在$ 95/hrを請求しており、それは私がはるかに優れたプログラマーであり、一般的に短時間で物事を成し遂げることを反映しています。 (つまり、クライアントのコストのバランスを取ることになります)アプローチの潜在的なエラーを予測していなかったため、より多くの時間を費やす必要があります。私が1時間ごとに請求を行っている場合、リファクタリングに費やした時間を請求しても問題はありません。これは固定レート以外の開発に入る調査の一部であり、うまくいけばあなたのレートはそのような潜在的な問題を反映しています。

1
Richthofen

ほとんどの場合と同様に、依存します(関係、プロジェクトなど)。

顧客が遅いパフォーマンスの修正を望んでいる場合、私の意見では請求書を送ることができます。パフォーマンスがこれほど遅く、本当であるのはあなたの責任ですが、すべての開発者は間違いを犯し、顧客はほとんどの場合それにお金を払います。彼らは、おそらくこの間違いを犯さないだろう(経験豊富な?)開発者を多く抱える大企業を雇ったかもしれませんが、初期費用ははるかに高かったでしょう。これらの開発者は他のミスを犯し、顧客もそれに苦しむ必要があります。

あなたはソフトウェアを提供しましたが、おそらく彼らはそれに同意しています。今、彼らはそれを変更したいのですが、それは変更の要求であり、費用がかかります。これらの(肥大化した)フレームワークを最初に使用していなかったとしたら、その仕事はもっと多くの時間/お金を費やしていたでしょう。

固定価格プロジェクトの場合は、新しい(マイナー)バージョンで修正されます。契約によっては、アップグレードの料金を支払うことができます。

別のシナリオ/例では、プロジェクトで特定のIoC/DIフレームワークを選択しています。数か月後、別のフレームワークと比較してパフォーマンスが非常に遅いことがわかります。あなたならどうしますか? Xドルの費用がかかるシステムの内部を変更することでシステムを高速化できることをお客様に伝えたいと思います。彼らはそれが欲しいかどうかを決めることができます。

要するに:私は彼らがシステムのアップグレードにお金を払わなければならないと思いますが、それは本当に状況に依存します。

0
Jan_V

パフォーマンスが原因でサイトが実質的に使用できない場合を除いて、これを「間違い」として分類することはできません。ほとんどの場合、特に新しいテクノロジーを使用する場合、「実装後の反省」が見られることがあります。クライアントとの関係は良好であるように思われるので、「サイトをもう少し速くするためのアイデアがあったので、少し調整してもよろしいですか?」と伝えてください。

見逃したパフォーマンスの目標が明示または理解されていない限り、改善や機能強化については完全に請求する権利があります。ただし、いくつかの新しいツールを使用した実践的な学習体験のメリットを享受しているので、名目上の「最終調整」料金(たとえば2時間相当)をお勧めします。そして、それ以降のプロジェクトでは、必ず「パフォーマンスチューニング」フェーズを実行してください。そうすることで、この種の作業を確実に充電できるようになります。

0
TMN