(後編)プロジェクト管理サービス「Azure Boards」入門 ~Microsoft Azure DevOps入門~


""

(2020年8月21日掲載)

こんにちは。ソフトバンクの島崎と申します。
本ブログは前編、後編からなり、以下のプロジェクトにおける課題を解決するために、「Azure DevOps」サービスの一機能である、「Azure Boards」に関しての解説を行っています。今回は後編になります。

【プロジェクトにおける課題】

  • チームにおけるタスク管理が煩雑になっており、やるべきタスクがわからない
  • チームメンバーが、何の作業をしているかわからない
  • 納期に対して、どこまで進捗しているかわからない

前編では、「Azure Boards」を利用するために、「Azure DevOps」のデプロイを行いました。詳細に関しては、「(前編)プロジェクト管理サービス「Azure Boards」入門」をご確認ください!
(前編)プロジェクト管理サービス「Azure Boards」入門

リモートワークが中心になりつつあり、チームで直接顔を合わす機会も減っている中、タスクやプロジェクト管理の難しさが増しているかと思います。コード開発とは関係のないプロジェクトでも、「Azure Boards」は大変便利なツールになりますので、ぜひご覧いただければと思います!

目次

4. Azure Boardsを触ってみる

ここからいよいよ、「Azure Boards」を使って、タスクの管理・進捗の管理を行っていきます。Azure Boardsには5つの機能があると紹介しましたが、まずは「Work items」から紹介していきたいと思います。

4.1 「Work items」:タスクを作成する

「Work items」より、タスクを作成していきます。Work itemには、以下の種類があり、それぞれの用途に応じて使い分けます。前編手順「3.3-①」で選択したAzure DevOpsの種類により、利用できる「Work item」の種類も変わってきます。今回は「Basic」で作成したので、以下の3つのWork itemを作成することができます。

【「Basic」で利用する「Work item」】

・Epic

問題・課題の大項目のこと。開発の現場でいうと、開発は必要な機能、ユーザがほしいと思われる機能などのこと。
(例:〇〇アプリのモバイル対応、△△システムの検索速度の向上、など)

・Issue

 問題・課題の中項目。Epicを達成するために行うこと。
(例:〇〇機能開発、〇〇ロジックの変更など)

・task

 Issueを達成するために実施する「実際の作業」。
(例:〇〇クラスへの△メソッドの追加、△変更に対するテストコード修正など)

また、各項目の関係は以下のようになっており、ツリー型の構造をしています。

参考:Basic, Agile, Scrum, and CMMI

まずは、最も上位層に位置する「Epic」を作成します。

① Azure DevOpsの左タブより、「Boards」を選択します。

""

② 「Work item」を選択します。

""

③ 「New Work Item」より、3種類の中から、「Epic」を押します。

④ Epicを作成するために、以下の項目を入力し、「Save」を押します。

  • Enter Title:(任意のEpic名)
  • Assignee:(このEpicの担当者)
  • Description:(本Epicの説明)
  • Planning:(優先度、開始日、終了日。※集計され、グラフ化されます)

""

これでEpicが作成されました。上記の「Description」欄にて、ユーザ同士でコミュニケーションをとり、本トピックに対して議論を行うこともできます。※メールの代わりに用いたり、記録として情報を残すのに利用されます。

 左タブの「Work items」を選択し、一覧に戻ります。作成された「Epic」が表示されていることが確認できます。

""

⑤ 同様の手順で、「issue」を作成します。「New Work Item」より、「Issue」を選択します。

⑥必要な項目を入力します。

⑦「Issue」を「Epic」に紐づけるため、「Related Work」の「Add link」を押します。
 上記の通り「Basic」の「Work item」は、「Epic→Issue→Task」という階層で、管理されるため、本手順にてその紐づけを行います。これにより、各項目の関連性を設定することができます。

""

⑧上記で作成したEpicを紐づけるため、「Existing item」を選択します。

⑨以下を入力して、「OK」を押します。これで紐づけ完了です。

  • Link type :Parent(本Issueの「親」(上位層)として紐づける)
  • Work Items to link:(作成した「Epic」を選択)

⑩「Save」を押し、「Issue」を保存します。これでIssueが作成されました。

""

⑪「Work items」一覧に戻り、上部「New Work Item」を押します。
 これまでと同様にして、「Task」を作成していきます。

⑫各項目を入力します。合わせて、「Add Link」より、紐づけも行います。全て入力したら、右上「Save」を押して、「Task」を保存します。

