こんにちは。SWE の飯迫 (@minato128) です。
7月1日、CADDi で初めての Tech 組織横断チームとして、山田(@kei711_) と一緒に Platform チームを立ち上げました。一般的に Platform チーム/エンジニアの役割は、SRE ほど型化されておらず会社によってやることが異なりますが、過去 2 社の経験や他社事例をみると大きな技術的投資が必要になってくるタイミングで組成されることが多いようです。そこで、CADDi の Platform チームがどういう目的で何をやるチームなのか紹介します。
背景
現在開発チームは 5 つあり、各チームが責任を持ってプロダクトを開発運用しています。これまでは、SRE チームも Platform チームもなく、開発チーム間でよしなに連携して進めてきました。それでも一定なんとかなってはいたのですが、片手間で取り組むには大きすぎる課題はどうしても劣後せざるを得ませんでした。そこで、開発組織もプロダクトもスケールしていく中でも、開発速度や品質を落とさず Whole Product としてユーザーに価値を届けるための技術的投資ができるように、Platform チームを立ち上げることになりました。
※抽象化した図なのでチーム数やプロダクト数は実際とは異なります
- 開発チーム
- それぞれのプロダクトの開発運用に責任をもつ
- Embeded SRE は存在しないが、それぞれのチーム内では実際その Role に近いことをやっている人もいる
- Platform チーム
- 全社共通プロダクトの開発運用に責任をもつ
- 開発チームと協調して、プロダクトに閉じない課題を解決する
CADDi の Platform チームとは
戦略的に「技術課題を解く」ことを目的とする
- 戦略的に
- 短期的視点だけでなく、中長期的視点で価値のあることに投資する
- 4半期単位でできることだけにとらわれない
- 技術課題を解く
- インフラ共通基盤
- アプリケーション共通基盤
- 社内標準化(属人性排除)
- 生産性
- RASIS
- Observability
- などの課題を見つけて解いていく
直近の具体例をあげると、
- 認証認可基盤の設計・構築・運用
- 新規プロダクトのアーキテクチャ設計・構築
- ArgoCD 管理の全社展開
などがあります。
行動指針
- 技術課題を解くにフォーカスする
- インフラレイヤーでもアプリケーションレイヤーでもなんでもやる
- 安易にこぼれ落ちたボール拾って対応しない
- 柔軟に横断的に動く
- 組織的事業的に価値を発揮できるならなんでもやる
- 開発チームに一時的に入るとかもありえる
- 大きな課題は、横断的なプロジェクトチームの立ち上げてリードする
- 組織的事業的に価値を発揮できるならなんでもやる
- 必要ならなんでも Learning / Unlearning
- 過去の成功体験、固定観念に縛られない
- 常にパラメーターが違うので、再現性があるか今やることに価値があるかを見極める
- 過去の成功体験、固定観念に縛られない
- Have Backbone; Disagree and Commit
- 信念を持ち、正しいと考えていることを言い続ける
- そして、決まったことにはコミットする
- 信念を持ち、正しいと考えていることを言い続ける
想定カバー範囲
- やること
- 上の図の通り、カバーする範囲は広めに定義しています
- やらないこと
- 情シス的な業務
- プロダクトの運用全般
- 各プロダクトの運用は開発チームが責任を持つ
- アラートの一次受けも開発チーム
- 認証認可基盤などの全社共通プロダクトは例外
- 各プロダクトの運用は開発チームが責任を持つ
- Frotend, Algorithm, Data Engineering の Core Design/Implementation
- CADDi にはエキスパートがいるのでこれらは任せる
- 全体アーキテクチャ設計時に協調することはありえる
関わる人
プロジェクトごとに多少差異はあるかもしれませんが、基本的にはチーム内で優先度を決定し、そのプロジェクトのステークホルダーと合意をとって進めます。
- 開発チームメンバー
- CTO
- PdM
- EM
開発の進め方
1 スプリントは 1 週間として、スクラムで開発を進めています。また、タスク管理は Jira を利用し、直近だとこの 3 軸をメインにタスク化していっています。
- 中長期的にあるべき姿を描いてブレイクダウン
- 新規のプロダクト
- 立ち上げのための全体アーキテクチャの設計、構築など
- 開発チームから要望
- DX 改善など
おわりに
CADDi では過去 1 年で見てもかなりのスピードで事業とプロダクトが動いています。だからこそ、まだできたばかりで少人数のチームではありますが、常に柔軟に、ときには中長期視点でエンジニアリングを進めていく必要があります。将来的に組織やプロダクトがスケールしていくと mercari さんの Platform チームのように分業化が進むのかなと想像していますが、今は自分たちのカバー範囲を定義しすぎず、コトに向かってなんでもやっていこうと考えています。
We’re hiring
一緒に課題に向き合ってくれる仲間を募集中です!