コンサル会社のR&D部門って何やってるの?
はじめまして。フューチャー株式会社でコアテクノロジーグループ(R&D部門)の責任者を務めている星賢一です。
私は独立系SIerやTech系ベンチャーを経て、2007年にフューチャーに入社。入社後は、大規模基幹系システム、BtoC向けメディアサイトなど、多くのプロジェクトでITアーキテクトとして従事してきました。2018年からコアテクノロジーグループの責任者、2021年からはグループ会社でプログラミングスクール事業を営むコードキャンプの取締役を兼務しています。
本記事では、フューチャーにおけるR&Dの取り組みについてご紹介したいと思います。
フューチャーR&Dの歴史 〜ないものはつくる〜
1990年代後半、企業の基幹系システムはメインフレームがデファクトで、情報系システムがようやくオープン系技術を採用し始めていました。当社では基幹系でもオープン系技術がメインストリームとなる未来を予測し、大規模トランザクションかつミッションクリティカルな仕組みを実現するためのソリューションを自ら持つべきと考えていました。
当時シリコンバレーに当社オフィスがあり、フューチャーのソリューションとしてふさわしい技術を探していましたが、マッチするものが見当たらず、「やはり自らつくるしかない。何をつくるべきかを最も理解しているのは自分達である」(=ないものはつくる)と考えました。そして、オープン系技術のプログラミング言語としてはC/C++が主流であった時代に、1.0がリリースされたばかりで、ビジネスユースとしては選択肢に入らなかったJavaにいち早く目をつけ、Java製メッセージングミドルウェアを開発しました。これがフューチャーR&Dの原点です。
その後、R&D組織が作られ、前述のメッセージングミドルウェアはRtFA(RealTime Framework Architecture)と名付けられ、他にもデータ連携ミドルウェアや画面系開発ツールなどの多くのコンポーネントが生み出されました。
R&D組織の名称や体制は後に何度か変わりましたが、Futureコンポーネントは時代と共に進化を続け、現在ではクラウド・コンテナネイティブなアーキテクチャにおいても最適化され、当社の多くのプロジェクトで活用されています。
設計思想 〜リアルタイムアーキテクチャ〜
このように、当社はオープン系技術を用いて、大規模トランザクションかつミッションクリティカルな基幹系システムを実現しているのですが、その中核となる設計思想がリアルタイムアーキテクチャです。
当社が構築するシステムにおいては、リアルタイム処理を原則とし、バッチ処理を極力減らすデザインを必須としています。それが顧客の業務をリアルタイム化し、経営視点においてもリアルタイムな意思決定に寄与すると考えています。
そのために必要なテクノロジーがメッセージングであり、ビジネスロジック間の呼び出しをメッセージで連携させることにより、同期・非同期での実行を柔軟に設計することを可能にしています。
最近では、マイクロサービス構成において、Messagingパターンとしても知られていますが、当社では、2000年代からリアルタイムアーキテクチャとして、分散システム構成でメッセージング技術を活用してきた歴史と豊富な設計・運用ノウハウを持っています。
コアテクノロジーグループのミッション
ここからは、R&D部門であるコアテクノロジーグループがどんなミッションを持っているのか、ご紹介します。
ミッション① 〜コンポーネント開発〜導入までがスコープ〜
R&D部門の中核ミッションとなるのが、プロジェクトで活用するためのフューチャーコンポーネントの開発です。
さきほどご紹介したメッセージングミドルウェアの他に、エンタープライズシステムに最適化されたSpring Boot x Vue.jsベースのアプリケーションフレームワークやデータ連携ミドルウェアなどの開発をしています。
ただし、R&D部門が開発したものを、あとは自由に使ってくださいというスタンスではありません。プロジェクトメンバーと密にコミュニケーションをとり、最適な活用方法の提案・検討、導入まで責任を持つところまでがミッションです。
最近では、ソースコード解析エンジンの開発にも力を入れていて、COBOLなどのレガシー資産の移行に課題を持つ顧客に対して提案を行い、引き続き多くのご要望をいただいています。
また、当社社員が設計・開発を進めていく際に利用するWebベースの設計開発プラットフォームをサービス提供したり、RedmineやGitlabなど、プロジェクトを進めていくうえで必要なベーシックなツール群もサービスとして提供し、全てのプロジェクトを支えています。
ミッション② 〜 Winner's Circleのアップデート〜
「ないものはつくる」という思想の裏返しでもありますが、世の中ですでに存在する有用なテクノロジーは、OSSや有償製品問わず、自分達で目利きしたうえで利用するのが当社のスタンスです。
目利きしたテクノロジーは、リストアップして「Winner's Circle」と呼ばれる円形の図で表現し、定期的にアップデートすることで最新動向を反映させています。
例えば、JavaScriptフレームワークとして有名なVue.jsを多くのプロジェクトで利用していますが、コアテクノロジーグループでVue.jsコアチームメンバーを輩出しており、コミニュティへ貢献するとともに、クオリティに自信をもって顧客に提供しています。
このように、採用するテクノロジーの見極めを行うのも、ミッションの一つです。
ミッション③ 〜テクノロジートレーニング〜
どんなに有用なテクノロジーであっても、使いこなす人間のスキルが不足していては宝の持ち腐れとなってしまうので、トレーニングを行っています。例えば、前述のVue.jsのトレーニングもさきほどのVue.jsコアチームメンバー自らが教材を作り、社内の動画共有サイトでいつでも受講できるようにしています。
最後に
コンサル会社のR&D部門って何をやっているの?と、疑問に思われる方もいると思いますが、フューチャーはテクノロジーを武器に顧客のビジネスを変革・成功に導く会社であり、他社に開発を任せるようなことはありません。一気通貫でコンサルから構築まで担当するため、テクノロジーに対して妥協はなく、R&D部門に期待される役割も大きいものです。
このように、自分達の成果がすべてのプロジェクトに対してレバレッジの効いた価値を生み出すことができるため、個々のプロジェクトの成功は自分事として感動があり、大きなやりがいを持って、日々仕事に取り組んでいます。
本記事で、当社のR&Dを少しでもイメージしていただければ幸いです。