コラム

ヘッダー画像
2022.05.23
経営・ビジネス用語解説

アジャイル開発:短サイクルで機能の変更や改修を繰り返しながら開発【知っておきたい経営・ビジネス用語解説】

デジタルトランスフォーメーション(DX)が進む中、それを実現するためのアプリケーション開発手法として、「アジャイル開発」を採用するケースが増えています。そのメリットは、開発期間が短く、より早くビジネスを始動できるようになることです。今回は、アジャイル開発について紹介します。

1. アジャイル開発とは

(1)アジャイル開発概要

アジャイル開発は、短期間で、繰り返し機能をリリースしていく開発手法です。変化への柔軟な対応を特徴としており、開発中に仕様が変わることや、新機能が追加されることが予想される開発に適しています。

アジャイル開発が求められている背景には、めまぐるしく変わるビジネスの要請を受けて、企業アプリケーションに求められる性質が変化していることが挙げられます。斬新なアイデアが生まれた時に、競合他社に先駆けてビジネスを開始したいというケースがあります。その時に、そのビジネスを実現できるアプリケーションをより迅速に提供するために、アジャイル開発を採用します。

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

アジャイル開発と従来型のウォーターフォール開発には、どのような違いがあるのでしょうか。

ウォーターフォール型開発は、滝のように上から下に向かって順番にアプリケーションを開発することが特徴です。定めたいくつかのフェーズがあり、前のフェーズが無事に完了しない限り、次のフェーズには移行しません。また、各フェーズは完了時点で終了し、前のフェーズに戻ることはしません。工程ごとに仕事をIT担当者にアサインできるため、プロジェクトの進捗を管理しやすくなります。

ウォーターフォール型のデメリットは、進行中に問題が起きた場合に、解決に手間がかかることです。要件定義はプロジェクト開始時のみであるため、プロジェクト進行中などに仕様変更の要望が挙がった際に対応が難しくなり、納品に大幅な遅延が生じてしまうことがあります。また、テストに至るまでユーザー側がシステムを確認できないため、テスト段階で仕様変更の要望が出てくることもあります。手戻りが発生した際に、それぞれの工程をさかのぼらなくてはいけないため、大きな問題になります。

要件が不明確ながらスピーディーな開発が求められるアプリケーション開発にはアジャイル開発が、銀行のATMの開発など障害が許されないような厳格なプロジェクトにはウォーターフォール開発が適していると言えます。

(3)アジャイル型が向いている開発内容

ここで、アジャイル開発に適したアプリケーション像を深掘りしてみましょう。アジャイル開発のビジネス面の特徴は、開発期間中に要求の変更や追加ができることです。これは、アジャイルが反復を繰り返す開発であることに起因しており、開発期間中の変更を受け入れられるというメリットにつながっています。

まさにDXのアプリケーション開発に向いているでしょう。要件ははっきりしないが、なんとなくニーズがありそうだといった用途、例えば、アパレル企業がタブレット端末で独自の試着パターンを顧客に提示するなど、顧客の反応を見ながら仕様を決めていくようなアプリケーションの開発に適しています。

2. アジャイル開発関連用語

ここで、アジャイル開発に関する主要な関連用語を紹介します。

(1)ユーザーストーリー

一般的なシステム開発における要件定義を示す用語です。文字通り、ユーザーが持つアプリケーションへの要望、役割、目的といった意味で用いられます。

(2)スプリント

一連の開発の工程を短期間で繰り返す際のサイクルを指します。一般に、1〜4週の間で期間を設定します。

(3)ベロシティ

1回のスプリントで完結した、ユーザーストーリーの合計値のことです。開発チームがスプリント中に終える平均的な作業量を時間数などで示したものです。開発のスピードを予測できます。

3. アジャイル開発の手法

アジャイル開発にはいくつかの手法があります。主要なものを見てみましょう。

(1)スクラム

アジャイル開発の手法として最も有名なものの1つで、チームのコミュニケーションを重視している点が特徴です。スプリントと呼ぶ期間を反復的にこなします。特に、仕様や要件の変更が予想される開発プロジェクトに向いています。

(2)エクストリームプログラミング(XP)

プロジェクトが開発途中で変更されることを前提として、設計、実装、テストを短期間で繰り返します。XPは5つの価値として、顧客も含めた「コミュニケーション」、最初の設計を極力単純にする「シンプル」、顧客からのフィードバックで必要な機能を確かめる「フィードバック」、途中で大胆な変更が求められることを意識する「勇気」、ほかのメンバーを「尊重」することを提唱しています。

(3)ユーザー機能駆動開発(FDD)

ユーザー視点で価値のある機能を単位とする手法です。機能ごとにチームを分けて計画、設計し、コーディングします。アジャイル開発が苦手とする、複数チームによる大規模な案件にも対応しやすいことが特徴です。

(4)リーン開発

リーン開発の目的は顧客開発だと言われます。市場の声に耳を傾けて改善し続け、売り上げを重視するのが特徴です。組織のあらゆる人々の意見を聞くため、具体的な課題が明確になることで企業全体のプロセスが最適化し、斬新なアイデアや新たなビジネスモデルが生まれることがあります。

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

アジャイル開発のメリットは、開発期間が短く、より早くビジネスを始動できるようになることです。1カ月など短期間の間に反復して、次々と機能を追加していうイメージです。変化への柔軟な対応を基本的な特徴としているため、開発中に仕様が変わりやすかったり、新機能が追加されることが予想されたりする場面に適しています。

一方、デメリットとしては、柔軟な手法であることにより、方針が揺れたり、見えなくなったりするリスクが大きいことです。そのため、最初に定義した方針と実際の開発の状況に差異がないかなど方向性を定期的に確認する工夫が求められます。

5. まとめ

DXへの取り組みが加速する中で、今後、サーバー機器などを自社所有するのではなく、クラウドを活用する企業がますます増えていきます。インフラ管理ではなく、ビジネスに直結するアプリケーション開発に注力することがIT部門に求められるようになる中で、ビジネス機会を逃さないために、アジャイル開発によって、すばやくアプリケーションを開発するスタイルがさらに一般化すると考えられます。

【知っておきたい経営・ビジネス用語解説】

Contact us

ご興味を持たれた方、まずはお気軽に
お問い合わせください!