アジャイル開発とは? 特徴とメリット・デメリット、スクラムまで徹底解説

アジャイル開発とは? 特徴とメリット・デメリット、スクラムまで徹底解説

「アジャイル開発」は、システムやソフトウェア開発において主流になっている開発手法。

「アジャイル」には“素早い”という意味があり、サービスインまでの期間を短縮できることが最大の特徴。開発途中の仕様・要件変更に柔軟に対応できることから、多くのプロジェクトで導入されています。

➡︎【資料ダウンロード】業界ごとのDX推進ケースをまとめた“DX事例集”

アジャイル開発とは?

開発工程を機能単位の小さいサイクルで繰り返すのがアジャイル開発の特徴

開発工程を機能単位の小さいサイクルで繰り返すのがアジャイル開発の特徴

“アジャイル(agile)”という単語の意味は「素早い」「機敏な」。加えて、「頭の回転が早い」というニュアンスが含まれています。

アジャイル開発(アジャイルソフトウェア開発)は現在主流になっているシステムやソフトウェアの開発手法の1つで、『計画→設計→実装→テスト』といった開発工程を機能単位の小さいサイクルで繰り返すのが最大の特徴

優先度の高い要件から順に開発を進めていき、開発した各機能の集合体として1つの大きなシステムを形成。「プロジェクトに変化はつきもの」という前提で進められるので仕様変更に強く、プロダクトの価値を最大化することに重点を置いた開発手法です。

従来のウォーターフォール開発の場合、初めにプロジェクトの要件定義や設計を細部まで煮詰めてから1度の大きなサイクルで開発を進めるので、リリース時にすべての要求をクリアしていることが求められます。

しかし、アジャイル開発の場合は優先度の高い重要な機能から着手できるため、素早くリリースしてからブラッシュアップしていくことが可能。つまり、サービスインまでの期間を短縮することができ、ビジネスのスタートを早めることができます。

➡︎【資料ダウンロード】業界ごとのDX推進ケースをまとめた“DX事例集”

◎アジャイル開発とは?
・現在主流になっているシステムやソフトウェアの開発手法の1つ
・『計画→設計→実装→テスト』といった開発工程を、機能単位の小さいサイクルで繰り返す
・仕様変更に強く、プロダクトの価値を最大化することに重点を置いた開発手法
・サービスインまでの時間を短縮できることが名前の由来(アジャイル=素早い)

「アジャイルソフトウェア開発宣言」〜アジャイル開発の始まり〜

アジャイル開発という概念が生まれたのは、2001年。アメリカ・ユタ州に集まった17名の技術者・プログラマーによって提唱されたのが始まりです。

彼らがより良い開発手法について議論するなかでまとめられたのが「アジャイルソフトウェア開発宣言」。その内容は以下の通りです。

《アジャイルソフトウェア開発宣言》

私たちは、ソフトウェア開発の実践

あるいは実践を手助けをする活動を通じて、

よりよい開発方法を見つけだそうとしている。

この活動を通して、私たちは以下の価値に至った。

プロセスやツールよりも個人と対話を、

包括的なドキュメントよりも動くソフトウェアを、

契約交渉よりも顧客との協調を、

計画に従うことよりも変化への対応を、

価値とする。すなわち、左記のことがらに価値があることを

認めながらも、私たちは右記のことがらにより価値をおく

