忙しい人のためのAzure DevOps【前編】

はじめに

この記事はFIXER 2nd Advent Calendar 2020 (https://adventar.org/calendars/5752) 15日目の記事です。

こんにちは、20期入社の石井です。

最近スクラムで開発を行うために、Azure DevOps を使っていくことになりました。

しかし、スクラム開発をやったことがないうえ、Azure DevOpsの使い方も詳しくわからないという状態です。

そこで、せめてAzure DevOpsというツールについて理解したい!と思いました。

当記事で、実際に使っていくうちに分かったことや調査してわかったことをまとめていきます。

What is Azure DevOps ?

Azure DevOps とは Microsoft が提供しているDevOpsを支援するプロジェクト管理サービスです。

Azure DevOps 内でもさらに細かくサービスが別れており、

Azure Boards

Azure Pipelines

Azure Repos

Azure Test Plans

Azure Artifacts

の5つのサービスが存在しています。

どのサービスもDevOpsを実現するために必要な機能です。

Azure Boards はタスク管理

Azure Pipelines は CI/CD (継続的インテグレーション/継続的デリバリー)

Azure Repos は ソースコード等のバージョン管理システム

Azure Test Plans は テスト項目の管理

Azure Artifacts は 外部パッケージとの連携

を担っています。

Azure DevOps の利用方法はとても簡単で、Microsoftアカウントがあれば、誰でもすぐに使い始めることができます。

Azure DevOpsサービスへのリンク

5ユーザーまでは無料のBasicプランもあるので、個人・小規模開発でも気軽に使うことができます。

そもそもDevOpsとは

DevOps(デブオプス)は、Microsoft によって以下のように定義されています。1

開発 (Dev) と運用 (Ops) を組み合わせたものである DevOps は、人、プロセス、テクノロジを統合したもので、お客様に継続的に価値を届けます。
DevOps をチームで使用する意味は何でしょうか。DevOps では、以前はサイロ化されていた役割 (開発、IT 運用、品質管理、セキュリティ) を連携させて共同作業することで、より優れた信頼性の高い製品を作成することができます。DevOps カルチャと DevOps のプラクティスとツールを一緒に導入することで、チームは顧客のニーズに適切に応え、作成したアプリケーションの信頼度を高め、ビジネス目標をよりすばやく達成することができます。`

なんだか難しそうですが、簡単に言えば、開発チーム、テストチーム、運用チームといったチームわけの垣根をなくし、開発から運用までをチーム全員が責任を持つということです!2

DevOpsを正しく実現することで、お客さんに満足度の高い製品を素早く届けることができます。

Azure Boardsについて

Azure Boards はプロジェクトのタスク状態を管理するツールで、Azure Boards をうまく使うことで、アジャイル開発をスムーズに行うことができるようになります。

AzureBoards では初期設定で以下のメニューが表示されます。

初期設定に Sprints という項目があることから、スクラム開発等のアジャイルを意識したツールということが分かりますね!

Work items

Work items では Work item の追加や確認ができます。

Work itemとは、実装したい機能(Feature)や具体的な作業内容(Task)、発生しているバグ(Bug)等をすべてまとめたものを指します。

Azure Boardsの中では、すべてのものがWork itemになるので、とても重要な概念です。

Work item では完了条件、見積もり時間といったタスク管理の基本的な設定から、タグ付けまで様々な情報を付加することができます。

Boards

Boards では、今回のスプリントで実現するFeatureやProduct Backlog Itemを選択することができます。

Product Backlog Itemは実現したい機能(Feature)を達成するための細かい機能のことで、ここから具体的な作業内容(Task)に分かれていきます。

Backlogs

Backlogsでは、FeatureやProduct Backlog Itemの優先順位を設定することができます。

タスク管理をしていくと「あるタスクをやらないと次のタスクにとりかかれない」という依存関係が必ず発生します。

ここでは、その依存関係も含めてタスクの優先順位を決定することができます

Sprints

Sprintsでは、今回のスプリントで実現するものを具体的な作業内容に分けて、その進捗を管理することができます。

今までの項目がプロジェクト全体に目を向けていたのに対して、Sprintsではスプリントに目を向けています。

実際に開発する際には、この項目をもっとも見ることになると思います。

Queries

Queriesでは、Work itemsをクエリ形式で絞り込んで閲覧することができます。

完了しているFeatureや、次のスプリント以降でやるProduct Backlog Itemなど様々な条件で絞り込めます。

おわりに

当記事では、 DevOps と DevOps を推進する Azure DevOps 、その機能である Azure Boards について解説しました。
明日はAzure DevOpsのAzure PipelinesAzure Reposについて解説した中編の記事を出すのでお楽しみにー!

注釈

1. DevOpsの定義について書かれたサイトはこちらです

2. DevOpsという言葉は定義がかなり曖昧なので、正確に表現はできていません。 個人的にわかりやすかったQiitaの記事のリンクを載せておきます