ソフトウェア開発の新たな手法としてアジャイル開発が紹介されてから数年が経過し、実プロジェクトへの適用事例を目にすることが多くなってきました。アジャイル(agile)とは、「俊敏な」「機敏な」という意味ですが、「ペアプログラミング」「テストファースト」のようなアジャイル開発手法の一部のプラクティスがそのすべてであるかのように言われることがあります。ここでは改めてアジャイル開発の基本的な考え方を整理していきたいと思います。
ソフトウェア開発手法とは
開発手法とはシステム開発を効率的に進めるための手順・約束事・ノウハウのことを意味します。最も歴史があり、よく知られている開発手法はウォーターフォールモデルとなるでしょう。ウォーターフォールモデルでは「要求」「分析」「設計」「実装」「テスト」「運用」といった形にシステムの開発工程を分割し、各工程では後工程の作業のインプットとなる成果物を作成します。成果物は仕様書や設計書などのドキュメント類で、基準や定義が定められおり、各工程の中で時間をかけて厳格に検証され承認されたもののみが用いられます。原則的に各工程の順序を飛び越えて先に進んだり、一度終了した工程に戻るということを許しません。このような開発モデルを滝の水が上から下に落ちることにたとえてウォーターフォールモデルと呼んでいます。
アジャイル開発の出現した背景
ウォーターフォールモデルは現在でも多くのプロジェクトで採用されています。その理由は工程がはっきりと分かれているためスケジュール立案や進捗管理などのプロジェクト管理を行うのが容易であること、段階的な詳細化のため各工程の工数の見積や資源の配分が行いやすいことなどがあります。しかしながら、最近のシステム開発の環境変化とウォーターフォールモデルに存在している問題点により、アジャイル開発手法が登場することになりました。
ソフトウェア開発環境に大きく影響を与えているのは、ビジネスの変化とスピードです。グローバル化や規制緩和などにより産業構造は大きく変化しており、従来の枠組みを自ら革して他社先んじて適合を行い、市場にいち早くサービスを提供していく必要があります。そのようなビジネスに必要なシステムを開発するための手法として捉えた場合、ウォーターフォールモデルには大きく2つの問題点があります。
■問題その1: システム全体に対する分析や設計を一括して行うため各工程が長く、ユーザーがシステムの実物を見られるようになるまでの時間が長い
ウォーターフォールモデルではシステム全体についてひとつの工程をモレがない段階まで行い、レビューによる確認や承認を終えた段階で次の工程に移ります。そのため、ひとつひとつの工程が長く、システム開発の初期段階で要件をヒアリングしたユーザが実際のシステムを利用できるまでには長い時間がかかります。
一方、市場で勝ち抜いていくために、企業は従来の業務構造を見直し、競合優位性を獲得できるように業務のあるべき姿を再構築しています。そのような業務に対するシステムの要件を検討した場合、日々の業務のみから必要な機能を抽出するということは困難であり、ビジネスゴールへの到達を想定した仮説にもとづいた要件にならざるを得ません。そのため、システムに本当に必要な機能は何か、システム機能を使用する業務は実現可能なのか、といった点については実際に動くもの見なければ検証できないという状況が発生してきています。
ウォーターフォールモデルを採用した場合には、ユーザーは開発の終盤にならなければシステムを利用して仮説の検証を行うということができず、そのためほとんどの機能を作り終えた後で変更要求が頻発して対応しきれなくなり、最終的に満足度の低いシステムになってしまう可能性が高いと言えます。
それに対して、アジャイル開発では開発プロジェクトの期間を短期間(1週間〜6週間)に区切り、この間に開発工程を一通り行って、部分的に機能を完成させます。そしてこの「短く区切られた期間で動くアプリケーションを開発する」という作業を繰り返すことによって、段階的にシステム全体を仕上げていきます。このような開発スタイルは反復型(イテレーション)開発と呼ばれていますが、開発期間の早い段階からユーザーが動くソフトウェアを目で見て確認できます。
関連情報
-
IBM、エクリプス財団に「Rational Unified Process」のコードを提供
BMは米国時間10月12日、オープンソース団体のエクリプス財団に対し、ソフトウェア開発プロジェクトの組織化に関するドキュメントやコードを寄贈したことを明らかにした - 離れていてもアジャイル開発が行える「Borland JBuilder 2006」、ボーランドが出荷
「今さら人に聞けないITトピック」 のバックナンバー
-
マイクロソフトのクラウドサービス「Windows Azure」とは?
「Windows Azure」は、マイクロソフトが準備しているクラウドコンピューティングのサービスだ。この記事ではその概要や位置づけ、現在の状況などを説明する。 -
今流行のネットブックってどんなもの?
-
最近よく聞く「Windows 7」って?
-
クラウドコンピューティング--希望の光か、それともただのマーケティング用語なのか
-
日本発のQRコードがヨーロッパに本格進出?
- 今さら人に聞けないITトピック 一覧へ »
ZDNet Japan Essential Topic
-
業務効率化への第一歩はプロセス指向
まずは晩飯づくりからプロセスに分解してみよう! -
Windows 7の情報満載
MicrosoftのすべてがわかるZDNet Japanの総力特集
企画特集
-
仮想環境を実現するソリューション特集
仮想化導入時、こんなところ気にしてますか? -
インターネット上の悪意を未然に防ぐには?
ブラウザに備わったセキュリティ機能を徹底解説 -
パンデミック対策特集
2009年のパンデミック発生から再考する事業継続計画 -
マネジメントの「コラム」と「コネタ」
今日のキーパーソンは誰? -
集積度も性能も、業界最高水準のブレードPC
サーバの実装技術を、シン・クライアントへ応用 -
そのストレージで仮想化に対応できますか?
メリット盛りだくさんのサンのオープンストレージ製品 -
◆エン・ジャパン厳選求人☆毎週更新◆
不況下でも急成長の秘訣とは?注目企業の取組みも公開! -
セキュリティ&ユーザ事例【SIer Club】
最新のセキュリティ情報と提案事例が満載 -
ロリポップ!がリニューアル
【第1回】創業者の家入一真氏が語る誕生秘話!! -
ESBでIT投資の無駄を劇的に解消する
IBM IMPACT 2009を徹底レポート! -
中小企業のセキュリティリスクとは?
導入する側・される側 得するセキュリティ製品 -
ストレージメディア特設サイト開設
仮想化環境において最適なソリューションを! -
SOA、BPM、SaaS −今、企業に必要なこと
ビジネス・アプリケーションの今を網羅する特設サイト -
【徹底対談】運用管理ツールの賢い使い方
市場背景〜仮想化管理までアナリストが解説! -
今注目の「サジェスト検索」−デモ掲載中
システムのユーザビリティに革命を起こす技術とは -
サーバー監視・運用のコストを削減するには
エージェントレス方式を用いたパトロールクラリスで -
サービス・ドリヴン・データセンター
コスト効果の高いデータセンター構築には? -
■ストレージ容量50%削減保証■
ネットアップによる削減保証キャンペーン実施中 -
エンタープライズにおけるSUSEの強み
次世代データセンターの基盤は11だ。
ZDNet Japanからのお知らせ
- ご回答にはCNET_IDご登録が必要です。
-
9. 出荷準備はOK?
この3分間のビデオは、あなたがソフトウェアを出荷する前に、データレー... -
10. Parallel Debugging Extensions
この3分間のビデオは、並列アプリケーション内のそうでなければ発見しが...
新着企業動向
-
フォーティネットウイルス対処状況レポート(2009年6月度)
フォーティネットジャパン -
緊急開催 第二弾! 新型インフルエンザ対策無料セミナー
NTTソフトウェア -
GMO-HS「アイル」、共用サーバー「Infinito」の機能を強化
〜 ディスク容量の大幅増強 や ...
GMOホスティング&セキュリティ -
SecureCube / PC Check
NRIセキュアテクノロジーズ - 企業動向一覧へ»
サーバやOS、アプリケーションなどの世界ではオープンソーススタンダードが市場を牽引する現在、ストレージの世界でもオープン化の流れが始まっている。
幸い今回は弱毒性で大事には至らなかったが、まだ油断はできない。企業活動を停止すると、大きな経済的損害や社会的信用の低下を招いてしまう。 
