全て刷新するのは無理がある、バイモーダルで両立するには何が必要か
もう少し日本におけるITシステムを深く分析していこう。個々のシステムは緻密で品質も高い。これは部分最適が進んでいるということだ。システム全体で見ると分断(サイロ化)しており、システム間のギャップは見えない形で人手によりカバーされている。
かつて技術が追いつかず、人手でやったほうがコストパフォーマンスが良いものもあった。今でも当時のシステム化の範囲がそのまま温存されている。そのため佐藤氏は「IT化で自動化を推進する余地が多分にある」と指摘する。昨今では機械学習やRPAでシステム化できる技術が進化しており、かつて諦めていたシステム化が今なら実現可能だ。またITと人的リソースのコストパフォーマンスが逆転し、ITでやるほうがコストパフォーマンス的にメリットがあるケースも多々あるだろう。
先述したようなレガシーシステムの維持と保守という問題で考えてみよう。レガシーシステムを作り替えるとしてもリスクや工数でなかなかメリットを見いだしにくい。例えば大昔にCOBOLで作ったものをJavaで新たに作り替えるとなると、どれだけのコストがかかるだろうか。そこにどれだけメリットがあるだろうか。もちろん、COBOLをJavaに自動変換するツールやその実行テストを支援するツール等の発達で書き換えのコストは軽減されるようになってきているが、それでも人手をかける作業をゼロにすることはできない。
発想を変えてみよう。レガシーシステムのコアとなる部分はそのまま塩漬けにする方法もある。外部連携に必要な部分だけAPI化して温存すればいい。新しいビジネスで提供する仕組みは新しいシステムで構築し、レガシーシステムが必要な部分はレガシーシステムを呼び出せばいい。新しいシステムではできる限り最新技術を用いるようにする。
これはバイモーダルの考え方に通じる。レガシーシステムなどのモード1では安定性や信頼性が重要で、効率化や省力化を進めていく必要がある。一方、デジタルトランスフォーメーションなどのモード2では、迅速なイノベーションを継続的に進めていく必要がある。これらを両立させ、連携させることがこれからのITに欠かせない。
人手不足の有効打となるのがRPAだ。それでもまだカバーできないところはAI活用などで自動判断できるようなシステム自動化を進めていく。「そこにはシステム間のインターオペラビリティが重要になる」と佐藤氏は指摘する。
ITシステムが抱える構造的な問題にはサイロ化がある。個々のシステムが高度に最適化しており、利活用したいデータが分断している。データが分断していると、戦略的な意思決定は難しくなる。そこで主要なデータはできるだけ集約することがソリューションの鍵となる。
理想としては、データは流動的で必要な時に必要な形で取り出せるといい。アプリケーション、システム、デバイスにあるさまざまな形式のデータがどこかに集約されており、どのデータでも必要な時に好きな形で取り出せるようにする。蛇口をひねれば、ほしい飲み物が出てくるようなイメージだ。そうすれば正しいデータ、人、時間、量から、正しい理解や正しい行動を導き出せる。
データの流動性を担保する鍵となるのがAPIだ。必要とするデータを使いやすい形で提供する。APIを用いてRESTやJSONベースでデータを交換する。マイクロサービスアーキテクチャだ。Microsoft OfficeのExcelもREST APIが使えるため、使い慣れたExcelとも連携できる。もちろん今流行のRPAとも連携できる。いまインターオペラビリティはここまで進化している。
「少し脱線しますが」と佐藤氏が挙げるのが最近のITでよく聞く「Software Defined ~」だ。SDN(Software Defined Network)、SDS(Software Defined Storage)、あるいはSDS(Software Defined Software)。最後のはDockerなどを表す。佐藤氏は「これらはプログラミングでさまざまなものを定義していくというトレンドです。これは自動化を推進するための不可欠な要素です」と指摘する。