熊とワルツを

システム開発やプロジェクト管理に関わる人はもちろん、システムの発注をする側の人(SI屋から見たお客さん)も必読の書。
先日参加したAgile2006のあるセッションで、自分が日本人であることを知ったLinda Rising博士が「この本を差し上げましょう」と手渡してくれた本が「熊とワルツを」。彼女は日本語が読めないが、なぜかこの本を持っていたのであった(笑)

熊とワルツを - リスクを愉しむプロジェクト管理

熊とワルツを - リスクを愉しむプロジェクト管理

会場には原著者のTim Lister氏も講演に来ていたが、時間の関係で彼のセッションには参加できず。まあ、今度機会があったらサインしてもらおう。

リスク管理を真面目に考えるプロジェクト運営

この本では、「リスク」を正しく「管理」する指針と方法を丁寧に紹介している。リスクに対してプロジェクト管理者はどう対処してるかというのは73ページに整理されていて

  • 避ける
  • 抑制する
  • 軽減する
  • かわす

の四種類だという。このうち「避ける」はリスクのあることには手を出さないこと。「かわす」は、天に祈ること。リスクをきちんと計算し、抑制もしくは軽減することが「大人のプロジェクト管理」であり、それ以外は「子供のプロジェクト管理」と切り捨てている。

こういうSI屋はリスク管理していない

約200ページに渡り、「大人のプロジェクト管理」についての説明が続き、最後のほうの203ページから「本当にリスク管理をしているのか」という検証リストがついてくる。全部で9項目。このどれか一つでも当てはまらなければ、リスク管理をしているとは言えない。そしてその9番目は

プロジェクト計画に少くともなんらかのインクリメンタル手法を使っている。

という項目。

すなわちウォーターフォールで開発している以上、そのプロジェクトは「大人のプロジェクト管理」とは言えないし、ウォーターフォール開発をSI屋に期待している顧客企業も「大人ではない」ということになる。プロジェクトは予算超過するか、納期を守れないか、あるいは期間予算にゲタを履かされた見積が顧客に提示されているか、どれかであろう。

CMMI Level 5であろうがなんであろうが、納期と予算がきっちりと確定された見積を持ってくるSI業者など信用できないよ、というのが著者達の主張である。ちゃんとリスク管理をしているのなら、金額も納期も幅があって当然なのだから。そして納品も複数回に分散させるべきなのだから。

そうそう! と共感してしまう部分

いくつか抜粋

現在必要なのは、成熟度を5段階評価する制度から離れるための12のプラクティスである。(P15)

開発プロセスがいくら完璧でも、複雑なシステム開発プロジェクトから不確定要素を取り除くことはできない。(P27)

ソフトウェアプロジェクトマネージャのほとんどは、やらなければならない作業についてはほぼ正確に予想できるが、やらなければならないかもしれない作業は正しく予想できない。(P70)

この業界は、早く終わるという第三の結果を事実上不当なものとみなすことで、期日どおりに完成する確率をほぼゼロにしているのだ。(P89)

ひどい欠陥のあるスケジュールを約束したり引き受けたりするマネジャーはろくな仕事をしていない。(P123)

誰もが「やればできる」精神で仕事をするよう強いられる。それが問題なのだ。(P136)

完成が遅れるプロジェクトのほとんどは、あまりにも始めるのが遅すぎたプロジェクトである。そして、プロジェクトを始めるのが遅すぎるのは、管理階層のトップにビジョンと勇気がない証拠である。(P168)

われわれの経験では、デスマーチプロジェクトに共通する性質として、予想される価値が低いことがある。どうしようもなくつまらない製品を世に送りだすためのプロジェクトなのだ。(P193)

まだまだあるけど...

まだまだ書きたいことはあるけど、この本は是非システムを「開発する側」「発注する側」の両方の人にお勧めする。特にウォーターフォール開発が当然と思っている人。始めに予算と納期が確定しないと稟議が通らないという内規の人。その時点で、とてつもないリスクを抱え込んでいるということを認識していただきたい。