見出し画像

アジャイル開発の優位性

はじめに

アジャイルとはシステムの開発をする手法の一つであり、更にアジャイルの手法の中にも様々な細かい手法があります。

アジャイル開発の特徴

アジャイルは主に以下のような共通点があります。

1.最初のリリースから全ての要件通りに実現することを目指さない。
2.小規模開発を繰り返し行い、時にはクライアントとの認識合わせを行い修正等も行っていく。

アジャイルの手法を用いることで開発工数の削減やリリース迄の時間の短縮が期待できる上、クライアントの要望にも細かいところまで柔軟に応えることが出来ます。

そんな便利な手法であるアジャイルですが、日本ではあまり普及していないのが現状です。かつてから日本では依頼相手から要求を聞き、段取りを組んで一つ一つの工程が完了してから次のステップへ行くという棚田へ流れる水があふれてから次の棚田へと流れるように慎重に物を作る文化が根強い為、未だ多くの所で取り入れている開発手法がウォーターフォールという手法です。

ウォーターフォール開発の特徴

ウォーターフォールの主な特徴としては以下の通りです。

1.最初の要件定義でシステムの仕様を確定する。
2.各工程を明確に区切り、コーディングとテストを並行したりはしない。
3.全ての開発工程が完了してから初めてシステムを使用する。

上記の点からウォーターフォールはアジャイルと比べて仕様変更の際の影響が大きくなり、システムの完了イメージを知るタイミングが遅くなりがちなため、開発途中でのクライアントとの認識合わせが困難になり、納期遅れやクライアントが要望していた通りのシステムとは異なってくるリスクがあるため、トラブルのリスクも増大します。

このようにウォーターフォール手法ありきで何でもモノづくりを行おうとする日本企業は全体的に世界から生産性が低いとまで言われるきっかけの1つにまでなるほどです。

アジャイルで進めよう!

特にITの事を知らない業界の人たちの場合、必ずしもクライアント側の要求が固まっているという保証もないですし、プロジェクトの途中で仕様の変更まで求めてくるクライアントがいてもおかしくありません。

なので、そのような日本の企業体質だからこそアジャイル開発をメインにすることにメリットがあるのです。アジャイルであれば、頻繁にクライアントとのコミュニケーションをしながら開発をし、底固めをすることで確実にクライアントの要望を取りこぼすことがなくなり進捗状況をリアルに近いほど理解してもらいやすいため納期遅れやトラブルを避けることが出来ます。

また、アジャイルの中にも、小規模開発をしてからテストをするのではなく、開発をしながらテストを行っていき開発完了のタイミングにはテストが不要になる様開発を進めるテスト駆動開発やコーディングの実装役とテスト確認役の2人1組でコーディングを行うペアプログラミング等様々な手法がある為、臨機応変に開発をしやすいと言えます。