Azure Boards Sprints に PBI の Assigned To と Task の State は表示しなくていい

最近、プロジェクトで Azure DevOps を使うことが多くなってきて、「Azure DevOps の Board の正しい使い方を教えてください。」というようなことを、よく質問されるようになってきました。

Azure DevOps は簡単に使い始めることができるので、かえって、自分たちがちゃんと使えているのか不安に思うのかもしれません。Azure DevOps 自体は、自分たちのプロジェクトに合わせて、自由に変えてよいのですが、例えば [Scrum.org ](https://www.scrum.org/resources/what-is-scrum) ではアジャイルのフレームワーク「スクラム」を変えないように（変えてしまうと スクラム じゃないよ）というような事が示されていたと思います。自分たちの好きにかえて、正しくない使い方をしてしまうのは不安。正しく使いたい。という気持ちはよくわかります。

なので、今回は「スクラムとしてAzure DevOpsを使用するにはどうするのがよさそうか」という観点で見てみたいと思います。Azure DevOps にはすでに Scrum テンプレートが設定されているものとします。

## PBI の Assigned To には誰を入れればいいですか？

よくある質問として「Product Backlog Item  (PBI) の Assigned To にはだれを入れればよいですか？」という質問があります。

![Azure DevOps Boards デフォルト表示](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/474869/3d3f11e4-17c4-1c8c-7d90-ba1ac2c5a5a9.png)


このように Sprints の画面では PBI に Unassinged が表示されています。つまり、PBI に Assigned To があって、それがまだ誰も指定されていない（誰にもアサインされていない）ので、このように表示されているということです。

一方で Task の Unassinged はわかりやすいです。To Do のタスクはまだ誰も着手していないので、Unassinged で、タスクが In Progress になると担当者の名前が表示される、と。

そこから類推すると、PBI にも適切な担当者がアサインされるべきだろう、だけどそれはいったい誰だろう？ということになるのも当然だと思います。しかしこれは正しくない、というかデフォルト値がイケてないと思います。

スクラムでは

 - プロダクトバックログ（Product Backlog）は プロダクトオーナー（Product Owner : PO） の責任範囲
 - スプリントバックログ（Sprint Backlog） は 開発者（Developers）の責任範囲
 - プロダクトバックログ アイテム から「そのスプリントでやること」を選んで、スプリントバックログ アイテムにする

という考え方のはずです。そのため、PBI は誰かにアサインされたりしないんですよ。あえて言えば、プロダクトオーナーの名前が入るべきでしょうか。しかし

 - Azure DevOps の Boards では PBI 自体は、プロダクトバックログ と スプリントバックログ で特に変化しない
 - Sprints の表示画面の PBI にプロダクトオーナーの名前が表示されているのは違和感がある
 - そもそもプロダクトオーナーはスクラムチームに1名のはずなので、PBI にプロダクトオーナーの名前が都度表示されている必要もない

 ということで、PBI の Assigned To を設定する必要は特にない（Unassingedのままでいい）し、Sprints に名前を表示する必要もないんですよね。

 ![PBI の Assigned To を表示しない](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/474869/9edc6c0d-df13-36e8-f190-d7026c184115.png)

こんな感じで、表示しないように設定するのがよいと思います。

![PBI の Assigned To を表示しない設定](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/474869/e5e452de-ad33-dde0-90d1-0331bec07418.png)


設定は Sprints 画面の右上の歯車から Settings を開き、Fields で Product Backlog Item を選んで「Show Assinged To as:」のチェックを外せば変更できます。

![Task の State を表示しない設定](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/474869/23426409-d3f3-0e5e-2955-60a6c706d7ba.png)


ついでに Task の State も、カンバンボードの上に表示されている内容がそのまま表示されているだけなので、チェックを外して非表示にしてしまってよいと思います。こちらは、同じくSettings の Fields の Task で、Additional fields に最初から表示されている State をバツボタンを押して消してしまいます。

## タスク の Assinged To にも「アサインしない」
Azure DevOps の Task がスクラム以外でも使用できるので仕方がないのですが、タスクの Assigned To も、スクラムだと「アサインされる」ものじゃないですよね。どちらかというと、自分でタスクを取りに行くというか。まぁ、タスクからすると担当者がアサインされているというのは正しいのかもしれませんが・・・

タスクのカードに Unassinged というのがデフォルトで表示されるので、「あぁ、タスクはまだアサインされていないんだ」つまり「これから誰かにアサインされるんだ」という感じで読み取ってしまうと、スクラムなのに「タスクは誰か上長にあたる人から自分にアサインされるもの」という間違った認識を持ってしまいそうで、これもイケてないと思います。

![タスクを自分でIn Progress に](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/474869/c977a328-9e67-7c2b-d027-ba71ee6cace4.png)

スクラムの Developers に誰かが参加したときには、タスクは自分で取りに行くもの。自分で To Do のタスクを In Progress にもっていくのだということを、何度も伝えるようにしたいですね。

また、リーダーやマネージャー経験があって、スクラムの経験が浅い人には、他の人のタスクをアサインする癖がついているかもしれないので、それをしないように伝える必要もあります。

## 「スクラム」を変更しなければ、Azure DevOps を自由にカスタマイズしてよい

アジャイルのフレームワーク「スクラム」で開発を行うなら、その基本的な部分を変える（誤解を招く、よくない使い方を推奨する）ような設定の変更は、しない方がよいですが、そうでなければ自由に変更が可能です。

<iframe width="560" height="315" src="https://www.youtube.com/embed/nE0ByWOUGxs" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

 - [プレイリスト「Windows デスクトップアプリを作るよ!」](https://youtube.com/playlist?list=PLs15eeoQqKH-Tma0yl-LepTB2bEH4gxnZ)

この動画では、第2話から Sprints の画面をカスタマイズして、誰の名前も表示されないようにしています。ひとりでAzure DevOpsを使う場合にはこれでもいいですよね。