web-dev-qa-db-ja.com

時間の見積もりに基づいた仮定を推測するにはどうすればよいですか?

時間の見積もり方法に関する回答 プロジェクトの見積もり時に行ったすべての仮定を書き留めると言われています。良い計画のようです。

問題は、気づかずに自分でロバを作ったと仮定することです。仮定は、私が当たり前と思っていた、隠されたままでいることを好む邪悪なものです。

それで、私の見積もりを検討するとき、私の時間見積もりに基づいた仮定を発見するためにどのようなテクニックを適用できますか?

7
k0pernikus

実際の例:上司から、新しいハードウェアにソフトウェアを展開して手動の受け入れテスト手順を実行するのにどれくらい時間がかかるかと尋ねられました。以前に他のシステムでテスト手順を実行したことがあるので、全体で約2時間かかることがわかりました。また、展開、インストール、および構成に約30分かかることも知っています。他の要因がありますが、これらを取りましょう。システムがネットワーク上にあると仮定すると、要求されたすべてのことを実行するには3時間かかると非常によく言えます。私の想定では、ITがマシンをネットワークに配置するように構成し、ログオンしてソフトウェアを展開するだけでした。もしそうでなかったら、それが起こるまで私は何もできなかったので、私の見積もりはすでに吹き飛ばされていたでしょう。

仮定は、「隠されたままにしたい悪事」ではありません。それらはあなたが起こったことをあなたが期待していることであり、あなたのコントロールの及ばないものです。これらの他のことが起こったというこれらの仮定であなたの見積もりを提示し、あなたが正確に何が起こると仮定したかを概説することができます。

あなたの仮定を列挙して知らせることによって、あなたは自分自身からお尻を作りませんでした。実際、全員が同じページにいます。状況に遭遇して何かが発生しなかった場合は、推定の基礎となった仮定を指摘し、元の仮定が間違っていたことが新しく判明した知識に基づいて再推定できます。

すべてを説明することはできません。いくつか見落とされます。あなたができる唯一のことは、追跡し、あなたの過ちから学び、そして次回より良くなることです。そのため、(特にプロジェクトレベルで)頻繁に再見積もりを行います-NASAのソフトウェアエンジニアリング研究所は、プロジェクトの開始時に1回、次にプロジェクト全体で5回、見積もり、情報、リスク分析、および仮定に基づいて改訂します。製。

10
Thomas Owens

問題は、気づかずに自分でロバを作ったと仮定することです。仮定は、私が当たり前と思っていた、隠されたままでいることを好む邪悪なものです。

違います。すべてのことを事前に完全に知っている場合、それは推定値ではないため、何らかの形で推定を行うには仮定を行う必要があります。効果的なプログラマーになるには、多くの合理的な仮定を立てる必要があります。

So when reviewing my estimate, what techniques can I apply to discover the assumptions 
I based my time estimate on?

見積もりを行った場合は、その見積もりが適切であるために必要な条件をよく理解している必要があります。プロジェクトのすべての依存関係を検討し、それらが変更される可能性があるかどうかを検討してください。たとえば、ある仮定は次のようになりますすべてのユーザーが最新のWebブラウザーを使用しているため、IE6をサポートする必要はありません *。または私のサプライヤーのWebサービスには、1回の呼び出しで必要なすべての注文レポートの詳細が含まれます。追加のデータ処理を行う必要はありません

-*それは前に私を持っています。 IE6は一部の組織で広く使用されており、その絶対的な####をコーディングする

7
Tom Squires

答えは言及しました

彼らに座って読んで、あなたの仮定に同意してもらいます(または、運が良ければ、彼らに諦めて本当の要件を与えてもらいます)。

したがって、これは頭の中にとどまる必要があるものではありません。仮定を立てることは、すべての人が同じページにいることを確認するために、当然のこととは見なさず、仮定の受け入れを継続的に求めるプロセスである必要があります。

そうして初めて、妥当な時間の見積もりがあることを確認できます。

3
Mithir