Developer Clients グループ
🚀 ビジョン
私たちは GitLab のコア機能と AI 機能を開発者のワークフローに直接届け、開発者が日々使うツールから GitLab にアクセスできるようにすることで生産性を引き出します。
このグループは AI Clients ステージに属しています。
👨💻 チームメンバー
Engineering Manager: Amr Elhusseiny
Product Manager: James Casey
UX: Yi-Ann Chen
| Name | Role |
|---|---|
Amr Elhusseiny | Engineering Manager |
Alejandro Metke Jimenez | Senior Fullstack Engineer |
Andrei Zubov | Senior Frontend Engineer, Create:Editor Extensions |
Juhee Lee | Fullstack Engineer |
Karl Jamoralin | Backend Engineer |
Laura Ionel | Senior Backend Engineer |
Malte Heuser | Fullstack Engineer, Create:Editor Extensions |
Mohammed Osumah | Fullstack Engineer |
Tomas Vik | Staff Fullstack Engineer, Create:Editor Extensions |
🤝 安定したカウンターパート
以下が私たちの安定したカウンターパートです。
| Name | Role |
|---|---|
James Casey | Director of Product |
Yi-Ann Chen | Senior Product Designer, AI |
💬 連絡先
Slack
- 公開ステージチャンネル: #s_ai-clients-questions — 質問と問い合わせ
- 内部ステージチャンネル: #s_ai-clients — チームの同期のみ
- 機能チームの Slack チャンネル:
- Duo CLI: #f_duo_cli
- VS Code 拡張機能: #f_vscode_extension
- JetBrains プラグイン: #f_jetbrains_plugin
- 私たちが管理するその他の Slack チャンネル:
- Visual Studio 拡張機能: #f_visual_studio_extension
- Eclipse プラグイン: #f_eclipse_plugin
- Neovim プラグイン: #f_neovim_plugin
- Web IDE: #f_vscode_web_ide
共有カレンダー
私たちは AI Clients の共有カレンダーを使用します
🏠 機能チーム
| チーム | スコープ | チャンネル |
|---|---|---|
| Duo CLI | AI を活用したコマンドラインインターフェース | #f_duo_cli |
| VS Code | GitLab Workflow VS Code 拡張機能と Web IDE | #f_vscode_extension |
| JetBrains | JetBrains IDE 向け GitLab プラグイン | #f_jetbrains_plugin |
💻 スコープ
このグループが所有する製品
- GitLab Extension for JetBrains
- リポジトリ
- ドキュメント
- バックログ
- Slack チャンネル: #f_jetbrains_plugin
- GitLab Workflow Extension for VS Code
- リポジトリ
- ドキュメント
- バックログ
- Slack チャンネル: #f_vscode_extension
- Duo CLI
- リポジトリ
- バックログ
- Slack チャンネル: #f_duo_cli
📚 私たちの働き方
Issue のステータス
私たちは プロダクト開発フローに従って、Issue の Status フィールドでステータスを示します。
詳細を表示
シンプルさを保つため、以下の主要なステータスに焦点を当て、必要に応じて他のステータスも使用します。
New → まだ優先順位付けや絞り込みがされていません。
Planning breakdown → 近い時期(約 1 〜 2 か月以内)にチームの注目が必要。スコープ、リスク、依存関係、受け入れ条件を集めます。
Ready for development → 即時優先。スコープが明確で、次に着手すべきもの。理想的には約 2 週間以内に完了します。
In dev → DRI が割り当てられ、マイルストーンも設定済みで、作業中。
In review → 実装完了。MR がオープンされ、レビューおよび検証中。
Blocked → 依存関係や外部要因によって進められない状態。ブロッカーと次の確認日をコメントしてください。
Closed → 完了(または重複・「修正しない」としてクローズ)し、結果を記録します。
注: Issue とタスクの両方に存在するステータスである Planning breakdown と Ready for development を選んでいるため、単一のステータスフィルターで統一されたボードと埋め込みテーブルを簡単に構築できます。
マイルストーンプランニング
私たちはマイルストーンごとに計画します。リリースはそれよりもはるかに頻繁かつ柔軟に行いますが、マイルストーンのケイデンスにより、新機能のリリース投稿や、連携が必要な場合の他チームとの足並みを揃えられます。
このプロセスは意図的に最小限にしています。小さく始め、フィードバックループに基づいてイテレーションします。
概要は、2 つの成果物と 2 つの定例活動です:
| 成果物 | 使用時期 | 答える問い |
|---|---|---|
| チームバックログ | 計画前 | 次に何に取り組むべきか? |
| 計画ボード | マイルストーン中 | 状況はどうか? 何が進行中か? |
| 定例活動 | ケイデンス | 実施内容 |
|---|---|---|
| 計画コール(ファンクショナルチームごとに 1 回) | 月次 | チームのキャパシティに基づいてマイルストーンの対象 Issue を確定し、ウェイトを割り当てる。コール時間を節約するため、担当者と Deliverable / Stretch ラベルは代わりに 1:1 で設定する |
| 非同期アップデート | 週次(火曜日の EOD まで) | 全員が担当 Issue に進捗を投稿し、自動化がそれらをグループ全体の 1 つの Issue に集約する |
時系列の詳細フロー
- マイルストーン全体を通して、次のマイルストーンに備えます。 次のマイルストーンで優先したい Issue に
workflow::schedulingラベルを付けます。工数が不明でまだ Issue がない場合は、タイムボックス化したウェイトを持つプレースホルダー(説明は空でも構いません)を作成します。ステータスとラベルを最新に保ちます。計画ボードはマイルストーンの進捗を示すライブビューとしても機能します。 - 計画コールの前。 EM と PM は、フラグが付いた Issue を中心に、非同期でバックログの事前確認を行います。その後、数日前に Slack メッセージで、優先事項のリストと更新済みのバックログページというアジェンダを送信します。コールの前に確認してください。全員が自身の稼働状況(例えば、計画している休暇日数)を大まかに把握しておきます。計画は変更されても構いません。私たちは適応します。
- 月次計画コール(ファンクショナルチームごとに 1 回)。 チームのキャパシティに基づいてマイルストーンにコミットする Issue に合意し、ウェイトを割り当て、計画ボードのキャパシティ機能を使用してキャパシティを計画します。コール時間を節約するため、担当者と
Deliverable/Stretchのラベルは、その後 1:1 で設定します。 - マイルストーン中。 計画ボードには、マイルストーンの状態と進行中の作業が表示されます。週次の非同期アップデートを投稿します。
計画ボード
| チーム | ボード | 表示される Issue |
|---|---|---|
| Duo CLI | dc-duo-cli | category:duo cli ラベル、または gitlab-lsp リポジトリでタイトルに「cli」を含むもの |
| VS Code | dc-vs-code | category:vs code ラベル、または gitlab-vscode-extension リポジトリのもの |
| JetBrains | dc-jetbrains | category:jetbrains ラベル、または gitlab-jetbrains-plugin リポジトリのもの |
チームバックログ
各ファンクショナルチームにはライブのバックログ Wiki ページがあります。テーブルはページ読み込み時に自動更新され、このマイルストーンで追加、次に優先、コミュニティからの上位リクエスト、バックログ全体を網羅します:
💡 Issue がチームのバックログページに表示されるのは、チームのカテゴリーラベル(
category:duo cli、category:vs code、category:jetbrains)が付いている場合だけです。各ページには、チームのリポジトリ内でラベルの付いていない Issue を表示する「missing category label」セクションがあり、ラベル付けの自動化は meta#398 で追跡されています。
参加方法(チーム外のメンバー向け)
チームに Issue を知らせたい場合は、Issue を作成してください。Issue がまだ存在しない場合は、#s_ai-clients-questions で連絡してください。
フィードバックループ
このプロセスは v1 です。約 2 マイルストーンごとにチームチャンネルで簡単なフィードバック投票を行い、各月次計画コールには常設の 5 分間のレトロスペクティブ枠を設けます。
チーム同期ミーティング
私たちは、AI Clients ステージ全体で開催される週次同期ミーティングに参加します。
- コールは週ごとに APAC/AMER と EMEA/AMER に都合のよい時間帯を交互に設定するため、全員が少なくとも隔週で無理なく参加でき、毎週非同期でも貢献できます。
- 週次同期ミーティングのアジェンダは公開されており、全員が足並みを揃えるための関連トピックを持ち込めます。
- 録画は GitLab Unfiltered の Editor Extensions Category プレイリストにアップロードされます。
週次の非同期アップデート
積極的に取り組んでいる各 Issue に、Dev Check-in (editor-extensions) コメントテンプレートを使用してアップデートを投稿します。
注意: 非同期アップデートは毎週火曜日の EOD までに投稿してください(休暇の場合はそれより前に投稿します)。
アップデートは、ファンクショナルチームごとのセクションを持つ 1 つの週次 Developer Clients Issue に自動集約されます(Issue の例)。
Issue のラベル
AI Clients のラベル付けガイダンスを確認してください
私たちが追加で使用するラベル:
| ラベル | 説明 |
|---|---|
Deliverable | マイルストーンに対してコミット済みの項目(必達作業)。 |
Stretch | 優先度リストの次の項目。マイルストーンの意欲的な目標として追加します |
Issue のウェイト
ウェイトは、フィボナッチ数列(1, 2, 3, 5)を使用し、複雑さの大まかな見積もりとしてマイルストーンプランニング中に割り当てます:
| ウェイト | 大まかな工数 |
|---|---|
1 | 約半日(タイプミスや小さな設定調整など、コーヒーを飲む間に済む修正を含む) |
2 | 1 〜 2 日 |
3 | 約 3 日 |
5 | 約 1 週間 |
8 | 1 週間半 〜 2 週間。分解が必要です |
- この尺度は比例します。ウェイトの数値がおおむねそのまま営業日数に相当します(
5は 1 週間)。そのため、ウェイトを合計して比較できます。たとえば、合計が8になる複数の Issue は、おおむね 1 つのウェイト8と同程度のコミットメントです。 - これはマイルストーンのキャパシティを把握するための大まかなサイジングとして使用します。実装の詳細に踏み込めば変わる可能性が高いため、正確な見積もりを出そうとしすぎないでください。
- ウェイト
8の Issue にはそのまま取り組まず、より小さな Issue に分解するか、まずスパイクとしてタイムボックス化します。
グループ間のオーナーシップと境界
エディター拡張機能のシステムは、さまざまなグループが所有する機能やモジュールをホストしています。
オーナーシップと境界ページでは、私たちのシステムで機能を作成・保守するすべての関係者に明確さをもたらし、期待値を明確にしています。
🔗 便利なリンク
- 計画
- ダッシュボード & モニタリング
- その他
- 週次同期ミーティングのアジェンダ
- GitLab Unfiltered YouTube チャンネルの Editor Extensions プレイリスト
JetBrains
VS Code
a1f3c26a)
Amr Elhusseiny
Alejandro Metke Jimenez
Andrei Zubov
Juhee Lee
Karl Jamoralin
Malte Heuser
Mohammed Osumah
Tomas Vik