アジャイル開発とは?メリットと流れをまとめてみた「比較ビズ」

アジャイル開発とは?メリットと流れをまとめてみた

更新日:2019年02月01日 発注カテゴリ: Webシステム開発
アジャイル開発とは?メリットと流れをまとめてみた

システム開発を行うための方法には大きく分けて二つあります。一つはウォーターフォール開発といい、多くの工程を決めてその工程通りに物事を進めていくという方法です。もう一つの方法はアジャイル開発です。ウォーターフォール開発とアジャイル開発とでは適しているプロジェクトが異なるので、自社がどのようなシステムを必要としているのか、どのくらいの納期を想定しているのかを考慮しながら方法を選ばなければなりません。ではアジャイル開発とはいったいどんなものなのでしょうか。

アジャイル開発とは?

「アジャイル」とは「素早い」や「機敏」という意味を持ちます。2001年に提言されたシステム開発の方法の一つで、開発の重要な部分を統合することで開発のスピードアップを図るものです。例えばウォーターフォール開発では外部設計や内部設計のすべてを終わらせてからテストに入ります。

しかしアジャイル開発の場合には短期間に計画から実装までを行うことで臨機応変な変更にも対応できるように工程が進められていきます。ウォーターフォール開発とはまったく異なるシステム開発へのアプローチということになるでしょう。

アジャイル開発のメリット・デメリット

当然ですが、ウォーターフォール開発にメリット・デメリットがあるのと同様、アジャイル開発にもメリットとデメリットがあります。このメリット・デメリットを把握しておくことで、システム開発を外部委託する際にも適切な判断ができるようになるでしょう。

まず大きなメリットの一つは短期間でシステムの修正が可能ということです。ウォーターフォール開発の場合、すべての外部設計や内部設計が終わってからテストが行われるため、もし計画の変更があった場合に大幅に作業をやり直さなければなりません。

そうなるとかなりの時間とお金が無駄になってしまう恐れがあります。しかしアジャイル開発であれば短期間に計画や実装、テストが繰り返されているのでもしトラブルが起こったり計画の変更が必要になったりしても短時間での修正が可能です。

いわば短期間でプロジェクトが何度も上書き保存されているような状態なので、修正・変更に対応しやすいということになります。続いてのアジャイル開発のメリットは、顧客と委託先の開発チームがコミュニケーションを取りながらシステム開発を続けられるということです。

ウォーターフォール開発では顧客からヒアリングを行い要件定義書を作った後はあまりコミュニケーションを図ることはありません。しかしアジャイル開発の場合、短期間に繰り返されるサイクルごとに顧客にフィードバックを行ってコミュニケーションを図ります。

実際に顧客が使い心地を確かめて修正をお願いするケースも少なくありません。顧客との話し合いの中で新たなニーズが掘り起こされることもあり、顧客満足度をその都度確かめながらシステム開発を進められます。

一方でアジャイル開発にはデメリットもあります。まず全体像がつかみにくいという点が挙げられます。アジャイル開発では細かい修正点が目立つため、最終的にどんなシステムにしたいのかがわからなくなってしまうことがあります。

デザインの細部にこだわったり、新たな機能を実装してほしいとお願いしたりすると納期に間に合わないということさえあるのです。最初に工程表を作り、いつまでにどの工程が終わっていなければならないのかを明確にすることが必要になります。

さらに当初の計画と実際にできあがったシステムにずれが生じることがあるのがアジャイル開発の別のデメリットです。細かい修正を重ねていくことができるため、当初の目的を見失ってしまい、顧客の希望するシステムとは異なったものができてしまう恐れがあります。一定期間ごとに最初に立ちかえってコンセプトを見直すことは重要です。

アジャイル開発の手法と工程

アジャイル開発にはいくつかの手法があり、それぞれ適したプロジェクトがあります。自社が求めるシステムの仕様によってどの手法が適しているのかを知っておく必要があります。例えば、アジャイル開発にはスクラムという方法があります。

スクラムはアジャイル開発の中でももっとも一般的な方法です。スクラムという言葉はラグビー用語で、チームメートで肩を組んで相手チームに立ち向かっていくフォーメーションです。それと同じようにスクラムではチームメートとの協力を重視します。

アジャイル開発では通常、最初にリリース計画を決め、その後イテレーションが行われます。リリース計画では厳密な仕様は決められず、概要だけが決められます。というのはアジャイル開発においては計画や仕様の変更は起こり得るものとして開発が進められていくからです。

イテレーションとは一つのサイクルのことで、計画、設計、実装、テストを一つの単位とします。アジャイル開発では1週間から2週間を目安にこのイテレーションを行い、小さなリリースを繰り返していきます。

スクラムでは1回のイテレーションが終了したら、改善点や今後の方針をチームメートで話し合って方向性を再確認していきます。そのためスクラムではチームメートとのコミュニケーションが非常に重要になるのです。

続いてアジャイル開発の別の手法がエクストリーム・プログラミングというものです。XPとも呼ばれますが、これは計画の途中変更にも柔軟に対応することを最重要視している手法です。コミュニケーション、シンプル、フィードバック、そして計画変更を恐れない勇気という4つの価値観を推奨しています。

顧客のいろいろなわがままを聞いて計画を変更できるという大きなメリットがありますが、技術面で変更に対処するためプログラマーが中心となった開発方法と言えます。もしシステム開発の知識がない企業がXPで開発を委託してしまうと、置いてけぼりになってしまうかもしれません。

さらに別の方法として、ユーザー機能駆動開発という手法があります。これは実際に動作するソフトウェアを作って繰り返すことで、顧客が機能価値の有無を判断できるというものです。当然ソフトウェアを開発する前には、顧客のビジネスモデリングを実施し、顧客のニーズをしっかり把握することが重要です。

アジャイル開発が向いているシステムとは

アジャイル開発は途中で仕様変更や計画変更が多くあると見込まれるプロジェクトに適したシステム開発の方法です。顧客が急に新たな機能をつけてほしい、削除してほしいといったとしても臨機応変に対応できるからです。

一方ですでに存在しているシステムを効率の良いものに変更するといった場合にはアジャイル開発のメリットが十分に発揮できない可能性があります。ウォーターフォール開発の方がストレスなくシステム開発を委託できるかもしれません。

まとめ

アジャイル開発はスピードを重視したシステム開発を期待する企業にとってとても魅力的なシステム開発の手法です。アジャイル開発でシステム開発が進んでいけば、計画を変更したい場合でも臨機応変に対応してくれるに違いありません。

ただし、アジャイル開発であっても顧客と委託先の会社のコミュニケーションは非常に重要です。特に1回のイテレーションが終了した後にはフィードバックや改善点などをしっかりと話し合う必要があるでしょう。こうしたコミュニケーションを重視していけば、満足のいくシステムが出来上がるに違いありません。

アジャイル開発とは?メリットと流れをまとめてみた

気に入ったら「いいね!」をクリック
比較ビズがビジネスに役立つ情報をあなたにお届けします

比較ビズへ掲載しませんか?

不透明な見積もりを可視化できる「比較ビズ」

比較ビズは「お仕事を依頼したい人と受けたい人を繋ぐ」ビジネスマッチングサービスです。
日本最大級の掲載企業・発注会員数を誇り、今年で運営13年目となります。
比較ビズでは失敗できない発注業務を全力で支援します。

日々の営業活動で
こんなお悩みはありませんか?

営業活動でよくある悩み

そのお悩み比較ビズが解決します!

詳しくはこちら
お電話での見積もりはこちら