GitHub社内におけるエンジニアリングガバナンスはどのように行われているのか

今回は「GitHub社内におけるエンジニアリングガバナンスはどのように行われているのか」についてご紹介します。

関連ワード (方針、確実、社内等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


GitHub社内におけるエンジニアリングガバナンスがどのように行われているのかを紹介した同社のブログ「GitHub’s Engineering Fundamentals program: How we deliver on availability, security, and accessibility」(GitHubのエンジニアリングにおける基本原則:我々はいかにして可用性、セキュリティ、そしてアクセシビリティをデリバリしているのか)が公開されています。

GitHubにとって、ソフトウェアの開発力が同社の競争力に直結するものであることは明白です。エンジニアリングガバナンスは同社の経営にとって最も重要な要素であり、その同社が構築したエンジニアリングガバナンスのノウハウは多くのIT企業にとって参考になるものでしょう。

同社がどのようなガバナンスを行っているのか、ブログの内容からまとめてみました。

目指すべきゴールと優先すべき基本原則の設定

同社はまず、目指すべきゴールとして次のような目標を設定しています。

Our goal was to work cross-functionally to define, measure, and sustain engineering excellence with a vision to ensure our products and services are built right for all users.

私たちのゴールとして、すべてのユーザーにとって適切な製品とサービスが確実に提供されるようにするというビジョンの下で、部門を超えて連携し、エンジニアリングの卓越性を定義し、測定し、維持する、ということを設定します。

このゴールへ向かうためのプロセスとエンジニアリングカルチャーを構築するために、最も優先すべき以下の3つが「基本原則」(Fundamentals program」として設定されます。

  1. Accessibility (A11Y): Truly be the home for all developers
    アクセシビリティ(A11Y):すべての開発者にとって真のホームとなる

  2. Security: Serve as the most trustworthy platform for developers
    セキュリティ:開発者にとって最も信頼できるプラットフォームとして機能

  3. Availability: Always be available and on for developers
    可用性:開発者がいつでも利用できるようにする

基本原則を守れているか、自動でスコアカード表示

GitHubの各サービスや機能がこの3つの基本原則に合致しているかどうかが、自動的に評価されスコアカードとして表示される仕組みも導入されました。

The scorecards are designed to let us know that a particular service or feature in GitHub has reached some expected level of performance against our standards. Scorecards align to the fundamentals pillars.

スコアカードは、GitHubの特定のサービスや機能が、私たちの基準に対して期待されるパフォーマンスレベルに達しているかどうかを私たちに知らせるためのものです。このスコアカードは、基本プログラムの3つの柱に沿ったものとして設定されます。

下記は「Secret Scanning」機能のスコアカードの例です。スコアカードにはこの機能のオーナー、連絡先としてのSlackのチャンネルなど、開発チームの基本的な情報と共に現在のリスクと修正状況などが表示されます。

fig「Secret Scanning」機能のスコアカードの例(記事の幅に合わせてPublickeyが一部画像を加工しています)

このスコアカードを自動的に表示する仕組みのために、各サービスや機能ごとに重要度やQoSの内容、サービスの種類などの詳細がYAMLファイルとして記述され、そのYAMLファイルに基づいて自動的にスコアが計測され、継続的に示されます。

そしてスコアカードの示す内容が基本原則を満たしていない場合、効果的な解決のためのSLAとともにアクションアイテムが生成され、対応するIssueがリポジトリに自動的に生成され、担当する開発者のワークフローに組み込まれます。

これによって開発者は、担当する機能やサービスが基本原則を満たさない場合の対応をワークフローの中でシームレスに行うことができるようになっているのです。

基本原則を維持するための組織構造

スコアカードを基にして、各機能やサービスが基本原則から逸脱しないように計画し実行する責任は各担当チームにあります。

そうしたチームは次のような組織構造を持っています。

Exective sponsor(エグゼクティブスポンサー)
上級リーダーであり、リソースの調整、ガイダンスの提供、戦略的な意志決定などによって基本原則への対応をサポートする。

Pillar sponsor(ピラースポンサー)
エンジニアリングリーダーであり、可用性、セキュリティ、アクセシビリティという基本原則の3つの柱にフォーカスして組織全体の監督を行う。

Directly responsible individual (DRI)(直接責任担当)
基本原則に対応する直接的な責任を負う担当者であり、組織全体と協力してスケジュールや方針などについて適切な意志決定を行う。

Scorecard champion(スコアカードチャンピオン)
スコアカードの保守担当であり、スコアカードがつねに適切であり続けるための機能追加、保守、機能削除などを行う。

Service sponsors(サービススポンサー)
サービスの健全性の維持に責任を持ち、そのためにサービスを担当するチームを監督する

Fundamentals delegate(基本原則の代理人)
代理人は各サービスオーナーと基本原則のための作業の調整を行い、スポンサーによる作業の優先度付けを支援し、作業を完了させるためのリソースの確保を約束する。

スコアカードを一覧するダッシュボード

GitHub社内では、基本原則を満たしていないスコアカードを一覧にし、表示するダッシュボードも用意されていると説明されています。これにより重要なインシデントや作業をすぐに見分けて意志決定し、アクションを起こすことが容易になります。

下記がそのダッシュボードの例です。

fig

いちばん重要なのはパートナーシップの文化

こうした基本原則とそれをサポートするためのスコアカードの自動化や組織構造によって、GitHubはビジネスにおける多くの改善を達成したとしています。

その上で、しかしいちばん重要なのはパートナーシップの文化だと次のようにブログの記事を結んでいます。

Most importantly, we celebrate the wins publicly, however small they may seem. Building the culture of collaboration, support, and true partnership has been key to sustaining the ongoing momentum of an organization-wide engineering governance program, and the scorecards that monitor the availability, security, and accessibility of our platform so you can consistently rely on us to achieve your goals.

最も重要なことは、どんなに小さなことであってもみんなでその勝利を祝福することです。協力し合い支援し合う本当のパートナーシップのカルチャーを構築することが、組織全体のエンジニアリングガバナンスプログラムの継続的な勢いを維持する鍵であり、私たちのプラットフォームの可用性、セキュリティ、アクセシビリティを監視するスコアカードなのです。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
大手国内SIerのITサービス売り上げランキング、1位は富士通、2位はNTTデータ、3位日立製作所。2020年のITサービス市場は前年比2.8%減。IDC Japan
業界動向 / IoT / その他
2021-07-13 04:42
シスコ、「エコシステム パートナープログラム」を創設–日本社会のDXに貢献
IT関連
2022-07-30 03:18
GitHub社内におけるエンジニアリングガバナンスはどのように行われているのか
DevOps
2024-02-21 22:45
レッドハット、「OpenShift Lightspeed」の開発者プレビュー版を公開
IT関連
2024-08-08 14:51
サイバー攻撃の脅威にさらされる医療機関、患者の健康を守るための対策とは
IT関連
2024-10-01 07:33
Google、脆弱性検出ツール「OSS-Fuzz」のJavaVM対応を発表。Java/Kotlin/Scalaなどの脆弱性を検出可能に
Google
2021-03-24 08:58
日経平均先物を見る時の注意点–3月12~29日は日経平均より約190円低い値で推移する
IT関連
2021-03-11 17:36
AWS障害、5時間でほぼ復旧 気象庁Webサイトなどに影響【各サービス復旧状況を追記】
クラウドユーザー
2021-02-22 01:02
印フィンテックZetaがシリーズDラウンドに向けソフトバンクと交渉中、ユニコーン目前か
フィンテック
2021-04-16 15:38
NEC、ローカル5G/Wi-Fi対応のSDNコントローラーを発売
IT関連
2024-07-19 01:01
パン屋さんの課題を冷凍パン技術とITで解決するパンフォーユーが8000万円を調達
フードテック
2021-05-11 20:50
全日本食品、全国1600の加盟店と結ぶ契約書を電子化
IT関連
2021-04-21 17:23
外国人投機筋は日本株に弱気、日本の景気回復が鮮明になれば買いに転じるか
IT関連
2021-05-25 04:34
サムスンにサイバー攻撃、「Galaxy」関連ソースコードが漏えい
IT関連
2022-03-09 07:16