コンピタンスセンターパターン
Center of Conpetence、CoC
開発速度の向上、システムの全体的な品質維持を目的とした専門家チームを編成し、サポートを担当させる。
主にやることとの例としては:
パターン定義
ベストプラクティスの確立
サポートツールの開発
アーキテクチャの部分的な教育
など。
割り当て構造のパターン。
要素
CoCチーム。開発者とアーキテクトのグループ。
責任範囲。アーキテクチャのサブセット。パターン、技術、ユースケース。
関係
「CoCチームAは、Xの責任を負う」:CoCチームと責任範囲を結びつける。
規約
通常、CoCは1つの技術またはユースケースに責任を持つ。
強み
専門家の再利用性・スケーラビリティを促進する。
専門家の種類によるが、多くの特性に良い影響が期待できる。
弱み
CoCチームの強みは専門知識にあるが、専門知識は離職や異動によって簡単に失われる。
専門知識が弱まったCoCチームは混乱を招き、逆に開発を遅らせる。
担当領域例:
ジョブスケジュール機能
スケジューリングのためのフレームワークの開発・ツールの作成を行う。
チームが自分たちでフレームワークをクラスタ上に構成できるようにする。
パフォーマンス
負荷テストとパフォーマンステストについてチームの相談に乗る。
テストとデータ収集のためのツールを提供する。
データセットと他のテスト資産を収集して整理する。
データベース技術
ユースケースに適したデータベース技術を選択できるようチームの相談に乗る。
データベースをプロビジョニングするためのツールを保守する。
トレーニング教材を作成・配布する。
コアプラットフォーム
共通のコンテナ管理システムを維持する。
サポートされているdockerの基本イメージを提供する。
ログ収集やヘルスチェックなど日常業務用のツールを作成する。