『チームトポロジー』の著者が語る、成功するプラットフォームとチームのあり方とは?【PEK2024】
「Platform Engineering Kaigi 2024」Manuel Pais氏 講演レポート
Platform Engineeringとは、ソフトウェアエンジニアリング組織において、開発者の認知負荷低減を目指し、セルフサービス機能を提供するためのツールチェーンやワークフローを設計・構築する技術分野。近年、DevOpsの文脈で様々な組織が実践している。日本における初の専門カンファレンスとして「Platform Engineering Kaigi 2024」が開催され、参加申込が990人を超えるなど、大きな盛り上がりを見せた。イベントでは、Platform Engineeringが注目されるきっかけとなった書籍『チームトポロジー』の著者、Manuel Pais氏が来日し、Platform Engineeringの中心的コンセプトの一つであるPlatform as a Product(製品としてのプラットフォーム)と、それを支えるチームのあるべき姿について考察した。
Platform as a Product 〜開発チームのためのプラットフォーム
まずPais氏は、プラットフォームを定義するところから本セッションを始めた。ここでは、プラットフォームを「魅力的な社内製品としてまとめられたセルフサービスAPI・ツール・サービス・ナレッジ・サポートの集合体」だと位置づける。
プラットフォームの存在意義は、開発チームの仕事をやりやすくすることだ。具体的には、開発チームの認知負荷を下げること。そして開発チームが、リードタイム・デプロイ頻度・平均修復時間・変更失敗率といったメトリクスを改善しながら、顧客への価値提供や課題解決への集中を支援することだ。
しかし、プラットフォームを適切に実装しないと、開発チームの認知負荷が増加し、逆に生産性が低下する可能性がある。具体的には、利用時に常にプラットフォームチームへの依頼が必要となるものや、サービスの統合が不十分で複数のインターフェースを使い分けねばならないもの。そして頻繁にダウンしたり、速度が遅すぎたりするなど、パフォーマンスが低いものが挙げられる。そのような開発チームに苦痛をもたらすプラットフォームは、そのうち使われなくなる。
逆に、優れたプラットフォームが備えるべき性質は何だろうか。Pais氏は、先程のプラットフォームの定義を引用しながら、以下の特徴を列挙する。まずプラットフォームは、セルフサービスで利用できなければならず、プラットフォームチームの作業を待つ必要はない。またプラットフォームチームは、そのために必要なナレッジとサポートも提供しなければならない。
加えて、プラットフォームは、インフラ、監視、データなどの物事をシンプルにし、デリバリーを加速させるためのものだ。そのためにはプラットフォームは、できるだけシンプルに厳選された、相互補完的なサービスやパターンで構成されるべきだと、Pais氏は言う。
例えば、手順やノウハウを記した、シンプルなWikiページであっても、立派なプラットフォームになりうる。Wikiページがあることで、新しいメンバーがすぐに仕事に取りかかり、より早く会社に価値を提供できるようになるからだ。
次に、「プラットフォームが製品である」とは何を意味するのだろうか。
Pais氏は、ここでの「製品」を以下のように定義する。製品とは、機能・デザイン・マネタイズ・コンテンツが一体になったものだ。製品を使うかどうかはユーザーの自由であり、強制されるべきではない。また製品は、ユーザーのペルソナやジャーニーに沿って慎重に設計される。製品は、ユーザーの仕事をシンプルにし、テクノロジーの変化に応じて進化すべきものだ。
これらの要素をプラットフォームに当てはめると、製品としてのプラットフォームは以下の性質を備えることになる。
- プラットフォームは、開発チームが自ら進んで使うべきものだ。使用を強制されるものや、誰も理解できないものは役に立たずに廃れる。また、利用を促進するためのマーケティング活動も必要になる。
- プラットフォームはユーザーとなる開発チームを念頭に置いて設計する必要がある。ユーザーとの対話を通じて、そのニーズに基づき、機能追加や、タスクやワークフローの簡素化をしなければならない。
- 毎週・毎月のように起きる変化に対応できないと、プラットフォームは開発チームから信頼してもらえない。そこでプラットフォームは、明確かつ柔軟なロードマップに基づいて、提供する機能を進化させる必要がある。
このような製品としてのプラットフォームを発展させるには、熟練したプロダクトマネージャーが必要だと、Pais氏は言う。つまりユーザーである開発チームのニーズを理解し、優先度をつける能力を持つ技術者でなければならない。
プラットフォームは時間とともに成長していくが、提供するサービスは厳選するべきだ。そしてプラットフォームチームと開発チームのインタラクションの中で、適切な規模感を探る必要があると、Pais氏は続ける。
この記事は参考になりましたか?
- この記事の著者
-
Innerstudio 鍋島 理人(ナベシマ マサト)
ITライター・イベントプロデューサー・ITコミュニティ運営支援。 Developers Summit (翔泳社)元スタッフ。現在はフリーランスで、複数のITコミュニティの運営支援やDevRel活動の支援、企業ITコンテンツの制作に携わっている。 Twitter:@nabemasat Facebook Web
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
