人月の神話 第14章:スケジュールが破綻する原因とその対策

日付に丸を付けたカレンダー ソフトウェア開発

Q. どうしたらプロジェクトが1年も遅れるのか?

A. 1日ずつが重なって。

ちょっとしたことによる半日や1日の遅れが積み重なってスケジュールは大幅に遅れていく。例えば、病欠、故障、納入待ち、雪、裁判員、家庭の事情、緊急顧客対応、社内監査、などなどが積み重なって遅れるのである。

マイルストーンの文言

  • マイルストーンに設定するイベントは、刃先のような鋭さで、具体的、明確、かつ、判定可能でなければならない。
  • 悪い例
    • コーディング90%完了
    • デバッグ99%完了
    • 計画完了
  • 良い例
    • アーキテクトと実装担当者が署名済みの仕様書
    • コーディング100%完了、バージョン管理システムにコミット済み
    • デバッグ版が全てのテストケースをパスする
  • マイルストーンが非常に明確で曖昧さが無いことは、上司がその完了を簡単に確かめられるかどうかよりも重要だ。マイルストーンが非常に明確であれば、ごまかそうとする人はそうはいない。逆にマイルストーンが曖昧だと、報告者の意図と異なる都合の良い形で上司が報告を理解することがよく起こる。
  • 複数の事例を用いた研究では以下3点が見いだされている。
    1. 2週間毎に慎重に更新されている作業時間の見積もりは、その作業の開始時期が近づくにつれてあまり変動しなくなる(見積もりの落ち着いた先が、実際の作業時間と比較してどの程度正しいかは別として)。
    2. 過大だった見積もり時間は、作業に入るとその期間を通して徐々に短くなる。
    3. 過小だった見積もり時間は、作業に入っても完了予定の3週間前になるまではあまり変動しない。
  • マネージャーは鋭いマイルストーンを設定すべきである。曖昧なマイルストーンは、投入済み作業時間に関して誤った印象を与え続け、回復不能な状態に至らしめる。その結果、スケジュールの遅れは慢性化し、チームのやる気は失われる。

PERT図やクリティカルパススケジュールの利用と「ハッスル」

  • これら(PERT図やクリティカルパススケジュール)の利用により、遅れるとプロジェクト全体の遅れに直結するタスクを特定でき、また、現在直結しないタスクでもどれだけ遅れるとその遅れが全体に直結するようになるのかが判明する。また、遅れを別のところで挽回する方法を考えるときの資料を得ることにもなる。
  • これらを利用するには、プロジェクトの最初期に非常に具体的な計画作業を大量に行う必要がある。しかし、このこと自体に最も価値がある。
  • これらの利用は必要ではあるが、こういう類いの計算や計測は「ハッスル」を鎮める作用があることには注意が必要である。ここでいう「ハッスル」はスポーツで言えば必要以上に速く走ったり必要以上に挑戦したりする類いの行為である。「ハッスル」は優れたプログラミングチームには不可欠なものだ。なぜなら、「ハッスル」した結果として生まれる余裕が小さなトラブルへの対処を可能にし、遅れが1日ずつ積み上がっていくのを防ぐからである。

現場から適切に情報が上がるようにするには

現場の管理職からさらに上位の管理職へ全ての情報が伝えられる必要は無い。しかし、教育に関する状態を把握するための情報と計画に無く処置が必要なことに関する情報は、上位の管理職が必要な情報である。そして、何も対策をしないと必要な情報であっても上に伝えられず隠されてしまう。

対策1 役割の衝突の緩和

  • この対策の1つめは、上下の管理職の間で役割の衝突を和らげることである。
  • 下位の管理職が解決できる問題に対して上位の管理職は手を出さないよう自制しなくてはならない。
  • また、明らかに状況の検討を行っている最中は、問題解決への行動を上位の管理職は決して起こしてはならない。例えば、報告書を1段落も読まないうちに受話器を上げて指示を出すようなことはしてはならない。こういう対応をすると、情報は隠されるようになる。逆に、上司が報告を受け取ってもパニックや下を無視した行動を起こさないと知っていれば、部下は正直な現状の評価を報告するようになる。
  • 会議の類いを状況検討と問題解決のどちらかに分類し、上位の管理職がそれに応じて自制することは、この対策の助けになる。状況検討会議と問題解決会議を順に経るなら、少なくとも状況は皆が知ることとなり、そして、上位の管理職は問題に踏み込む前に2回は考えることになる。

対策2 マイルストーンレポートの作成

  • この対策の2つめは、マイルストーンとその完了状況を一覧にしたマイルストーンレポートを定期的に作成することである。
  • マイルストーンレポートに2種類の予定日を併記するやり方は有効な可能性がある。1つの予定日は、プロジェクトマネージャーが管轄する予定日であり、プロジェクト全体の計画の視点からスケジュールされる。もう1つは、各マイルストーンに対応する現場の管理職が管轄する予定日であり、見積もりの正確さに重点が置かれる。後者の日付に対してはプロジェクトマネージャーは手を出してはならない。
  • 進捗管理の専門チームを設けるのは大規模開発では非常に価値がある。人数は1から3名で、管理職の仕事である進捗管理を事務面で補佐する。具体的には、各マイルストーンの状況確認やPERT図の更新などを行う。この専門チームの持つ権限は、マイルストーンの追加や変更がないか、また、既存のマイルストーンで完了したものがないかを、現場の管理職に尋ねる権限だけである。この専門チームの働きにより管理職は決定を下すことに集中できる。

他の章はこちらから:

「人月の神話」の要点
人月の神話の要点・ポイントをまとめています。原著に基づき、人月の神話の要点・ポイントを主に箇条書き形式でご紹介しています。
タイトルとURLをコピーしました