私の職場(大学)では、ほとんどの学生が [〜#〜] cocomo [〜#〜] を使用して最終的な卒業証書のソフトウェア見積もりコストを計算しているのを見てきました。私の推測では、このコストを見積もる方法はやや古い(COCOMOの日付は1981)ので、私の質問は次のとおりです。
How do you estimate costs in your software?
私は次のようなものを見てきました:
コスト=(HoursOfWork + EstimatedIddle)* HourlyRate
それは私が望んでいることではありません、私は適切に(科学的に)定義されたコストモデルを探しています
[〜#〜] edit [〜#〜]SOでいくつかの関連する質問を見つけました:
ウォーターフォールモードで立ち往生している場合、私が使用した唯一のかなり正確な方法は次のとおりです。
非常に正確な数値になります。正確ではありませんが、正確です。
正確さは、過去の経験に基づいて各タスクの数を考え出すことができるか、または以前にそれを行った人を見つけることができるかに完全に依存します。経験が多いほど、見積もりが良くなります。
プロジェクトを実行するときは、各タスクに対して時間を追跡し、見逃したタスクを書き留めて、比較できるようにします。これは時間の経過とともにあなたを良くするでしょう。
ソフトウェアの見積もりは非常に困難です。私が使用したアプローチの1つは、要件を可能な限り細かく分割し、各部分を個別に見積もることです。次に、乗数(2倍)または固定量(予期しない作業の場合はx時間)のいずれかである「ファッジファクター」を追加します。適切な要件がない場合、実用的な目的で見積もりを行うことは不可能です。
私たちが通常行うことは、完全な作業範囲をサブプロジェクトと見なすことができる主要なモジュール/要素に分割することです。言い換えれば、それらは、クライアントがプロジェクトの個別の部分と見なし、クライアントが個別に見積もりを取得したい作業部分です。
完了したら、各モジュールをタスク、サブタスク、さらに小さなサブサブタスクに分割して、それぞれを非常に簡単に見積もることができ、見積りに1〜10工数かかるようにします。このようにして、プロジェクトの作業範囲の詳細な内訳を取得します。
最後のステップは、マイルストーン間でタスクを分散することです。各マイルストーンクライアントが目に見える結果を得るように、私たちはそれを行います。これは、あるマイルストーンを通過して別のマイルストーンに移動するのに役立ちます。したがって、最終的に次のようなものが得られます。
<ol>
<li>
Primary task 1 - 5 hrs
<ol>
<li>Subtask 1.1 – 3 hrs</li>
<li>Subtask 1.2 – 2 hrs</li>
</ol>
</li>
<li>
Primary task 2 - 9 hrs
<ol>
<li>Subtask 2.1 – 1 hrs</li>
<li>Subtask 2.2 – 2 hrs</li>
<li>Subtask 2.2 – 5 hrs</li>
</ol>
最初はExcelシートを使用してそれを行いました。しかし、2年以上前に、私たちはそのためのソフトウェアツールを使い始めました。それを助けるいくつかの同様の製品があります www.evenflow.com 、 www.swproposal.com そして他のいくつか。私はすべてのリストを覚えていません。私たちはずっと前に研究をしました。それがお役に立てば幸いです。
良い質問は、正確に推定する方法です。私たちが信じているように、100%正しい見積もりはありません。唯一の方法は、作業範囲全体を可能な限り小さなタスクに分割することです。小さなタスクでは、行うプロジェクトのより詳細なレビューと分析を行うことができます。とにかく精度が上がるように。
業界は81年以来30年間で多くのことを学びました。そのような見積もりはうまくいきませんでした。アジャイルブームが基本的に風景を書き直したので、私たちはいくつかのぼんやりとした「比較の難しさ」を表す「ストーリーポイント」を使用します。次に、「速度」を取得して、泥だらけのマックがある程度の経験的データを使用して$$推定を実行できるようにします。
労力とコストを見積もるのは非常に困難ですが、より正確なものが必要な場合は、次のようにします。
hoursOfWorkを3つのコンポーネントに分割します。
estimatedIddleを削除します。
8時間以上かかると、大きなエラーが発生することに注意してください。
私は、ファンクションポイント推定や、最新のアプリケーション用に設計されたそのバリエーションなど、いくつかの「厳密な」アプローチを学びました。これらのアプローチの重要な部分は、既知の要件のより詳細な分析を強制することであり、そうでなければ私がそれを提供することになると思います。
適切なモデルがある場合でも、適切なデータセットを取得することは非常に困難です。生産性の測定は困難です。人々はほとんどすべてのメトリックをゲームします。
私の組織は機能不全でソフトウェアの見積もりから利益を得ることができないため、使用をやめましたが、 Cost Xpert group とそのツールにはある程度の配慮があります。しかし、これは非常に高価であり、大多数の組織にとって、コストと学習曲線に見合う価値がないと考えられます。