チュートリアルイシュー・トリアージ用の単一プロジェクトのセットアップ

イシューのトリアージとは、タイプや深刻度によって分類するプロセスのことです。プロジェクトが成長し、多くのイシューが発生するようになったら、発生したイシューをどのようにトリアージするかのワークフローを作成する価値があります。

このチュートリアルでは、このために GitLab プロジェクトをセットアップする方法を学びます。

プロジェクトでイシューのトリアージを行うために GitLab を設定するには

  1. プロジェクトを作成
  2. タイプ、重大度、優先度の基準を決めます
  3. 基準を文書化
  4. スコープ付きのラベルを作成します
  5. 新しいラベルの優先順位付け
  6. イシュー・トリアージ・ボードの作成
  7. 機能のイシューを作成

前提条件

  • このチュートリアルで既存のプロジェクトを使用する場合、少なくともそのプロジェクトのレポーターロールを持っていることを確認してください。
  • 以下の手順に従って、プロジェクトの親グループを作成する場合、ラベルを最大限に活用するためには、プロジェクトのラベルをグループのラベルに昇格させる必要があります。最初にグループを作成してください。

プロジェクトの作成

プロジェクトには、今後のコード変更を計画するためのイシューがコンテナされています。

すでに作業中のプロジェクトがある場合は、タイプ、重大度、優先度の基準を決定する に進んでください。

空白のプロジェクトを作成するには:

  1. 左サイドバーの上部にある「新規作成({plus})」と「新規プロジェクト/リポジトリ」を選択します。
  2. 空白プロジェクトの作成」を選択します。
  3. プロジェクトの詳細を入力します。
    • プロジェクト名には Issue triage tutorial を入力します。
  4. Create projectを選択します。

タイプ、重大度、優先度の基準を決定します。

次に決めるのは

  • 認識したいイシューのタイプ。より詳細なアプローチが必要な場合は、タイプごとにサブタイプを作成することもできます。タイプは、チームに要求される作業の種類を理解するために、作業を分類するのに役立ちます。
  • 優先度と重大度のレベル 受信した作業がエンドユーザーに与える影響を定義し、優先順位付けを支援します。

このチュートリアルでは、次のように決めたとします:

  • タイプBugFeature 、そしてMaintenance
  • 優先順位12,3, および4
  • 深刻度12,3, および4

GitLab での定義方法を参考にしてください:

基準の文書化

すべての基準に合意したら、チームメンバーがいつでもアクセスできる場所にすべてを書き留めてください。

例えば、プロジェクト内のWikiやGitLab Pagesで公開されている会社のハンドブックに追加しましょう。

スコープ付きラベルの作成

次に、イシューを分類するためのラベルを作成します。

これに最適なツールはスコープ付きラベルで、相互に排他的な属性を設定するために使用できます。

以前に作成したタイプ、重大度、優先度のリストと照合して、一致するスコープ・ラベルを作成します。

スコープ付きラベルの名前にあるダブル・コロン(::)は、同じスコープの2つのラベルが一緒に使用されることを防ぎます。例えば、既にtype::bugを持つイシューにtype::feature ラベルを追加すると、前のラベルは削除されます。

note
スコープ付きラベルは、PremiumおよびUltimate階層で利用できます。無料ティアの場合は、代わりに通常のラベルを使用できます。ただし、これらは相互に排他的ではありません。

各ラベルを作成するには

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 管理]>[ラベル]を選択します。
  3. 新しいラベルを選択します。
  4. タイトル]フィールドにラベルの名前を入力します。type::bugで始めます。
  5. オプション。使用可能な色から色を選択するか、[背景色] フィールドに特定の色の 16 進カラー値を入力します。
  6. ラベルの作成] を選択します。

この手順を繰り返して、必要なラベルをすべて作成します:

  • type::bug
  • type::feature
  • type::maintenance
  • priority::1
  • priority::2
  • priority::3
  • priority::4
  • severity::1
  • severity::2
  • severity::3
  • severity::4

新しいラベルの優先順位

これにより、優先度またはラベルの優先度でソートした場合、最も重要なイシューがイシュー・リストの一番上に表示されるようになります。

優先度またはラベルの優先度でソートするとどうなるかについては、イシュー・リストのソートと順序付けを参照してください。

