自社開発フレームワークからOSSフレームワークへ移行

田中謙次氏(以下、田中):続いて、開発・運用の改革です。

モノリシックなアプリが多いので、大人数で開発すると、開発箇所が当たりまくって、結局少数精鋭でしかできなかったところもあったんですね。にこのイベントでも何人かから発表がありましたが、Swaggerなどを使って、スキーマ駆動開発できちんと分担できるようにしました。

フロントエンドとかサーバーサイドとか。あと、当社は、お客さんのデータを検索しやすいかたちにバコッと変えるためにSQLをけっこうガリガリ書いてやるんですが、そういうところとかを分離して、同時に開発できるような体勢を作ってきました。

あと、JavaとTomcatで、ラインごとにサーバーサイドのJSで、フレームワークを自分たちで作っていたんですね。2007年や2008年は、JSのいいフレームワークなんて当然なかったので、自分たちで作っていたんですが、それをOSSのフレームワークへ移行することを今ちょうどやっています。

Node.jsとExpressとTypeScript、このあたりを使っています。自社で作ると、かゆいところに手が届くという面では良かったんですが、やっぱりオープンソースのコミュニティの恩恵にあずかるという点で、Swaggerなどを使ったのはだいぶ良かったなと思っています。

変革の中でフォルシアが変えたくないこと

変わっていったものもいっぱいあるんですが、やっぱり変わらないものもあるかなと思っていて。

冒頭で会社の説明をしたときに少しお話しした「フェアネス」というところですね。フェアネスとは何かというと、顧客とか社員とか、例えば上司・部下、発注する側・受注する側って、どう考えてもパワーバランスが対等じゃないと思うんですね。きちんとやることをやるのは当然なんですが、対等じゃないからこそ、きちんとフェアに取引できる関係性は引き続き重視しているところですね。

あとは顧客にきちんと向き合うというところです。いい加減なものを作ったりせずに、お客さんは何がほしいかきちんと聞いて、継続的に運用していくことを考えてやるということは変わっていません。

オープンソースのフレームワークに移行しつつはあるんですが、ないものは自分たちで作っています。例えば、さっきの勤怠管理ツールも、ないのであればパパッと作るというカルチャーは続いていますね。あとは、検索のコアの部分のIMDB(インメモリデータベース)とかも自分たちで作っています。

こういったところ、やれって言われてやるわけではなく、自分たちで改善したいなと思ってやる、ボトムアップカルチャーはやっぱり変わらないもので、これはずっと変えたくないと思っています。

検索のその先の「データを作る」「データを守る」に取り組みたい

フォルシアのこれから、というところですね。これからどんな感じになっていくんだろうというところで、今までは「個からチームへ」があったんですが、今度は「検索のノウハウをプラットフォームへ変えていく」という変革が必要な時期になっていると思っています。

2020年度にどんなプロダクトが生まれたかというと、先ほど紹介があった「webコネクト」や、価格の需給を計測する「Prigram」、データのゆらぎを補正して入力できる「Masstery」、サイト内検索の「WordFort」などがあります。これらのプロダクトは2020年にできた、本当にできたてホヤホヤのものばかりなんですが、こういうものをどんどんリリースして、今までの受託開発から、少しずつプラットフォームビジネスにシフトしようとしています。

私が統括している、「webコネクト」はホテルだったり交通素材だったり、着地型の素材を組み合わせて自由に販売するところを簡単にできるというものです。

今までは「Spook」をカスタマイズしていて、1年とか2年とか、ものによってはすごく長いプロジェクトもあったんですが、「webコネクト」は条件が揃えば1ヶ月とか2ヶ月でも導入できます。Spookで今まで培ってきた検索技術を使って、レバレッジを利かせてプラットフォームを作っていくというビジネスを始めようしています。

これからは、自社プラットフォームを展開して事業を拡大していくフェーズですね。

あと、フォルシアは検索に特化してずっとやってきたんですが、今後は検索領域からその周辺の領域に踏み込みます。ちょっと抽象的なことばかりが書いてあるんですが、「データを探す」というところから「データを作る」というところや「データを守る」というところをやります。

具体的に言うと、今までの検索はあくまでも「旅行会社が持っているデータ」を検索しやすいように弊社で変えて検索サイトを作るだけだったんですが、旅行会社から流れてくるデータを当社できちんと作れるようにしたり、検索だけじゃなくて、そのあとの予約や、予約情報の管理など検索の先までいこうと考えています。なので、検索だけではなくてオールインワンで提供できるような仕組みを提供していこうと思っています。

今まで培ってきたもので、新しくチャレンジして不確実なものをかたちにしていくことをこれからやっていかないとなと思っています。

というところで、唐突なんですが、まだまだ弊社にはメンバーが必要です。これから私が言うことにピンと来たら、ぜひご一報をください。

Webアプリの開発経験のあるフルスタックな人や、サービスプラットフォームを設計・運用できる人ですね。また、顧客の要望を抽象化してかたちに落とし込める人や、未知のものにワクワクできる人など、こういう人たちと一緒に働きたいなと思っています。

発表は以上です。

松本健太郎氏(以下、松本):ありがとうございました。質問が届いています。「チーム・会社全体の目標に対して流動的にメンバーが動く状態に至るまでに、工夫した点はありますか? ある種、技術者の独善的な振る舞いにも陥りやすい部分かと思います」というコメントをいただいています。

田中:こう言うとちょっと矛盾があるかもしれないですが、やっぱりノールックで全部「いいよ、いいよ」ってやっているわけではありません。自分が応援できるものと、そうじゃないものはやっぱりあるなと思っていて。

基本的には任せたいと思っているんですが、「それはちょっとダメじゃない?」というものはきちんと言うとか、そういうところですかね。あとは「たぶんそれをやってもうまくはいかないから、こうしよう」とか、うまく自分でやるのと「こうやったほうがいいんじゃない?」というところのバランスを心懸けるということですかね。 松本:ありがとうございます。「個々人に合わせて適度な距離感を維持する、細やかなマネジメントをされていると理解しました」とコメントをいただいています。

田中:そうですね。

松本:ありがとうございます。1つ私から質問しますね。開発の文化やエンジニア、あるいは会社全体のマインドを変えるのってすごく大変だと思うのですが、そのときどういうことに気をつけてコミュニケーションをとったり、何が重要だって優先付けをしたりしていたのでしょうか?

田中:「こうだ!」っていうのは実はあんまりないんですが、最初会社に入ったときに「ここは変えたほうがいいんじゃないかな」というところがいっぱいあって「変えましょうよ」って言ったらけっこう総スカンを食らったんですよね(笑)。

「いや、なんでそんなのやるんですか?」とか「それ意味あります?」みたいのがけっこうあって、最初シュンとしちゃったんですけど。でも、同じことを思ってる人ってやっぱりほかにもいるんですよね。そういう人たちを見つけていって、仲間をちょっとずつ作るという感じですかね。

そういうふうにやっていくと、変えていこうという気持ちがどんどん伝わっていって、マイノリティだったのにいつの間にかマジョリティになって、逆に変わらないと思っている人が居づらくなるみたいな(笑)。それで、その人も変わっていくみたいなところかなと思っています。

松本:なるほど。巻き込み力ってよく言うやつですね。

田中:うん、そうですね。

松本:田中さんのLTは以上にしたいと思います。ありがとうございました。