あらすじ
「リスクのないプロジェクトには手を付けるな」。著者は冒頭でこう断言します。リスクが大きければ、そのぶんチャンスも大きい。リスクという熊とのダンスを楽しみながらソフトウェア開発を進めるべし、というのがタイトルに込められたメッセージです。
本書ではまず、リスク管理が難しい理由を分析。どれも痛快なほど的を射ており、ソフトウェア開発者でなくても身につまされます。その後、解決策が紹介されます。説明に豊富な図や具体的な事例が使われているため、すんなりと理解できます。第14回General Jolt Awards受賞。
感情タグBEST3
このページにはネタバレを含むレビューが表示されています
Posted by ブクログ
プロジェクトがどうしてうまく進めることができないのか。
それはその前の分析をしていないからである。
その分析はどのような観点で発掘していくべきなのか。
リスク管理という観点で、プロジェクトを検分していく書籍。
5部、23章に渡ってリスク管理とその分析について焦点をあてて論が展開されます。
書籍の中で、著者が経験したまたは周りで発生した事例を上げながらどうすれば良かったのかについて討論やデータを持ってプロジェクトを検分していきます。
その中で印象に残ったのは以下です。
- 「不確定性」を数量化する。
経験則に頼らず、可能性を言語化して提示していくこと
- 価値性のあるコンポーネントを分析して提供していく。
プロジェクトで優先すべき価値ある機能を提供して継続するかの天秤にかけること
- 「リスク管理」は「おとなのプロジェクト管理」だ
不愉快な現実と、起こりうる悪い事態を認識して備えておくこと
リスク管理を背負ってプロジェクトを遂行することがあります。
その時に、熊と踊るために準備をしないといけないと気が引き締まる思いでした。
Posted by ブクログ
[読んだ理由]==================
「100人のプロが選んだソフトウェア開発の名著」にあった。PM、特にリスク管理って全然わからないので一度読んでみたいと思った。
[読んだ後の感想]==============
主なポイントは下記かなぁ、と思った。
・プロジェクト着手前に、想定しうる最悪のリスクまで徹底的に出しきっておく。
・「やらなければならない」作業だけでなく「やらなければならないかもしれない」作業も予想しておくべき。
・「コスト」と同様に「効果」も数量化すべき。でないとプロジェクトの「効果」が測れない。
・プロジェクトの最短だけでなく最遅の完成期日も予測し、その両方の結果から現実的な期日を予想する。
・リスクの大きな作業は極力先に済ませる事で、プロジェクトの柔軟性を極力確保する。
[読書録]======================
■第一部:なぜリスクを管理するのか
リスクのないプロジェクトには手を付けるな。全くリスクのないプロジェクトに手を出すのは負け組だ。必ずといっていいほど、何もえるものはない。そうでなければ、とっくの昔に誰かが片づけているはずだ。
■第二部:なぜリスクを管理しないのか
リスク管理をすべきでない理由の一つ:はっきり不確定幅を決めると、出来の悪い仕事を許すことになる。
⇒SWマネージャは「予測と目標は同じである」という標準ルールに従う傾向がある。しかしリスク管理のルールによれば、マネージャはいつも部下が最高の仕事を目指して努力するように目標を設定すべきである。その一方、クライアントや上層部に約束をする時には、目標とは全く別の予想を使うべきである。
「間違えるのは構わないが、不確かなのは駄目だ」と言うルールが自分の会社に当てはまったら、おしまい。このルールの意味は、約束した納期に間に合わなくても良い、大幅に遅れても構わないが、その日までの間、期日に間に合いそうもないといってはならないということだ。
「近づく電車が見えない症候群」「選択的近視」:
⇒これを避けるには、リスク管理をはじめる時点で、思いつく限りの破滅的な結果を並べて見ること。
つまらない心配事より、悪夢を攻撃せよ。
SWプロジェクトでは概して、且つために特別なことをするより、負けの程度を抑えるほうが大事なのだ。この仕事では、どんな組織も負けることがある。他の時に勝ったことがあろうがあるまいが、負けた時に最も痛手を受けたものが本当の負である。
■第三部:リスク管理の方法
SWプロジェクトマネージャの殆どは、「やらなければならない」作業についてはほぼ正確に予想できるが、「やらなければならないかもしれない」作業は正しく予想できない。
この業界は、予定より早く終わるという第三の結果を事実上不当なものとみなすことで、期日通りに完成する可能性をほぼゼロにしているのだ。いい加減なスケジュールを許さないがために、むしろいい加減なスケジュールが例外ではなく当然になっている。
全体リスクの不確定性は、成否を決める各々の原因の不確定性を積み重ねた結果である。
N(ナノパーセント日:その日に完成する可能性がゼロではない最初の日):
人は楽観的な声質を持っており、過去の経験から、可能な範囲で最も楽観的なスケジュールであるNを見積もることにはかなり熟達している。しかし、Nに完成すると約束するのではなく、本当に約束すべき納期を決定するためのデータとしてNを使うことが重要。
プロジェクトでも損は早めに出してしまうに限る。其の様なときは一旦主導権を失い、成り行きに任せることになる。しかし、早めにそうしておけば、強みを温存しておいて主導権を取り戻すことができる。システムのウチ技術的に軌跡に頼る部分は、初期のバージョンに組み込むべきである。そうすれば、奇跡が起きなかったとしても、いざというときの選択肢が最大限に多い。
インクリメンタル開発計画:
・制約の1つ:詳細設計図に、設計の分割を最低レベルまで全て示さなければならないこと。通常は、高レベルの設計を適当に済ませて設計が完了したと宣言し、後の設計分割作業はコーディングの副産物として行われているのが現状。
・メリット:区切りが多いため、プロジェクト要員の士気が保たれる。状況が目に見えやすい。プロジェクトの最後に残るのはほとんど余計なお飾りの機能だと分かり、その部分をカットできる可能性がある。
■第四部:数量化の方法
コストと効果は同じ精度で表す必要がある。「どうしても要るのだ」としか効果を言い表せないのなら、コストも「相当かかるだろう」とするべきである。
開発者と発注者の説明責任は平等であるべきだ。発注者には、価値が生み出されることを確認する責任がある。ところが、我々のアンケートによれば、企業はプロジェクトの完了後に、効果を実現できたかどうかを追跡調査していない。
製品が大きくなることでコストが比例以上に増大するとしたら、製品を小さくすればコストを比例以上に節約できるはずだ。システムの中で価値コスト比率の低い部分を削減することは、時間と予算に対する制約を緩める最も簡単な方法。ソフトウェア開発者は「もっと小さなソフトウェアを」をスローガンにしようと考えるべきだというと妙に聞こえるかもしれないが、そのほうが有利なことは明らかだ。
デスマーチの正当化にいつも使われるのは、プロジェクトの重要性である。「このプロジェクトは極めて重要なものだから、プロジェクト要員には精一杯頑張ってもらわねばならない」。だが、プロジェクトがそれほど重要なら、どうして会社はそれを適切に遂行出来るだけの時間と資金を使えないのか。
我々の経験では、デスマーチプロジェクトに共通する性質として、予想される価値が低いことがある。どうしようもなくつまらない製品を世に送り出すためのプロジェクトなのだ。デスマーチになる本当の理由は、あまりにも価値がないので、普通のコストでプロジェクトを進めたらコストが成果を上回ることが明らかだからだ。
■第五部:嘘か真か