ソフトウェア開発では、「隕石が降ってくる」のように、人類の存亡に関わるリスクはありません。せいぜい、プロジェクトが大パニックになるか、最悪、崩壊する程度でしょう(とはいえ、「プロジェクト崩壊」は、マネージャには、「隕石落下」に相当する大事件です)。
ソフトウェア開発における「リスクの三銃士」として、「エース級エンジニアの離職」「仕様が確定しない」「見積もりの精度が低い(楽観的だった)」が挙げられます。このリスクは、プロジェクト管理において非常に厄介です。
エース級エンジニアは、プロジェクトの80%程度を一人で担当している感があります。処理方式、モジュール構造、データ構造、性能、インタフェースも1人でサクサクと決め、普通の人の数倍の生産性でソースコードを書きます。そんなキーパーソンの離職は、プロジェクト開発に大打撃を与えます。プロジェクト・マネージャは、オイルショック時の主婦以上に大慌てするでしょう。
特にソースコードを書いている最中にエース級エンジニアが退職すると、「あそこはエース君がやったところだから、私には処理方式が分かりません……」という状況になり、プロジェクトは前進も後退もできず、横倒しになって崩壊するでしょう。あるいは、誰も手を付けられないアンタッチャブル領域が点在することになります。
顧客との折り合いがつかない場合や、顧客が優柔不断だと、いつまでたっても仕様が凍結せず、設計に取りかかれません。気が付いた時には、スケジュールばかり浪費する可能性があります。また、正確に見積もれなくなる場合もあります。
「見積もりの精度が低い」は、楽観的な方向に精度が低いことを意味します。利益は、売り上げの30%程度でしょうが、赤字幅には上限がありません。99のプロジェクトが少しずつ積み上げた利益を1つの大赤字プロジェクトが簡単に食い潰してしまう……。日本が世界に誇るソフトウェア開発企業でも、そんな話をよく耳にします。
上記の「リスク三銃士」は、世界中のどんなソフトウェア開発プロジェクトでも起こりうる「常連リスク」です。リスク管理はこれらのリスクを可能な限りリスクのまま留めておき、「卵がかえらない」、すなわち、「問題」にならないことを目標にしています。次回は、具体的なリスク管理の手順を説明します。
東海大学 大学院 組込み技術研究科 准教授(工学博士)
Copyright © ITmedia, Inc. All Rights Reserved.