ブログトップ 記事一覧 ログイン 無料ブログ開設

急がば回れ、選ぶなら近道

2016-02-23

ITは必要悪か?その2

大規模会社、特に社会インフラ系の会社で売上も兆に届くところでのITのあり方は、中小規模の会社とは全く違います。システム構築、とくにSI的な観点からは、実際のプロジェクト単位で見たときに大規模システムと中小規模システムを便宜的に一緒にして考察することが多いのですが、俯瞰したときのあり方は、まったくの別ものです。

大規模な会社では情報システムは、大きな組織のバックエンドの一部であると同時に、企業を動かす歯車として欠くことできない存在になっています。「ITがない」という選択肢は企業活動としてありえません。システムのあり方が大企業中小企業では異なるため、中小企業ITの必要性という点と、大企業でのITの必要性では意味が大きく違います。明確に区別する必要があります。

■あり方
大規模企業の内部において、情報システムはその企業が存続するための重要な機能を担っており、それなしでは企業は成立しません。大規模な企業運営において、顧客・内部組織同士に対して、ある程度の均質的なサービスの提供を効率的に行うためには、個人のオペレーションで品質・水準で誤差がでることを積極的に防止する必要があります。そのためのシステムです。中小企業では、こと日本企業においては、構成人員の同質性(とくに言語とベースの考え方)が高いため、かなりの程度まで、「システム抜き」の人員で、サービスの均質性をカバーアップできる(できてしまう)ため、事情が異なります。別にシステムじゃなくても人手でやればいい、という発想が根強く、また、それが実現できているのが実際です。(今後はわかりませんが)

■特徴
社会インフラ系企業のシステムの特徴は以下になります。

・規模が非常に大きい
基本的にシステムの規模は大きい。データが大きいというよりも、非常に多くのシステム・サブシステムが構成されていて、全体的に強度に複雑です。また同時に関わる人間も非常に多く、その人間間の「仕組み」も複雑です。

・システムに関わる意思決定が奇々怪々になりがち
基本的にシステムに関わる意思決定は多層的になります。たまに例外がありますが、例外は例外です。大方針でこうだ!とぶち上げたところで、全体的なブラックボックス化が進んでいるので、末端まで来るとやるべきことが真逆になっているという、この時代になんの糸電話ですか?ということは、ものすごく普通にあります。要するになんでこうなった?がよくわからないという状態が非常にしばしば(特に末端に行けば行くほど)観察できます。

・普通に肥大化する。
企業規模が大規模になるほど複雑さは、リニアではなく、ログリニアで増大します。企業規模が1000億円企業と1兆円企業では、複雑さの違いは10倍ではなく、100倍近くはあります。結果として、システムが肥大化します。

メンテナンスが追いつかない
肥大化したシステムの維持管理は、非常にコストがかかります。結果として、新規に開発する、つくるというよりも、維持し、回すという方向に力が働きます。

・にもかかわらず企業の存続という点でミッション・クリティカルITになっている。
企業活動自体のITへの依存度は実は中小企業よりも高いです。文字通りシステム全体としてはtoo big to failになっています。いろいろ問題が発生して、騒ぎがでかくなると報道機関記者会見監督官庁にご報告とか普通にやる羽目になることもあります。基本的に止めるということはできません。結果として投資金額も非常に大きい。

まぁ、上記の話は、普通に社会インフラ系の大規模企業のシステムとしては普通の話で、特に異論もないでしょう。要するに「無い」という選択肢はないし、またかなり大規模複雑になっている、ということです。

■問題点
・実態として「全体の制御」がきわめて難しい
このクラスになると、どれだけ力(政治力・技術力・予算力)があったとしても、システムのあり方は個人でどうにかなるという話(カリスマ的な社長であったとしても)ではありません。システム自体が徐々に“リバイアサン”化してきます。

・多くの人が巻き込まれることになる。
意思決定の多層化、システムの極度の複雑化は、結果としてITの問題を、むしろ積極的に人力で解決するというパラドキシカルな状況になります。多くの人員が関わるので、システムに多少問題があっても修正することが困難です。たとえばこの種のシステムの大規模開発では、開発中止は勿論、計画変更も相当困難です。結果、大抵の人が、これは問題がある、と思っていても手の出しようがない状況にしばしばなります。アジャイル信者の人には良く誤解がありますが、これは「開発方法論」の問題ではありません。意思決定が多層化し、システムが極度に複雑化している場合は、どうしても、すべての動作を「細かく切る」ということがそもそもできません。なんとかしたいので、コンサル頼んで「いろいろと整理する」ということもやっても、そもそも整理作業自体がさらに問題を複雑にすることすら起きます。

・結果としていろいろ消耗する。
本来であれば、企業活動のためのシステムが、逆転して、システムのための企業活動を誘発します。顧客や従業員のためのシステムが、いつのまにやらシステムのための顧客や従業員になるというやつですね。これは結果として関係者(顧客・従業員・IT部門ITベンダー)を消耗させます。どう控えめに言っても「人には優しくない」ですね。

大規模会社におけるシステムは、取り扱いが困難であり、かつ一種の不経済を発生させる一方で、組織運用には欠くことができない、という意味で、一種の「必要悪」という見方もできます。この手の怪物をどう制御するか?が問題になります。


■組織の問題
結論的に言うと、たいていの場合、この規模のシステムの問題は、組織の問題に帰着します。要するにITとは関係がない部分が大きい。場合によっては「ITとは全然関係ない」ということすらあります。ややこしいのは、IT自体がブラックボックス化するので、この手のシステムの課題が「いかにもITの問題」に見えてしまう、という点です。

