※当サイトではアフィリエイト広告を利用しています
「アジャイル開発」という言葉を聞いて、すぐに説明ができますか?
分かるようで分からない、しかも次々と登場していくIT用語。
新入社員や文系出身者、勉強し始めたばかり!という方にも分かりやすいように短めの説明にまとめました。
これで「聞いたことはあるけどよく知らない」から卒業しましょう!
アジャイル開発とは
アジャイル開発とは「活発な、よく動く」の意味のAgile(英、仏)を語源とするソフトウェア開発手法で、
スクラム開発
バックログによる、小工程を継続的にチームで改善する工程と手法のこと
エクストリームプログラミング
イテレーションという工程とリリースの繰り返しにより、継続的に機能付加・改善を行う工程と手法のこと
リーン開発
製造業のように、プログラミングをパーツに見立て、パーツの集積により大きなアプリケーションを開発する工程と手法のこと
といった技法があります。
これらの技法はいずれも、全工程が2-4週間くらいに区切られて短いこと、共通して開発技術者が大きな権限を持ち、反復性のあるプログラミングを核として、あとで成果物をまとめる、機能を付加する手順をとります。
アジャイル開発の目的
1、ミス・納期遅れを最小限にする
工程をおおむね2-4週間といった短期に区切り、小さい部分からプログラミングし、かつ継続的に見直し、改良する技法であるため、完成度が上がり大きなミスが出にくい。
2、人的リソースを効率よく使う
同じ開発拠点で机を並べて工程担当する必要がなく、多数の拠点での開発にも向いている
といった目的とポジティブな効果を出すことが狙える開発手法です。
1990年代から、例えば大きなシステム向きのウォーターフォール手法が、設計と仕様=包括的文書に大きく拘束され硬直的にすぎる点を克服するために考案されました。
2001年のアジャイルソフトウェア開発宣言という専門家が発表したワークペーパーで、ウォーターフォール手法と、その硬直性は克服されるべきもの、と明確に位置付けられたのです。
アプリケーションソフトウェアの開発ニーズが大きくなるにつれて、機動力のある開発手法が求められた結果、アジャイル開発を多くの企業・プロジェクトが採用するに至っています。
アジャイル開発が、機動力のある開発手法である反面、権限が分散しており、中央集権的ではないことから、一定の規格に合わせる、セキュアコーディングを徹底させるといった品質保証はしにくいといった、ウォーターフォールモデルと比較してのデメリットも指摘されることがありました。
しかし、それはアジャイル開発に合わせた、「チームのルール」として書き換えることにより克服されるものと考えられます。
ですので、アジャイル開発はあくまでも多拠点・技術者側のコントロール権などを考えて、マッチするプロジェクトに広く採用されています。