=""

⑬左タブより、「Work items」の一覧に戻ります。

""

上のように、作成した「Work item」が確認できるかと思います。以上で、「Work item」の「Epic」「Issue」「Task」を作成することができました!
このようにして、各タスクを「Work item」という形でチケット化し、タスクの管理を行います。各タスクは、プロジェクトに参加しているメンバーで閲覧することが可能となり、各チケット内のコメントでコミュニケーションを行うことができます。各メンバー間でのコラボレーションを円滑に行うことができるようになります。

4.2 「Boards」:かんばんボードでタスクを管理する

「Work item」が多くなってくると管理が煩雑になり、現在の進捗状況を把握することが難しくなります。その問題を解決するのが「Boards」の機能になります。これはいわゆるかんばんボードであり、各「Work item」を一つのかんばんボードで一元管理し、進捗状況を一目で確認できるようになります。

① 左タブより、「Boards」を押します。以下のように「Boards」が表示されます。

(ⅰ)列(カラム)の名称

「To Do(未着手)」「Doing(着手中)」「Done(完了)」の3つのステータスがデフォルトで設定されています(変更することもできます)。このステータスを用いることで、現在のタスクの状態を一目で判断することができます。

(ⅱ)New item

上記で行った、「Work item」の追加をBoards上からでも行うことができます。

(ⅲ)作成した「Work item」

手順「4.1」で作成した「Work item」が管理されていることがわかります。タイトルや担当者、紐づけされているTaskの数を確認することができます。
また、ドラッグすることで、ステータスを「To Do」→「Doing」→「Done」に移動することができます。

(ⅳ)かんばんボードの種類

今回プロジェクトの作成段階で、「Basic」を選択したので、「Issues」と「Epic」の2種類のかんばんボードがあります。

""

4.3 「Backlogs」:バックログのWork itemを一元管理する

「Backlogs」では、ステータスが完了になっていない「Work items」の管理や、そのスケジュールの割り当てをすることができます。「Work item」の数が多くなるとどのタスクを、いつ行うか、管理が煩雑になります。それを管理しやすくする機能が、「Backlogs」になります。

① 左タブの「Backlogs」を押します。
以下の画面が表示されます。代表的な用語を説明します。

  • Order :「Work item」の優先度 
  • State :「Work item」のステータス(「To Do」/「Doing」/「Done」)
  • Planning :スケジュールの管理をします(後述)
  • Issues:「Backlog」の種類(「Issue」/「Epic」)

""

「Work item」が少ないと優先度がわかりづらいため、いくつか適当な「Issue」を作成します。

② 上タブの「New Work item」より、新たに2つ「Issue」を作成します。
作成すると以下のような画面になるかと思います。

""

③また作成した「Issue」を選択し、右下「Related Work」>「Add link」>「New item」より、新しい「Task」を作成、紐づけを行います。

以下のような画面になるかと思います。(新規で「Issue」を2つ、それぞれのIssueに「Task」を紐づけしています)

""

④次に、スケジュールの管理をするために、Sprintを追加するため、右下の「New Sprint」を押します。
この「Sprint」は、期間を表し、Sprintに各Work itemを追加することで、各作業がいつから始まり、いつまでに終わらせる必要があるかの「期間」を管理することができます。

⑤各項目を入力し、「Create」を押します。

  • Name:(Sprintの任意の名前)
  • Start :(Sprintの開始日)
  • End :(Sprintの終了日)
  • Location:(projectを選択。デフォルトのままで問題ないです。)

今回は全部で3つのSprintを作成しました。

⑥これまで作成したWork Itemをスケジュール管理するため、ドラッグ&ドロップをしてSprintに追加していきます。
それぞれのSprintに「Work items」を割り当てた場合、以下のようになります。SprintにWork itemが割り当たっていることが画面から確認できます。

このようにして、「Backlogs」では、特定の「Work item」の一覧とその優先度を確認することができます。また、「Sprint」に、各「Work item」をそこに割り当てることができます。これにより、完了していないタスクを可視化し、どれを優先的に取り組むか、チームメンバーに共有することができます。
次より、上で作成した「Sprint」の詳細について見ていきます。

4.4 「Sprint」:スケジュールを管理する

「Sprint」では、プロジェクトの、現在実際に進んでいる作業の詳細や、各作業期間(Sprint)におけるキャパシティを管理したりすることができます。

