GitLab アジャイルポートフォリオ管理 - ハンズオンラボ: Issue を整理・管理する
完了までの推定時間: 45〜60 分
目標
Issue を管理するために、GitLab は各 Issue にメタデータを提供しています。メタデータを使うと、ウェイトや期限などの Issue の詳細を定義できます。このラボでは、Issue のメタデータを表示・管理する方法を学びます。
Epic: Issue をエピックに関連付けます。
Milestone: GitLab のマイルストーンは、特定の期間内に広範な目標を達成するために作成された Issue とマージリクエストを追跡する方法です。
Labels: Issue にラベルを適用します。Issue をソートおよびフィルタリングするために使用できるメタデータタグです。
Weight: 特定の Issue が持つまたはかかる時間、複雑さ、または価値を測定するためのウェイト値を Issue に適用します。
Due date: Issue に期限を設定し、機能が時間通りに出荷されるようにします。
Iteration: Issue をイテレーションに関連付けて、一定期間にわたって追跡します。これにより、チームは速度と変動性のメトリクスを追跡できます。
Issue とメタデータについてはドキュメントで詳しく学ぶことができます。
タスク A. Issue のメタデータを設定する
Family Budget Calculator プロジェクトで、左ペインの Plan > Issues をクリックしてください。
前のラボで作成した Third-party financial services integration Issue をクリックしてください。
Issue のメタデータペイン(画面の右側)で、Parent フィールドの横の Edit をクリックしてください。
一覧の Investment Tracking をクリックして、この Issue を Investment Tracking エピックに割り当ててください。
Issue のメタデータペイン(画面の右側)で、Iteration フィールドの横の Edit をクリックしてください。
Team sprints の中で最も直近の最初のイテレーションをクリックして、この Issue をそのイテレーションに割り当ててください。
Issue のメタデータペイン(画面の右側)で、Due date フィールドの横の Edit をクリックしてください。
カレンダーを使用して、Issue の期限を今日から 1 週間後に設定してください。
Issue のメタデータペイン(画面の右側)で、Labels フィールドの横の Edit をクリックしてください。
Status::WIP ラベルを適用してください。Issue は同じスコープ(ラベルの「Status::」の部分)を持つ複数のラベルを同時に持てないため、これにより以前の Status::Open ラベルが置き換えられることに注意してください。
スコープ付きラベルの詳細についてはドキュメントを参照してください。
Issue のメタデータペインで、Weight フィールドの横の Edit をクリックしてください。
2という値を入力し、メタデータペインの外をクリックして Issue のウェイトを設定してください。Awesome Inc > Software グループに移動してください。左ペインの Epics をクリックしてください。Investment Tracking エピックをクリックしてください。エピックの詳細ページに Third-party financial services integration Issue が表示されていることを確認してください。
左ペインの Plan > Iterations をクリックしてください。Issue を割り当てたイテレーションをクリックしてください。イテレーションの詳細ページに Third-party financial services integration Issue が表示されていることを確認してください。
タスク B. Issue とエピックを整理・昇格・リンクする
Family Budget Calculator プロジェクトで、左ペインの Issues をクリックしてください。
Backend services Issue をクリックしてください。このイニシアチブの規模を考えると、この Issue はエピックとして設定し、説明内の各 To-Do を個別の Issue にする方が適切だと気づきます。
この Issue をエピックに昇格させるには、Issue のコメントフィールドに
/promote_to epicクイックアクションを使用して Comment をクリックしてください。クイックアクションは、GitLab のユーザーインターフェースでボタンやドロップダウンを選択することで通常実行される一般的なアクションのテキストベースのショートカットです。Issue、エピック、マージリクエスト、コミットの説明やコメントにこれらのコマンドを入力できます。クイックアクションの詳細についてはこちらをクリックしてください。
また、Edit ボタンの横の縦の省略記号をクリックし、表示されるメニューで Promote to epic をクリックすることでも Issue をエピックに昇格できます。
クイックアクションを適用すると、Backend services は Core グループレベルのエピックになります。クイックアクションはコメントを残さないため、「/promote」というコメントは表示されません。ページ上部のパンくずリストを使用して Core サブグループをクリックしてください。
左ペインの Epics をクリックしてください。
新しく作成した Backend services エピックをクリックしてください。
エピックの To-Do 項目を個別の Issue としてリンクしたいと思います。Issue をエピックに昇格させることはできますが、To-Do 項目を Issue に昇格させることはできません。代わりに、各 To-Do 項目に対して新しい Issue を作成する必要があります。Child issues and epics タブで Add > Add a new issue をクリックしてください。
Issue のタイトルとして
Create DBと入力してください。Project ドロップダウンで、現在まで作成されている唯一のプロジェクトであり、すべての Issue はプロジェクトに属する必要があるため Family Budget Calculator を選択してください。
右上の Create issue をクリックしてください。
前の 4 ステップに従って、
Create service infrastructureとBackend documentationの Issue を作成し、どちらも Backend services エピックにリンクしてください。Create DB Issue をクリックしてください。
Issue の右側のメタデータペインで、Issue を Backend Services Deployed マイルストーンに割り当ててください。
Create service infrastructure と Backend documentation の Issue を Backend Services Deployed マイルストーンに割り当ててください。今まではすべての Issue が必然的に Family Budget Calculator プロジェクトで作成されてきましたが、要件が増えるにつれ、一部の Issue をより適切なプロジェクトに移動することがベストです。
Software > Core サブグループに移動してください。
Core グループのランディングページから New project をクリックし、Create blank project をクリックしてください。
Project name フィールドに
Databaseと入力してください。Visibility Level はデフォルトの選択のままにしてください。
Initialize repository with a README チェックボックスを有効にしてください。
Create project をクリックしてください。
Core サブグループの Family Budget Calculator プロジェクトに戻ってください。
左ペインの Issues をクリックしてください。
Create DB Issue をクリックしてください。
Issue の詳細ページで、右側のメタデータペインの下部までスクロールして Move issue をクリックしてください。
Database プロジェクトを選択し、Move をクリックしてください。
ページ上部のプロジェクト見出しとパンくずリストが Database プロジェクトの一部であることを示していることを確認してください。
タスク C. 説明テンプレートを作成して適用する
ページ上部のパンくずリストを使用して Awesome Inc グループに移動してください。
グループのランディングページの右上で New Project をクリックしてください。
Create blank project をクリックしてください。
Project name セクションに
Description Templatesと入力してください。このプロジェクトには、組織全体の Issue とマージリクエストの事前入力に使用できるテンプレートが保存されます。既存のプロジェクトを他の場所からインポートするのではないため、Initialize repository with a README チェックボックスを有効にしてください。他のオプションはすべてデフォルトのままにしてください。
Create project をクリックしてください。
プロジェクトのランディングページで、プロジェクトタイトルの下近くのページ上部にある (+) ドロップダウンをクリックしてください。
This Directory > New file をクリックしてください。
File name フィールドに
.gitlab/issue_templates/technical_spike.mdと入力してください。ファイルの内容として以下を貼り付けてください。
## Instructions Use this issue to capture research that must take place before continued development of a feature. ### Summary <!--In 2 sentences or fewer, describe the problem to be solved or the question to be answered. --> ### Impact Statement <!-- Describe importance of solving the problem. How will it affect the feature or product direction? --> ### Tasks - [ ] Assign participants and DRI - [ ] Apply appropriate priority and team labels - [ ] Assign to an upcoming product sprint /label ~"Status::Open"テンプレートがクイックアクションを使用してラベルを割り当てていることに注意してください。このテンプレートが使用されると、作成時にラベルが自動的に割り当てられます。
Commit changes をクリックしてください。
セキュリティに関する注意: マージリクエストなしでメインブランチに直接コミットすることは、エンタープライズレベルのプロジェクトではお勧めしません。
ページ上部のパンくずリストを使用して Awesome Inc グループに戻ってください。
左ペインの Settings > General をクリックしてください。
Templates セクションまでスクロールして Expand を選択してください。
Templates ドロップダウンで Description Templates プロジェクトを選択してください。
Save changes をクリックしてください。
これでテンプレートを Issue 作成時に適用できるようになりました。Awesome Inc > Software > Core > Database プロジェクトに移動してください。
左ペインの Plan > Issues をクリックしてください。
New issue をクリックしてください。
Title フィールドに
Identify tuning parameters to reduce performance bottlenecksと入力してください。Description フィールドで Choose a template ドロップダウンを展開し、technical_spike 説明テンプレートを選択してください。
(オプション)説明を編集して Issue に関する詳細情報を追加してください。
Assign to me リンクをクリックして自分自身を Issue に割り当て、Create issue をクリックしてください。
Issue の詳細ページで事前入力された説明とメタデータを確認してください。
変更のご提案
マージリクエストに変更を提案したい場合は、マージリクエストを使用して送信してください。
