こんにちは、大石です。

先日JAWS DAYSというJAWS(AWSユーザー会)の会合があり、私もパネラーの一人としてお話する機会がありました。そこで既存のSIerを袋だたきにしようという企画があり、そのときの内容が日経ITProで記事になったようです。こちらのパネルディスカッションの内容について、話しきれなかったことをお伝えしたいと思います。

最近いろいろなところでシステムの内製化なるキーワードを耳にします。要は「システムは社内で作った方がいいからその為の人は自社で抱え込もう」という話です。
こういう話が出てくる背景には、いくつかの典型的な要因が考えられそうです。

  • ベンダーへの不
    昨今ユーザー企業とITベンダーとの間の巨額な訴訟問題がニュースになったり、品質の低下やスピードの欠如など盛んに喧伝されています。外部のベンダー(SIer)に対して様々な不満がたまっているであろうことは想像に難くありません
  • リソースの逼迫
    更に頭が痛いのが「リソースの逼迫」です。ベンダー側も人手不足で、単金があがったり場合によっては仕事を断られたりして、必要な時に想定されるコストでオーダーする「便利なアウトソース先」としての利点が薄れています。ベンダー側もこれを補うために経験不足のスタッフをいれたりオフショアしたりした結果、品質の低下を招いてしまうといった悪いスパイラルが生まれています
  • ビジネスのデジタル化への遅れ
    ユーザー側には「もっと新しいことを提案して欲しい」という要求があるにも関わらず、なかなか具体的な行動には繋がっていないようです。これは仕方が無い部分もあると思うのですが、新しい技術というものは本質的に既存のやり方を壊したり効率的にするものなので、運用費用の低下を招いたり、既存の技術が使えなくなるなど「既存のベンダーにとって痛い方向性に進む」ものが殆どです。既存のベンダーに「君の会社に払うお金を少なくする提案をもってきてね(にっこり)」と言っても「いやいやいやいや」となるのが関の山です。こうした利益相反が「ベンダーからは新しい提案が出てこない」「ベンダーが先端技術に詳しいわけではない」という不満に繋がっているようです


こうした課題は大小を問わず多くのユーザーが抱えているようで、メディア等の記事を見ても「システム内製が正義で、外部のSIerを使うのは古くてダサい、間違った選択だ」という論調を目にする機会が増えてきました。
ですが、私はそうは思いません。
長期的に見れば、ユーザー企業によるシステムの内製化はうまくいかないと考えています。
これは、私たち自身が過去内製を行ってきた経験を踏まえて到達した、一つの結論です。

 

システムの内製化に何を期待するのか?

当然システムの内製化を試みる企業には、上であげたような一定の課題や不満があるわけです。そうした課題に対する解決策として内製化を期待することは合理的な判断に思えます。

  • スピードへの期待
    社内のリソースを使うわけなので、外部ベンダーの選定や契約手続き、業務理解といったプロセスを省くことができ、スピードが期待できる
  • コストへの期待
    外部リソースを使えばベンダーが得る利益の分システム開発コストが浮く。従ってアウトソースするよりも安く開発することができる
  • デジタル化への期待
    社内のメンバーであれば業務のことを理解しており、かつ最新のITにも詳しければ、クラウドの利用やIoT活用、O2Oモデルの確立などビジネスのデジタル化を進める上で最適である

 

なぜ内製化が答えにならないのか?