(引用元:アジャイルソフトウェア開発宣言

引用文の該当箇所を赤字にしましたが、これは「ソフトウェア開発において、どこに重きをおくか」という価値観を定義したもの

アジャイルソフトウェア開発における12の原則「アジャイル宣言の背後にある原則」を読むと、さらに詳しく解説されているのでこちらも合わせてチェックしましょう。

アジャイル(素早い)という言葉の通り、アジャイル開発はクライアントニーズを最優先させながらよりよいプロダクトをより効率的により素早く開発することを目的として考えられたものです。

アジャイル開発とウォーターフォール開発の違い

開発工程を段階的に完了させていくのがウォーターフォール開発の特徴

開発工程を段階的に完了させていくのがウォーターフォール開発の特徴

ウォーターフォール開発は、要件定義から設計、開発、実装、テスト、運用までの各工程を段階的に完了させていくシステムやソフトウェアの古典的な開発手法。

要件定義や全体の機能設計を固めてから開発に着手するため、実際に開発が始まるまでに時間がかかる傾向があります。その一方で、進行計画に余裕を持たせるケースが多く、予算が立てやすい・チームメンバーのアサイン計画が立てやすいといった特徴があります。

機能ごとに細かい開発サイクルを繰り返すアジャイル開発との大きな違いは、開発途中での仕様変更や追加対応が困難なこと。仕様の抜け漏れが発覚した場合や開発途中で要求に変更があった場合、1つ手前の工程から見直すことになるので追加費用が発生したり、開発期間の延期に繋がってしまう懸念があります。

アジャイル開発はDX推進プロジェクトと好相性

アジャイル開発は、近年ビジネスシーンで話題の「DX(デジタルトランスフォーメーション)」推進の観点からも注目を集めています。
DXとは、進化し続けるテクノロジーやそれに伴う人々の生活の変化に合わせて、ビジネスの在り方自体を再構築していく取り組み。つまり、絶えず市場が変化していくことを意識する必要があります。

ユーザーニーズにマッチした商品・サービスをいち早くリリースしてブラッシュアップしていくような企画・開発が求められるため、開発途中の仕様・要件変更に強いアジャイル開発は、DX推進に最適な開発手法として多くのプロジェクトで採用されています。

➡︎【資料ダウンロード】業界ごとのDX推進ケースをまとめた“DX事例集”

アジャイル開発の関連用語

アジャイル開発を説明するうえで重要な関連用語を解説します

アジャイル開発を説明するうえで重要な関連用語を解説します

アジャイル開発の最大の特徴は、小さな開発サイクルを何度も繰り返すこと。仕様変更にも柔軟に対応でき、従来の開発手法よりもリリースまでの時間を短縮できるのが特徴です。

プロダクトの価値を最大化することに重点を置いた新しい手法だけに、アジャイル開発を語るうえで欠かせない関連用語があるので解説していきましょう。

関連用語① ユーザーストーリー

アジャイル開発において「要件」の代わりに用いられる概念。「ユーザーが実現したいこと」「ユーザーにとって価値があること」(意図・要求)を簡潔にまとめた文章です。

例えば、『ユーザーが気になる商品をお気に入り登録できる』のように、「誰が」「何を」「どうする」のかを端的に記したもの。付箋紙などに書き出してユーザーストーリー・マッピングを作ることで、開発からフィードバックまでの要素をサイクルを回す際の手がかりとして活用します。

関連用語② イテレーション(スプリント)

イテレーション(iteration)とは「反復・繰り返し」という意味。短期間で反復しながら効率的に開発を進めるアジャイル開発の1サイクルを単位にしたものです。

アジャイル開発の手法の1つであるスクラム開発では「スプリント(Sprint)」と呼ばれますが、意味は一緒です。開発手法によって呼び方は変わりますが、いずれも開発期間の単位を表していると認識しておきましょう。

イテレーションの期間は一般的に1〜2週間程度で、イテレーション毎に機能をリリースします。期間の設定は開発チームによって変化するので注意しましょう。

関連用語③ ベロシティ

開発チームが1回のイテレーション内に完了できたユーザーストーリー(要求)の規模の合計値をベロシティと言います。つまり、チームの開発量を表したもので進捗状況を計る目安になります。

同一チームかつ同一期間で実施するようなケースでなければ、通常ベロシティの量は不透明。そのためイテレーションを回しながら実数値を計測し、開発の終盤には正確な見通しが出せるように環境を整えていきます。

関連用語④ リリース計画

アジャイル開発を行う場合、初めに「いつまでにどの機能をリリースできるか」というプロジェクト全体を管理するためのリリース計画を立てます。

リリース計画では下記の項目を決定します。

★リリース計画で決めること
・プロジェクトのゴール
・イテレーションの長さ
・ユーザーストーリーの優先順位

ただし、計画段階から仕様・要求を厳密に決めるウォーターフォール開発とは異なり、アジャイル開発のリリース計画は非常に流動的です。

そのために、イテレーションを繰り返す過程でベロシティをしっかり測定。チームのパフォーマンスに合わせてリリース計画を更新し、徐々に精度を上げていきます。

 関連項目:アジャイル型アプリ開発の流れ・フロー

➡︎【資料ダウンロード】業界ごとのDX推進ケースをまとめた“DX事例集”

アジャイル開発の手法

アジャイル開発の中にも複数の開発手法が存在します。ここでは代表的な3つのアジャイル開発の手法について解説していきます。

手法① スクラム

スクラム開発はチームで効率的に開発を進めることができるフレームワーク。

スクラム開発はチームで効率的に開発を進めることができるフレームワーク

スクラム開発は最も有名なアジャイル開発の手法で、チームで効率的に開発を進めることができるフレームワークです。チーム一体となってプロジェクトを遂行して行くことに重点を置くことから、ラグビーのスクラムが語源になっています。

スクラム開発ではメンバー自身がイテレーションごとの計画を立案し、設計・実装を進行。イテレーション毎に開発の進捗状況や制作物の動作を検査するため、チーム内のコミュニケーションが非常に重要になります。

チーム内での対話が不足していると、リリースした機能が正常に動作しないなどの問題に繋がる可能性があります。

手法② エクストリーム・プログラミング(XP)

エクストリーム・プログラミングは、技術面に重きを置いたプログラマー中心の開発手法。英語表記は「Extreme Programming」で、略称は「XP」です。

事前の計画よりも仕様・要件の途中変更への柔軟な対応を重視した手法で、4つの価値(コミュニケーション/シンプル/フィードバック/勇気)をチーム内で共有することが特徴です。

★エクストリーム・プログラミング(XP)で提唱する4つの価値

①コミュニケーション
ステークホルダー間のコミュニケーションを重視する

②シンプル
設計は必要最低限に止める

③フィードバック
頻繁にテストを行い、フィードバックを重視する

④勇気
仕様変更や設計変更に立ち向かう勇気を持つ

手法③ ユーザー機能駆動開発(FDD)

ユーザー機能駆動開発(Feature Driven Development)は、顧客にとっての機能価値(feature)を重視した開発手法

ユーザーのビジネスを見える化して必要な機能を洗い出し、適切な間隔で反復的にソフトウェアの開発を繰り返すのが特徴です。

➡︎【資料ダウンロード】業界ごとのDX推進ケースをまとめた“DX事例集”

アジャイル開発のメリット・デメリット

システムやソフトウェアの開発において、プロジェクトにマッチした開発手法を選択することは非常に重要です。現在主流のアジャイル開発ですが、当然メリットだけでなくデメリットもあるので事前に覚えておきましょう。

アジャイル開発のメリット

アジャイル開発のメリットは、臨機応変に柔軟な対応が可能で開発スピードが速いこと。

初めに決定した設計・計画を重視するウォーターフォール開発の場合、トラブルの発生箇所によっては修正にかかる時間やコストが膨大になる可能性があります。しかし、アジャイル開発は機能単位で設計→開発→実装→テストを繰り返しているのでリリースのタイミングが早く、不具合が発生したとしても修正にかかる工数が少なくて済みます

また、開発途中もコミュニケーションを取りながらフィードバックを行うので、顧客のニーズに最大限応えることができるのも大きなメリットです。

アジャイル開発のデメリット

プロジェクト全体の納期はあるものの、アジャイル開発では仕様・要件ごとにスケジュールを設定して開発に臨むため、全体スケジュールのコントロールが難しい傾向にあります。

また、時として顧客とのコミュニケーションを重視する特性が裏目に出てしまうことも……。なかなか正しい要求が導き出せないままプロジェクトが進行してしまったり、場当たり的な開発に陥って開発の方向性がブレてしまうという懸念も抱えています。

このように、全体の進捗状況やスケジュールの把握が困難な点がアジャイル開発の最大のデメリットと言えるでしょう。しっかり納期に間に合わせられるように、アジャイル開発の経験があるプロジェクトマネージャーを中心に綿密に計画を立てたうえで導入しましょう。

アジャイル開発にも設計書などのドキュメントは必要?

顧客とのコミュニケーションを重視するアジャイル開発では、要件定義書や設計書などのドキュメント類が不要と考えている人も多いようです。

アジャイル開発宣言の中に「包括的なドキュメントよりも動くソフトウェアを価値とする」という一文があるため、ドキュメントの制作は無駄な時間と考えてしまいがち。しかし、同時に「左記のことがらに価値があることを認めながらも、私たちは右記のことがらにより価値をおく」という一文があることを見逃してはいけません。

ドキュメントの価値自体は、アジャイル開発も認めているということはしっかりと理解しておきましょう。例えば、今開発中のプロダクトが一過性のものではない可能性があることも念頭に入れる必要があります。

リリース後に機能を追加しながら運用していく場合、別のチームに引き継ぎを行う必要が発生することもあるでしょう。そんなとき、何の資料も残っていなければ引き継ぎは困難なものになってしまいます。

また、アジャイル開発時にドキュメントを提出していなかったことでシステム開発を完了したことが認められなかったという東京地方裁判所の判例もあります。

無駄な資料を作る必要はありませんが、「要件定義書」「基本設計書」「テスト結果報告書」などの最低限のドキュメントは用意しておくようにしましょう。

アジャイル開発の成功事例を紹介

アジャイル開発を採用して成功を納めた開発事例を紹介していきます。

Payどん(鹿児島銀行)

「Payどん」は、鹿児島銀行に口座を保有する顧客が利用できるキャッシュレス決済サービス。2019年6月に開業した完全キャッシュレス商業施設「よかど鹿児島」内の14店舗からスタートし、サービスを順次拡大させています。

商業施設のオープンに合わせることがビジネスロードマップ上の絶対条件であったため、開発プロジェクトは一切の遅延が許されない状況下で行われました。タイトなスケジュールのなかでも素早いリリースを可能にするため、弊社ではアジャイル開発を提案。設計〜実装〜テスト〜リリースまでのあらゆる工程をサポートし、適切なタイミングでのサービスリリースを実現しました。

★詳しくはこちら:
鹿児島銀行|スマートフォン決済アプリのアジャイル開発成功事例

★お客様インタビュー(アジャイル開発の成功事例)はこちら

釣りドコ(アジア航測)

「釣りドコ」はDL不要でiOS・Android選ばず使えるPWA

「釣りドコ」は、海底地形マップが見られる釣り人向けのメディアサービス。水中の地形データを測量できるALB(航空レーザ測深機材)を用いた新しいビジネスモデルの創出を模索されていた空間情報コンサルタント企業・アジア航測社とモンスターラボで共同企画開発を行いました。

アジア航測社のアイデアをベースに、入念なリサーチを実施。その結果を基に競合分析、ペルソナ設計、画面イメージを作成するなど、アジア航測社と伴走して約1ヵ月で新規ビジネスモデルおよびサービスの基本設計を行いました。

海底地形データとともに、釣果を記録できるログ機能、ユーザ同士で釣果を共有できるコミュニケーション機能などのさまざまなコンテンツを搭載した釣り向けのメディアサービスをPWAで開発することを提案。開発手法にはアジャイル開発を採用し、ビジネスロードマップに合わせたサービスリリースを実現しました。

★詳しくはこちら:
アジア航測|釣り人向けメディアサービスのアジャイル開発成功事例

★お客様インタビュー(アジャイル開発の成功事例)はこちら

➡︎【資料ダウンロード】業界ごとのDX推進ケースをまとめた“DX事例集”

まとめ:アジャイル開発はDX推進に最適な開発手法

従来のウォーターフォール開発と比べ、アジャイル開発には開発途中の仕様・要件の変更に柔軟に対応できるという長所があります。また、優先度の高いものから順に機能単位でイテレーション(スプリント)を繰り返すのでいち早くサービスインすることも可能

上記のような特徴から、アジャイル開発はDX推進に最適な開発手法として注目を集めています。

アジャイル開発の中にも「スクラム」「エクストリーム・プログラミング」「ユーザー機能駆動開発」といった異なる手法があるので、まずはそれぞれの特徴を理解することから始めてみてください。

★アジャイル開発まとめ
・開発工程を機能単位の小さいサイクルで繰り返すのが最大の特徴
・開発途中もコミュニケーションを取りながらフィードバックを行うので、プロダクトの価値を最大化できる
・仕様変更に強く、サービスインまでにかかる時間を短縮できるのがメリット
・全体の進捗状況やスケジュールの把握が難しいのがデメリット
・アジャイル開発の中にも3種類の開発手法がある
・アジャイル開発でも最低限のドキュメント類は必要

➡︎【資料ダウンロード】業界ごとのDX推進ケースをまとめた“DX事例集”

DX推進をご検討中の経営者様・企業担当者様へ

お客様からのDX推進に関するお問い合わせ・ご相談を随時受付しております。

モンスターラボが提供するサポートの詳しい概要は、下記のボタンから資料をダウンロードしてください。
DX支援サービス紹介資料ダウンロード

直近のイベント