アジャイル(Agile)型開発とは?
メリット・デメリットや開発手法をわかりやすく解説!ウォータフォール開発との違いも

アジャイル型開発とは?


「アジャイル」とは、俊敏、素早い、頭の回転が速いという意味を持ちます。従来の開発手法は、最初にプロジェクトの要件定義や設計までを煮詰めて、1度の大きなサイクルで開発を進めていくため、変更に弱く、柔軟性に欠けるという問題点がありました。

それに対し、小単位で実装とテストを反復しながら開発を進めていくアジャイルソフトウェア開発は、変化することを前提に進められていくため、急な変更でも柔軟に対応が可能です。優先順位の高い要件から開発を進めていくことで、素早くリリースしてブラッシュアップしていくこともできます。これにより開発期間も短縮され、現在ではアジャイル開発はシステムやソフトウェアの開発で主流となっている手法です。

アジャイル開発の成り立ち

アジャイル開発は、2001年にアメリカ、ユタ州に集まった17名のプログラマー、技術者によって提唱されました。

1990年代中頃から、開発者とユーザーが協力関係を結びながらソフトウェア開発する手法は登場していましたが、それらが集まって「よりよい開発方法を見つけ出す」ことが提唱されたのがアジャイル開発です。

アジャイル開発では、「計画に従うよりも、変化への対応」に重点が置かれています。2000年頃からインターネットの普及に伴い、企業のビジネス変革スピードはそれまでと流れが一変しました。加速化された波に乗るためには、柔軟に変化へ対応できる手法が求められたのです。この状況に、米国企業は「アジャイルでしか生き残れない」と開発手法をシフトしていきました。

もちろん、日本でもその流れは同様で、2009年には「アジャイルジャパン」というイベントが開催されています。徐々に開発者の間に浸透したこの手法は、2010年代から採用事例も増えていくようになりました。

ウォーターフォール開発との違い

ウォーターフォール開発は、最初にプロジェクトの要件定義、設計をしっかりと煮詰めてから1度の大きなサイクルによって開発を進めていく手法です。要件定義が固まればスケジュールが分かり、コストや人材確保なども計画できるため、一気に進めていくことができます。しかし、途中で変更となった場合の対応はしづらく、追加対応が困難なことがデメリットでした。

例えば、「仕様の抜けもれがあった」「開発途中で要求に変更が出た」という場合には、手前の工程からの見直しが必要になります。追加コストの問題はもちろん、開発期間が延びるという問題もあります。

一方、アジャイル開発では、「計画→設計→実装→テスト」の工程を、機能単位の小さなサイクルで反復していきます。優先順位の高いものから着手し、仕様の変化があった場合も、すぐに対応が可能です。単位ごとに素早くリリースしながら、ブラッシュアップもしていけるので、ビジネスのスタートを急ぐ場合にも適している手法といえるでしょう。

▶ウォーターフォール開発の特徴はこちら

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


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

アジャイル開発のメリットとして、まず変更に強いことが挙げられるでしょう。小さな単位で「計画→設計→実装→テスト」を繰り返していくため、仕様変更はもちろん、もしテストで問題が発生した場合でも、ひとつ戻るだけで済みます。開発の途中でコミュニケーションを取りながらフィードバックを行っていくことで、ユーザーも確認ができます。その時点で、希望と合わないものであれば仕様変更や追加も対応することができるため、成果物はユーザーにとって満足度の高いものとなるでしょう。

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

アジャイル開発では、仕様、要件ごとにスケジュールを設定して開発を進めていきます。もちろんプロジェクト全体の納期はありますが、すべてのスケジュールについてコントロールがしづらい点がデメリットとなるでしょう。

「計画→設計→実装→テスト」を繰り返しながら、ユーザーとのコミュニケーションを重視するあまり、正しい要求が導き出せないことがあります。また、全体を見ずに1つの単位での開発で場当たり的になってしまい、方向性にズレが生じてしまう、という問題点もあります。テスト、フィードバックを行い、さらにユーザーが求めるものに近づけたいと、追加、変更を繰り返しながらも、やはり全体を把握することが重要となるでしょう。

計画を詳細に立案しないアジャイル開発では、全体を把握し、納期に間に合わせるよう経験を持つプロジェクトマネージャーが計画を綿密に立てるとよいでしょう。

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


アジャイル開発の関連用語をご紹介します。

①ユーザーストーリー

ユーザーストーリーは、ユーザーが実現したいことや、ユーザーにとって価値があること=意図・要求を簡潔にまとめた文章のことです。

ソフトウェアの機能を、ユーザーにも分かりやすい堅苦しくない言葉によって説明します。カードやふせんに、「誰が」「何を」「どうする」を書き出し、ユーザーストーリー・マッピングを作り、サイクルを回す時の手掛かりとします。

