公開:2024年11月20日
2分で読めます
主要なメトリクスの可視化、プロジェクトの進捗状況の追跡、カスタマイズ可能なデータドリブンビューを使ったチームの生産性の改善など、GitLabインサイトダッシュボードの活用方法について説明します。
メトリクスおよび分析は、生産性や品質を高め、成功を収める上で極めて重要な要素です。包括的なDevSecOpsプラットフォームであるGitLabでは、こういった重要なメトリクスを追跡・可視化するための強力なツールをインサイトダッシュボード上で提供しています。この記事では、ご利用の環境でのインサイトダッシュボードの使用方法についてご紹介します。
GitLabでは、DevSecOpsライフサイクルのさまざまな側面に対応したメトリクスおよび分析ツール群をご用意しています。
開発プロセスに関する貴重なインサイトを得られるこれらのメトリクスを参考にして、ボトルネックの特定、ワークフローの最適化、データドリブンな意思決定を行えます。
あまり目立たないものの、GitLabの特に強力な機能の1つがラベルです。ラベルを使うと、特定のメトリクスに絞り込んで、極めて正確に焦点を当てられます。イシューやマージリクエスト、エピックに戦略的にラベルを適用することで、プロジェクトのパフォーマンスや進捗について的確なインサイトを得られるカスタムビューを作成できます。
用途の広い識別子として機能するGitLabのラベルを使用すれば、作業アイテムを柔軟に分類・整理できます。機能開発やバグ修正、チーム固有のタスクなど、追跡対象が何であれ、ラベルを使用すれば、プロジェクトデータをスライスして、別の視点から分析して意味のあるパターンや傾向を特定することが可能です。この概念は、クラウドのデプロイにおいて、管理やコスト配分、運用上のインサイト取得をスムーズに行うためにタグを使用するのと似ています。
しっかりと考えながら作業アイテムにラベルを付けていくことで、カスタムダッシュボードやレポートの生成に活用できる高度なラベリングシステムが実質的に構築されます。このアプローチにより、チームや関係者にとって最も重要なメトリクスを重点的に取り上げられるとともに、プロジェクトの健全性と勢いに焦点を絞ってわかりやすく可視化できます。
GitLabインサイトを使用すると、プロジェクトやグループに関するデータを調べて可視化できます。特定の期間内に作成された、または完了したイシュー、マージリクエストのマージが完了するまでの平均時間、トリアージの健全性など、さまざまな側面に関する有用な分析情報を得られます。インサイトは、プロジェクトとグループのどちらにも設定できます。
インサイトの設定手順は次のとおりです。
.gitlab/insights.yml
という名前のファイルを作成します。.gitlab/insights.yml
ファイルを作成します。.gitlab/insights.yml
は、レポート内のチャートの構造や順序に加え、表示されるチャートの形式を定義できるYAMLファイルです。各チャートの定義には、タイトル、説明、タイプ、データソースやフィルタリング条件を指定するクエリなどのパラメータを含められます。
インサイトを表示するには、プロジェクトまたはグループで分析 > インサイトの順に移動します。
デフォルトビューでは有用な情報が未加工で表示されますが、インサイトダッシュボードをカスタマイズすれば、各マージリクエストの担当チームや、マージリクエストごとに解決された問題の種類など、より多くの情報が明らかになります。
GitLabでスクワッドの生産性を測定するのは、難しい場合があります。GitLabのグループとサブグループの構造が、実際のスクワッドの構成と完全に一致していない場合は特に困難です。こういった課題に対処し、効果的にスクワッドの生産性を追跡する方法をご紹介します。
squad::alpha
、squad::beta
)および要件タイプ(例:type::bug
、type::feature
、type::maintenance
)ごとに範囲指定した一意のラベルを作成します。ヒント:
.gitlab/insights.yml
ファイルを作成し、チームやタイプ固有のマージリクエストインサイト用のカスタムチャートを定義します。
## Default Merge Requests insights.yml
mergeRequests:
title: Merge requests dashboard
charts:
- title: Merge requests merged per week
type: bar
query:
data_source: issuables
params:
issuable_type: merge_request
issuable_state: merged
group_by: week
period_limit: 12
- title: Merge requests merged per month
type: bar
query:
data_source: issuables
params:
issuable_type: merge_request
issuable_state: merged
group_by: month
period_limit: 3
## Per-teams Merge Requests insights.yml
mergeRequestsTeams:
title: Merge requests dashboard per teams
charts:
- title: Merge requests merged per week
type: stacked-bar
query:
data_source: issuables
params:
issuable_type: merge_request
issuable_state: merged
group_by: week
period_limit: 12
collection_labels:
- squad::alpha
- squad::beta
- title: Merge requests merged per month
type: stacked-bar
query:
data_source: issuables
params:
issuable_type: merge_request
issuable_state: merged
group_by: month
period_limit: 3
collection_labels:
- squad::alpha
- squad::beta
## Per-teams and Type Merge Requests insights.yml
mergeRequestsTeamsAndType:
title: Per Teams and Type - Merge requests dashboard
charts:
- title: Merge requests merged per week - Squad Alpha
type: stacked-bar
query:
data_source: issuables
params:
issuable_type: merge_request
issuable_state: merged
filter_labels: squad::alpha
collection_labels:
- type::feature
- type::bug
- type::maintenance
group_by: week
period_limit: 12
- title: Merge requests merged per month - Squad Alpha
type: stacked-bar
query:
data_source: issuables
params:
issuable_type: merge_request
issuable_state: merged
filter_labels: squad::alpha
collection_labels:
- type::feature
- type::bug
- type::maintenance
group_by: month
period_limit: 3
- title: Merge requests merged per week - Squad Beta
type: stacked-bar
query:
data_source: issuables
params:
issuable_type: merge_request
issuable_state: merged
filter_labels: squad::beta
collection_labels:
- type::feature
- type::bug
- type::maintenance
group_by: week
period_limit: 12
- title: Merge requests merged per month - Squad Beta
type: stacked-bar
query:
data_source: issuables
params:
issuable_type: merge_request
issuable_state: merged
filter_labels: squad::beta
collection_labels:
- type::feature
- type::bug
- type::maintenance
group_by: month
period_limit: 3
このようにカスタマイズすることで、チームおよび要件タイプごとのマージリクエストアクティビティがわかりやく表示される、役に立つ情報満載のダッシュボードを作成できます。それをもとに、長期的なトレンドの可視化、各スクワッドのパフォーマンスの比較、スクワット単位での作業タイプの分布の分析を行えます。
GitLabには、GitLabインサイト以外にも、メトリクスおよび分析関連のツールや機能が多数あります。ぜひ以下のバリューストリーム管理製品ツアーで、バリューストリーム分析やCI/CD分析、コードレビューメトリクスなど、GitLabの強力な分析機能の全容をご確認ください。
カスタムメトリクスの作成を始める準備ができたら、今すぐGitLab Ultimateの60日間無料トライアルにご登録ください。データドリブンのDevSecOpsを最大限に活用しましょう。