最近よく聞くアジャイル開発(agile)ですが、みなさんは理解できていますか?
ここでは、アジャイル開発を従来のウォーターフォール型開発と比較しながら、アジャイル開発とは?メリットは?という疑問を解決していきます。
アジャイル開発とは?
アジャイル開発を理解するために、「アジャイル」という言葉をまずは解説します。
アジャイル(agile)とは、「すばやい、頭の回転が早い、賢い」という意味の単語です。
その単語の通り、アジャイル開発では、短期間で開発のPDCAを回し、「一度で完璧なものを作る」というよりも、要件の変更等を前提に、顧客との依頼内容の摺り合わせをしながら製品の完成度を高めていき、リリースする、という開発手法です。
アジャイル開発が生まれた背景には、ビジネスとITの関係性が親密になり、ただのツールから必要不可欠なものへと変化したことがあります。短期間で価値あるイノベーションを生みだすためには、日々の変化に対応できる開発手法が必要になったのです。
その結果、2001年に、ソフトウェア専門の著名人17人がアジャイル開発の原則をまとめた「アジャイルソフトウェア開発宣言」を発表しました。
アジャイル開発とウォーターフォール開発の違い
アジャイル開発と、従来のウォーターフォール開発の違いを理解すると、両者のメリット・デメリットが見えてきます。
まずは、両者の違いを理解しましょう。
ウォーターフォール開発
ウォーターフォール開発では、「企画・要件定義・設計・実装・テスト」という流れで開発を行います。
それぞれの工程が正しいという前提を元に進み、1つの工程が終わるまで、他の工程に進むことはできません。
初めの工程で契約内容や、それぞれの工程での責任範囲が明確になります。しかし、前の開発工程でミスがあったり、仕様変更が発生すると追加の費用や、追加の開発期間が必要になる開発手法です。
ウォーターフォール開発のメリット
日本で考えると、一般的なシステム開発では今でも多くの企業がウォーターフォール開発を採用しています。ですので、経験者が多く、プロジェクトマネージャーを確保しやすいというメリットがあります。
また、各工程での成果を文章で残すことも、メリットの1つといえるでしょう。
ウォーターフォール開発は、比較的大規模で、長期的な開発で採用されることが多い手法です。
ウォーターフォール開発のデメリット
開発工程を戻らないというのが、ウォーターフォール開発の原則ですが、実際の現場では、開発を進めていく中で顧客自身も気づいていなかったニーズや、重要な要件が掘り出されることがあります。
その場合、追加の費用がかかってしまったり、開発期間が延長されることがあります。
アジャイル開発
アジャイル開発では、先に軽く説明したように、「イテレーション」と呼ばれる「計画・設計・実装・テスト」のフローを短期間で繰り返し、顧客やチームとのコミュニケーションをとりながら、要件を最適化していく開発手法です。
Related Posts
投稿者プロフィール
-
NexSeedメディア編集部(Tech系専門)です。
プログラミング学習や、セブ島でのエンジニア留学(IT留学、プログラミング留学とも呼ばれがち。)の様子をお伝えします!
記事に関するお問い合わせは、こちらのメールアドレスにお願いします。
ikuniyoshi(アットマーク)nexseed.net
最新の投稿
- IT留学2017.08.24アジャイル開発とは?初心者のためのアジャイル入門
- IT留学2017.08.02「プログラミング×英語」であなたが得られる3つのもの
- IT留学2017.06.07今話題のIT留学/エンジニア留学について、質問に答えまくる記事