web-dev-qa-db-ja.com

カスタムソフトウェアの見積もりを作成するときは、何に注意すべきですか?

現在、無料で提供しているソフトウェアを企業が使用できるように拡張するための見積もりを依頼されました。彼らは、いくつかの「後処理」ステップと組み合わせて現在社内でそれを使用していることを教えてくれます。それらは適切なアプリケーションに組み込みたいです。

カスタムまたはオーダーメイドのソフトウェアリクエストの見積もりを作成する場合、何に注意すべきですか?すべての拠点がカバーされていることを確認するにはどうすればよいですか?見落とされがちなカスタムソフトウェアの見積もりにはどのような側面がありますか?

7
Scott

「典型的な工学的アプローチ」が何を意味するのかは不明ですが、どの作業をどのような補償に対して行うかについて書面による同意なしに続行しないことを強く警告します。 Joel Spolskyの機能仕様の記事シリーズ(http://www.joelonsoftware.com/articles/fog0000000036.html)に従って、「プログラミングタスク」仕様ではなく機能仕様を作成することを強くお勧めします。

基本的に、仕様はプログラムの最終的な動作がどうなるかについてあなたとクライアントが合意するのに役立ちます。機能仕様には、最終的なプログラムを検証できる十分な詳細が含まれている必要があります。このようにして、あなたが合意されたものをあなたが納品したこと、そして支払いが今や期限であることは間違いありません。

「機能をもう1つ追加できますか、この機能を少し調整してください」というリクエストには十分注意してください。通常、彼らはあちこちでマイナーなTweakから始めます。無料で行うと、プロジェクト全体を追加料金なしで実行するまで、より頻繁で妥当性の低いリクエストを受け取り始めます。私の推奨は、完成した製品の微調整のための最初の見積もりに数時間の追加のコンサルティング/プログラミング時間を組み込むことです。この時間を超えたら、新しい仕様を作成して変更を見積もります。したがって、クライアントは最終製品にある程度の微調整を加えますが、将来のすべての変更は最初に見積もられた金額に対して行われるべきだとは信じ始めません。

5
Bork Blatt

小規模なプロジェクトの場合、最良の見積もりは固定価格ですが、プロジェクトに投資する範囲と時間を十分に理解していることを確認する必要があります。

Work Breakdown Structure ですべてのスコープを識別し、会社によって承認されていることを確認します。これは、あなたが何を提供するかを理解し、彼らが何を受け取るかを理解するという合意です。

時間の見積もりを決定し、未知のものを埋め、リスクを反映するために現在の請負業者のレートよりも高いパーセンテージを請求します。

4
maple_shaft

約20年間カスタムメイドのソフトウェア開発を行ってきたので、私はあなたの立場で次のことを行います。

  1. まだ行っていない場合は、成果物のソフトウェア変更の合意済みリスト(個々の機能、バグ修正など)を決定します。
  2. これらの各タスクにかかる時間を個別に見積もります。プロジェクト全体を見るよりも、その方がはるかに良い見積もりが得られます。実際、それを分解できるほど、より良い見積もりになります。ただし、これらの個々のタスクの見積もりをお客様に伝えないでください。
  3. それらを合計し、未知数を考慮してそれを2倍にします。その倍の金額をXと呼びます。

それから私は言っている簡単な電子メールか手紙を送ります:

  • これが私たちが同意した変更のリストです。これには合計で最大でX時間かかると思います。
  • 私は時間と材料に基づいて作業し、時間は1時間あたり$ Yで請求されます。
  • 予期せぬ要因によりプロジェクトがXの90%に達し、プロジェクトが完了していない場合、私は作業を中止し、続行するかどうかを話し合うためにご連絡します。

私はこのアプローチが双方にとって勝利であることを発見しました。顧客は、財務上のエクスポージャーに「上限」の固定価格の利点を得ることができ、固定価格で無限の量の作業を行うことに行き詰まることはありません。

これは、契約で具体化することも非常に簡単です。米国では、通常、「作業範囲」の補遺を参照する非常に単純な2ページのコントラクトを使用できます。次に、その補遺は、変更と最大Y時間の見積もりを一覧表示するシンプルな単一のページです。

あなたの時給以外に、最も合理的な人々が提起できる唯一の異論は、Xが長すぎるということです。これに対する反論は、プロジェクトが実際にそれほど長くかかることはないと予想しているが、未知数を考慮に入れて、それを超えないように快適な上限を設定したかったことを説明することです。いかなる状況においても、元の変更されていない見積もりを彼らに伝えるべきではありません。それはあなたにとって有利ではない交渉のポイント(例えば、顧客が議論できる何か)になる可能性があります。

他の人々が述べたように、固定価格プロジェクトの一般的な問題は、顧客が貧しい家にあなたを「もう1つ小さなこと」にできるということです。このアプローチの良い点は、単純なリクエストの場合は、さらに数時間請求する口頭の同意を得られることです。より複雑なリクエストの場合は、契約の補足として作業範囲ページを追加できます。

あなたは非常に幸運な立場にいます。彼らはあなたが必要以上にあなたを必要としているので、契約条件をかなり指示することができます。あなたがこのような合理的な何かを提案した場合、彼らは幸せでなければなりません。彼らが満足していない場合-特に上で提案した上限にかかわらず定額契約を要求する場合-それは彼らが対処するのに首の痛みになるだろうという初期の警告なので、私は言うだけです、「申し訳ありませんが、合意に達することができません。」と立ち去る。

3
Bob Murphy

前処理のステップを自動化した場合にどれだけmoney or value節約できるかを見積もることができれば、いくら課金するかわかります。

作品を独占的に提供しますか、それとも他の顧客に同じコードを販売する可能性がありますか?これは、要求する価格に影響を与える可能性があります。

あなたが彼らのために生み出すことができる価値は、あなたがあなたの時間を売っただけの(コンサルティング)ためにあなたが支払われるであろうものの少なくとも2倍の価値がありますか?あなたがその下にいるなら、申し出を辞退してください、それはあまりに危険です。彼らがアウトプットから得られる価値よりも多くのお金を払う気がない限り。

0
user2567