デベロッパーアドボケイトチームのワークフロー

チームのワークフロー

デベロッパーアドボケイトチームのワークフローページへようこそ。チームがどのように機能し、チームと協力する方法を学びましょう。私たちは主に Developer Advocate Meta issue tracker を使用しています。チームラベル developer-advocacyその他のラベルを所有しており、これらは gitlab-com グループレベルにあります。私たちのチームが追跡するために、必要に応じてこのグループ配下の任意の Issue にラベルを追加できます。

概要ビデオ

ワークフロー概要ビデオでは、ワークフローのさまざまなコンポーネントを詳細に紹介しています。ワークフローで表示される機密 Issue があるため、ビデオは社内のみです。ビデオの特定の章にジャンプしたい場合は、以下のリンクを参照してください。

ビデオの章:

デベロッパーアドボカシーチームの働き方

チームのすべてのアクティビティは、デベロッパーアドボカシー Meta プロジェクト、またはチームが連携する他のチームの Issue tracker で Issue として追跡されます。アクティビティは、コンテンツ、イベント、その他のアクティビティの 3 つのカテゴリに分類されます。Issue の作成を容易にするため、チームは関連するプレースホルダとラベルが事前入力された Issue テンプレートを使用しています。Issue テンプレートとそのショートリンクへの直接リンクは次のとおりです。

アクティビティタイプIssue テンプレートショートリンク
コンテンツテンプレートhttps://go.gitlab.com/new-content-issue
イベントテンプレートhttps://go.gitlab.com/new-event-issue
リリースエバンジェリズムテンプレートhttps://go.gitlab.com/new-release-issue
その他テンプレートhttps://go.gitlab.com/new-activity-issue

Issue ボード

Issue ボードはデベロッパーアドボカシーチームのアクティビティに関する単一の信頼できる情報源です。デベロッパーアドボケイトには、Issue ボードの列を期日順に並べておくことが求められます。これは、デベロッパーアドボカシーチームの作業を追跡するためにボードを使用するステークホルダーに役立ちます。

Issue ボードショートリンク
担当者別の Issuehttps://go.gitlab.com/da-assignees
四半期別コンテンツhttps://go.gitlab.com/da-content-quarter
タイプ別コンテンツhttps://go.gitlab.com/da-content-type
イベントhttps://go.gitlab.com/da-events
Issue トリアージボードhttps://go.gitlab.com/da-issue-triage

注: このページのすべてのショートリンクは https://campaign-manager.gitlab.com/campaigns/view/114 で管理できます。

デベロッパーアドボケイトチームとの協力方法

会話を始めるには、Issue を開くのが最良の方法です。developer-advocacy ラベルは gitlab-com グループレベルにあり、グループ構造内の任意の Issue またはマージリクエストに追加できます。

developer-advocacy ラベルは必須ですが、その他のラベルはオプションです。DevRel-Bot またはチームメンバーがトリアージを行い、必要なラベルを追加します。コメントのノイズを減らすため、DA-Type::Consulting と関連する Consulting チームラベルは自分で追加してください。

デベロッパーアドボケイトリクエスト Issue テンプレートを使ってリクエストを送信できます。リクエストをトリアージするために必要な情報を収集するためのガイドが提供されています。

CFP

Call-for-Papers (CFP) のワークフローは、CFP ハンドブックで整理されています。

ラベル

デベロッパーアドボケイトチームのワークフローはラベルでサポートされており、Issue のタイプ、ステータス、その他の関連情報を判断するのに役立ちます。チームの主要なラベルは developer-advocacy です。チームが所有する、参加する、または認識する必要があるすべての Issue は、developer-advocacy でタグ付けする必要があります。その他のラベルは以下のとおりです:

一般ラベル

CFP ラベル説明
developer-advocacyデベロッパーアドボカシーチームに関連する Issue にラベル付けするために使用
DevRel-InfluencedDevRel、特にデベロッパーアドボカシーの影響を受けた Issue にラベル付けするために使用
DA-Opsデベロッパーアドボカシーの Ops in DevOps テーマに関連する Issue にラベル付け
DA-Devデベロッパーアドボカシーの Dev in DevOps テーマに関連する Issue にラベル付け
DA-k8sデベロッパーアドボカシーの Kubernetes テーマに関連する Issue にラベル付け

Issue 管理

一般ワークフローラベル

