Developer Productivity室が取り組んでいることを紹介します!
tl;dr
Developer Productivity室の@kenta_kozukaです。
この記事では自分が所属してるサイバーエージェントのDeveloper Productivity室と開発生産性領域で取り組んでいることを紹介します!
全社の開発生産性を向上に取り組むDP室
サイバーエージェントのDeveloper Productivity室(以下DP室)は、サイバーエージェントグループ全体の開発生産性を向上させることに特化した全社横断チームです。インターネットを通してサービスを提供するソフトウェアでは、目まぐるしく変わる社会情勢や高まる不確実性が背景となり以前にも増してサービスを成功させる難易度は高まっています。これまでのように個々のスキルやチーム戦力だけで市場で成功していくことは難しくなっており、組織的に仮説検証や開発生産性を進化させ、圧倒的な精度と物量で賢くサービス開発を行っていかなくてはなりません。
DP室はSDLC(ソフトウェア開発のライフサイクル)の計画、設計、実装、テスト、デプロイ、リリースという各プロセスで社内の各チームにベストプラクティスを提供し、事業にいる開発者がより本質的な開発だけに集中できており、不確実性の高いサービス開発を素早く行い、賢く失敗して軌道修正できる事業を育てていくことを目的として設立されました。
DP室では特に、開発生産性向上のためにソフトウェアの一連のデリバリープロセスの改善に着目しています。「LeanとDevOpsの科学」では「ソフトウェアデリバリのパフォーマンスは組織全体の業績に重要な影響を及ぼす」と述べられており、大きなポテンシャルがあると考えています。ソフトウェアデリバリサイクルを大きく改善できれば、より多くの施策を実施・検証できたり、新たな事業を素早く創出するチャンスも増えます。自己の裁量に任された技術者文化は強みでもありますが、同時にスケールデメリットも生み出します。DP室が牽引する形で、各チームの裁量を担保しながらも全社で一定の統率を図って開発生産性に取り組んでいきます。
ソフトウェアデリバリー以外の領域に関しても、ここ数年のAIの隆盛にうまくのり、使えるAI系ツールをいち早く全社に展開することで事業貢献に取り組んでいます。
DP室の3つのチーム
DP室は、各専門分野を持つ3つのチームで構成されています。私たちはこのチームをCNCFにならってSIG(Special Interest Group)と呼んでいます。これらのチームは相互に協力して、サイバーエージェントグループ内の開発チームをサポートするための包括的なソリューションと基盤を提供しています。
SIG-Build:PipeCDによるプログレッシブデリバリーの実現
SIG-Buildチームは、サイバーエージェントの主力継続的デリバリーシステムであるPipeCDの開発と社内SaaSの運用を担当しています。 PipeCDは、Kubernetes、ECS、Terraformなどのさまざまなアプリケーションに対するGitOpsスタイルのプログレッシブデリバリーを可能にするオープンソースプロジェクトです。チームはPipeCDの社内SaaSを運用し、各プロダクトチームのサポートも行っています。
SIG-Buildチームの主な責任は次のとおりです:
- 全社のソフトウェアデリバリー領域において、ベストプラクティスを提供する
- PipeCDプラットフォームの開発と社内SaaSの提供
- プロダクトチームがPipeCDを導入・利用するためのサポート
- オープンソースプロジェクトへの貢献
SIG-Buildチームについては以下もチェックしてみてください!
SIG-Experiment:安全かつデータドリブンな開発
SIG-Experimentチームは、サイバーエージェントのフィーチャーフラグおよびA/BテストプラットフォームであるBucketeerの開発と社内SaaSの提供を行っています。 Bucketeerは元々ABEMAインフラストラクチャチームによって開発され、その後DP室に引き継がれ、全社に対して導入を進めています。
Bucketeerは、開発チームがフィーチャーリリースを管理し、特定のユーザーセグメントをターゲットにし、さまざまな機能を試すことを可能にします。効率的なトランクベースの開発を促進し、デプロイのリードタイムを短縮し、リリースのリスクを最小限に抑えます。
SIG-Experimentチームの主な責任は次のとおりです:
- Bucketeerプラットフォームの開発
- Bucketeerを使用するチームへのサポート
- Bucketeerオープンソースプロジェクトへの貢献
- フィーチャーフラグおよびA/Bテストのベストプラクティスの採用を促進
SIG-Experimentチームについては以下もチェックしてみてください!
SIG-Enabling:全社の生産性可視化と文化の醸成
SIG-Enablingチームは、比較的新しく発足したチームで開発者体験の向上とサイバーエージェント全体の開発チームへの包括的なサポートを提供することに焦点を当てています。このチームは、全社のプロダクチームの開発生産性や開発者満足度の測定・分析。各チームへ深く入っていきDevOpsのベストプラクティスに基づく提案と実装。エンジニアがより開発に専念できるようなツールの先行検討や導入促進を行っています。
SIG-Enablingチームの主な責任は次のとおりです
- 開発生産性・開発者満足度の測定・分析
- 開発者のワークフローとプロセスを最適化するためのソリューションの開発と実装
- 開発チームへの技術サポートの提供
- ベストプラクティスとツールに関するワークショップの提供
- 開発コミュニティ内での継続的な学習と改善の文化の促進
SIG-Enablingチームについては以下もチェックしてみてください!
DP室のユニークな点
全社単位で開発生産性にコミットするDP室は以下のような特徴があります。
- 開発生産性や開発者体験への注力: DP室は開発者のニーズを最優先にし、成功するために必要なツールや知識を提供することで彼らの体験を改善することを目指しています。
- データドリブン: DORA、SPACE、DevExなどのフレームワークを用いて総合的に開発生産性のデータを測定・分析することで次に取るべきアクションを決定します。各チームのKPIについてもできるだけ定量的な成果に基づいて目標を決めています。
- オープンソースへのコミットメント: DP室はオープンソースにコミットしており、PipeCDやBucketeerのプロジェクトに貢献しています。これにより、より広範なコミュニティと協力し、貴重なフィードバックを得て、プロダクトの競争力と認知向上を目指しています。
- 協力的な文化の中心地: 各チームは協力的な環境を促進し、知識共有とチームワークを奨励しています。また開発生産性やDevOpsの文化醸成を社内外で積極的に行っています。
- 積極的な発信:DP室はベストプラクティスやツールを社内だけに限定せず社外にも積極的に発信しています。
私たちのチームに参加しませんか?
Developer Productivity室は、サイバーエージェントグループの各プロダクトが、事業開発にポジティブな影響力を発揮できるような活動を率先して行い、Developer Productivity領域における市場のトップランナーとなるべく推進・実行していきます。
DP室は、開発生産性やDevOps領域に情熱を持ち、開発者の革新と効率の文化に貢献したいと考えているンジニアを積極的に募集しています。
興味がある方はぜひこちらをご覧ください!
Discussion