ポイント: DevOpsチームの構造は、多職能アプローチを通じて製品の提供と価値を向上させることに焦点を当てています。主要なチームにはビジネスシステムチームとプラットフォームチームが含まれ、効果的な調整を確保するために5人から12人の最適なサイズが推奨されます。
- DevOpsチームは製品ライフサイクル全体を管理します。
- アジリティ、自己組織化、クロスファンクショナリティは必須の特性です。
プロジェクトよりも製品への焦点は、デジタルトランスフォーメーションの特徴の一つです。企業が進化する顧客のニーズに迅速に対応し、ディスラプターに対抗することを目指す中で、製品ライフサイクル全体をより良く管理する必要性は重要な差別化要因となっています。最近、DevOpsが、製品チームを整理してエンドツーエンドのバリューチェーンを可視化し、配信速度を向上させ、品質を改善するためのアプローチとして登場しました。第14回アジャイル状態報告書によると:
- 76%の回答者が現在DevOpsイニシアティブを持っているか、今後12か月以内に計画している。
- 90%の回答者が、DevOpsの変革が自組織にとって重要であると答えた。
DevOpsが組織に価値を提供するためには、どのようにチームを構成するべきでしょうか?すべてが従うべき標準的な公式があるのでしょうか、それとも組織の特定のニーズに適応可能なのでしょうか?この記事ではこのトピックに取り組みます。
DevOpsチームの特性
DevOpsチームのマインドセットは、製品のライフサイクル全体を通じて製品の提供と顧客への価値の最適化を目指すエンジニアリングマインドセットであり、従来のITやスクラムチームとは異なります。このマインドセットが価値を提供するためには、チームはDASAによって定義された以下の特性を採用する必要があります:
- アジャイル。チームは、約束された時間、品質、価値に基づいて顧客価値の創造に注力します。彼らは、パフォーマンス、進捗、障害について透明性を持ち、フィードバックを通じて常に改善を追求します。
- 自己組織化。チームは設定された境界内で自律的であり、明確なビジョンと目標の定義を通じて他のチームと連携しているため、他者に依存しています。
- クロスファンクショナル。製品を開発および管理するために必要なすべての能力がチーム内に存在する必要があります。すべてのチームメンバーに対して、コンボ型の能力の獲得が好まれ、継続的な知識共有とコラボレーションが求められます。
- サブチームなし。チームは1つのユニットとして最適に機能し、作業の懸念に対処するために別々のチームに分かれることはありません。
(さまざまなタイプのITチームを探る。)
DevOps組織モデル
現在最も評価されているDevOps組織の構造は、以下を含む2ティアモデルです:
- ビジネスシステムチームは、製品ライフサイクル全体の責任を完全に負い、ビジネスとエンドユーザーを管理します。
- プラットフォームチームは、基盤となるプラットフォームとインフラストラクチャを管理し、これをAPIを介してビジネスシステムチームにセルフサービスとして提供します。
製品に焦点を当てたDevOpsチームは、多職能であり、製品ライフサイクル全体に必要なすべての能力を持っています。これにより、高価な引き継ぎや遅延が減少し、チームは以下に集中しています:
- 顧客に可能な限り迅速に製品機能を提供する
- 他のサイロ化されたエンティティからの官僚的なハードルを経ずに、自律的にフィードバックを取り入れる
現代のDevOpsチームは、バリューストリームマッピングを用いて活動を可視化し、製品の増分フローと価値創造を最適化するために必要な洞察を得ています。Spotifyの例を取ると、ビジネスチームは特定のサービス(例:検索、プレイリスト、プレイヤーなど)を担当するスクワッドと呼ばれています。これらのスクワッドは小規模で、多職能であり、自律的です。彼らは一緒に座り、ミニスタートアップのように機能し、サービスのライフサイクル全体をサポートするために必要なすべてのコンポーネントを取り入れます。スクワッドは緩やかに結びついていますが、しっかりと整合しています。複数のスクワッドが機能に協力する場合、彼らはトライブを形成します。DBAやJavaScript開発者のような専門家には、
- 標準を整合させるためのチャプター
- 組織を横断してベストプラクティスを共有したいコミュニティのためのギルド
Spotifyのプラットフォームチームはオペレーションチームと呼ばれます。しかし、彼らの役割は、デプロイメントやサポートに関与する従来のITオペレーションチームとは異なります。彼らの主な任務は:
- ビジネスチームが使用するプロダクションへのパイプラインを構築すること。
- ビジネス開発者がコードを自らリリースおよびサポートするために必要なインフラストラクチャと自動化ツールを提供すること。
- 基盤となるインフラストラクチャとプラットフォームがサービスを効果的にサポートできるように、キャパシティと可用性の計画、監視、および最適化を行うこと。
DevOpsチームの数
DevOpsチームの最適なサイズは議論の余地があります。当然ながら、小さなチームは以下の理由から好まれます:
- 調整が容易
- 意思決定が長引かない
- 結束に時間がかからない
しかし、小さなチームには、必要な専門知識をすべて得ることが難しいというリスクがあり、チームメンバーの喪失はチームのスループットに大きな影響を与える可能性があります。一般的な合意は、チームサイズは5人から12人の間が望ましいということです。
DevOpsチームの役割
DevOpsチームはサービスのエンドツーエンドの責任を負うことが期待されるため、チーム内で期待される役割には以下が含まれます:
- プロダクトオーナーは、顧客との相互作用を管理し、要件を理解し、他のチームと協力して納品の優先順位をつけ、フィードバックを取り入れます。
- チームリーダーは、選択したアプローチ(例:スクラム、カンバン、リーンなど)に基づいてチームを監督し、他のスクワッドとの調整を促進します。
- ソリューションアーキテクトは、要件が組織の環境や既存のシステムに沿って設計される方法を考えます。
- 開発者は、設計をコードに変換し、テストとデプロイメントを通じてコードをサポートします。
- 品質保証(QA)は、開発とデプロイメントの段階を通じて、製品が顧客および組織の要件を満たしていることを確認します。
- プラットフォームエンジニアは、製品が効果的にサポートされるようにプラットフォームチームを支援し、統合とデプロイメントを自動化するために提供されたツールを使用します。
すべての組織は異なるため、役割は個人が担当する場合もあれば、チームの能力に応じて混合される場合もあります。しかし、チームが共に働き続けると、知識と責任が共有されるにつれて、交差汚染が発生します。2021年のDevOps Instituteのアップスキリングレポートでは、DevOpsチームメンバーに必要な最も重要なスキルがランク付けされました:
- 自動化スキル:手作業の活動、タスク、またはイベントを置き換えること
- ヒューマン(ソフト)スキル:コラボレーション、コミュニケーション、共感
- 技術スキル:コーディング、クラウド、マイクロサービス、API
- 特定の自動化ツールスキル:CI/CD、オーケストレーション
- 機能知識:開発、運用、セキュリティ
- プロセススキルと知識:SAFe、SRE、ITIL®
- ビジネススキル:計画、金融、営業
DevOpsの職務タイトル、役割、および責任を深く掘り下げるのが次のステップです。
関連文献
DevOpsガイド
- DevOpsとは?包括的な紹介
- DevOpsの簡単な歴史
- DevOpsアーキテクチャの紹介
- DevOpsにおける自動化:なぜ及びどのようにDevOpsのプラクティスを自動化するのか
- CI/CDとは?継続的インテグレーションと継続的デリバリーの説明
- Jenkinsを使用してCI/CDパイプラインを構築する方法
- CI/CDパイプラインを最適化するためのDevOpsメトリクス
- 継続的デリバリーメトリクス
- 継続的インテグレーションから継続的デプロイメントへの進展は進展か?
- 継続的インテグレーション(CI)、デリバリー(CD)、デプロイメントの違い
- DevOpsにおけるソースとバージョン管理
- 継続的テストとは何か?
- テスト自動化フレームワーク:究極のガイド
- DevOpsにおけるリリース管理
- 説明:DevOpsにおけるモニタリングとテレメトリー
- DevOpsにおけるアプリケーションパフォーマンス管理
- SDLCにおけるDevOpsオーケストレーション
- データベースDevOpsの紹介
- DevOpsにおけるマイクロサービスの役割
- DevOpsにおける仮想化の役割
- コンテナとDevOps:コンテナがDevOpsデリバリーパイプラインにどのようにフィットするか
- コンテナパイプラインとは何か?
- DevOpsツールチェーンとは何か?
- DevOpsのためのコンテナとコードの管理
- DevOpsにおけるアジャイルの役割
- DevOpsにおけるクラウドの役割
- FinDevOpsとは何か?
- 2022年のトップDevOpsトレンド
- DevOpsの価値と原則
- DevOpsメトリクスとKPI
- 小規模、中規模、大規模組織向けのDevOpsアドバイス
- DevOpsチーム構造
- 今日読むべきトップDevOps書籍
- 『The Phoenix Project: DevOps For Everyone』の書評
- DevOpsインフルエンサー:Twitterでフォローすべき11人のDevOps専門家
- GitHub、GitLab、Bitbucket、Azure DevOps:違いは何か?
- ベストプラクティス:Kubernetes用にアプリケーションを設計する方法
- DevOpsにおける構成管理
- DevOpsのブランチ戦略の説明
- DevOpsの職務タイトル、役割、および責任
- DevOpsにおけるテスト:概念、ベストプラクティスなど
- 2022年のDevOps認証ガイド
- Kubernetesオペレーターパターンとは何か?
これらの投稿は私自身の意見であり、必ずしもBMCの立場、戦略、または意見を代表するものではありません。