本連載「企業セキュリティの歩き方」では、セキュリティ業界を取り巻く現状や課題、問題点をひもときながら、サイバーセキュリティを向上させていくための視点やヒントを提示する。
システム開発こそがITの花形
情報システムは、開発期間よりも、それを運用する期間の方がはるかに長い。そのため、本来ならシステムの開発やプラットフォームの構築よりも、システムの運用時の都合を考慮した仕様にしなければならい。その方がトータルでのコストは廉価になり、エンドユーザーにも利用しやすくなるなど、良いことずくめだと言っていいだろう。開発時やその前にあらかじめ作り込んでいることが、運用時の安定したシステムを構築するための大きな要因だ。
しかし現実は、残念ながらそのようになっていない。この連載で以前に述べたように、日本のITは通信キャリアやコンピュータメーカーなどのベンダーが中心となって始まった。もちろん、それらベンダーの影響力の強弱は、技術的なトレンドやその時々の経済事情などによって変わるが、現在も本質はさほど変わっていない。
ITベンダーにとっては、ユーザー企業から受託するシステムの運用やカスタマーサポート、ヘルプデスクなどの仕事よりも、システム開発が今でも花形であり続けている。なぜ、このようになっているのか。
その理由は、コンピュータが現在ほど身近ではなかった頃、システム導入を成功させる上で、その希少なコンピュータを動かす技術こそが最大のハードルだったからだ。このことは、現在まで続くベンダー主導の日本のIT業界構造を生んだ。
開発部門が強いITベンダーの組織
こうしてシステム開発部門は、ITの中で花形部門となった。ベンダーの組織ピラミッドにおいて、この花形部門のマネージャーから部長や本部長、取締役などの経営層にキャリアアップしていくという流れもできるなど、システム開発はITの花形であり続けている。もちろん例外も数多くあるが、古くからある大規模ITベンダーを中心に、現在でもこのようなシステム開発至上主義をベースとする組織文化となっていることが多い。
開発と運用の力関係で生まれた魔法の言葉
このような背景を持つ組織やベンダーがシステム開発をする際に、よく耳にする言葉がある。それは、「運用でカバー」という言葉だ。
ITベンダーにとって、この言葉は非常に魅力的であり、まるで魔法のような言葉である。なぜなら、この言葉を前提にすると、その後の運用フェーズで起きたことは、全て運用の現場責任にできてしまえるからだ。そのようなシステムは、開発が終了して顧客の検収を受けてしまえば、よほどの不具合でも発生しない限り、ベンター側の開発者が責任を取らされることはない。もし仕様上や運用上の大きな不具合が発生しても、その責任としわ寄せはシステム運用の担当者、つまりは現場が一身に受けることになる。
さらにこの言葉は、システム開発で上流工程などと呼ばれる「要件定義」や「基本設計」フェーズでのミスを巧妙に隠す、非常に都合の良い”機能”も持っている。もし、開発後のシステム運用で大きな負荷がかかるような事態が起きても、あたかも事前に想定されていた事態であり、「要件定義」や「基本設計」の責任の範囲外となるのである。つまり、想定できなかった全ての事象に対して現場が「運用でカバー」をしなければならなくなる。
当然ながら、そのような事態が起きたシステム運用の現場には、花形であるシステム開発を担当した技術者がいることはほとんどない。数少ない例外は、運用部門が危機を事前に察知し、まだ開発フェーズにあるうちに内部調整をして、開発部門から”人質”をとっている場合などだ。これも社内で決して強いとは言えない運用部門が、開発部門との力関係の中でぎりぎりの交渉をした結果、やっと得られる精いっぱいの抵抗だ。
このように日本のIT業界は多くの場合、開発プロジェクトとその後の運用との関係で成り立っており、それが伝統的に現在まで続いている。それを最も端的に言い表す言葉が、「運用でカバー」なのだ。そして、その魔法のような便利な言葉の裏側に、現場の運用メンバーの多大な犠牲が払われているのだ。