アジャイル開発でMicrosoft Azure Devopsを利用するススメ

# はじめに
Microsoft Azure DevOpsを活用してアジャイル開発を行う際、スムーズで効率的なプロジェクト進行を実現するための初期設定を紹介します。
本記事が、みなさんの参考になれば幸いです！

## 1. 新規プロジェクトを作成

[Azure DevOps](https://dev.azure.com/) にアクセスし、新規プロジェクトを作成します。

:::note info
Work item processをアジャイルに設定します。

![スクリーンショット 2025-02-15 155009.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4007207/3eec5ff2-2f36-4fa4-b90d-de98ce76cd34.png)
:::

## 2. Backlogsの設定

1. **Boards -> Backlogs** に移動し、右上の歯車アイコンをクリック。


2. プロジェクトの開発スタイルに合わせて以下の設定を検討。
   - Epicsは必要か？
   - 稼働曜日に土日も含めるか？
   - BugsをUser Storyと同じレイヤーで管理するか？（**同じレイヤーで管理するとBacklogsに表示されるので、一番上の設定がおすすめ**）![スクリーンショット 2025-02-15 155302.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4007207/d1edfb5b-2e36-445c-a72c-4ac799308f86.png)


## 3. イテレーションの設定

1. **Boards -> Sprints** に移動し、**Set dates** をクリック。
2. 各イテレーションの期間を設定。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4007207/88f6c996-4c8d-48fb-a4b6-450e08e78227.png)

## 4. リポジトリの設定

1. **Repos -> Files** に移動し、プロジェクトフォルダを登録。

:::note info
「Push an existing repository from command line」を選択しましょう。
Azure DevOpsが自動作成したリモートレポジトリを使用すると、**User StoryとGitコミットが連携**し、進捗管理がしやすいです！
:::

### SSHでリポジトリを接続する場合

1. ローカルで公開鍵を作成:
    ```PowerShell
    ssh-keygen -t rsa -b 2048 -o -a 100
    ```
2. 公開鍵を取得:
    ```PowerShell
    cat ~/.ssh/id_rsa.pub
    ```
3. 取得した公開鍵（ssh-rsa から始まる）をAzure DevOpsのSSH public keysに追加。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4007207/e203fd5b-b1e5-458d-b094-1fca182849c6.png)


**参考:**

https://learn.microsoft.com/en-us/azure/devops/repos/git/use-ssh-keys-to-authenticate?view=azure-devops


## 5. プロジェクトフォルダの作成とGitリモート設定

1. ローカルにプロジェクトフォルダを作成（Flutterプロジェクトの例）:
    ```PowerShell
    flutter create fourth_place
    ```

2. ローカルレポジトリを作成:
    ```PowerShell
    git init
    ```

3. 変更分をコミット:
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4007207/3148f856-db07-4a58-b62e-18232e081123.png)

4. Azure DevOpsのリポジトリをリモートとして追加（コマンドはRepos -> Filesに記載）:
    ```PowerShell
    git remote add origin git@ssh.dev.azure.com:v3/{アカウント名}/FourthPlace/FourthPlace
    ```

5. コミットをプッシュ:
    ```
    git push -u origin --all
    ```

以下のように連携されればOK！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4007207/8428e11f-a17b-415f-88d2-7fe7485a95bf.png)


## Azure Devopsが自動作成したリモートレポジトリを使用するメリット：

例えば、以下のUserstoryを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4007207/65eb22b6-dd7b-488e-8e35-5c8ad59c2bf4.png)


ブランチを切って、コミットのメッセージを#{UserstoryのID}としてpushする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4007207/91f1a676-b9c4-4a82-8f70-c92f8f252454.png)

すると、変更がUserstoryに自動で紐づきます！！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4007207/9be78e7e-43ea-40a1-a76a-e185999cd96e.png)

**プルリクエストも簡単**で、Repos -> Filesに移動して以下のCreate a pull requestをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4007207/6a900f99-28f2-46c0-8a37-e6578f65e065.png)

この画面でAzure Devops上でプルリクエストの承認までできます！！（※Userstoryは自動で紐づきます！）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4007207/2554817e-6b10-4665-8650-35c1676320c0.png)

# まとめ
いかがでしたでしょうか。
Microsoft Azure DevOpsを使うことで、
- アジャイル開発のプロジェクトがすぐに始められる！
- Azure DevOps上だけでプルリクエストの承認まで行える！
- User StoryとGitコミットが自動連携できるので、変更がトレースしやすい！

以上の初期設定を適切に行うことで、よりスムーズに開発を進められるので、ぜひ活用してください！
気になる点や質問があれば、ぜひコメントで教えてください！