ホフスタッターの法則

ホフスタッターの法則とは、ダグラス・ホフスタッターが提唱した、作業時間の見積もり、スケジューリングについての法則になります。複雑な作業にかかる時間を正確に見積もることができないという、困難さを表現したものです。今でもシステム開発やプロジェクト管理の文脈で、タスク管理やスケジュール管理に言及する際に引用されており、タスク計画や作業にかかる時間の見積もりについて、楽観的になる傾向に対して言及した法則になります。この法則を前提とすることで、タスクの所要時間の評価や、余裕を持ったスケジューリングの改善につながります。

タスク単位の例では・・・
プロジェクト単位の例では・・・

上記のように、作業見積もりと実際の作業時間にギャップが生じることは非常に多いと思います。では、これらのギャップを緩和するにはどうしたらよいのでしょうか?以下のような観点を考えてみました。

想定より時間がかかる原因とは?

システム開発の現場において、見積よりも作業時間が延びてしまうことは、日常的に発生しているのではないでしょうか。作業時間が延びてしまう要因は、仕様変更による手戻りや、単純な過少見積もりなど複数考えられますが、出るべき生産性が実現できていないことも往々にしてあるかと思います。

生産性を落としてしまいがちな要因

生産性を落としてしまう要因については、コミュニケーション不足や頻繁な仕様変更など、複数の要因が考えられます。コミュニケーションの不足によって、実装者(プログラマ)に伝わるべき仕様が伝わっていない、前提事項が共有されていないなどの生産性を低下させる一方で、「複雑な」作業を行っているプログラマにとっては、作業を中断される煩わしいチャットや、頻度が高すぎる進捗確認等は、生産性を阻害される要因につながります。 

過少見積もりにつながる要因

正確な作業見積もりというのは難しいものですが、作業時間を見積もる際に、スキルの高いメンバーをベースに作業時間を考えてしまうケースや、要件や仕様が未定の箇所に対してリスクを加味した工数を計上しないケースなどが考えられます。
どういったスキルレベルを前提とした見積もりを行うか、どういった要素が変動要因となりえるのか、などを考慮することで、より正確なタスクの所要時間の評価や、余裕を持ったスケジューリングの改善につながります。また、作業者によっては、リスク等を加味して作業時間を長めに確保したいメンバーもいれば、楽観的な考えのもと、短めに申告するメンバーもいると思います。こうした作業者の性格を考慮し、スケジューリングを行うことも、作業見積もりと実際の作業時間のギャップの緩和には必要な観点です。

まとめ

上記はほんの一例にすぎませんが、ホフスタッターの法則を意識することによって、実際の作業時間とのギャップが緩和できることもあるでしょう。

弊社では、システム・ソフトウェア開発におけるプロジェクト管理支援など、様々なサービスを行っております。ご興味がある方は以下よりお問い合わせ下さい。教科書的な知識ではなく、より現実に即した知識を有するスタッフが、貴社のお手伝いをさせていただきます。

IT統制・ITアウトソーシング・システム開発及び運用
ソフトウェア・品質・改善