一人システム開発だけど、Azure Boardsを使ってみる①

#概要
一人で開発していて、この手のツールって必要ないのではというツッコミはさておき（汗）、
これからもしかするとチーム作ってやるかもしれないじゃないかという希望を持ちつつ、
Azure Boardsに慣れておこう！という前向きな取り組みの備忘録。


#Azure DevOpsについて
Azure DevOpsは、Microsoftが提供するソース管理やCI/CDのためのサービス群です。
5つのサービスで構成されています。
・Azure Boards
・Azure Repos
・Azure Pipelines
・Azure Test Plans
・Azure Artifacts

過去にQiitaでAzure Reposを使う方法について書いていました。
⇒[Azure DevOps Tips - Visual Studioで新規作成したソリューションをAzure Reposで管理する](https://qiita.com/yossihard/items/b8ee6baa764181234d8a)

一人開発でもソース管理は大事。
⇒ソースのバックアップと言う意味だけじゃなくて。


#Azure Boardsについて
Boardsは、いわばプロジェクト管理ツールで、
開発物の定義から進捗管理までをするものとざっくり思っています。
⇒一人開発だと、ToDoリストでいいんじゃないかという方もいるかもですが（汗）。

まずは諸先輩方の解説記事を読んで、大枠をおさえるところから。
・[Azure DevOps Boards(ボード)の超概要](https://qiita.com/mstakaha1113/items/44458046d5a8568559b5)
・[Azure Boards 入門時の Choose a process](https://masskaneko.hatenablog.com/entry/2020/05/14/095039)


#Azure Boardsを試してみる
[https://dev.azure.com/](https://dev.azure.com/) にアクセスして、Azure DevOpsにログイン。

まずはプロジェクトを作成します。
右上にある『＋Project』をクリックすると、以下のような画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146789/b83ce771-545b-f318-1b01-3a6957c28e81.png)

項目を適宜入力していきますが、Advanced項目の『Work item prcess』については要注意。
何を選ぶかで、Boards作成時のテンプレートが変わるそうな。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146789/fbd8c253-0e3a-7236-b470-b3ad2fd8ed22.png)

選択内容で、Boards内で作成するWork itemsの項目とその表示関係が変わるとのこと。
⇒こちらを参照して下さい。
　[Choose a process](https://docs.microsoft.com/en-us/azure/devops/boards/work-items/guidance/choose-process?WT.mc_id=DOP-MVP-4028478&view=azure-devops&tabs=basic-process)

ここではAgileを選択して作成してみました。

プロジェクトが作成され、Boardsのメニューを展開すると、こんな表示です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146789/89fed795-0efe-e3cc-98b0-eb7acb9a91a0.png)

これからはWork Itemsを開いて、「＋New Work Item」をクリックし、要求や作業を追加していくことになります。
AgileでのWork Itemsには、以下のようなものがあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146789/5c72c92e-d436-c47a-dd74-7796fab05562.png)
※先のプロジェクト作成時にBasicを選択していると、EpicとIssueとTaskしか表示されません。

開発当初では、Epic、Future、User Story、Taskを書いていくことになりますよね。
⇒左から順に上流のイメージ

Epicの作成画面はこんな感じ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146789/679525eb-769e-cd40-94cd-dfaafea07efe.png)

Futureの作成画面はこんな感じ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146789/addc10ef-dd55-95ad-c638-9556f9701598.png)

User Storyの作成画面はこんな感じ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146789/0e89239d-59d0-9446-8ffc-e798ecd27dc9.png)

Taskの作成画面はこんな感じ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146789/c0763cd6-79a0-457b-5ed9-bc0cd12ffacd.png)

Agileの設定では、Epic、Future、User Story、Taskの関係は以下の図のようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146789/6b289faf-58a6-c9e2-fa27-510c12014131.png)

どのFutureがどのEpicに紐づくかは、「Related Work」で設定するようですね。
試しにFutureのRelated Workで「Add Link」をクリックしてみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146789/45c6d2bb-e6fa-cedc-b5df-0a7aa2603b85.png)

新しくItemを追加するか、既存のItemを選択できるようです。
先に作成したEpicと紐づけてみます。

先の画面でExisting Itemを選択すると、以下のような画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146789/dd937b36-cbed-a69c-03e0-45b39fc93325.png)

FutureにとってEpicは上位になるので、Link Typeは「Parent」にしてみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146789/def2635d-5529-cd0c-aeab-d0046abb6ba0.png)

Work Itemには先に作成したEpicを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146789/5c6a8f7c-d138-3a68-1dd6-3e4adb4a500d.png)

OKを押すと以下のような表示が追加されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146789/a4a85a6a-93b8-ab01-d450-9bcb84336253.png)

こんな感じで設定していき、Boardsメニューを開くと、こんな感じに表示されていきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146789/ce6421f8-edd6-a80d-a084-49d8c3e9ba6a.png)

Backlogsを開くと、こんな感じ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146789/c168ea2e-6e9e-70bc-7330-13eebe5b3ccd.png)

長くなってきたので、続きは次回に。

#余談
項目の記載レベル感は、目を瞑ってくださいませ（汗）。
今回はとりあえず使ってみたというところで、
勉強しながら使いながら、記事を追加したり修正していきたいと思います。

一人での製品開発でも、Boardsを使ってWork Itemsを追加していくことで、
市場ニーズ（と考えていること）や実現したいこと、実装すべき機能などがうまく整理できそうですね。
⇒というか、整理しないと記載レベルがバラバラになるんでしょうね・・・。

後でわかったんですが、Work Itemsのメニューから項目を追加するより、
EpicとFutureを作った後は、BoardsとBacklogsの画面で項目を追加する方が簡単でした。
そのやり方は次回にでも。