チーム間のインタラクションがプラットフォームを育てる
書籍『チームトポロジー』では、チーム間のインタラクションを、「コラボレーション」「X-as-a-Service」「ファシリテーション」という3つのモードに分類している。これはプラットフォームの成長過程にも当てはまる。
1. コラボレーション
新しいプラットフォームの立ち上げや機能追加をする場合、プラットフォームチームと開発チーム(ストリームアラインドチーム)は、使い方や、必要なインターフェースなどを共同で検討する必要がある(『チームトポロジー』でも、「他のチームと密接に協力して作業すること」と定義されており、インタラクションモードの中でも密接度が高い状態である)。
2. ファシリテーション
開発チームのメンバーの多くは、インフラやデータ基盤、オブザーバビリティなどプラットフォームを構成する技術に精通していない。そこで、開発チームがこれらの技術を活用できるように、プラットフォームチームが支援することで、プラットフォームへの信頼を勝ち取ることができる。特にプラットフォームの初期段階で重要な取り組みだ。
3. X-as-a-Service
プラットフォームが成熟し、サポートが提供され、信頼性・ドキュメントなどが改善されると、開発チームがセルフサービスでプラットフォームを利用できるようになり、プラットフォームチームが介入する必要がなくなる。
プラットフォームチームは新しいリクエストやフィードバックを受け取るたびに、開発チームとのコラボレーションの段階に戻る必要がある。このようなサイクルを繰り返しながら、プラットフォームは成長していくのだと、Pais氏は言う。
プラットフォームチームの成功は、プラットフォームを使用する開発チームの成功と直結していると、Pais氏は強調する。プラットフォームが正しい方向に成長しているか、言い換えれば開発チームにとって有用かどうか判断するには、以下の4つのメトリクスを見れば良い。
- 採用数:プラットフォームを採用するチーム数やアプリケーション数など、採用の進み具合や、エンゲージメントの高さ
- 満足度:ユーザーがプラットフォームから価値を引き出せているかどうか
- 信頼性:可用性やパフォーマンスの高低など、開発チームが使いたいときにプラットフォームを利用できるかどうか
- デリバリーのメトリクス:プラットフォームチーム自体の開発パフォーマンス、すなわちリードタイム・デプロイ頻度・平均修復時間・変更失敗率
プラットフォームの持続可能性を高めるために
強固なプラットフォームの構築には長い時間がかかる。そこで重要になるのが、プラットフォームの持続可能性を高めることだ。そのためのポイントとして、Pais氏は以下の項目を挙げる。
- プラットフォームへの信頼:プラットフォームとプラットフォームチームが他のチームからの信頼を得ること
- 成功事例の共有:プラットフォームがどのように役立っているか、成功事例を常に収集し、他のチームに共有すること。例えば、他のチームの仕事の進め方やメトリクスが改善したといった情報
- プラットフォームチーム内部の確信:プラットフォームのメトリクスに基づいて、自分たちが正しい方向に進んでいると確信を持つこと
- 外部からの確信:他のチームが、プラットフォームによる開発チームの生産性向上や事業インパクトに確信を持つこと
特に、プラットフォームの成長に時間がかかるということは、長期的な資金調達が必要だということも意味する。しかし、プラットフォームの投資対効果を社内に理解してもらうのは容易ではない。特に経営が厳しい時には、「なぜこれだけの費用がかかるのか」「なぜこれだけの人数が必要なのか」といった否定的な意見が出やすくなる。経営層にプラットフォームの価値を訴求できなければ、その持続可能性は低くなるだろう。
そこで、「CFOの立場になって、プラットフォームの予算を確保するにはどうしたら良いか想像してみよう」と、Pais氏は提案する。例えば、プラットフォームのおかげで「新入エンジニアが1週間で本番にデリバリーできた」と伝えても、CFOの心を動かすことはできないだろう。だが「クラウドのコストを10%削減できた」と伝えたら、好意的な反応を得られるはずだ。つまり、経営層を動かすためには、技術的な言葉ではなく、削減したコストや生み出した収益など、具体的なビジネスインパクトを伝えることが必要不可欠だと、Pais氏は強調する。