コードジェネレーターを使用したため、クライアントはプロジェクトに支払いをしたくない
全体の状況は私にはでたらめに思えますが、行き過ぎているのでセカンドオピニオンが欲しいです。
ちょっとした文脈...私はフリーランサーです。VBAまたはc#で書いています。プロジェクトの75%はExcelのマイクロプロジェクトです。
何年もの間、私は自分のライブラリとコードジェネレータを構築しました。コードジェネレーターは、いくつかの準標準のクラスとメソッドを記述します。構造はあるが、最終バージョンでは手動で調整する必要があるもの。一部のパーツを手動で変更し、変更を失うことなく他のパーツを再生成できるモジュラーコードを作成するために、ジェネレーターはタグを使用して各「パーツ」をラップし、作業を配信するときにそれらを削除しません。
私がプロジェクトを提供した後、クライアントは本当に満足していました(すべての設定されたフレーズ、「これから他のことをします...」など)。数日後、私は彼がこれらの<Sometag>
行が何であったかを尋ねる電子メールを受け取ります。私は真実で答えた。コードの特定の部分を見つけるためにコードジェネレーターによって使用されるタグ。彼はVBAに興味を持っていたので、洞察に満ちた説明がありがたいと思いました。
1週間後、私は彼に請求書を送り、翌日、私が実際に作品を書いたことがないので、合意された価格はもはや有効ではないと彼は答えました。今、彼は合意された価格の半分以下を支払いたいと思っています。(???)
しかし、ワークシートはそれでも本来の機能を果たします。コードジェネレーターは私のものです。私はすべての行を書きました、そしてそれには何百時間もの仕事があります。
私は何をすべきか?そのようなツールを使用するのは不公平ですか?クライアントには何か意味がありますか?このプロジェクトには、約9.5k行のコードがあります。私の図書館から3k、約。ジェネレーターから4k、残りは手書き。これはあまり説明的なコードではないことに同意しますが、それほど悪いコードIMOでもありません。契約では(電子メールや音声通話でも)、コードの形式について合意したり、話したりすることはありませんでした。彼と彼の従業員がこのようなことをしようとしたが、結果がうまくいかなかったと彼は私に言った。
あまりにも強く押し返すことの私の最大の懸念は、彼がGoogleマイビジネスに否定的なレビューを書くことができるということです。私はこのような状況にあったことは一度もないので、比較的小さなプロジェクトで評判が損なわれることを望んでいません。関係する報酬も、法的措置を正当化するほど高くはありません。
回答
取立代理会社。彼はクライアントではなく問題であり、それらの「クライアント」は基本的にあなたの努力の価値がありません。請求書、これを収集機関にできるだけ早く進めて、精神的にそれを取り除きます。彼には意味がありません。あなたが何かをする方法はあなたの決定であり、彼の決定ではありません。
私は何をすべきか?そのようなツールを使うのは不公平だと思いますか?
私があなたなら、あなたが作成したコードジェネレーターを使用することで、顧客のニーズを満たす優れた、しかし安価なソリューションを提供する方法をクライアントに説明します。そして、提供されたソリューションは、当初の満足度を考えると、このクライアントのニーズを明確に満たしていることを指摘しておきます。
クライアントが現在の価格でソリューションを望まない場合は、請求書を破棄することを提案する可能性があり、書面でそれを破棄し、それを使用するためのライセンスを失うことを約束します。これは、クライアントが将来のある時点であなたからのメンテナンスを必要とすることが予想される場合に特に効果的な救済策です。あなたは不幸なクライアントにサービスを提供し続けたくありません。
クライアントには何か意味がありますか?
いいえ、クライアントには有効なポイントがありません。クライアントは契約したものを手に入れたので、合意した価格を支払う必要があります。コードがどのように構築されるようになったのかは問題ではありません。
とはいえ、契約に署名する前に将来のクライアントとプロセスについて話し合うと、将来の問題を回避できる可能性があります。
ジェネレーターはタグを使用して各「パーツ」をラップし、作品を配信するときにタグを削除しません。
「それらを削除しないでください」の部分を再考することをお勧めします。
「難しい」解決策に対する私の最大の懸念は、彼が否定的なレビューを書いていることです。私はこのような状況にあったことは一度もないので、比較的小さなプロジェクトで評判が損なわれることを望んでいません。
あなたは潜在的な否定的なレビューがあなたにとってどれだけの価値があるかを決めることができます。
プロジェクトを最初から作成した場合は、はるかに時間がかかり、バグが多く、時間どおりに配信されないことをクライアントに伝えます。さて、彼はどのように支払いたいですか?クレジットカードまたは小切手?
そして、それが彼との最後のコミュニケーションです。契約は、予算とタイムスケールの範囲内で、彼が抱えていた問題の解決策を生み出すことでした。あなたはそれをしました-あなたの過ちはあなたのプロセスを説明するのに十分丁寧でした。
このようなクライアントは必要ありません。契約を結んでいる場合は、小額裁判所に行き、支払いを受けてください。そうでない場合は、これを取り消す必要があるかもしれません-次回契約を結ぶとき(注:取り消す場合は、あなたが書いたソフトウェアを使用するためのライセンスがないことを弁護士がクライアントに伝えていることを確認してください彼らのために)
何らかの理由で、人々は限界費用だけが現実であり、資本費用ではないというこの考えを持っています。この態度は、医薬品から保持や採用に至るまで、至る所で見られます。それは奇妙な態度ですが、一般的な態度です。
そしてそれは一貫して間違っています。
弁護士の友達がいますか?法的措置は単に要求書である可能性があります。
フリーランサーとして、あなたはこれらの種類のものにウィグルの余地を与えません。それを短く専門的に保ち、支払いを要求します。それについての談話に入らないでください。請求書はすでに交渉済みであり、あなたはあなたの側を満たし、支払いを期待していることを短いメモとともに再送信するだけです。彼らが完了した作業の支払いを拒否した場合は、お知らせください。
次に、妥当な時間枠内に支払いがない場合は、しばらくお待ちください。次に、実行する手順を確認できます。
イライラしたり、ガンズ・ブレイジングに飛び込んだりしないでください。何よりもまずこれを行ってください。多くの人が支払いをかわそうとします、あなたはフリーランサーとしてそれに慣れます。
おそらく「コードジェネレーター」ではなく「だまされた」と彼が考える場合は、「カスタム記述言語からコンパイル」または「グラフィカルツールからコンパイル」したほうがよいでしょう。電動機やCNCマシンを使うとき、それを「木工発電機」と呼ぶことはほとんどありません。
彼の本当の不満は、おそらくあなたが将来のメンテナンスのために本当のソースコードを引き渡していないということですか?クライアントが単に不合理である可能性もありますが、はるかに信頼できる(そして合理的な)商業上の懸念は、クライアントにメンテナンス用のツールを持たせずに、作業を独自のツールに結び付けたことです。
良い例えは、クライアントが燃焼エンジンの設計を依頼したが、メートル法の標準ボルトとスレッドを使用するのではなく、完全に独自の工夫で不明瞭なシステムを使用したため、クライアントなしで将来エンジンを維持するのに法外な費用がかかる場合です。あなたに戻って参照します。
カスタムツールを使用する意図がなかった可能性があり、それは単に生産性を向上させるためのデバイスでしたが、ツールで生成されたコードが手作りのコードよりも複雑または慣用的でないことは珍しくありません。
クライアントは、生成ツールを利用できるようにしない限り、このツールを使用してコードを作成するために節約した時間は、将来、メンテナンスのためのロックインコストまたは書き換えのコストでコストがかかると考える可能性があります。他の誰かに変更してもらいたいときに、アプリケーションを最初から作成します。これが苦情の本質である可能性はありますか?
いいえ、顧客には意味がありません。また、あなたは何も悪いことをしていません。顧客が要求した製品を、顧客が妥当と考える価格で納品しました。製品の作成をどのように達成したかはまったく関係ありません。
顧客をスムーズにするためにできることは、すべてのソフトウェアがツール(コンパイラ、ライブラリ、コードジェネレータなど)を使用して開発されていることを説明することです。家の改造を行う大工がツールを持っているように、ソフトウェアの作成をより効率的にするためのすべてのツール彼の仕事をより効率的にします。ツールを使用しているという事実は、顧客に見積もった価格にすでに考慮されています。コードジェネレーターを使用しなかった場合は、増加したコストをカバーするために追加料金を請求する必要があります。
短く正直にしてください。
私が見積もった価格には、コードジェネレーターの使用が含まれています。コードジェネレーターを使用していなかったとしたら、プロジェクトに追加料金を請求する必要がありました。結果に満足できないことがあれば、私に知らせてください。解決策について話し合うことができます。
また、彼がコードを生成した合法的な牛肉を持っている可能性も考慮してください。たとえば、コードを変更するのは簡単ではないかもしれません。
クライアントとして(そしてソフトウェア開発の仕組みを知っているので)、来年は別の会社に配達物を渡して、その会社に通常の価格で変更や追加をさせたいと思います。
したがって、提供するものがそれを異常に困難にする場合、顧客はポイントを持っています。あなたのツールのせいでそれほど難しくないのなら、いいえ。そして、より効率的に開発するためにツールを使用したことは、お金を払わない理由ではありません。
しかし、本当に重要なのは契約書の内容です。契約書に記載されている内容を納品した場合、クライアントは支払う必要があります。
当初はコミュニケーション不足のようです。顧客が簡単に編集できるベースコードを自分の選択に変更し、自分でVBを少し学びたいと思った場合、顧客とあなたはお互いの意図を知らなかったのです。
一部のコードジェネレーターは非常に冗長で判読できないコードを提供するため、コードや作業要求を見ずにコメントする理由がわかりません...「自分のコード/プロジェクトを自分の作業と統合して設計しているため」と彼が言った場合たとえば...合意された金額と作業量はわかりません。彼は自分の作業を手動でコーディングすることに基づいて契約と価格に署名した可能性があります。つまり、より多くの作業が行われ、手動の結果が得られることを期待していました。個人的には、編集可能なコードを必要とするお金のないジュニアプログラマーである場合、コードジェネレーターの詳細をクライアントに警告します。
この質問には変数と未知数が多すぎて、クライアントを顔のないいたずらエンティティとして書き留めることができません。苦情の理由やコード要求の記録すらありません。回線数と価格はいくらでしたか?100または10000?クライアントが人間的な側面を持っているのか、感情を持っているのか、ジュニアの個人やグループであるのかを誰も考えていないことに驚きました。そうでなければ、これは一方的な判断です。
あなたはすでにここでたくさんの良いアドバイスを持っているので、私は質問に直接答えようとはしません(個人的に私はクライアントがお金を払わないと考えることができる何らかの理由でつかんでいるのを見ます。他の言い訳)。
ただし、将来の私のアドバイスは、コード製品で「30日間無料トライアルを行った後、引き続き使用するにはライセンスキーを入力する必要がある」スキームを採用することです。
もちろん、30日とは、正確に30日ではなく、「支払いを受けるのにかかる時間」を意味します。
さて、クライアントが文句を言うなら...彼らは意味がありません!
完全に機能するトライアルを取得して、ユーザーの受け入れテストを実行し、職務に適しているかどうかを確認します。
場合は、場合、あなたが支払う、契約はあなたのライセンスキー...私は、もちろんのを与えるために私を義務づけます。
あなたはお金を払って私を甘やかそうとしないのですか?!私のアプリケーションがあなたにとってどれほど有用であるか、それからどれだけ利益を得ることができるかを見て楽しんだことを願っています...あなたが支払っただけでした。
技術的には、さらに一歩進んで、試用期間が終了し、ライセンスが提供されていない場合は、たとえば3日間待ってから、ターゲットマシンから製品のコードの完全なアンインストール/削除をトリガーします。
クライアントが有効なライセンスへの道をリバースエンジニアリングして、あなたが借りているものをあなたに支払わないようにしたくありません。
あなたの弁護士が契約でこれらすべてを合法にすることを確認してください。
ご存知のとおり、「合法化」から「コード化された製品はToninCorpの唯一の所有物であり、合意された報酬がクライアントからToninCorpに提供され、その時点で製品の所有権が自動的にクライアントに譲渡されます。
これにより、それ以上の補償なしに、クライアントにToninCorpによるメンテナンスサービスの資格を与えないでください。」
騙されてごめんなさい。それはたわごとであり、それは私たち一人一人に起こります、最も警戒されている人でさえ。
どんな犠牲を払ってもあなたが借りているものを手に入れましょう。
1つの悪いレビューは悪いです、本当です。プッシュオーバーであることの名前を取得することは、キャリアエンダーです!彼らがガムの棒を盗んだとしても
、暴徒が誰もフックから外さない理由があります!いじめられて利用される可能性のある誰かの名前を取得した場合...それらはあなたの道に来る唯一のクライアントになります。
それはキャリアの終焉のスパイラルです。
しないでください!