私はシステムの開発を始めて、かれこれもう20年になります。
20年前、システムの開発は、今と比べれば、全く非効率で金のかかるものでした。
しかし!今は当時と違って・・・・
という話しの展開にしたいのですが、残念ながら・・・
20年前も今も、全く変わらず、システムもその開発も、非効率で金食い虫です!
作っている側からすれば、「もったいない、もったいない」の連続です。
たとえば、
お客様からこんな話しをよく聞きます。
「うちの販売管理システムが動いていたマシンのリースが切れたので、システムも作り直さないといけない」
「システムの面倒を見ていた会社が倒産したので、作り直さなければいけない」
「業者が、メインフレームで動いていたシステムを、WEBシステムに置き換えましょうと言っている」
「業者の担当が退社して、システムの中身がわかる人間がいなくなったので、作り直したい」
などなど。
あーなんともったいない!
数百万、数千万もかけたシステムを捨て、作り直すのにまた数百、数千万円をかける・・・。
こんなもったいない話しはありません!
工作機械や事務機械、ビルや車、机やイスなど、形あるものはいずれ壊れたりして使えなくなってしまいます。それは、仕方のないことです。
しかし、壊れてもいない、まだ使えるものを捨ててしまうのは、あまりにももったいない話しです。
現代の経済が「消費」によって構成されている以上、私たちは大量の「もったいない」をこっそり容認して生きているわけですから、捨てて作り、また捨てて作る、というサイクルを否定することは難しいでしょう。
でも、先進国における経済の成長は、右肩あがりであり続けることは考えにくいわけですから、そろそろ、こういった「もったいない」のサイクルを見直す時期ではあると思います。
すみません。話しが横道にそれました。
とにかく。
システム開発においても「もったいない」こと、を無くしてゆくことは、コストとの大幅な削減に繋がることは、言わずもがなです。
では、
無用なシステム拡張や、作り直し、置き換えを極力なくすにはどうするか。
運用コストやメンテナンス費用、サポート費用を抑えるにはどうすればいいのか。
答えは簡単です。もうすでに言い尽くされていることですが・・・。
マルチベンダー化
それしかありません。つまり、複数のベンダー(SIやソフト開発会社などの業者、ハードメーカー)によって、自社のシステムを構成するようにすることです。
複数のベンダーと対話し、仕様を決め、進行を管理してゆくとなると、発注側の担当者は、かなり大変です。システム知識もさることながら、対話力や交渉力、情報経営のスキルも必要です。そういった人材を確保すること自体が、結構大変な話しです。
だから、多くの場合は、自社のシステムをひとつのベンダーにそっくりまるまる、まかせてしまいます。その方が「おまかせ」で済みますから。
しかし、それはベンダーの思うつぼ(ソフト開発会社の者が言うことでもないですけど・・・)。
ほとんどのシステムは、直接利益を生む種類のものではありません。だから、そのシステムの開発や導入、運用にかかるコストが、自社にどういった利益を生んでいるのか、非常にわかりにくいものです。
だから・・・ベンダーは、多少不要だと思っても、その会社にかなり不相応な規模のハードだとしても、すすめます。どんどん勧めます。
そして、システムはどんどん肥大化し、業務規模に不釣り合いな大きさになり、運用費用も莫大になり、仕舞いには経営を少なからず圧迫してゆきます。
そんなとき!
また新たな業者が現れて「これでは運用コストがかかりすぎです。別のシステムに置き換えた方が経済的です!」などと言い出して、またしても、「もったいない」話しが始まるわけです。
こんなことを繰り返しているうちに、昨今のような不景気に突入すると、業者が倒産したりといった事が起こったり、自社の収益構造を不況下体制に移行しようとしても、金食い虫のシステムがそれを邪魔します。
あたまえの話しですが、ITコンサルティングの会社も、SIも、ソフト開発会社も、自社の利益のために仕事をしています。システムを捨ててまた作って、という形を提案する。または、運用コストがふくらむ構造を提案することが、利益に繋がってゆくのです。IT関係の業者は皆、悪徳だ!という話しではなく、そういう収益構造なのです。
だから、業者に自社のシステムをまるごとまかせてしまうのは、恐ろしいことなのです。
1980年代から、「マルチベンダー化」の必要性は言われ続けていて、確かにソフトウェア製品やハードウエアについては、マルチベンダー化が進んでいます。
しかし、システム開発やアプリケーション開発となると、「1社におまかせ」がまだまだ多いのです。
開発、つまりシステムのオーダーメイド、カスタムメイドの部分をマルチベンダー化するのに欠かせないのは、
コンパクトでシンプルなシステムを積み上げてゆく
ことだと私は考えています。
・・・と、さんざんえらそうなことを言いながら、では、そのように積み上げてゆくのがベストなのか、ということを、当社でも、まだまだ試行錯誤している最中です。
当社では、開発者がひとつのシステムを最初から最後まで、基本ひとりで面倒みる「セル生産方式」のような形をとっていることもあって、開発スタッフには、「コンパクトでシンプルなものを」という意識が根付いています。
そうしないと、開発者自身が大変になるからです。システムが肥大化すると、面倒見切れなくなるのです。ちょっとした改変でも、コンパクトでシンプルなものならあっという間に終わりますが、肥大化してしまうと、改変の手間暇は倍々でかかるようになります。
そういったシステム開発の手法をとっていても、ではできあがったシステムを肥大化させずに、ルールに則って、積み上げてゆく、結合してゆくにはどうすればいいのか。まだこれといった方法は見いだせていない、というのが正直なところです。
いずれにしても、システムの発注者であるお客様は、主体的に自社のIT、システムに関するコンセプトを明確にし、ソフト開発業者をコントロールするぐらいの手腕をもたないと、多大なコストが「もったいない」ことになります。
一方、我々ソフト開発業者側も、自らの収益の構造を見直し、お客様がちゃんと利益を得られ、それを実感できるような、提案をしてゆくべきだと思うのです。
2000年以降、ソフト開発会社の倒産件数はずっと増え続けており、この不況下でさらに増加しています。
ITが社会のインフラとまで言われるようになり、ますますシステムやソフトウェアの需要は高まっているのに、倒産が増えるのは、ソフト開発会社の経営が全般的に脆弱であることもありますが、このような無駄を顧みない、お客様の無駄によって利益を上げる会社が多すぎたことが理由であるとも言われています。
まさに、淘汰の時代です。淘汰があってこそ、この業界の進化がようやく促されるのです。
そして淘汰を促すのは、お客様。
当社も淘汰される側にならないよう、がんばってゆきたいと思います。