Azure Boardsとは?
続いて、具体的なサービスのひとつとして、Azure Boardsについて説明していきます。Azure Boardsはアジャイル開発におけるタスクやバグなどといった、プロジェクト内のあらゆる作業をWebブラウザ上で一括管理するためのツールです。Azure Boardsを使用することで、開発の進捗状況を可視化できるようになります。
アジャイル開発とは
Azure Boardsはアジャイル開発を補助するツールとして捉えることができます。アジャイル開発とは、要件定義・設計・実装・テスト・リリースの開発サイクルを数回に分けて繰り返し実行しながらプロダクトを完成させていくソフトウェア開発手法です。一回の開発サイクルにおける開発の範囲をプロダクトのある一部の機能に限定することで、少しずつプロダクトを作り上げていく点が特徴です。
よく比較される開発手法に、ウォーターフォール開発があります。要件定義・設計・実装・テスト・リリースといった工程は繰り返し行われず、各工程が完全に完了することで次の工程に進むことができます。前の工程の成果物をもとに次の工程を進め、また次の工程へ成果物を引き継ぐ様が滝のようであることからウォーターフォールという名前が付けられています。ウォーターフォール開発では前の工程に戻ることは考慮されていないため、要件の漏れや仕様変更など、後から変更が発生した場合に手戻りとして修正コストがかかってしまいます。
一方、アジャイル開発では、一回の開発サイクルが短期間でリリースのタイミングを多くすることで、プロダクトの発注側(オーナー)は成果物の一部を早いタイミングで確認できるようになります。これによって間違いやバグを発見した場合にも、次回以降の開発サイクルで対応するように開発チームへフィードバックできます。アジャイル開発の最も大切な考え方の一つに「変化を受け入れる」というものがあります。ソフトウェア開発に変更はつきものだという考えがまずあり、その変更をいかに受け入れるかを示した結果として、アジャイル開発が提唱されたのです。
スクラムとは
スクラムは、アジャイル開発における開発手法の一つです。基本的な考え方はアジャイル開発と同じですが、スクラム独自の用語があるので簡単に説明します。
スプリント
スクラムにおける開発サイクル(イテレーション)の単位をスプリントと呼びます。スプリントごとにプロダクトの一部機能を開発してリリースまで行います。ひとつのスプリントは1~3週間程度の期間とするのが一般的です。
プロダクトバックログ
プロダクトの開発にあたって必要となるすべてのタスクをまとめた一覧で、常に優先度の高いタスクの順に並べます。一般的に、プロダクトバックログはプロダクトの責任者であるプロダクトオーナーによって作成されます。
スプリントバックログ
プロダクトバックログから、スプリント内で実施するタスクを抜き出した一覧。スプリントでどの程度のバックログを消費できそうかは、チーム全員が参加して行うスプリントプランニングによって決定していきます。開発メンバーは、スプリントバックログから、設計や実装など自分が作業できる粒度のタスクに分割していきます。
フィーチャー
フィーチャーは、ユーザーが求める機能を表します。フィーチャーの中には複数の実装タスクが含まれます。
カンバンとは
カンバンとは、その名の通り看板を使ってタスクを可視化する、アジャイル開発の方法論のひとつです。カンバンはトヨタによって開発され、もともとは自動車工場の効率改善のために使用されていたものをソフトウェア開発に応用したものです。
カンバンは、作業の進捗状況のフローを可視化した「看板」を用います。カンバンには最低でも、作業前(ToDo)、作業中(Doing・In Progress)、完了(Done)の三つの状態を表すレーンが設けられていることが一般的です。プロダクトの性質やチームの規模や構成に合わせて、カンバンのレーンを増減して使いやすいものに変更するチームもあります。
アジャイル開発の現場でも、壁やホワイトボードなどに付箋に書いたタスクを貼り付けていく、アナログなカンバンがよく利用されています。ただ、近年ではデジタルなカンバンツールも多く登場しており、リモート開発やオフショア開発など、開発メンバーが同じ場所にいない場合でも使用できるカンバンとして普及しています。今回紹介するAzure Boardsもこのデジタルなカンバンツールのひとつです。
Azure Boardsが提供する機能
Azure Boardsが提供するのは、デジタルなカンバンとカンバン上で管理されるタスクの作成機能です。以下はAzure Boards上でメニューとして表示されている各機能の説明です。
(1)Work Items
Azure Boardsで作成し追跡できるタスクのことをワークアイテム(Work Item)と呼びます。ワークアイテムではプロダクトバックログ、フィーチャー、タスク、バグなどの種類のタスクを作成できます。「Work Items」ではワークアイテムの作成や担当者の割当て、ステータスの更新などの操作を行うことができます。
(2)Boards
Boardsではカンバンを表示できます。Boardsでは、プロダクトバックログ単位とフィーチャー単位のカンバンを表示できるので、用途に合わせて表示を切り替えて使用します。
(3)Backlogs
Backlogsはプロダクトバックログを管理する画面です。作成したプロダクトバックログを優先順に並び替えたり、プロダクトバックログをスプリントへ追加したりします。スプリントバックログとする操作もこの画面から行います。
(4)Sprints
Sprintsでは現在進行中のスプリントの管理や、スプリント全体の設定などを行うことが可能です。Boardsが表示できるカンバンとは別に、開発チームがタスクを管理するレベルで使用するタスクボードと呼ばれるカンバンも提供しています。
(5)Queries
Queriesはワークアイテムの検索を行う画面です。さまざまな条件でワークアイテムを検索でき、検索条件を保存して後から使いまわすことも可能です。
これらの機能を開発チームおよびプロダクトオーナーが中心となり使用することで、プロジェクトの過去・現在・未来の状況を一元的に管理することができるようになります。
まとめ
今回はAzure DevOpsについてサービスの概要と、組織とプロジェクトの作成の手順を開設し、またAzure Boardsの概要について紹介しました。次回はAzure Boardsの具体的な利用例を中心に、Azure DevOpsに含まれるその他の各サービスについて詳細に説明していく予定です。