みんな使えるIT/Web用語辞典
1,000語収録(ミンウェブ辞書)

更新:2020年3月14日

あじゃいる

アジャイル / agile

「計画→設計・開発→実装→テスト→運用」という開発工程を機能単位という小さいサイクルで繰り返すことで開発を進める手法のこと

英字

POINTアジャイル / agileとは

アジャイルとは、「俊敏な」や「すばやい」といった意味を持つ単語であり、IT業界ではよくアジャイル開発やアジャイルソフトウェア開発のことを指します。

アジャイル開発とは、システムやソフトウェアの開発手法の1つで、「計画→設計・開発→実装→テスト→運用」という開発工程を機能単位という小さいサイクルで繰り返すことで開発を進める手法のことです。開発途中でも顧客の要望によって仕様の追加や要望を変更できるので、顧客の要望が不明確な場合や変更される可能性がある場合などに便利です。従来の開発手法に比べて「すばやく」リリースまで開発を進めることができることからアジャイル開発と呼ばれます。

従来の開発手法「ウォーターフォール開発」との違い

アジャイル開発と従来の開発手法であるウォーターフォール開発では、開発の進め方そのものが全く異なります。

ウォーターフォール開発では、最初に全体の機能設計・計画をし、それに沿って開発します。長い期間にわたって一連の工程で進められ、滝を水が流れるかのように、上流の行程から下流工程へと順に進めていくという特徴があります。最初に何をつくるのか明確で、ゴールや納期をコントロールしやすいというメリットがあります。

しかし、アジャイル開発では、短い期間単位で利用可能なシステムを構築して、テストをおこない、改良するといったサイクルを繰り返します。ウォーターフォール開発に比べて、リリースまでの時間を短縮でき、開発途中に仕様変更や追加の対応などが可能であるという特徴があります。

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

アジャイル開発のメリットとして、大きく3つ挙げます。

①開発スピードが早いことです。アジャイル開発では、機能単位でサイクルを回すため、リリースまでの期間を短縮し、また、開発途中に問題が発生しても、1つのサイクル戻る工数だけで対応できるため、修正工数を少なくすることができます。

②顧客のニーズに最大限に応えられることです。開発途中でも方向転換や不具合の修正に対し比較的容易に対応することができます。また、顧客とコミュニケーションを持ちながら開発を進められ、より満足度の高い製品を仕上げられることも特徴です。

③開発コストを抑えられる場合もあることです。アジャイル開発では機能単位で評価しながら進めるため、完成後に不要な機能を実装してしまったなどということを防ぐことができます。

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

アジャイル開発のデメリットとして大きく2つ挙げます。

①全体の進捗状況やスケジュールの把握が困難であることです。アジャイル開発の特徴として、最初に計画を詳細にしないことやチームごとに小単位での開発をすることがあるため、全体の把握がしづらいです。

②追加のコストや時間がかかってしまうことがあることです。アジャイル開発は、開発途中に方向転換や追加の要望に応えられる一方、その分お金や時間などがかかってしまうこともあります。

アジャイル開発の流れ

アジャイル開発の主な流れは、まず①リリース計画をおこない、その後、②イテレーションと呼ばれる小さな開発サイクルを繰り返しおこない、完成を目指すというものです。

①リリース計画
アジャイル開発では、開発を始める際に大まかな計画を立てます。ウォーターフォール開発ほど詳細な計画は立てませんが、大体の仕様と要求を決めます。

②イテレーション
リリース計画をした後、イテレーションと呼ばれる「計画→設計・開発→実装→テスト→運用」というサイクルを繰り返して、機能ごとにリリースをします。イテレーションは1〜2週間ごとという早いスパンで繰り返され、細かく開発が進むことが特徴です。途中で仕様変更や追加の要望があった場合は、それに応じて臨機応変に対応し、完成品を目指します。

アジャイル開発の種類

アジャイル開発の種類として大きく3つ挙げます。

①スクラムです。アジャイル開発の中でも特に有名な手法で、チーム全員で一体となって効率的に開発を進めることが特徴です。チーム内で計画を立案し、イテレーションごとに開発の計画や制作物について評価をおこないます。チーム内のコミュニケーションが重要な手法です。

②エクストリームプログラミング(XP)です。初期の計画よりも要件の途中変更などに柔軟に対応し、テストとフィードバックを重要視する開発手法です。エクストリームプログラミングをする上で重要な4つの価値観として、「コミュニケーション」「シンプル」「フィードバック」に加えて、開発途中の軌道修正にも立ち向かうための「勇気」が含まれていることが特徴です。

③ユーザー機能駆動開発(FDD)です。顧客にとっての機能価値を重視した開発手法のことです。顧客のビジネスを見える化して必要な機能を洗い出し、適切な間隔で反復的にソフトウェアの開発を繰り返すのが特徴です。

「アジャイル / agile」を調べた人はこの用語も調べています

アジャイル / agileの使用例

「アジャイル開発を取り入れたら従来よりも顧客満足度の高い製品を作ることができたね」

アジャイル開発では、開発途中でも顧客の要望によって方向転換や修正などが可能であるため、最終的に顧客の要望に最大限応えた製品を開発することができます。

「この製品の開発ではアジャイル開発は不向きだと思うよ」

顧客の要件が完全に決まっている場合など、アジャイル開発よりもウォーターフォール開発の方が向いている場合もあります。どちらもメリットとデメリットがあるため状況に応じて使い分けるのが良いでしょう。

「アジャイル開発はいつ開発が終わるのかわからないのが不安だね」

アジャイル開発では開発当初に厳密な計画を立てないため、開発にかかる費用や時間を明確に決めることが難しいです。また、追加の仕様変更などによって、計画よりも完成が大幅に遅れてしまうこともあるため、注意が必要です。

アジャイル / agileに関係した気になる話題

近年注目されるアジャイル経営、アジャイル型組織とは

近年の急速な社会発展により、意思決定をスピードが重要視され、今までソフトウェア開発の場で用いられていたアジャイルの考え方を経営に当てはめる「アジャイル経営」が注目されるようになりました。アジャイル経営とは、その時点で優先すべきことは何か検討し判断する経営手法のことで、先の見えない変化の激しい時代に対し、柔軟・迅速に変化に対応することができます。

さらに、アジャイル経営を実現するために、組織として「アジャイル型組織」を目指す企業も増えています。アジャイル型組織とは、アジャイルの考え方を組織に組み込んだものです。従来の組織でトップに権利が集約していたのに対し、アジャイル型組織では組織をフラットなチームの集合体と考え、トップだけでなく各社員に権限を分散させることで、迅速な意思決定や素早い行動サイクルが可能です。


この記事がお役に立ちましたら、"いいね!"をお願いします
minweb辞書のIT用語をお届けします