支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • 【2つの開発手法】アジャイルとウォー

概要

近年アジャイル開発という開発方法が注目されています。長らく主流だったウォーターフォール開発とは異なるメリットがあり、アジャイルを利用するプロジェクトは増えています。本記事ではアジャイルとは何か、ウォーターフォールとの違いなどを解説します。

2つの開発手法

プロジェクトの開発手法は主にアジャイル開発とウォーターフォール開発の2つがあります。本項では2つの開発手法について解説します。

アジャイルとは

アジャイル開発とはシステム構築やソフトウェア開発をする上での比較的新しいプロフェクト開発手法です。アジャイルという言葉は日本語で、「素早い」「機敏」という意味があります。従来の手法(ウォーターフォール)とは異なり、開発期間が大幅に短くなる事からアジャイルと名付けられれました。
アジャイルの特徴は開発期間の短さと柔軟性にあります。アジャイル開発ではソフトウェアの計画段階で仕様を厳密に決めず、大まかな仕様だけを決め開発に着手します。その後は短いスパンで「企画」「設計」「実装」「テスト」を繰り返し随時機能を追加していきます。現場中心で柔軟に開発を行うため、仕様変更に強く短い期間での開発が可能です。開発の途中で臨機応変に仕様の変更や追加が可能な事から、ユーザーの声を反映して仕様変更がある事が多く、比較的少人数で行うモバイル分野等には特に向いている手法です。

ウォーターフォールとは

ウォーターフォール開発は長らく多くのプロジェクトで用いられてきた従来型の手法です。ウォーターフォール開発の特徴は工程ごとに担当を分割し計画重視の開発を行う事です。ウォーターフォール開発では計画段階で全ての仕様を決定します。「企画」「設計」「実装」「テスト」の工程をそれぞれ決められたメンバーが担当して行い、工程ごとにドキュメントを作成して次の工程に引き継ぎます。全ての工程が完了後、初めてソフトウェアを利用出来ます。計画や予算の見積もりが容易な事から、人員数が必要な大規模なプロジェクトに向いていると言えます。

2つの開発手法の比較

アジャイル、ウォーターフォールの2つの開発手法を比較します。

 アジャイル  ウォーターフォール
変更対応  開発中でも可能  開発前でなければ不可
サービスの稼働までの時間  機能ごとに実装する為、早い段階から利用可能  全行程終了後に稼働
ドキュメント  作成する場合もあるが、必須ではない  工程ごとに必ず作成
品質  比較的障害が発生しやすい  比較的障害が発生しにくい
管理  状況が常に変化するので管理しにくい  計画に沿って進めるため管理しやすい

メリットとデメリット

アジャイル

アジャイル開発のメリットは短いスパンで開発・提供を反復する為、スピーディーに新機能を提供できる事臨機応変に修正・変更を行える事です。また、現場主導で開発が行われる事により、より状況に適した対応を選択する事が出来るため合理的です。
反面、デメリットとしては柔軟性が高すぎるあまりに、最初の方針を定期的に確認しないと開発の方向性がブレやすいです。また、ドキュメントを残すことが工程上必須ではないのでエビデンスが残りません。このように管理の難しさがアジャイル開発の大きなデメリットです。

ウォーターフォール

ウォーターフォールのメリットは綿密に計画を立て、その通りに進めるため管理がしやすい事です。大規模なプロジェクトであればあるほどに、計画や予算組みが重要になるため、それらを管理し易い事は大きなメリットです。また、各工程の作業を集中して行い、最後は全機能を通しての結合テストも行うため、アジャイルに比べ障害が発生しにくく、品質を担保しやすいです。金融システムなど障害が許されないケース等ではリリースの速さよりも正確性が求められるため、ウォーターフォールに利点があります。
デメリットとしては柔軟性が低く、手間が多い事です。プロジェクト開始時に全ての仕様を確定する為、開発中に仕様変更が発生した場合大きな手間がかかります。テスト工程に進むまでクライアントが実物を確認する事が出来ないため、その段階で要件を満たしてない等で修正が発生した場合、かなりの工程を遡ることになります。また、全ての工程でドキュメント作成と引き継ぎが発生する、他の工程の内容は都度担当者に確認しないと分からないなど、工程が多く時間がかかる事などがあります。

まとめ

今回はアジャイル開発とウォーターフォール開発について解説しました。どちらの開発法補にもメリット、デメリットがあり、どちらが優れているというものではありません。長らくウォーターフォール開発が多くのプロフェクトで採用されていた為、そのデメリットを克服しているアジャイルが好まれる風潮はありますが、大規模な開発では依然ウォーターフォールが用いられる事も多いです。技術者個人がプロジェクトの開発手法を決定するような場面は多くはありませんが、IT開発に携わる者として必要な知識ですので、参考にして頂ければ幸いです。