中小企業においては、ITはある程度ツールとして割り切ることが可能で、独立した「IT自体の問題」として考えることが可能ですが、社会インフラ系ではそういうことになりません。システムとは組織維持の仕組みそのものであり、ITは「ツール」ではありません。

システムの扱い方は、そもそも大規模な組織をどうしていくか?という問題に近いです。

肥大化した組織運営の効率化は、普通に「分割統治」であることは論を待ちません。意思決定の透明化・簡略化は組織運営自体のスピード・効率を上げ、不要なコミュニケーションの減少は、関係者のストレスを軽減します。なので、システムを組織的に分割して、組織としてメンテできるようにサイズを落としていくという方向が望ましい、

と思うじゃん?(ワールドトリガー風味)

■コストメリット
ところが、ITのような一見「資本集約的な仕組み」(本当は違う)は、できる限り一元化したほうが、コストが安くなります。特に調達コストは普通に単価の桁が変わります。ひどいときには単価が2桁変わることすらあります。開発工数も同じものを複数つくるよりも、単一のもので使いまわしたほうが、少なくとも開発コストは減少するように見えます。

コスト・リダクションという観点で見ると、システムは統合したほうが、確実にメリットがあります。社会インフラ系企業のM&Aでお題目のようにシステム投資の削減といわれるのは、別に根拠がないわけではないです。

よって、システム分割は大企業においては、集約メリットを放棄することに近く、コストメリットが取りづらいのが普通です。なので、通常はむしろ逆に「統合システム」をつくることに執心します。企業内の複数の組織で、“同じような機能”のシステムを開発・メンテすることはコスト的にはデメリットになります。

要するに、システムはそんな簡単に「分割統治」はできないわけですよ。

そこで、例えばITインフラ統合して、その上のアプリケーションを個別開発すればいいじゃん、という形にもっていくのが普通です。ほぼ、すべての社会インフラ系企業のITはこういう形になっていますし、この形であればスケールメリットもとれるし、個別対応のオーバーヘッドを軽減できます。

と思うじゃん?(A級槍使い(ry

■統合システム?
ところがところが、インフラアプリってのをキレイに腑分けできる、というのはあくまでプログラムの話で、関わっている人間の意図・考え方はうまく手当してあげないと、お互いに伝わりません。ドキュメント・APIで伝わるのは基本的に手段の話であって、考え方ではありません。考え方や考え自体を言語化するトレーニングはIT関係者は普通受けていません。(考え方はAPIとかドキュメントから“読み解け“ってのが普通です。冷静に考えればおかしいのですが、おかしいと思わないところがトレーニングをうけていないサガですね。)

IT屋のドキュメントは生成の仕組みまで含めて「How」の記述に特化しています。肝心の「What・Why」は記述されません。誤解のないように言いますが、ちゃんとしたIT屋は「What・Why」はちゃんと考えます。かなり相当考えます。ただし、業界として、「What・Why」の記述方式にコレといったものがないのと、記述の手法の訓練をIT屋が受けていないことが課題です。

結果、人間系が入らないとトータルにパフォーマンスを出すことが難しくなります。というか、全然パフォーマンスが出ないので、人間系で情報共有を密にやるという話になりがちです。とどのつまりは、組織的には全然分割統治になりません。一見、システムはばらけているように見えても、遠目で人間系の組織とみると、全体的な有機体になっています。

要するに、スケールメリットを安易にとりに行くと、どんなに頑張ってもシステムが実質的にガンガン肥大化するのは防げませんよ、とこういうことです。なので、スケールメリットの享受を捨てても、ある程度、システムを細切れにした方がスピード感や透明性を保つということが可能になり、うまく回すということが可能となります。(細切りにしたからと言って無条件に見通しが良くなるというわけではありません、念のため)とはいえ、細切りにしすぎると、今度はコストがやはり増加します。

■結局
要するにバランスの問題です。

この時に考えるべき一番の要素は「人」です。個々人のあり方、チームのあり方、能力・コストを勘案し、かつそれらを時系列で判断しながら、「適切なサイズにシステムを押さえ込んで行く」ということが必要です。んで、大体できてません。

大規模システムのあり方は、徹頭徹尾、組織論です。開発方法論とか、フレームワークとか、特定実装とか、ERPとか、パッケージで行くとか、クラウドとか、AIとか、そんな話はまったく本質ではありません。勿論、これら技術要素がわからなければ、組織的な適合性が判断できないので、技術要素をちゃんと正確に把握していることは必須条件です。その上で、個々人の有り様・チームビルドのあり方(大事なのは時系列で見るということだと思います。)を、一定のビジョンをもってくみ上げていく、ということが、肥大化するリバイアサンを御することができる唯一の手段に見えます。

んで、そういうことができる人間はなかなかいないので、大抵の大企業ではシステムは人を食い殺していますね。これが現実。

要するに、大規模システムでの設計も実装も運用もわかって、最新の技術要素もわかって、人員の状況も把握し、今後の展開とシステムの在り方を時系列で把握・予想できて、組織運用のイロハがわかっていて、いざとなったらオーバーコストも辞さない覚悟をもっているスーパーマンを情報システムの頭に据えて、相当の権限を与えないと、大規模システムという内なる怪物とは戦えないですよ、ってことです。間違ってないでしょ?(ま、こんなのがいたら普通に営業総責任常務執行役あたりになりますがね)

トラックバック - http://d.hatena.ne.jp/okachimachiorz/20160223/1456236158