②ベロシティ

プロジェクトマネジメントにおいて、チームが1つのイテレーション内で完了することができるユーザーストーリーの規模の合計値を指します。アジャイル開発では、全体を俯瞰することが難しく納期に遅れが生じることもあります。そのためベロシティを用いて、チームの開発量を知り、進捗状況を確認することが重要になるのです。

イテレーションを回しながら、実測値を計測することで、開発が終盤になってきた場合に、開発完了見込みの時期予測ができるように進めていきます。

③イテレーション

イテレーションは、繰り返し、反復を意味します。アジャイル開発では、1サイクル単位で、短期間で反復しながら効率的に開発を進めていきます。この際の開発期間の単位を表すものがイミレーションです。イミレーションの期間は1~2週間程度で、イミレーションごとに機能をリリースすることになります。

④リリース計画

ウォーターフォール開発に比べ、最初に綿密に計画を立てないと思われがちなアジャイル開発ですが、初めにプロジェクト全体を管理するためのリリース計画を立てます。

アジャイル開発のリリース計画では、プロジェクトのゴール、ユーザーストーリーの優先順位、イテレーションの長さの3点を決めます。ただし、ウォーターフォール開発に比べると流動的で、チームのパフォーマンスに合わせてリリース計画を更新していく点が特徴です。

⑤スプリント

アジャイル開発の手法のひとつ、スクラム開発で使われる「スプリント」は、1ヶ月以内の固定の期間を指します。この期間内に、仕様の確定、詳細設計、開発、テストと、システム開発に必要な業務が行なわれます。スプリントが完了後、進捗状況を正確に把握し、状況に合わせた調整を行った後に、新しいスプリントを開始することになります。

アジャイル開発の手法・技法3選


スクラム

スクラムは、アジャイル開発で有名な手法で、チーム一体になりプロジェクトの遂行していくことから、ラクビーで肩を組み、チーム一丸となってぶつかるフォーメーションである「スクラム」を語源としています。まさに、チームで効率的に開発を進めることができるフレームワークで、メンバー自身がイテレーションごとの計画を立案、設計、実装を進行していきます。進捗状況や制作物の動作を検査することから、チーム内のコミュニケーションが重要視されます。

コミュニケーションが不十分であった場合、イテレーションの制作物としてリリースができない、リリースしても正常な働きをしないなどの問題が発生することがあります。

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

エクストリーム・プログラミング(Extreme Programming)は、頭文字を取って「XP」と略されることがある、技術面を重視したプログラマー中心の開発手法です。事前に立てた計画よりも、途中変更など柔軟性を重視し、以下の4つの価値をチーム内で共有します。

・コミュニケーション
・シンプル
・フィードバック
・勇気

コミュニケーションを取りながらも、設計は必要最低限、つまりシンプルに留めることや、頻繁にテストを行い、フィードバックを重視します。また、設計変更や仕様変更には勇気も必要となるでしょう。

ユーザー機能駆動開発

ユーザー機能駆動開発(Feature Driven Development)は、実際に動作するソフトウェアを適切な間隔で繰り返す手法で、頭文字を取って「FDD」と略されることもあります。 顧客にとっての機能価値を重視するため、ユーザーのビジネスを見える化して、必要な機能を洗い出していきます。そのために、事前にビジネスモデリングを実施して進めていきます。

ハイブリッドテクノロジーズの提供サービス


ハイブリッドテクノロジーズは、高い品質管理のもと、アプリケーション開発、システム開発の設計、デザインなどの上流工程から開発、運用、保守に至る全ての工程をトータルでご提供することで、クライアント企業のデジタルトランスフォーメーション(DX)推進をサポートいたします。

お客様の要望に合わせて、アジャイル開発やウォーターフォール開発等の開発手法やラボ(ストック)型サービスや受託(フロー)型サービスを柔軟に組み合わせて対応させていただきます。

【アジャイル開発ご希望のお客様】
・アジャイル開発についてはこちら

【ウォーターフォール開発ご希望のお客様】
・ウォーターフォール開発についてはこちら

【ラボ(ストック)型開発サービスご希望のお客様】
・ラボ(ストック)型開発サービスについてはこちら

【受託(フロー)型開発サービスご希望のお客様】
・受託(フロー)型開発サービスについてはこちら

ハイブリッドテクノロジーズが選ばれる理由

01 ビジネス設計〜実装・保守までワンストップで提供できるサービス体制
既存サービスの変革や新規サービスを成功を導くための顧客体験発想による設計からプロジェクトをスタートし、MVP開発を通して顧客のビジネスグロースを一緒に共創していくサービスを提供します。

