ちょっとした言葉の行き違いや誤解、錯覚がもとで要求仕様の作成に失敗すると、ユーザーの本来の要求とはかけ離れたシステムを作ってしまうことになりかねない。人間はどのような条件下で間違いを犯しやすいかを知れば、要求仕様のミスや漏れをなくしてよいシステムを作れる。
技術の進歩とともに、システムは大規模化・複雑化している。このことは、航空機や原子力プラントを思い浮かべれば容易に理解できるだろう。こうした大規模システムでひとたび事故が起きれば、その損失は計り知れないほど大きいものになる。
最新技術を駆使して作り上げた高度なシステムに、なぜ事故が発生するのだろうか。過去に起きた様々な事故を見ると、その原因のほとんどは人為的なもの、つまりヒューマンエラーだということが分かる。
航空機事故を例にとろう。航空事故を専門に追跡するPlaneCrashinfo.comによると、1950年から2006年までに起きた民間航空機の重大事故で、原因が明らかになったのは1843件。このうち、パイロットの操縦ミスは53%に上るという。それだけではない。不適切な航空管制や荷積、機体整備、燃料汚濁、言語、意思疎通の不良、操縦士間の人間関係といった操縦以外の人的ミスによる事故も7%あった。これらを合わせると、半世紀以上にわたる航空機事故の60%はヒューマンエラーが原因だったことになる(図1)。

1950〜2006年に発生した航空事故の60%は操縦あるいは操縦以外の人的ミスが原因だった
(出典:PlaneCrashinfo.com)
米ボーイング社の調査でも、同様の結果が出ている。同社は1996年から2005年までに起きた自社航空機の全損事故を追跡調査した。すると、原因を特定できなかった49件を除く134件のうち、操縦ミスによる事故は37%だった。これに、不適切な航空管制や不適切な機体整備を加えると、ヒューマンエラーが原因で発生した全損事故は63%に達するという。
会員登録(無料)が必要です
- 要求仕様作成における最大のコツ─機能の2割をカットする:第14回(2009/11/02)
- システム仕様を数式に変換─Z言語で要求仕様を厳密に記述する:第13回(2009/10/02)
- 業務の粒度やアクターの役割を明確化し、システムの振る舞いをUMLで表現する:第12回(2009/09/04)
- スケッチ、設計図、プログラミング言語UMLの利用法を再確認する:第11回(2009/08/06)
- ブレーンストーミング、KJ法、マインドマップ 発想法のエッセンスを理解する:第10回(2009/07/06)