しかし、私たち自身が(小規模とはいえ)過去に内製化を行ってきた実績や、実際に大規模に内製を行っているユーザー企業の実態を見聞きした結果として、こうした期待は裏切られる確度が相当に高いと考えられます。

  • スピード要求に応えられな
    当たり前の話ですが、スピードを高める為には一定の頭数が必要です。ところが内製という選択をしてしまうと、自社で採用できているメンバー数がキャパシティの最大値になってしまう、オンプレミス状態が発生してしまいます。更に、社内の場合契約関係が発生しないため社内での流動性が高く、特定の忙しい部署にどんどん人が割かれてしまいます。SIerが「空いている時間でサービスを開発しよう」と思っても結局受託が忙しくて何も作れない、というのと同じ理屈です。こうした力学が、スピードを下げる方向に向かってしまいます。
  • コストは安くできない
    全てのIT企業が「人手不足」と言っている中で、「今から内製化します」というユーザー企業に優秀なエンジニアが集まるほど採用は甘くありません。現実的には人事部が多大な労力を割いて、高額な紹介料や採用媒体費用を負担して、サインアップボーナスを払い、ようやく採用できるのが現実です。配属先の部署はこうしたコストを負担しないため「やっぱり社内の方が安いじゃないか」と錯覚しがちですが、現実的には会社が採用のためのコストを負担している、つまり企業全体としてはコスト安にはならない訳です。
  • 社内だから業務に(もしくはITに)精通しているとは限らない
    間の時間は平等です。社内業務に精通している人はITに割ける時間が短く、ITに精通している人は業務に割く時間が短い。当たり前のことです。つまり、「最初から両方に精通している人をあてにする」行為自体が戦略の不完全さを現してしまっているのです。社内で業務に精通している人はそれだけITに割ける時間が少なくなります。これはIT戦略が不完全になってしまうリスクを伴っています。


実は私たち自身、過去にこうした問題を解決するためにシステムの内製化に取り組んでいたことがありました。クラウドインテグレーションという新しい事業を始めるにあたり既存のシステムでは対応できないため、新しい顧客管理システムを自作しようとしたのです。ところが、実際にシステム内製をはじめてみたところ、スピードは頭数に限定されるので開発スピードは上がらず、結局メガベンダーが開発しているクラウドサービスの方が、製品の成熟スピードも、自分たちの業務にフィットさせるためのスピードも早いということに気づいたのです(この話はSalesforce導入の話です。こちらに4年前のインタビューがありますので興味がある方はぜひご覧下さい)。

こういう話をすると、かならず「IT先進国アメリカではSIerというものが存在せずユーザー企業が自分でIT部門を抱えている」という反論がなされます。ですが、それは半分正しく、半分は間違っています。なぜなら「米国企業のIT部門が1万人のエンジニアを雇用していたとしても、その1万人の中身は10年前と今とでは全く人が違う」からです。
ですから、上の問いに対する私の答えは以下の通りです。

もしあなたの会社で、米国と同様に、いつでも契約を終了できるエンジニアを大量に集めてIT部門をつくることができるのであれば、米国と同様のインソースが可能でしょう。ですが、日本の雇用環境でそうしたことは事実上不可能です。米国企業が社員個人個人とJob Descriptionに基づき利用技術や業務内容を定めて契約行為を行うことと同じ事を、日本の企業はSIerとやっているだけです(もちろん成果物の責任をどちらが持つか、という違いはありますが)

この違いを理解せずに、米国の成功モデルを語ることは非常に危険です。
日本では一般論として雇用契約を会社都合で簡単に終了したりすることはできません。ですから、今ユーザー企業が「AWSを使うから」といってAWSのエンジニアを大量に雇用しても、5年後にAWSを使わなくなった時には全く別な技術を覚えてもらわなければいけないわけです。米国では、こういう場合にAWSエンジニアとの契約を終えて人を入れ替えるので、インソースしてもリスクが限定的なわけです。つまり、内製化がうまく行かないと考えるのは、ユーザー企業個別の事情ではなく、国内の雇用環境がそうさせてしまうことが理由だと言っているわけです。

じゃあどうするのか?