ラベル用途
DA-Status::ToDo将来計画されている Issue
DA-Status::Doingチームが現在取り組んでいる Issue
DA-Status::Done完了した Issue
DA-Status::OnHold何らかの理由で再開保留中の Issue
DA-Status::Cancelledチームまたはコンサルティングリクエストの場合は依頼者によってキャンセルされた Issue
DA-Status::FYIチームが認識する必要があるがアクションは不要の Issue

デフォルトのフローは ToDo -> Doing -> (OnHold) -> Done です。FYI の Issue は別のチームが所有し、別のワークフローを通過するため、どのワークフローも通りません。

コンテンツワークフローラベル

コンテンツ固有のワークフローには次のラベルを使用します:

ラベル用途
DA-Content::New新しく作成されたコンテンツ Issue。コンテンツ Issue テンプレートが使用されたときに自動的に追加されます。DevRel-Bot はこのラベルが検出されると、Issue の一般ワークフローステータスを DA-Status::ToDo に設定します
DA-Content::In-Progressコンテンツが進行中の Issue。DevRel-Bot はこのラベルが設定された Issue の一般ワークフローステータスを DA-Status::Doing に設定します。このラベルは、現在のコンテンツワークフローラベルがない既存のコンテンツ Issue に自動的に適用されます。
DA-Content::In-Reviewコンテンツが現在レビュー中、一般ワークフローステータスは DA-Status::Doing のまま
DA-Content::Awaiting-Publicationコンテンツが完了し、公開のためにキューに入れられている、一般ワークフローステータスは DA-Status::OnHold に移行
DA-Content::Done-Metrics-Pendingコンテンツが完了して公開されたが、メトリクスの収集を待機中、一般ワークフローステータスは DA-Status::OnHold に移行、メトリクスの収集が完了したら、コンテンツ作者は Issue をクローズする必要があります。DevRel-bot はラベルを DA-Content::Published に変更します
DA-Content::Publishedコンテンツが完結、DevRel-bot はこのラベルが付いた Issue をクローズします

Issue タイプ

これらのラベルは、Issue で文書化されたアクティビティのタイプを識別するのに役立ちます。これは、時間がどこで費やされ、適切な DRI を割り当てるかをチームが理解するのに役立ちます。

ラベル用途
DA-Type::Contentコンテンツ作成のための Issue。任意のタイプのコンテンツが対象
DA-Type::Evangelistエバンジェリストプログラムのための Issue
DA-Type::Experimentプロトタイプ、実証実験、デモ、探索的イニシアチブを含む実験的・R&D 作業のための Issue
DA-Type::Processチームの運用アクティビティのための Issue
DA-Type::Responseコミュニティレスポンスアクティビティのための Issue
DA-Type::Consulting他のチームから依頼された Issue。詳細は以下
DA-Type::Eventsチームが追跡または参加するイベントのための Issue
DA-Type::Responseコミュニティレスポンスアクティビティに使用される Issue
DA-Type::analystsアナリスト向けの作業

コンテンツタイプ

DA-Type::Content が選択された場合、コンテンツのタイプを識別する DA-Type-Content ラベルが必要です。

ラベル
DA-Type-Content::adoption
DA-Type-Content::blog
DA-Type-Content::cicd-component
DA-Type-Content::demo
DA-Type-Content::documentation
DA-Type-Content::event
DA-Type-Content::keynote
DA-Type-Content::narrative
DA-Type-Content::product-tour
DA-Type-Content::quickstart
DA-Type-Content::talk
DA-Type-Content::tech-webinar
DA-Type-Content::tutorial

コンサルティングラベル

他のチームからデベロッパーアドボケイトに対する、所有、参加、またはアクティビティに協力するというリクエストはコンサルティングとして分類され、これらのリクエストは通常、依頼するチームに基づいてラベル付けされます。これらは、デベロッパーアドボケイトチームが頻繁に協力する社内のチームです。彼らのラベルは次のとおりです:

  • DA-Consulting::Alliances
  • DA-Consulting::CorpComms
  • DA-Consulting::CorpEvents
  • DA-Consulting::Community
  • DA-Consulting::Engineering
  • DA-Consulting::FieldMktg
  • DA-Consulting::GrowthMktg
  • DA-Consulting::Product
  • DA-Consulting::Sales

これらのラベルは、Issue が DA-Issue-Type::ExternalDA-Type::Consulting を持つ場合、チームラベル developer-advocacyDA-Status スコープラベルとは別に必要です。あなたのチームがリストにない場合でも、リクエストを送信でき、適切にトリアージされます