02 UCS(ユーザー中心設計)によるUI/UXデザイン
実際にそのサービスを使うユーザーを調査、分析しながら、人間中心設計を元にデザインを行なっていきます。

03 スピード感をもった開発体制の構築
要件定義で定めた機能の中から優先度の高い重要なものから、アジャイル・スクラム開発を用いて開発することでサービスインまでの期間を短縮。素早いリリースを実現し、機能の追加などのブラッシュアップを行います。
ベトナムにおける日系No1*1という知名度の高さと20,000人以上*2の候補者リスト*2を元に必要な人員リソースの確保が可能なため、スピード感をもった開発の実行が可能です。

04 累計290社の顧客のプロダクト開発実績
当社が創業以来、豊富なシステム開発・アプリ制作の実績があり、それらを通じて蓄積した知見やノウハウを持ち合わせています。企画段階から要件定義・デザイン・開発まで担当し、プロジェクトを成功に導きます。

05 低コストかつ自由度の高い開発
フルスクラッチ開発とパッケージ開発のいいところどりを実現。 フルスクラッチ開発だとコストが上がる傾向にありますが、当社はベトナムのリソースを活用することでコストを抑えられます。
また、パッケージ開発だと自由度が失われる傾向がありますが、当社はスクラッチ開発で顧客予算に合わせて、スコープを見定めながら、進めることができるので、低コストで自由度の高い開発が実現できます。

06 国際標準規格に則った品質管理体制
情報セキュリティマネジメントシステムの国際規格「ISO9001」、「ISMS(ISO/IEC270001)」、ソフトウェア・テストの国際規「ISTQB Platinum Partner」の認証を取得しており、国際標準規格に則った品質管理体制を提供しています。

※1 株式会社マイナビが運営するベトナムでITエンジニア専門の求人サイト ITviecは、給与・教育・マネジメント・企業文化・オフィス環境の観点から、Best Companyを選定。Hybrid Technologies Vietnam Co.Ltd. は、2019年と2020年に、日系企業で最高位に選出されました。
※2 過去当社へ応募頂いた開発候補者のリストです。応募のタイミングでリクルートシステムに登録し、常にそのリストから候補者へのリーチできる体制を持っています。

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


アジャイル開発での成功事例をご紹介します

OfferGate(株式会社リフト)

サービス内容

⼈材紹介会社、派遣会社を通さずに、⾃社の条件や要件に合った外国⼈材求職者へ直接アプローチできる外国⼈材の採⽤マッチングプラットフォーム

サービス上の課題/目指したいサービス

課題
外国⼈材の採⽤には、求⼈ポータル形式や⼈材紹介会社を通して⾏われるケースが多く、互いにコミュニケーションが困難なため、外国⼈求職者と企業側のミスマッチが起こるケースがあること

目指したいサービス
今回構築する採⽤マッチングプラットフォームを介することで、外国⼈求職者と直接コミュニケーションを取れようになり、ミスマッチを減らして企業の外国⼈材受け⼊れを促進すること

当社を選択していただいた理由

サービス対象が外国人であるため、当社のベトナム人を織り交ぜた開発体制はユーザー視点を取り入れることが可能になるという点と開発体制をリフト様では内製で保持しておらずサービス開発の体制が組めないため、サービス開発知見の多い当社をパートナーに選択していただいた。

当社ご提案内容

ターゲット層であるベトナム⼈視点のUI/UX設計から保守改修までのワンストップでのハイブリッド型サービスの提供

まとめ


アジャイル開発についてご紹介しました。柔軟性があり、仕様変更や追加などにも対応でき、満足度の高い開発が可能です。ビジネスのスタートを早めたいこという場合にも、適する手法でしょう。

初めにプロジェクト全体を管理するためのリリース計画を立てて進めていくものの、ウォーターフォール開発のように、要件定義をきっちりと作り込んで進めるわけではないため、全体の進捗状況の管理が難しい面もあります。

しかし、インターネットが急速に普及し、流れの早い現代では、柔軟な仕様変更に対応できるアジャイル開発の手法が主流となってきています。ベロシティを用いて、チームの開発量を知り、全体の進捗状況を確認しながら進めていくことが必要でしょう。


この記事を書いた人
窪田 陽介

はじめまして!ハイブリッドテクノロジーズの窪田です。 当社は、次世代テクノロジー開発で世界をリードするベトナム人エンジニア700名(日系企業最大規模)を有し、ビジネスデザインを日本国内で、開発をベトナムで行う「ハイブリッド型開発」により、EC、モバイルアプリケーション、HRシステム、ポータルサイトなど長期運用が必要とされるサービス提供を行う企業のシステム設計、開発、運用業務に加え、デジタルトランスフォーメーション(DX)推進によるお客様の事業成功をコミットしています。