前回、ソフトウェア開発での「リスク三銃士」として、「エース級エンジニアの離職」「仕様が確定しない」「見積もりの精度が低い」を挙げました。この他にも「同じ機能のアプリケーション・プログラムを同業他社が1年早く開発してリリースした」「ハードウェアを作る会社が倒産した」のように、プロジェクトが即中止になる“ショー・ストッパー(注1)”的なリスクもあります。
注1: ショー・ストッパー(a show stopper)は、演奏や芝居のようなショーを即中止に追い込む致命的な問題のことで、リスク管理での頻出用語です。ショー・ストッパーが多く存在し、その発生確率が高いと、ソフトウェア開発はエンジニアリングではなく、ギャンブルになります。
リスク管理の手順として「熊とワルツを - リスクを愉しむプロジェクト管理(トム・デマルコ、ティモシー・リスター著、伊豆原 弓訳、2003年、日経BP)」では、次のように示しています。
このように書くと、耳にしたこともない難しい言葉が並んでいるため、「リスク管理って、聞いたことがあるんで、導入したいけど、なんだか面倒だな」と拒否反応を起こしたり、やる気がなくなります。
リスク管理で圧倒的に重要なことは、上記の第1ステップ、「リスクの発見」です。どんなリスクがあるかをきちんと把握し、起こり得るリスクを全て洗い出し、それの対策を決めておけば、実際にそのリスクが発生しても、慌てず、冷静に対処できます。この「慌てず、冷静に対処できる」ことが、リスク管理から得られる非常に大きな利点です。
済々黌の選手は、あの場面で起こり得ることをきちんと「事前に」把握していて、冷静に対処したのです。済々黌のファインプレーは、ソフトウェア開発のリスク管理に共通する要素があります。野球では、選手全員がいろいろな可能性を把握している必要がありますが、ソフトウェア開発では、プロジェクト・マネージャーが知っていればよいのです。
ソフトウェア開発で起こり得る全てのリスクを洗い出すことは、非常に面倒で、多大な時間と労力が必要に思えますが、実際は、意外に簡単です。例えば「エース級エンジニアの離職」「仕様が確定しない」「見積もりの精度が低い」という「ソフトウェア開発でのリスク三銃士」は、世界中のどんなプロジェクトでも起こります。ソフトウェア開発でのリスクは、そのような、「共通的なリスク」が大部分で、リスク管理関連の書籍やウェブを検索すれば、簡単にリストアップできます。
この共通リスクをベースに、過去のプロジェクトで発生した問題をチェックしたり、ブレーン・ストーミングを実施し、業界、会社、プロジェクトに固有のリスクを追加すれば、ほぼ全てのリスクを網羅したことになります。このリスク一覧を見ると、意外なリスクを発見して驚くことがあります。
野球の技術は、グラウンドだけではなく、机の上でも磨かねばなりません。ソフトウェア開発でも同様で、PCに向かってモノを作るだけでなく、机の上でじっくり考えることが必要です。
次回は、リスク管理の残りのステップについて解説します。
東海大学 大学院 組込み技術研究科 准教授(工学博士)
Copyright © ITmedia, Inc. All Rights Reserved.