web-dev-qa-db-ja.com

ソースコードとソフトウェア製品の価格の定量化

今からプロジェクトに着手しようとしています。これは私がコードを書くことを必要とします、そしてそれのトン。クライアントの要件は、プロジェクトの最後にすべてのソースコードを提出することです。

私の質問は、ソースコードとソフトウェア製品の価格をどのように数量化するのですか?価格を決定するために使用する指標はありますか?ソフトウェア製品をどのように定量化しますか?

追加情報:アプリケーションは、タブレット(iPad、Galaxyタブなど)、スマートフォン(iPhone、Androidスマートフォンなど)を含め、あらゆるOSのどこでも実行する必要があります)とWeb上にもあります(ここで、これがどのくらいのコードになるか想像してください)

9
Buhake Sindi

それは多くの要因に依存するため、正確またはほぼ正確な価格を知ることはできません。例:

ケーススタディ

WordPressベースの小さなWebサイトのリクエストがありました。あなたがしなければならない唯一のこと:デザイナーと協力して魅力的なグラフィックスを作成し、次にWebサイト自体を作成し(非常に専門的なものは何もない、WordPressに追加するプラグインのセットのみ)、それをデプロイします。作業は本当に簡単で、600ドルと見積もられました。

デザイナーが最初のドラフトを作成しました。顧客はそれがまったく魅力的でないと感じたと説明しました。同じことが2番目、3番目、4番目のドラフトでも行われました。最後に、2週間のハードワークの後、デザイナーは最終的にドラフトを取得し、それが顧客に受け入れられました。

しかし、悲しいことに、デザイナーはバスに襲われ、あなたが受け取ったのはオリジナルのPSDではなくJPEGだけだったため、新しいデザイナーからやり直す必要がありました。最後に、あなたはグラフィックを手に入れ、仕事を始めました。

驚き:プラグインAはプラグインBと互換性がなく、プラグインCは期待どおりに機能しておらず、プラグインDは最新バージョンのWordPressにインストールできないが、プラグインAのみをインストールできることがわかりました。この最新バージョン。たくさんのPHPコーディングを手作業で行う必要があります。また、Python開発者であり、PHPで1行のコードを記述したことがないため、それは最も簡単な作業ではありません。

一方、締め切りが1週間前だったのに、なぜ顧客は作業がまだ完了していないのかと尋ねる恐ろしいメールを送信し始めます。最後にPHPコーディングを完了し、すべてがあなたのマシンで完璧に機能します。顧客は満足しています。

次に、ホスティングサーバーへのWebサイトの展開を開始して、Webサイトが何らかの不可解なエラーで失敗するだけでなく、ホスティング会社がPHPあなたのコードにたくさん。

最後に、このプロジェクトに3,000ドル以上を費やした後、あなたはウェブサイトを稼働させています。締め切りがあり、「何も期待どおりに機能しない」ため、顧客は怒っています。 600ドルお願いしますか。 3,000ドル?

なぜそれが起こるのですか?

この例で説明したことは、あなたが信じているよりもずっと頻繁に起こります。どうして?予測できない変数が多すぎて、リスクが高くなるからです。ここでは、リスクが次のように増加しました。

  • ビジュアルデザインに関する不明確な仕様、
  • デザイナーの死、
  • 選択したプラグインの非互換性、
  • あなたが選択したプラグインの悪いサポート、
  • あなたがPHPを以前に使用したことがないという事実、
  • 開発環境と本番環境の違い、およびステージングの欠如。

特定のアプローチでこれらの問題を解決できます:

  • 明確で正確な機能要件と非機能要件、
  • バスごとのシナリオ管理(つまり、デザイナーがプロジェクトと妥協することなくいつでも死ぬことができるように、すべてのドキュメントをあなたと共有する必要がありました)、
  • 使用しなければならないツールと言語の事前知識(たくさんの作業が必要)、
  • ステージング、集中テストなど.