①左タブの「Sprint」を押します。現在のSprintの「Work item」の状況をかんばんボードで確認します。

【主な表示項目】

(ⅰ)Sprint内で利用できるサービス一覧

各Sprintにおける、かんばん機能を提供する「Taskboard」のほかに「Backlog」、「Capacity」などがあります。

(ⅱ)Issue

本Sprint内にある「Issue」が表示されます。

(ⅲ)列(カラム)

各「Task」のステータスを管理でき、デフォルトで「To Do」「Doing」「Done」が表示されます。

(ⅳ)Task

各Issueに紐づいた「Task」が表示されます。

(ⅴ)Sprint

現在の作業のスケジュール期間(Sprint)が表示されます。また、ここからSprint(期間)を選択することができます。

(ⅵ)Assigneeの選択

担当者を選択することで、表示されるTaskをフィルターします。

""

この「Taskboard」により、各Sprintにおける、Issueとそれに紐づくTaskを一元管理し、進捗を確認することができます。

②次に、各メンバーのキャパシティ(工数)を管理するために、以下赤枠に「Task」で必要な時間(h)を入力します。(後程、全体時間に対するスケジュールをグラフで確認することができます。)

""

② 次に、「Capacity」を選択します。

""

④以下の通り、「Capacity per day」に任意の数字を入力し、「Save」を押します。
(これは、該当する担当者が、右上記載のSprintの一日の間に作業ができる時間(h)になります。)

""

⑤上部タブより、「Taskboard」を選択し、Taskboardに戻ります。

⑥工数のグラフを確認するため、「View options」を押し、「Work details」を選択します。

""

以下のようなグラフが表示されるかと思います。

・Work

Sprintの期間全体に対するメンバーの作業時間と、Taskに割り当てられた時間のグラフになります。各数字は以下で計算されています。
合計時間(上記48h)は、「メンバーの作業時間/日(手順④で設定した8時間/日) × Sprintの日数(手順4.3-⑤で設定した6日)」で計算されています。
また、Taskへの割り当て時間(以下の5時間)は、「Taskに割り当てられた作業時間(4.4-②)」の合計になります。

・Work By:Activity

「Task」に関連付けられた業務内容を示すActivity(Development/Designなど)ごとの時間の管理を行うことができます。
(今回は、特に設定していないので、Activityは「unassingned」となっています)

このグラフより、チーム全体でどれだけの時間があって、すでにTaskに割り当てられている時間はどのくらいかを確認することができます。これを用いることで、あとどの程度の時間を新しい作業に充てることができるかを一目で判断することができます!

4.5 「Queries」:「Work item」を検索する

最後に「Work item」の検索機能である「Queries」を解説します。条件を設定して、検索したい「Work item」を簡単に見つけることができます。

①左タブより、「Queries」を選択します。

③ 上部タブより、「+ New query」を押します。

④ 以下を参考に条件を設定します。

・And/Or

複数のクエリ条件を組み合わせる際に、すべて満たす場合は「And」、いずれかを満たす場合は「Or」を選択します。

・Field

「Work item」に関係する設定内容(Work itemのタイプ、開始日など)のうち、検索したいものを選択します。

・Operator

各不等号の条件(「=」「>」「<」など)を選択します。

・Value

「Field」に対応する値(issue、4/30など)を選択します。

④ 条件を選択したら、「Run query」を押し、検索を行います。

例えば、「Work item」が「Issue」になっているものから、作業者を設定して、「Run query」で検索を行うと、以下のように条件に合致した結果を確認することができます。

""

作業者やスケジュール等による検索を行うことで、管理する「Work item」が多くなった時でも、簡単にタスクの管理を行うことができます。

5. まとめ

今回、Azure DevOpsのかんばん機能である、「Azure Boards」を解説しました。この機能を用いることで、各メンバーのタスクや、プロジェクト進捗を簡単に見える化することができます。 

リモートワーク時代に、直接コミュニケーションを取らずとも、メンバーやプロジェクトのタスクを理解するのに強力なツールとなる「Azure Boards」をぜひこの機会にお試しいただけますと幸いです!

ここまで前編、後編に渡り、最後までお読みいただいて、ありがとうございました!

""

関連サービス

Microsoft Azure

Microsoft Azureは、Microsoftが提供するパブリッククラウドプラットフォームです。コンピューティングからデータ保存、アプリケーションなどのリソースを、必要な時に必要な量だけ従量課金で利用することができます。→詳細はこちら