カオナビ入社時の状況

やまげん氏(以下、やまげん):ここから(の)経歴の流れですが、カオナビさんでの実際の活躍や、やってきたことも話してもらえたらなと思います。

当初(カオナビに)入った時はCTOではないというお話でしたが、実際はどういったロール・役割で入られた感じなんですか?

松下雅和氏(以下、松下):開発の本部にプロダクト本部があって、プロダクト本部長の直下で自由に動きながらカオナビで働いて見えてきた課題や今後の方向性など(の判断)に対応してほしいとのことだったので。

けっこう自由度高く「このあたりちょっと危なそうだから、こう対応しておきますね」とか、「このあたりは新規開発が始まっていて設計面が不安らしいので、一時的に入って設計サポートしますね」とか、そういう感じでいろいろなチームに入りながら支援をしたり、課題を見つけて潰したりという動きをしていました。

やまげん:すごい(笑)。自由に動いていらっしゃったんですね。

松下:課題はもちろんくることが多くて、どんどん積まれていくような感じではありました。「じゃあこっちに行きます」とか「ハーフコミットでこっちに行きます」とか、そういう感じでやっていましたね。

やまげん:なるほど。その動き(をしている中)で印象的だったことはあったりしますか?

松下:そうですね。当時のカオナビは社員の方がすごく多いというよりも、業務委託の方にまだ依存している部分が多くて。社員の人は主体性ももちろんあるのですが、そういった中でも世話を焼くのが好きな人がけっこう多かったです。

入社して最初はやっぱり難しいじゃないですか。特に入社して1ヶ月でコロナが出て基本的にリモートになってしまったので、私自身(が社員の方と)直接話したことがある期間が1ヶ月しかなかったんですね。

なので、そういった中で働くのは初めてで本当に不安だったんですけれど、みんな分報やSlackで何かを書くと「それはこういうことなんですよ」「あの人に聞けばなんとかなりますよ」とか支援してくれる人はいっぱいいたので、あたらめてふりかえると、そこがカオナビの良いところでもあったなと思っています。

そういったところでスムーズに各チームにも入っていけたし、課題を自分で見つけることもやっていたけれど、「ちょっとこれどういうことかわからない」「このあたりが心配だけど、どう思います?」と言うと、いろいろな周りの人が拾って教えてくれる環境だったので、そういったところはすごく良かったですね。

やまげん:なるほど。ありがとうございます

生産性向上のための根本解決に必要な権限がCTOだった

やまげん:いろいろ課題を潰していたりしたところからCTOになられたと思っていて。そこが1つのターニングポイントになったのかなと思っていたりします。そこの経緯はどういったかたちになっているんですか?

松下:当時の「カオナビ」は本当にモノリシックなサービスになっていて、このまま(進めて)いった時に、どうしても開発生産性や開発スピード自体を上げるのが難しいことは自分自身も開発をしながら感じていました。誰かが音頭を取って違う方向(に進めていく)だったり根本解決することをやっていかないとマズイなと思っていたんですね。

そのあたりを当時のプロダクトの本部長にも常に相談はしていたのですが、「これはそろそろ誰かが判断をしないとマズイかも」というのがありました。そこで、「今はこういう状況になっていて、ここはこういう方向性がいいかもしれないです」というものを、“マイクロサービス化計画”というものとして資料を作りました。

それを本部長や経営層や社長にも見せて、「なるほど。こういう考えでいかないといけないんだね」と理解してもらったタイミングで、あらためて「これをボトムアップでやるのはキツイな」と感じたので、「これは何らかのポジションがないと。トップダウンでそっちの方向に振り切らないと難しい」と相談したところ、「だったらもうCTOでいいんじゃない?」という話をいただいて「じゃあお願いします」と。これ(がきっかけ)でした。

やまげん:なるほど。ではissueがあって「それをやる権限はCTOしかないでしょう」みたいなコミュニケーションで結果的にCTOになったということなんですね。

松下:裏ではちょうどそういう話をしていたみたいなんですが、私もそのあたりはあまり知らなかったので。(いろいろな)タイミングかなというところでCTOになったということですかね。

やまげん:これを聞いているエンジニアの方は、そこを意識してほしいところかもしれないですね。CTOになりたいと思っている人もけっこういると思いますが、広い視野でテクニカルな課題を解決していくことができると、その権限が自ずとついてくるのはあるかもしれないですね。

松下:そうですね。最初に意識していたのは、「現場の信頼を勝ちとるのがまず第一」ということでした。主体的に動いたり巻き込んだり巻き込まれたりといったところは、CTO関係なくまずはやる必要があったし、その結果がCTOという立ち位置にもつながったんだろうなとは思います。