コンサルティング用に作成された Issue は、チームの四半期予算に対してカウントされます。詳細はリクエスト予算セクションで学べます。

リージョンベースラベル

これらのラベルは、Issue またはアクティビティに関連付けられたリージョンを識別するために使用されます:

ラベル用途
Region-AMER南北アメリカ地域に関連するアクティビティ
Region-APACアジア太平洋地域に関連するアクティビティ
Region-EMEAヨーロッパ、中東、アフリカ地域に関連するアクティビティ
Region-LATAMラテンアメリカに関連するアクティビティ
Region-Globalリージョン固有でないか、複数のリージョンにまたがるアクティビティ

ボットラベル

これらのラベルは、トリアージ目的で DA-Bot によって自動的に割り当てられます。

ラベル用途
DA-Bot::AutoDA-Bot が自動的に作成した Issue で、通常は作成から 2 週間後にクローズされます
DA-Bot::HoldIssue は現在保留中で、Hold ステータスにあまりに長くいる場合を除き、DA-Bot によってトリアージされるべきではありません
DA-Bot::Skipこのラベルがある Issue に対して DA-Bot は何のアクションも実行すべきではありません
DA-Bot::TriageIssue がしばらく沈黙しており、トリアージが必要
DA-Due::AddDateIssue に期日が必要
DA-Due::N/Aチームが Issue を所有していないか、期日が適用できないため、期日は不要
DA-Due::PastIssue が期日を過ぎている
DA-Due::SoonIssue の期日が近い

CFP ラベル

これらのラベルは、CFP 提出のワークフローを追跡するために使用されます。

ラベル用途
CFPCFP ラベルを識別、これは必要
CFP::Upcomingまもなくオープンする CFP を識別
CFP::Openオープンな CFP を識別
CFP::Closedクローズされた CFP を識別
CFP::Cancelledキャンセルされた CFP を識別
CFP::SubmittedCFP に対して提出が行われたことを識別
CFP::AcceptedCFP に対して提出が受理されたかどうかを識別
CFP-EDUEducation チームに関連する CFP を識別
CFP-OSSオープンソースチームに関連する CFP を識別
CFP-Submitted::{0..7}メトリクスの目的で行われた提出数を記録するために使用
CFP-Accepted::{0..7}メトリクスの目的で受理数を記録するために使用

トリアージラベル

これらのラベルは、レビューが必要な Issue を識別するために DevRel ボットによって使用されます。

ラベル用途
DA-Triage::no-due-dateIssue に期日がない
DA-Triage::past-due-dateIssue が期日を過ぎている
DA-Triage::no-issue-typeIssue に DA-Type ラベルがない
DA-Triage::done-not-closedDA-Status::Done ラベルがあるが Issue がまだオープン
DA-Triage::onhold-too-longIssue に DA-Bot::Hold ラベルがあり、過去 90 日間更新されていない
DA-Triage::no-update-60daysIssue が過去 60 日間 (最後のコメントから 60 日) 更新されていない
DA-Triage::no-consulting-teamIssue に DA-Type::Consulting ラベルがあるがコンサルティングチームラベルがない
DA-Triage::cfp-due-submissionCFP Issue に CFP::Open ラベルがあり、提出期日を過ぎている
DA-Triage::cfp-due-notificationCFP Issue に CFP::Submitted ラベルがあり、通知期日を過ぎている
DA-Triage::cfp-due-presentationCFP Issue に CFP::Accepted ラベルがあり、プレゼンテーション期日を過ぎている

その他のラベル

ラベル用途
DA-Release-Evangelismリリースエバンジェリズム Issue、しばしば DA-Bot により自動作成・クローズされる
DA-Issue-Type::External他のチームが作成した Issue
DA-Issue-Type::InternalDevEvangelism チームによって作成・所有される Issue

Issue トリアージ

DevRel-Bot は、ラベルの適切で一貫した使用を確保するため、GitLab Triage プロジェクトを使用しています。ボットはまた、ラベル使用に基づく Issue のトリアージにも役立ちます。ボットが現在使用しているポリシーは次のとおりです:

ルール説明条件アクション
DA Meta プロジェクト外で DA チームメンバーが担当者である Issue (DevRel-Influenced)担当者に gitlab.com/gitlab-da グループのメンバーが含まれ、Issue は developer-advocacy-meta プロジェクト外にあり、developer-advocacy ラベルがないdeveloper-advocacyDA-Bot::SkipDevRel-Influenced ラベルを追加
DA チームメンバーによる Issue で developer-advocacy ラベルがないIssue 作成者が gitlab.com/gitlab-da グループのメンバーで、developer-advocacy ラベルがないdeveloper-advocacy ラベルを追加
DA-Type ラベルがない IssueIssue に DA-Type ラベルがないDA-Bot::TriageDA-Triage::no-issue-type ラベルを追加
DA-Type-Content ラベルがないコンテンツ IssueIssue に DA-Type::Content ラベルがあるが DA-Type-Content ラベルがないDA-Bot::TriageDA-Triage::no-content-type ラベルを追加
期日がないIssue に期日がないDA-Bot::TriageDA-Triage::no-due-date ラベルを追加
期日を過ぎているIssue が期日を過ぎているDA-Bot::TriageDA-Triage::past-due-date ラベルを追加
保留中の IssueIssue に DA-Bot::Hold ラベルがあり、過去 90 日間更新されていないDA-Bot::TriageDA-Triage::onhold-too-long ラベルを追加
更新されていない IssueIssue が過去 60 日間 (最後のコメントから 60 日) 更新されていないDA-Bot::TriageDA-Triage::no-update-60days ラベルを追加
コンサルティングチームがないコンサルティング IssueIssue に DA-Type::Consulting ラベルがあるがコンサルティングチームラベルがないDA-Bot::TriageDA-Bot::HoldDA-Triage::no-consulting-team ラベルを追加
Issue が完了しているがオープンIssue に DA-Status::Done ラベルがあるがまだオープンDA-Bot::TriageDA-Bot::HoldDA-Triage::done-not-closed ラベルを追加
古い DA-Bot 作成 Issue をクローズIssue が 2 週間以上経過し、DA-Bot::Auto ラベルがあるIssue をクローズ
DA チームメンバーのリクエストタイプラベルがないIssue 作成者が gitlab.com/gitlab-da グループのメンバーで、developer-advocacy ラベルがあり、DA-Requester-Type::Internal ラベルがないDA-Requester-Type::Internal ラベルを追加
非 DA チームメンバーのリクエストタイプラベルがないIssue 作成者が gitlab.com/gitlab-da グループのメンバーではなく、developer-advocacy ラベルがあり、DA-Requester-Type::External ラベルがないDA-Requester-Type::External ラベルを追加
期日がない CFP IssueIssue に CFP ラベルがあるが期日がないDA-Bot::TriageDA-Triage::no-due-date ラベルを追加
CFP の提出期日を過ぎているIssue に CFP::Open ラベルがあり、提出期日を過ぎているDA-Bot::TriageDA-Triage::cfp-due-submission ラベルを追加
CFP の通知期日を過ぎているIssue に CFP::Submitted ラベルがあり、通知期日を過ぎているDA-Bot::TriageDA-Triage::cfp-due-notification ラベルを追加
CFP のプレゼンテーション期日を過ぎているIssue に CFP::Accepted ラベルがあり、プレゼンテーション期日を過ぎているDA-Bot::TriageDA-Triage::cfp-due-presentation ラベルを追加

CFP ワークフロー

CFP ワークフローは、上記で説明した CFP ラベルに基づいています。

start
: CFP, CFP::Upcoming;
: CFP, CFP::Open;
if (CFP submissions) then (yes)
    : CFP, CFP::Submitted, CFP-Submitted::{0..7};

    if (CFP is Accepted) then (yes)
        : CFP, CFP::Accepted, CFP-Accepted::{0..7};
    else (no)
        : CFP, CFP::Closed;
    endif;
elseif (No submissions) then (missed)
    : CFP, CFP::Closed;
else  (cancelled)
    : CFP, CFP::Cancelled;
endif
stop