唯一の問題は、このアプローチでは、実際には要件、仕様、設計、テストなどの価格であるため、最初に少なくとも5,000ドルを支払うことを顧客に伝える必要があることです。この顧客が受け入れる可能性はあなたの見積もりは非常に低いです。

だから何もすることはありませんか?

非常に正確な価格を提示できない場合でも、概算を出すことができます。これは、作業のすべての部分を個別に行うことを考慮に入れており、リスクインデックスがすべての部分に影響を与えています。予測可能なリスクが高いほど、価格が高くなります。

それには2つの方法があります。

1。Watefally way

ウォーターフォール/ Vモデルに適合するプロジェクトで作業する場合、これはうまくいくかもしれません:

  1. プロジェクトの機能要件と非機能要件をリストします。顧客が契約に署名するのと同じ方法で、顧客が署名した文書を取得します。

  2. このドキュメントを入手すると、すでに次のものが揃っています。

    • 要件の収集とこのドキュメントの作成に既に費やした価格。これらのドキュメントは、通常のプロジェクトの場合は20から100ページまで変化し、大規模なプロジェクトの場合は数百または数千ページになる可能性があるため、これは重要な金額になる可能性があります。

    • 要求されている製品を明確、正確、完全に理解している。

  3. チームごとに段階的に進み、各要件を分析して評価します。

    • プロジェクトのこの部分の平均価格、

    • リスクを考慮しない最高価格、

    • リスク指標。

    3つすべてが考慮されて、顧客に提供する価格が決定されます。

  4. 特定の要件ではなく、要件間の互換性またはシステム全般に依存するリスクを資産化します。

徹底的なアプローチの長所:実行する作業と発生する可能性のあるリスクについて非常に明確なビジョンがあることを考えると、顧客は非常に正確な価格を取得します。

Waterfallyアプローチの短所:価格を指定する前に200ページのドキュメントを作成する必要があります。顧客がその間にプロジェクトをキャンセルした場合、またはあなたのコンカレントに行った場合はどうなりますか?プロセス全体も非常に重く、要件を後で変更することはできません。

2。アジャイルな方法

スクラムまたは他のアジャイルモデルに適合するプロジェクトで作業する場合:

  • プロジェクトの全体的な価格ではなく、すべてのコンポーネントの価格を与えるか、
  • または、最初に非常に概算の全体的な価格を示してから、より正確な価格を与えることもできます。

どちらの場合も、あなたと顧客の間に強い信頼関係があるか、営業部門に優秀な人材が必要です。さもないと、

  • 最初のケースでは、人はあなたが何度も何度も少量を求めて彼女のお金を盗んでいると信じるでしょう、そしてこれは決して終わらないでしょう、

  • 2番目のケースでは、特に価格がほとんどの場合上昇している場合、その人はなぜあなたがいつもあなたの価格を変更しているのか理解しません。

アジャイルアプローチの長所:お客様はいつでもキャンセルできます。また、彼女が早い段階でキャンセルした場合でも、機能するソースコードがまだ残っています。

アジャイルアプローチの短所:価格が不正確であるか、与えられていません。あなたが彼らにいくら払わなければならないかを彼らに言わなければ、ほとんどの顧客はあなたとビジネスをしたがらないでしょう。

12

結果とクライアントが支払う必要がある金額の両方が明確でない場合は、プロジェクトを受け入れないでください。私は次のことをするだけです:

  • クライアントが行う必要のある手順と支払いを考え出します。
  • 前のステップが完了し、全額支払い済みで、クライアントが次のステップに移動したとき。

支払い方法は、機能に応じた支払いを選択しました。したがって、クライアントがプロジェクト全体を支払うことができない場合、クライアントが機能を削除する機会があれば。

コード行(LOC)に基づいて支払いを受けるのは愚かなことです。 LOCは何も意味しないからです。機能に基づいて適切なコードと料金を賢く書いてください!。

幸運を、

3
asghar ashgari

オープンエンドコミットメントの固定価格を受け入れないでください。あなたがそうするなら、あなたは毎回ねじ込まれるでしょう。

0
ddyer