開発者別 PR とは
開発者別 PR は、各チームメンバーが完了したクローズされたプルリクエストの数を、週ごとにグループ化して測定します。このメトリクスは実際の結果と完了した作業に焦点を当て、個人の開発者の生産性とチームの作業負荷分布についてのインサイトを提供します。計算方法
クローズされたすべてのプルリクエストを自動的にトラッキングし、月曜日を起点に開発者と週でグループ化します。これにより、誰がいつ作業を完了しているかを明確に確認できます。 トラッキング対象:- クローズされた PR: 完了したすべての PR(マージまたはクローズ)
- 開発者の帰属: 各完了した PR の作成者
- 週次集計: 月曜日を起点とした週でグループ化
- 完了数: 開発者ごと・週ごとに完了した PR 数
- オープンまたはドラフトの PR
- 有効なクローズ日のない PR
- 未完了またはキャンセルされた作業
重要な理由
開発者別の PR 完了を理解することで:- 個人のアウトプットを測定: 最も多くの作業を完了しているのは誰かを確認
- 生産性パターンの特定: 週次のリズムとトレンドを理解
- 作業負荷のバランス: チーム全体でより均等に作業を分散
- チームパフォーマンスの追跡: 総チームの速度とアウトプットを監視
チーム管理への影響
- リソース配分: 個人のキャパシティに基づいて作業をより適切に分散
- パフォーマンスの認識: 高いパフォーマーとその貢献を認める
- ボトルネックの特定: 作業が詰まったり遅延する箇所を見つける
- チーム計画: プロジェクトのタイムラインに対する現実的な期待を設定
チームの分布
- バランスが良い: チームメンバー間で均等に分散された作業
- 集中している: 少数の開発者がほとんどの作業を処理
- 分散しすぎている: 多くの開発者に薄く広がった作業
改善方法
個人のアウトプットを増やす
- 明確な目標: 各開発者に具体的で達成可能なターゲットを設定
- スキル開発: 遅延させている領域のトレーニングを提供
- ツールの最適化: 開発者が適切なツールとアクセス権を持っていることを確認
- ブロッカーの削減: 作業完了を妨げる障害を取り除く
チームバランスを改善する
- 作業の分散: チーム全体でより均等に作業を分散
- クロストレーニング: 開発者が異なる領域で作業できるように支援
- ペアプログラミング: コラボレーションと知識共有を奨励
- メンタリング: シニア開発者がジュニアチームメンバーを支援
ワークフローを最適化する
- 明確なプロセス: 作業がチームを通じてどのように流れるかを定義
- 自動化: 手動で繰り返しのタスクを削減
- コミュニケーション: チームの調整と情報共有を改善
- レビューの効率化: コードレビュープロセスを効率化
開発者アクティビティとの主な違い
| 側面 | 開発者アクティビティ | 開発者別 PR |
|---|---|---|
| PR ステータス | ❌ フィルタリングなし | ✅ status = 'closed' |
| 日付の基準 | 作成日 | 完了日 |
| 集計 | 特定の日付別 | 週別 |
| フォーカス | 作成アクティビティ | 完了した結果 |
一般的なパターン
高アウトプット開発者
- 特徴: 週ごとに一貫して多くの PR を完了
- メリット: チームの速度を推進し、パフォーマンス基準を設定
- リスク: 燃え尽き症候群の可能性、知識のサイロ化
- マネジメント: 持続可能なペースを確保し、知識を共有
低アウトプット開発者
- 特徴: 週ごとに完了する PR が少ない
- 考えられる原因: 学習曲線、複雑なタスク、外部要因
- サポート: メンタリングを提供し、タスクを簡素化し、ブロッカーを確認
- 目標: 段階的な改善目標を設定
コンテキストの考慮事項
- PR サイズ: より少なくても大きな PR を持つ開発者は同等に生産的な場合がある
- 複雑さ: 一部の作業は本質的に完了に時間がかかる
- チームの役割: 異なる役割は異なる PR パターンを持つ場合がある
- プロジェクトフェーズ: アウトプットは異なる開発フェーズによって異なる