ラベルに優先順位を付けるには

  1. ラベルページで、優先したいラベルの横にある星印({star-o})を選択します。このラベルはラベルリストの一番上、[優先ラベル] の下に表示されます。
  2. これらのラベルの相対的な優先順位を変更するには、ラベルをリストの上下にドラッグします。リストの上位のラベルほど優先度が高くなります。
  3. 以前に作成したすべてのラベルに優先順位を付けます。優先度と重大度の高いラベルが低い値よりもリストの上位にあることを確認してください。

List of priority labels

イシュー・トリアージ・ボードの作成

issueバックログに備えるために、ラベルごとにissueを整理するissueボードを作成します。カードを様々なリストにドラッグすることで、素早くイシューを作成し、ラベルを追加することができます。

イシューボードをセットアップします:

  1. ボードの範囲を決めます。例えば、イシューに重大度を割り当てるためのボードを作成します。
  2. 左側のサイドバーで、[検索]を選択するか、[課題トリアージのチュートリアル] プロジェクトを検索します。
  3. プラン > イシューボード]を選択します。
  4. イシューボードページの左上で、現在のボード名のドロップダウンリストを選択します。
  5. 新しいボードの作成を選択します。
  6. タイトルフィールドIssue triage (by severity) と入力します。
  7. Show the Open list] チェックボックスは選択したままにしておき、[Show the Closed list] チェックボックスはオフにします。
  8. Create boardを選択します。空のボードが表示されるはずです。
  9. severity::1 ラベルのリストを作成します:
    1. イシュー・ボード・ページの左上で、リストの作成を選択します。
    2. 表示された列の[値]ドロップダウンリストで、severity::1 ラベルを選択します。
    3. Add to boardを選択します。
  10. ラベルseverity::2severity::3severity::4について、前の手順を繰り返します。

今のところ、ボードのリストは空であるべきです。次に、リストにイシューを入力します。

機能のイシューを作成

今後の機能やバグを追跡するには、イシューを作成する必要があります。イシューはプロジェクトに属しますが、イシューボードから直接作成することもできます。

まず、予定している機能のイシューを作成することから始めましょう。バグを見つけたら、イシューを作成することができます(できれば、あまり多く作成しないでください!)。

課題のトリアージ(重要度別)ボードからイシューを作成します:

  1. 開く]リストで、[新しいイシューを作成する({プラス})]を選択します。未解決リストには、他のボードリストにないイシューが表示されます。

    issueが持つべき深刻度ラベルが既に分かっている場合、そのラベルリストから直接作成することができます。ラベルリストから作成された各イシューにはそのラベルが付与されます。

  2. フィールドを入力します:
    • タイトルの下にUser registration と入力してください。
  3. シューの作成]を選択します。
  4. この手順を繰り返して、さらにいくつかのイシューを作成します。

    例えば、アプリを作成する場合、以下のイシューを作成します:

    • User registration
    • Profile creation
    • Search functionality
    • Add to favorites
    • Push notifications
    • Social sharing
    • In-app messaging
    • Track progress
    • Feedback and ratings
    • Settings and preferences

最初のトリアージ課題ボードの準備ができました!試しに、イシューを [開く]リストからラベルリストのいずれかにドラッグして、重大度ラベルのいずれかを追加してください。

Triage issue board with example issues

次のステップ

次は

  • イシューボードの使用方法を微調整します。いくつかのオプションがあります:
    • 現在のイシューボードを編集して、優先順位とタイプラベルのリストも持てるようにします。この方法では、ボードの幅が広くなり、横スクロールが必要になるかもしれません。
    • Issue triage (by priority)Issue triage (by type) という名前の個別のイシューボードを作成します。こうすることで、さまざまな種類のトリアージ作業を分けて管理できますが、ボードの切り替えが必要になります。
    • チームの引継ぎ用にイシューボードを設定します。
  • 各ラベルでフィルタリングされた課題リストで、優先度や重要度ごとにイシューを閲覧できます。利用可能であれば、“is one of “フィルターオペレーションを利用してください。
  • イシューをタスクに分割します。
  • gitlab-triage gemを使って、プロジェクト内でイシューのトリアージを自動化するためのポリシーを作成します。以下のようなヒートマップでサマリーレポーターを作成します:

    Example triage report heatmap

GitLab におけるイシューのトリアージについてもっと知りたい方は、イシューのトリアージと トリアージオペレーションをご覧ください。