理想は 雇用の規制緩和を進める ですが、この実現には相当高いハードルが予想されるので、現実的には今のコンディションで最善を尽くすことになります。ユーザー側の選択としては以下の様になるかと思います。

  1. システムは原則として作らずに「使う」
    上記の通り、優秀なエンジニアの獲得はどこも難しい。しかもこれから少子化で労働人口も減っていくことを考えれば、アウトソースできるところは徹底的にやる、というのが基本原則です。メールやカレンダーといったコモディティーはもちろん、サーバーのお守りや物理セキュリティの確保などに貴重なエンジニアのリソースを割くべきではありません。こうした業務は社内のエンジニアにやらせるより、もっと大規模に、かつ精緻に行っているAmazonやMicrosoftに任せるべきです。
  2. 作るものを「競争力を向上させる」ものに限定する
    解が無いように言いますが、私は「システムは必要ない」といっている訳ではありません。優れたシステムは、企業の成長を支え、差別化し、競争力を獲得するために絶対に必要です。そして、システムのうち「何が自社独自の価値を生み出すもので、何はそうではないのか」を切り分けることが非常に大切になってきます。これはアイデンティティーの問題なので、社内で行われるべきです。
  3. ベンダーを戦略的に使う(アウトソースとパートナーシップの融合)
    ることになれば、徹底的に良い物を作るべきです。そして、業務への理解を少しでも深めつつ自社にフィットするシステムを作ってもらうためにも、アウトソース先に積極的に自社業務を理解してもらう必要があります。そのためにも、これまでのように都度都度コンペをするような使い方から、ベンダー側にも同じ担当者を長く担当させるモチベーションが働くような契約が求められます。例えばユーザーから発注する際に、EC2でいうRI(Reserved Instance)の様な契約体系にして、ブロックで発注する代わりに特定のSEやチームを貼り付けることで、業務理解を進め、IT専門家と中期的な関係を作りつつ、長期のリスクはオフロードするような契約体系がアイディアとして考えられます。


これに対して、ベンダー側の選択として考えられるものは大別して以下3つになろうかと思います。

  1. これまで通り)エンジニアリソースのバッファとして機能する
    繰り返しになりますが、日本の雇用環境下でユーザー企業が内製エンジニアを大量雇用するというアプローチは現実的ではありません。そのため、リソースのバッファとしてのSIerはかなり長い間ニーズがあると考えられます。
  2. クラウドサービスを提供する側に回る
    そうはいっても「作るよりは使った方が良いケースが増える」ことは間違いありません。これまでオンプレミスやパッケージ型、買い切り型で提供されていたものをクラウド化していくというのは、ユーザーの実状に即したよいアイディアだと思われます。
  3. クラウド利用の課題を解決する側に回る
    たちの様なクラウドインテグレーターはこの部類です。複数のクラウドを組み合わせるケースなど、現実世界とクラウド環境とをフィットさせるためには相応の技術とノウハウが必要とされます。実際、米国でもクラウドの複雑さにはユーザー企業が自力で対処できる範囲を超えていると認識されており、2012年のre:InventでもGartnerから「米国のクラウド利用企業が求めているサービスTop3」の1位に「インテグレーションサービス」がリストされているような状況です。この分野はクラウドの活用が進むにつれて大きな市場になると認識されています。

 

こうした現実的な選択によって、ユーザーとベンダー双方がよい関係を構築し、ユーザーはクラウド、IoTといったトレンドを取り入れビジネスのデジタル化を進め、競争優位を確立していくという流れは(内製に頼らずとも)実現できると私は確信しています。

いろいろなネットや雑誌記事などを見ていると、「問題に対する焦点の当て方が間違っている」と思われる言説が多数とびかっています。「問題はユーザーだ」「いやベンダーだ」と言い合って悪者探しをすることで、いっとき溜飲は下げられるかもしれませんが、根本的な解決には至りません。
私たちはクラウドというテクノロジーを用いて企業の課題を解決する会社です。問題に対する焦点が間違っていれば当然解決策も間違います(歴史的に見ても、ホロコーストや大躍進政策など、焦点の当て方が間違って悲惨な結果を招いた例は枚挙に暇がありません)。
私たちは常に、何が根本的な原因なのかを明らかにし、解決出来る物は解決する。独力で解決不能なものはそれを受け入れ、与えられた条件下でどうベストを尽くすのか考える。そういう集団で在り続けたいと願っています。その為にも、不毛な論争を打ち切り、前を向くための灯台となるべく筆を執った(キーを叩いた?)次第です。