こんにちは、Takamiです!
ITサービスの開発手法の一つに「アジャイル」というものが存在するのをご存じでしょうか?
一般的にシステム開発は「ウォーターフォール」と呼ばれる手法を用いて進めるのが一般的なのですが、この手法では状況の変化にすぐに対応できないことが多いです。
そこで登場したのが「アジャイル」という手法です。今回はこのアジャイルについて、IT系職種を目指す文系の方向けにもわかりやすいように解説していきます!
なお、一般的な開発手法「ウォーターフォール」については、下の記事で解説していますので、合わせてご覧下さい!
アジャイルとは?
そもそも「アジャイル(Agile)」とは、「俊敏な」「素早い」という意味の英単語です。
アジャイル開発は、ウォーターフォールでは最初に行う全体の機能設計等を行わず、システムを小さな単位で実装とテストを繰り返して開発を進めていきます。
そのため従来の開発に比べ、より迅速かつ適応的に開発を行うことができます。
アジャイル開発の理念・考え方については、2001年に発表された「アジャイルマニフェスト」にまとめられていますので、是非ご一読ください。
アジャイル開発の流れ
アジャイル開発は、基本的に以下のような流れで進められます。
リリース計画
最初はウォーターフォールと同様に開発の計画を立てます。ただし、厳密な仕様を決めずにだいたいの仕様だけを決めます。アジャイル開発は計画に従うことよりも変化への対応を重視しているため、仕様・設計の変更を前提として動くことが求められます。そのため最初の段階では大枠のみを決め、詳細な仕様・設計は後から調整することになります。
イテレーション
おおよその仕様を決めたら、イテレーションと呼ばれるサイクルを繰り返して開発を進めます。
イテレーション(Iteration)とは「反復」という意味で、小さな単位に分けられた開発を「計画」→「設計」→「実装」→「テスト」と行いながら、機能のリリースを繰り返します。1サイクルあたりおよそ1~2週間ほどの短い期間で繰り返すのが一般的です。
アジャイル開発のメリット
アジャイル開発の大きなメリットとして挙げられるのは、「不具合が発覚した際に戻る工数が少ない」という点です。
小さな単位で開発とテストを繰り返すため、たとえ不具合が存在しても早期発見・早期修正が可能になります。ウォーターフォールの開発だと、全体の設計・開発が終了した後にテストを行うため、規模の大きい開発ほど工数の戻りが大きくなってスケジュールに影響してしまうという懸念があります。
また最初の段階で詳細な設計を行わないため、開発途中でクライアントとすり合わせを行いながら仕様変更・追加に臨機応変に対応できます。
アジャイル開発のデメリット
デメリットとしては、計画段階で厳密な仕様を決めていないため、開発の方向性がブレやすいという点があります。改善を繰り返す中で、どんどん仕様変更・追加が行われ仕様が当初とずれてしまう可能性が高いです。
また詳細な計画を立てずに開発を行うため、スケジュール・納期の管理がウォーターフォールに比べ非常に難しいです。開発を繰り返していたらいつの間にか納期に…なんていうことも起こりかねません。
さいごに
今回はアジャイルについて解説していきました!
昨今はWebアプリ、スマートフォンアプリなど仕様の変更がこまめに求められるシステムが増えており、アジャイルが今後のシステム開発におけるスタンダードになるかもしれません。
ITサービスに今後携わるつもりの方は、ウォーターフォール・アジャイルそれぞれのメリットを正確に把握しておくようにしておきましょう!
以上、Takamiがお送りしました!