やまげん:なるほど。ありがとうございます。

「カオナビ」のマイクロサービス化

やまげん:マイクロサービスという言葉が出たのですが、このあたりは今は推進中という感じなんですか?

松下:2020年2月にCTOに就任して、マイクロサービス化をする上でどのあたりに一番手をつけるべきかという(中で、)共通基盤的なところからやるべきだと思っていたので、まずはそのあたりの体制を作りながらやり始めていました。

しかし、思った以上に大変そうで、このままマイクロサービス化(するの)が正しいのかを常に感じながら進めていました。その中で、メンバーや体制がちょっとずつ整ってきて、マイクロサービス化よりはモジュラモノリスのほうがより現実的でいいんじゃないかという話になって、モジュラモノリスを1つの方向性として(考え)、マイクロサービスはそのあとに必要があればというぐらいの選択肢で考えています。

やまげん:なるほど。そこは作ってからふりかえって失敗というか「ちょっと違ったね」となったというよりは、作りながら(感じた)違和感を言語化していったら、「モジュラモノリスしたほうがいいんじゃないか」とピボットした感じですかね。

松下:そうですね。まずは検証をしながら「この部分をマイクロサービス化した時にどうなるか」みたいな話をしています。「このまま一気にそこまでいくのはやはり限界がある。まずはリファクタリングをしながら影響範囲を抑えつつ分離していって、そこがモジュラ化できたら、分離してマイクロサービス化もできると思うし、モジュラ化の時点でいったん終わらせることも可能だよね」というところです。

ゴールは開発しやすくしたり生産性を高めるところなので、システム分割までやった時により効果が得られるのか、あくまでモジュールとして用意をするだけで十分なのかというところで、今はモジュール化に注力している感じですね。

やまげん:なるほど。ありがとうございます。

リファクタリングと機能開発スピードのバランスをどうとったか?

やまげん:リアーキテクトみたいなところを進めていくと、リソースの問題や、あとは「機能開発を止めないといけないのか」という問題もあったりするのかなと思います。機能開発のスピード感はけっこう抑えるかたちで経営層とコミュニケーションはとられたんですか?

松下:開発は基本的に止めたくないので、ちょっとずつのリファクタリングで進めたいと思っています。それも2022年3月ぐらいまではなかなかできていませんでした。というのも、優秀なメンバーもいるのですが、優秀な方は他のプロジェクトにどんどん巻き込まれてしまって、モジュール化に関わってほしいんだけれど、「他のプロジェクトに一時的に行っちゃいます」みたいなことを繰り返して、ぜんぜん進められなかったのが正直なところなんですね。

それで2022年4月にCTO室を作りました。CTO室は横断的に動いたり技術的負債に取り組む体制の組織になります。他のチームの支援はもちろんしますが、極力そこは組織を分けて集中的にできるような環境を作るということで(CTO室が)できたのがこの4月で、今まさにこれからそのあたりがしっかりとできる(ようになる)かなというところですね。

やまげん:なるほど。課題にぶち当たって専用の組織を作って、今はそれぐらいという感じですかね。けっこううまく行っていますか?

松下:思った以上の難しさも感じつつ(笑)。ちょっとずつなんとかやり切らなきゃなと思っているところです。

経営層やマーケティングの方に理解してもらうために発表もしている

やまげん:「いろいろな負債が溜まって」みたいな企業さんも多いと思います。そういったところも(カオナビは)Qiitaさんのカンファレンスでも発表をしていますよね。

松下:そうですね。(負債が溜まると)このまま放置をした時にいつか限界を迎えたり、「これ以上無理」という状態になってしまうと思います。今の開発環境がそういう状況にあることを、経営層もそうですし、会社全体でしっかりと理解してもらわないとちょっとマズイなと思っていたので、社内向けの勉強会も開催して「「カオナビ」が抱えているシステム課題」という内容で発表もしています。

そこでシステムが劣化していく、技術負債は溜まっていくのが普通で、それに対して今の「カオナビ」がどういう状況にあって、どういうアクションを取ろうとしているのかを経営層にも見てもらったり、営業の方やマーケティングの方にも見てもらうようなことをしました。

「新しい機能をどんどん開発してくれ」というのももちろん来ますが、その中でも技術的負債に対してもしっかりと取り組む必要があるというところを、みんなにちゃんと理解してもらおうとそういう動きもしていた感じですね。

やまげん:本当に必要なことですよね。みんなの意識を揃えるみたいな。

松下:そうですね。

やまげん:ありがとうございます。Qiitaカンファレンスの発表はYouTubeにアーカイブされているものがあるので、聞いてもらえるといいと思います。僕もすごく参考にさせてもらいました。

松下:ありがとうございます。

(次回につづく)