クイックアクションを使用した CFP ワークフローの例:

  1. 提出を計画している、またはすでに提出した場合:

    1. 新しい CFP Issueを作成します。
    2. Issue テンプレートはすでに ~"CFP" ~"CFP::Open" ラベルを設定しています。
    3. 期日を CFP 提出期日に設定します。
  2. 1 つのトークを提出した:

    1. ラベルを ~CFP-Submitted ~CFP-Submitted::1 に変更します
    2. 複数のトークを提出した場合は、~CFP-Submitted:: スコープラベルを正しい数を反映するように調整します。
    3. Issue の submissions セクションを更新します。可視性のために Issue にコメントします。
    /label ~CFP-Submitted ~CFP-Submitted::1
    
  3. CFP がクローズされた後、CFP::Closed ラベルを設定し、期日を Issue にリストされている CFP 通知日に更新します。

    /due <cfp notification date>
    
  4. CFP の通知が来て、少なくとも 1 つのトークが受理された。

    1. ラベルを ~CFP-Accepted ~CFP-Accepted::1 に変更します
    2. 複数のトークが受理された場合は、~CFP-Accepted:: スコープラベルを調整します。
    3. 可視性のために、トークタイトルを Issue にコメントします。
    4. 期日をイベント日に設定し、すべての登壇者が割り当てられていることを確認します。
    /label ~CFP-Accepted ~CFP-Accepted::1
    
  5. イベントが終わったら、フィードバックと結果で Issue を更新します。

    1. 既存のものがあれば、トークのビデオを YouTube プレイリストに追加します。
    2. Issue を DA-Status::Done としてマークし、クローズします。
    /label ~DA-Status::Done
    /close
    

トークが受理されなかった場合、上記の Issue をクローズするだけです。

CFP が提出なしでクローズされた場合、CFP::Closed ラベルを追加します。CFP の提出が計画されていたが、別の決定がなされた場合、CFP::Cancelled ラベルを追加します。

リクエスト予算

バーンアウトを防ぎ、リクエストに適切に優先順位を付け、コミットしたリクエストを成功裏に提供できるよう、私たちのチームは社内のステークホルダーのために予算を作成しました。これらの予算は、チームメンバーが GitLab にとって最高優先度のニーズに対応できるよう、リクエストに優先順位を付けることを奨励しています。

これらのリクエストタイプは、次のカテゴリに分類されます:

  1. イベントリクエスト
  2. CFP リクエスト
  3. コンテンツリクエスト

私たちの目標と OKR をサポートするチーム主導のコンテンツ作成や登壇機会、リリースサポート、Hacker News を含むソーシャルメディアモニタリングなど、進行中のアクティビティはチーム予算にカウントされません。

イベントリクエスト

イベントリクエストには、イベント参加 (例: 顧客ミーティングへの参加、イベントのスタッフ、ディナーやソーシャルイベントへの参加、ニュース用イベントのモニタリング) と、デモやプレゼンテーションなどのイベントでの登壇機会の両方が含まれます。

CFP (Call for Proposals) リクエスト

CFP リクエストには、デベロッパーアドボケイトにイベントやメディアの機会の提案を提出するよう依頼することや、オープン CFP に提出するチームメンバーをサポートすることが含まれます。

企業、フィールド、またはパートナーイベントの CFP にデベロッパーアドボケイトを提出依頼するには、デベロッパーアドボケイトに CFP の提出を依頼するを参照してください。

コンテンツリクエスト

コンテンツリクエストには、ブログ記事、ポッドキャスト、メディアインタビュー、またはデベロッパーアドボケイトをメディアの機会に参加させるリクエストが含まれます。

リクエストのスコアリング

リクエストタイプ新規 / 既存コンテンツ予算スコア
イベント新規3
イベント既存 / コンテンツなし1
CFP新規2
CFP既存1
コンテンツ新規2
コンテンツ既存1

以下のリストの各チームには、リクエスト用に四半期ごとに 15 ポイントが割り当てられています:

チームチームラベル
Corporate EventsDA-Consulting::CorpEvents
Corporate CommunicationsDA-Consulting::CorpComms
Developer RelationsDA-Consulting::Community
Growth MarketingDA-Consulting::GrowthMktg
Field Marketing / ABMDA-Consulting::FieldMktg
Sales / SDRsDA-Consulting::Sales
AlliancesDA-Consulting::Alliances
ProductDA-Consulting::Product
EngineeringDA-Consulting::Engineering

あなたのチームが上記にリストされていない場合は、私たちの空き状況に基づいてリクエストを処理します。

リクエストの管理

このプロセスは、コンテンツリクエスト、ウェブキャスト、インタビュー、ミートアップなど、あらゆるリクエストをカバーします。プロセスには次のことが含まれます:

  • 依頼者は、各チームの予算消費を追跡できるよう、自分のチームを識別するラベルと予算スコアに対応するウェイトを割り当てる必要があります。
  • デベロッパーアドボケイトチームのメンバーが Issue をトリアージし、必要なすべての詳細と指示を提供します。
  • リクエストにアクションが取られると、必要なラベルが Issue に適用されます。
  • リクエストが完了すると、Issue は依頼者に再度割り当てられ、Issue がクローズされる前に、結果として生成された必要なメトリクスを提供します。