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


9

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

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

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


2
誰かが、絶えず変化し、不明確で、しばしば不完全なユーザー要件に基づいて、ソフトウェア製品の価格を魔法のように数量化する方法を見つけると、世界はより良くなります。しかし、まだ質問に+1します。
Arseni Mourzenko 2012年

ソフトウェアを価格設定する唯一の信頼できる方法:(1)プログラムを作成してテストする。(2)あなたの努力を測定します。(3)実際の努力に基づいてソフトウェアを販売する。
Doc Brown

AppceleratorAirHaxe(両方をターゲットにしたり、NMEを使用したりできます)を確認してください。
back2dos

これはプログラミングやソフトウェアに固有のものではなく、プログラミング関連の質問になりすました価格設定に関する一般的な質問です。

I am about to undertake a project. This requires me to write code...。Programmer + Project = Code(通常)。なぜ明白なのか?
ダイナミック

回答:


12

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

ケーススタディ

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方法

Waterfall / V-Modelに適合するプロジェクトで作業する場合、これはうまくいくかもしれません:

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

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

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

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

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

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

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

    • リスク指標。

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

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

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

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

2.アジャイルな方法

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

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

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

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

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

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

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


3

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

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

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

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

幸運を、


1
LOCを指摘するための+1は誤ったメトリックです。そしてマイルストーンは支払いを受け取るための賢い方法です
jqa

0

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


+1「固定価格の開発」は失敗した多くのビジネスの戦略でした
jqa
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.