はじめに
Azure Boardsについて、よく聞かれるのが「どれ使えばいいの?」とか「複数行ったり来たりがめんどくさい」という話です。
- Work Items
- Boards
- Backlogs
- Sprints
- Queries
- Plans
(一番下のDependency Trackerは拡張機能なので標準では入っていません)
特にBoards/Backlogs/Sprintsの違いって何よ?と思われるでしょう。どんな使いわけになるのか、簡単に紹介しようと思います。私の主観なので「こんな風に使ってるよ」みたいな話があれば教えてください。
Work Items
Work Itemを作成、一覧で見るための画面です。この画面はおそらくみんなが使う画面で、現在のタスクが一覧で表示されるのでとりあえず見るだけならわかりやすいですね。左上のRecently updated
と書かれているところに複数の選択肢がありますが、これはまた別のエントリーで紹介します。
- 自分のタスクもしくは自分のアクティビティを見る
- 関心のあるタスクを見る
- 自分がメンションされたタスクを見る
- 直近で変更されたタスク一覧を見る
- 直近で完了したタスク一覧を見る
- 直近で作成されたタスク一覧を見る
というように、タスクの扱いにフォーカスした画面です。作成するときやざっくり見るにはいいのですが、今何をしなければならないのかというフォーカスではないので、スプリント中の作業を行うときはあまり見る必要はない画面になります。
CSVを使ったタスクの一括インポートもこの画面からできます。
Boards
チーム単位でBacklog ItemやFeatures単位で切り替えて進捗を確認するための画面です。Backlog Itemから直接タスクやテストの登録ができます。
View as Backlog
をクリックすると、Backlogsに遷移します。バックログ単位でどの状況になっているのか、ミーティングでチームごとにざっくりチェックするときに向いていますね。
デフォルトではNew, Approved, Committed, Done(スクラムの場合)ですが、これは増やせます。慣れてきたら分割も検討すればいいと思いますが、具体的な方法は別途解説します。
Backlog
Backlog Itemの状況を見るのはBoards画面でいいのですが、現在のスプリントで何をやるのよとか、次のスプリントで何やるのよという状況確認には不向きです。
それを補うのがこのBacklog画面です。現在のIterationでどのタスクがあるのか、タスクのコスト(タスクごとに作業コストを見積もって入力しておきます)がどのくらいあるのか、次のスプリントはどうなるのか、そしてついでにスプリントの作成といったこともできます。
チームごとで実際に開発作業期間中のタスクを見る場合はこの画面が向いています。
この画面でView as Board
をクリックすると、BacklogからBoardへ遷移します。
Sprints
次はSprintsです。これはIteration(Sprint)単位でのカンバンとなります。おそらく世の中のカンバン形式で表示しているタスク管理ツールと最も似た表現形式です。
最もよく使われるのはこのバックログ配下のタスクの状態を確認するビューでしょう。これはバックログでグループ化していますが、人単位でのグループ化(管理者はこれが見やすいですね)、View Options
でサイドバーを表示させれば、チームアクティビティがどれだけ残っているか、分類された作業(Development, Test, Documentなど)がどれだけ割り当てられているかという状況も一眼でわかります。
そのサイドバーで誰がどのくらい作業をしているか、チームとしてどのくらい作業を割り当てられるか設定するための重要な項目がこの画面にあるCapacity
です。
名前の隣からDays off
、Activity
、Capacity per day
です。最初の頃は入れなくてもいいと思いますが、慣れてきてチームとしての作業見積もりを正確にやっていきたいと考えるならば入力をお勧めします。
Days off
はそのIteration内で仕事をしない日です。土日は基本考えないので(有効にもできます)、日本で言えば祝日や予定されている休暇などを考えればいいでしょう。個人単位でもいいですが、祝日のように全員必ずいないとわかっている場合は一番下のTeam day off
に指定すればチーム全体でのおやすみとなります。
Activity
はIteration内でどの種類の作業を何時間やるか、という枠の設定です。画面では一つのActivityのみ指定していますが、Documentを3、Deploymentを3といったように複数指定も可能です。
Capacity per day
はその作業を1日あたり何時間作業できるか、ということです。1日の労働時間が8時間といっても、実際は会議などがあるので8時間丸々使えることはないので、せいぜい5-6時間というところでしょうか。
Iteration内の1日あたりの作業時間なので、サービスイン直前だからたくさん頑張るという場合は8以上の値を指定しても問題はありません。勤怠とは別ということを忘れずに。
Queries
今まではタスクの表示結果を中心に見ていましたが、タスクが終わったかどうかだけではなく、何日間進捗が出ていないかとか、複数チームにわたってクローズされたタスクの一覧を見たいとかそういう要求は責任者を中心によくあります。
そのような要件で使うのがこのQueries画面で定義する検索クエリです。ここで定義した検索クエリは個人だけではなく、チームで共有して使えます。また作成したクエリはこの画面だけではなく、ダッシュボードのウィジェットのソースとしても使えます。
このようにGUIで検索用のクエリを組み立てます。クエリの構文などはこちらをご覧ください。
REST APIでもクエリを組み立てて、特定のタスクの抽出ということができます。
作成したクエリは保存して、お気に入りとして登録しておけばいつでも呼び出せます。
保存先は階層で指定できます。
この保存したクエリはOffice Integrationを使ってExcelからの一括登録、編集も可能です。こういうツールを使い始めるとき、必ず言われるのが「Excelで見たいんだよね」ということですが、そういう人にはOffice Integrationをすすめてみてください。Azure DevOpsに接続できるライセンスを持っている方であれば無償で使用可能です。Visual Studioインストールするときにも追加できますが、標準では入らないので、明示的にコンポーネントで追加してください。
Plans
複数のチームが作業しているとき、権限のあるチームであればカンバンを切り替えればどのIterationで何をやっているかというのはわかるのですが、切り替えが面倒です。そういう時に便利なのがPlansです。複数のチームがどのIterationを実行しているか、その中で何をやろうとしているのか、ということがわかりやすいです。
Planは複数作成できるので、視点を変えたり、特定のチームの関連だけ見たいというときは複数作ってください。でもよほどの規模にでもならない限り、一つか二つで充分だとは思います。
新規作成します。名前を付けて、対象のプロジェクト、チーム、バックログのレベルを選ぶだけです。Field Criteria
は歯車アイコンからも設定するのですが、バックログのタスクが多くなるとここで表示するのも大変です。なので、「状態がCommittedになっているもののみ表示する」という設定を行うためですね。また解説します。
こんな風に構築したPlanが一気通貫で見えるようになりました。チームごとに異なるIterationを作っていたとしても、時間軸で何をやるのかわかりやすくなっています。
おまけ:タスクのAnalysis
タスクどのくらいやったか、可視化されるとわかりやすくなります。Analysisでは自分でチャートを作って、貼り付けられます。これは自分の作業を集計したものですが、例えば、チームメンバーがどれくらいタスクを抱えているかとか、今週Doneになったタスクはどのくらいあるのかといった情報が可視化されます。
同じものはDashboardでもQuery Tileというウィジェットで用意されています。
今はBurndown chartやOverviewにあるAnalytics Viewを使ってPower BIでの可視化もできるようになっているので、そちらも活用してください。外部に見せるにはAzure DevOpsのアクセスを考える必要もないので、Power BI使ったほうがいいでしょうね。
終わりに
Azure Boards内にはいろいろ見るビューが用意されていて「どれ使えばいいの?」となりやすいですが、シチュエーション別に設計されているので、実際立場によってつかうものは1-2種類くらいで終わると思います。ほとんどがBacklogsかSprintsでしょう。
うちではこんな活用している!みたいな話があればぜひ教えてください。