まずは簡単に無料登録! 今すぐ新しい冒険を始めよう!
フリーランスエンジニアのための
求人サイト - フリート
システム開発と一口に言ってもその開発手法にはいくつかの種類があります。今回取り上げるのは『ウォーターフォール開発』と『アジャイル開発』の2種類です。既にご存知の方も多い方思いますが、まずはウォーターフォール開発とアジャイル開発にはどのような特徴があるのか、それぞれのメリット・デメリットを中心にお伝えします。そして、ウォーターフォール開発とアジャイル開発に関わるフリーランス案件はあるのかという点についてご紹介します。
システムの開発現場でよく使われる開発手法がウォーターフォール開発です。ウォーターフォール開発は、要件定義、設計、実装、テストという大きく4つの工程で進められます。設計では基本的な設計や詳細設計、テストでは単体テスト、結合テスト、総合テスト、受入テストなど細かな対応が行われます。ウォーターフォール開発では一つの工程が完了して次の工程に進むと、既に完了している工程に戻ることができないのが原則です。ウォーターフォール(滝)の名前の通り上から下への一方通行の開発手法となります。
それではウォーターフォール開発におけるメリット・デメリットを見ていきます。
①スケジュールのたてやすさ・進捗管理のしやすさ
ゴールをもとに各工程でやるべきことを明確にすることができるため、スケジュールをたてやすいメリットがあります。また工程が明確になっていることから現在の進捗状況を管理しやすくなっており、遅れが出ている場合にもスケジュールを調整しやすくなっている点も開発者・クライアント側にとってもメリットになると言えます。
②品質を担保しやすい
要件定義からテストまで計画的に開発を進めていくため、品質を担保することが可能となります。原則として途中での仕様変更はできませんので方向性もブレることなく、一つひとつの工程が進められるため品質に問題が生じる心配はないと言うことができます。
①仕様変更時に大きな工数がかかる
ウォーターフォール開発では前の工程に戻ることができません。しかし、やむを得ない仕様変更や設計ミスなどにより、既に完了している成果物に修正を加えなければならなくなった場合には、要件定義に戻ってやり直しが必要となり工数が大きくかかってしまうことになります。そのため、納品に遅れが生じるということにもつながってしまう可能性も出てきます。
②ユーザーの声を反映させにくい
上記とも関係している点ではありますが、後からの仕様変更ができないことが原則であること、また仕様変更が必要となった場合には大きな工数がかかってしまうことからユーザーの声を反映させにくいというデメリットがあります。
アジャイル開発は、機能ごとに要件定義、設計、実装、テストというサイクルを繰り返して開発していく手法です。ウォーターフォール開発がシステム開発という大きな枠組みの中で「要件定義・設計・実装・テスト」の工程を一つずつ完了させながら進めていくのに対して、アジャイル開発では、システム開発で必要となる機能単位の中で「要件定義・設計・実装・テスト」工程を繰り返す手法です。そして開発された各機能を一つの集合体とすることで大きなシステムを形成することとなります。
それではアジャイル開発のメリット・デメリットを見ていきます。
①速いスピードで開発できる
アジャイルには「素早い」「俊敏」という意味があります。その言葉通り開発スピードが速いのがメリットとして挙げられます。最小単位で機能ごとに並行して開発を進めていくためリリース時期も早くなります。また、手戻り工数にかかる工数も少なく済みますので全体を通してスピード感がある開発手法となります。
②仕様変更にも柔軟に対応できる
ウォーターフォール開発ではデメリットだった部分ですが、アジャイル開発では仕様変更にも柔軟に対応することが可能です。機能単位での開発を行うため別の機能への影響も軽微となります。また、ユーザーの声も反映しやすくなるため臨機応変に対応できます。
①品質低下が起こりやすくなる
仕様変更に対応できる点はメリットですが、反対に繰り返し変更を行っていくうちに品質低下につながってしまうリスクも出てきます。最初の方向性からブレてしまう可能性もあることから最初の方針をしっかり固めて意識する必要があります。
②全体の進捗管理が難しい
機能単位での開発を進めていくため全体を通しての進捗管理が難しいという点がデメリットとして挙げられます。納期に合わせたスケジュール管理ができるようにプロジェクトマネージャーのもとに綿密な計画をたてる必要があります。
「ウォーターフォール開発とアジャイル開発に関わるフリーランス案件はあるのか?」という点ですが、結論として案件はあります。
まずウォーターフォール開発に関わる案件ですが、先ほどウォーターフォール開発のメリットでも触れたように品質の確保ができることや大規模なプロジェクトに向いている開発手法です。案件の中にはスピードを求めているものもあれば、何よりも品質が重視される案件もあります。
たとえば銀行のATMや携帯キャリアの通信システムなど、システム障害が発生によって重大なトラブルが引き起こされてしまうような開発案件です。また大規模なプロジェクトでは開発に携わる人員が必要となります。プロジェクトの規模が大きくなればなるほど人手確保が求められることからウォーターフォール開発に関わる案件の中でフリーランスを募集しているものも存在しています。
多くの現場で採用されている基礎的な開発手法ですので、これから需要が急激に減少するようなことはないと言えるでしょう。
一方のアジャイル開発に関わる案件も増えてきている傾向にあります。
2019年2月にGartner(ガートナー)が発表したアプリケーション開発(AD)に関する調査結果の中で「アジャイル型開発手法に関する現在および今後の方針×従業員数規模」を見てみると2,000人以上の従業員数規模をもつ企業で「採用中」や「採用予定あり」と回答したところが約7割となっています(参照:Gartner「ガートナー、アプリケーション開発 (AD) に関する調査結果を発表」https://www.gartner.com/jp/newsroom/press-releases/pr-20190221)。
また、仕様変更に柔軟に対応できるという点でユーザーの声を反映させやすいことからアジャイル開発を取り入れる企業も増えてくると考えることもできます。このことからもアジャイル開発に関するフリーランス案件も増えていく可能性があるでしょう。
今回は、ウォーターフォール開発とアジャイル開発の特徴としてメリット・デメリットをお伝えして、フリーランス案件はあるのかという点についてお伝えしました。ウォーターフォール開発、アジャイル開発ともにメリット・デメリットがありますが、それぞれのデメリットを補い合っている開発手法と言うことができます。そのため、一概にウォーターフォール開発が優れている、アジャイル開発が優れていると判断することはできません。また、それぞれに関わるフリーランス案件についても現状としては存在していて、ウォーターフォール開発は基礎的な開発手法のため多くの現場で採用されている、アジャイル開発はウォーターフォール開発のデメリット部分を補う手法として今後も取り入れていく企業が増えていく可能性があると言えるでしょう。
私たちプロのコンサルタントが
あなたの独立をサポート・支援します。
これからフリーランスになりたい方に向けて
専任のコンサルタントがあなたの理想のキャリアを
実現するために、無料で個別相談会を行っています。