web-dev-qa-db-ja.com

プロジェクトの時間枠について、クライアントに完全に正直である必要がありますか?

私はしばらくの間この経験をしてきました。クライアントがソフトウェア製品を必要として私に連絡したとき、クライアントは通常、この製品が完成する時間枠を知りたがっています。通常、ソフトウェア開発者として、解決に数週間(場合によっては数か月)かかるエラーが発生する可能性があるため、ジョブを完了するのにかかる時間を完全に判断できない場合があります。

私の分析に基づいてクライアントに予想される時間枠を伝えると、つまり、それがどんなに悪くなっても、たとえば最大6か月で仕事を終えることができるはずです。私のクライアントは通常NOと言います! 6か月は長すぎるので、早急に必要です。私がクライアントから与えられた時間枠を受け入れることを拒否した場合、彼はクライアントの短い時間枠を受け入れても時間内にジョブを実行しない別の開発者に契約を与える可能性があります。

一方、クライアントの短い時間枠を受け入れて契約を結ぶと(時間内に完了することは不可能であることを十分に理解している)、契約を結ぶことに成功し、後で言い訳を思い付くだけです。なぜ仕事が間に合わないのかについて。これは今では当たり前のようですが、契約を結ぶために不正直になる方法を深く学んでいるように感じます。それは悪いことですか、それとも単なるビジネス戦略ですか?

5
Jevison7x

このような状況では、これらのタイプのクライアントについて推論する必要があります。

最初から最後まで単一の時間枠を与える代わりに、1か月のスパンである程度生産可能なツールを使用できることを説明します。

彼らに(一枚の紙のように)ソフトウェア製品の作成に必要なアルゴリズムまたはステップを説明すると、ソフトウェア開発とは何かが理解できるようになります。人々が一般的にこれにどのように向かっているかを知っているので、生産プロセスの重要な部分を強調する必要があります。

例えば:

  • サイトが美しく、クライアントの売り上げや見込み客を増やすために、デザインの計画に時間がかかることを説明する
  • これはサイトユーザーにとって重要であるため、セキュリティの側面を説明してください。クライアントは、サイトが安全であることを確認する必要があります(これが必要な場合)。
  • SEOなどについて説明する。

このプロセスを説明するために料金を請求する必要はないと思います。ただし、彼らが支払っている割り当てられた時間内に完了することができない場合は除きます。

私が言おうとしていることの要点は、クライアントが自分自身に直接利益をもたらすことができるようにクライアントに説明する必要があるということです。

たとえば靴の小売業を経営している場合、ソフトウェア開発者から最も聞きたいことは、彼らの仕事が私のビジネスにどのように役立つかということです。

最後に、1か月間で良い最終製品を達成することが不可能である理由を説明することもできます。

次に、与えられたすべての事実に基づいて、少し長い時間(6か月は非常に長い時間)でより良い解決策ではなく、1か月で焼きたての製品を入手することが許容できるかどうかを彼らに決定させます。動作するバージョンがすぐに利用できるローリング製品を提供する場合を除いて、この時間を最大2〜3か月に短縮することを検討する必要がありますが、本番環境に対応するまで更新を続けます)。

6
Joe
  • 嘘をつかない。それは結局あなたを噛むだけです。あなたはあなたがクライアントと戦っていないところで合理的に組み立てられた契約をすることをはるかに幸せに感じるでしょう、そしてあなたの不正直な見積もりはずっと。結局のところ、実際の作業は見積もりの​​後に行われます。最初はローバラーとの契約を失うことになりますが、ローバラーが見積もりを超えた後、それらの顧客があなたのところにやって来ます。あなたはそのようにして信頼と良い顧客を築くでしょう。
  • あなたが質問であなたがそうするように提案しているように思われるように、「絶対最悪のケース」を推測しようとしないでください。絶対的な最悪のケースは予測不可能です-代わりに「X時間で終了する75%の確率」のようなものを推定します-100%は不可能です-95%はより長くかかり、75%よりもはるかに可能性が低くなります。このようにすると、4つのプロジェクトのうち1つがオーバーランすることを意味します。つまり、4つのプロジェクトのうち3つが満足のいくクライアントに時間どおりに到着し、4番目のプロジェクトはおそらく遅れる理由を非常によく説明しています。
  • Get "ソフトウェアの見積もり:ブラックアートの謎を解く" -誰も本当に知らないことを確認するだけでも、多くのことを学ぶことができます:P
  • 「緊急の」プロジェクトであなたに来るクライアントに非常に、非常に注意してください。その「緊急の」プロジェクトはすでに遅れています。 「外部の人がその日を救う」ではない可能性が高い結果が2つあるため、成功する可能性はほとんどありません。開発時間に起因するプロジェクトのさらなる遅れがリダイレクトされます(つまり、彼らの目にはあなたの責任になります) ORプロジェクトの開発にかかる時間の間、彼らは代替ソリューションを見つけ、彼らはもうそれを必要としないので、あなたはあなたの仕事の支払いを受けるのに苦労します。
4

あなたが与えたシナリオに基づいて、私はクライアントがあなたまたは他の会社に正直であるかどうか疑問に思います。あなたはそれが6ヶ月かかると言います、しかし彼らはそれを1つで望んでいます。不完全なプロジェクトには言い訳がありますが、クライアントはとにかく支払いますか、それとも今ではそれを遅らせることができますか?何かが足りないか、クライアントが緊急の意味について大まかな解釈をしている。

双方がゲームをしているようです。開発者は見積もりを埋め、クライアントは開発者が構築にかかる時間を誇張していることを知っているため、任意に短い期日を設定します。私たちはまだスコープクリープにさえ到達していません。

個人的には、このようにクライアントと取引することは避けています。プロジェクトの見積もりに大きな違いがあるということは、何かが非常に間違っていることを意味します。プロジェクトをより小さな部分に分けて、それらの見積もりを出します。これにより、クライアントは何が必要か、およびそれらを適切に実行するための時間についてより良いアイデアを得ることができます。これらは調整可能であり、プロジェクトを見積もるのが難しい多くの場合、初期の試行錯誤が必要です。あなたの競争は不誠実ではないかもしれませんが、何が必要か、あるいはおそらく彼らが問題に対してより多くの開発者を投げていることに気づいていない、いくつかのボイラープレート/プレハブコードとともにこの領域での経験があります。

0
JeffO