はじめに
皆様初めまして。株式会社サイカ CTO の 天野(@pataiji) と申します。
株式会社サイカはデータサイエンスを駆使したマーケティングソリューションを提供する会社です。
開発本部ではMAGELLANやADVAといったサービスの開発やデータ分析技術の研究開発を行っています。
そんな我々は、ここ1~2年ほどかけ、リアーキテクチャと称してシステムの抜本的な改善を行ってきました。
この取り組みについて今後数回に渡って連載形式でご紹介していきます。
サイカの開発の文化や実際をお伝えすることができると良いなと思っています。
その初回である今回の記事では、リアーキテクチャを始めるに至った背景をお伝えします。
それはモノづくりビジョンから始まった
2020年にサイカの開発組織の方針として「ものづくりビジョン」が定義されました。 (ロゴが古い!) note.com
「Refine your choice and make it the Best」をビジョンに掲げ、貪欲に成長を追い求める人が集いモノづくりに向かい合う組織を目指すという意思表明をしました。
では当時の開発組織はどうだったのかというと、ビジョンに対して大きなギャップがあり、山積する課題に対して抜本的な改善を必要とする状態でした。
その打ち手のひとつがリアーキテクチャです。
サイカにおけるリアーキテクチャ
目指した姿
モノづくりビジョンが掲げる理想に近づくために、以下の2点を大きな目的としてシステムの改善をすると決めました。
アジリティの高い開発
- チームや個人が素早く意思決定を行い、成果に向かい機敏に動くことができる
- 見通しが良くキャッチアップを行いやすい
- 事業や組織の拡大に合わせてスケールできる
成長を促す挑戦しやすい土台作り
- 小さく失敗できる
- 新しいロジックや新しい技術、アーキテクチャの実験を行いやすい
- 創意工夫を凝らすチャンスが多い
当時の課題
目指す姿に対して当時の現状は厳しく、例えば以下のような課題がありました。
- コードが荒れていて処理の流れがつかみにくく、入社して数ヶ月経ってもコミットできない開発者が出ていた
- 影響範囲が読めずテストコードもほとんど無いためバグが頻出し、難易度や品質を考慮して実装を見送る機能も出ていた
- オブザーバビリティが低く、障害が発生しても原因を特定するのに多くの時間を要したり特定できないことがあった
- 同時に数リクエストしか捌けない
改善に向けて
幸いにもシステムとしてはそこまで大きなものではなかったので、理想に近づくためにどうするべきか、ゼロベースで技術選定を行っていくことにしました。
既存に囚われずに検討を進めた事により大小様々な変化を生むことになりましたが、とりわけ大きかったのはマイクロサービスアーキテクチャの採用です。
「Refine your choice and make it the Best」の世界へ近づくためにどのようなアーキテクチャを採用するべきかを第一に考えた結果ではあるのですが、意思決定としては特に覚悟がいるものでした。
このあたりの詳細については、次回以降の記事でもう少し詳しくご紹介していきます。
経営陣の理解と共感が挑戦を支える
ということで、モノづくりビジョンの実現のためにリアーキテクチャと称し抜本的な改善をするぞと思い至ったのですが、サイカは事業・組織ともにまだまだ発展途上であり、当時も今もリソースが潤沢にある訳ではありません。
正直のところ、リアーキテクチャを本格的に始める前は本当にやれるんだろうか、やっていいんだろうかとまだ不安に思っていました。
皆様の中にも、事業の成長(や方針転換)に合わせて様々な機能が追加されたシステムを前にして、リファクタリングの時間を確保するためにステークホルダーを頑張って説得した経験をお持ちの方は多いのではないでしょうか。
特にリソースの限られるスタートアップでは説得に苦戦するかもしれません。
ある日、CEOの平尾にリアーキテクチャを本当にやって良いか、その意思決定ができるのかの旨を相談したことがあります。
平尾は
「大丈夫!プロダクトはサイカの根幹だから、投資に対する蓋然性の説明は確実にできるし、やるなら今でしょ!!」
と即答。
まるで林修先生のような勢いを前に、不安が吹き飛びました。
このあたりの開発に対する経営陣の理解の深さと共感の強さはサイカのユニークな点のひとつです。
モノづくりビジョンが経営の意思として活きているからこそ、リアーキテクチャにおいて自信と覚悟を持ち、思い切った意思決定を行うことができたと感じています。
終わりに
今回はモノづくりビジョンから始まったリアーキテクチャの背景をお伝えしました。
この記事を書いているタイミングでは既にこの取り組みは一段落していますが、ビジョンに向かい変化していく最初のステップとして象徴的なものになったと感じています。
現在は新たなシステム基盤の上で、アジリティ高く挑戦的な取り組みを重ねて事業成果を上げていくフェーズに入っており、リアーキテクチャの真価が問われるのはまさにこれからです。
既に新たな課題も出てきていますし、今後も様々な壁にぶつかると思います。
そんな課題に向かい合い、人、システム、組織が成長し、リアーキテクチャによる成果をさらに大きく最大化していく。
これこそ「Refine your choice and make it the Best」であり、我々の目指す世界観です。
やっていきます。
というところで、この記事では抽象的な話が多くなってしまいましたが、次回からはマイクロサービス化などの具体的な話に移っていきます。
ぜひご覧いただけますと幸いです!