ソフトウェアの新たな開発手法、「アジャイル開発」って?

一橋範哉(ウルシステムズ) 2006年09月29日 08時00分

  • このエントリーをはてなブックマークに追加

(編集部注:2011年の連載記事「アジャイル開発を実案件に生かすための基礎知識」も併せてご覧下さい)

 ソフトウェア開発の新たな手法としてアジャイル開発が紹介されてから数年が経過し、実プロジェクトへの適用事例を目にすることが多くなってきました。アジャイル(agile)とは、「俊敏な」「機敏な」という意味ですが、「ペアプログラミング」「テストファースト」のようなアジャイル開発手法の一部のプラクティスがそのすべてであるかのように言われることがあります。ここでは改めてアジャイル開発の基本的な考え方を整理していきたいと思います。

ソフトウェア開発手法とは

 開発手法とはシステム開発を効率的に進めるための手順・約束事・ノウハウのことを意味します。最も歴史があり、よく知られている開発手法はウォーターフォールモデルとなるでしょう。ウォーターフォールモデルでは「要求」「分析」「設計」「実装」「テスト」「運用」といった形にシステムの開発工程を分割し、各工程では後工程の作業のインプットとなる成果物を作成します。成果物は仕様書や設計書などのドキュメント類で、基準や定義が定められおり、各工程の中で時間をかけて厳格に検証され承認されたもののみが用いられます。原則的に各工程の順序を飛び越えて先に進んだり、一度終了した工程に戻るということを許しません。このような開発モデルを滝の水が上から下に落ちることにたとえてウォーターフォールモデルと呼んでいます。

アジャイル開発の出現した背景

 ウォーターフォールモデルは現在でも多くのプロジェクトで採用されています。その理由は工程がはっきりと分かれているためスケジュール立案や進捗管理などのプロジェクト管理を行うのが容易であること、段階的な詳細化のため各工程の工数の見積や資源の配分が行いやすいことなどがあります。しかしながら、最近のシステム開発の環境変化とウォーターフォールモデルに存在している問題点により、アジャイル開発手法が登場することになりました。

 ソフトウェア開発環境に大きく影響を与えているのは、ビジネスの変化とスピードです。グローバル化や規制緩和などにより産業構造は大きく変化しており、従来の枠組みを自ら革して他社先んじて適合を行い、市場にいち早くサービスを提供していく必要があります。そのようなビジネスに必要なシステムを開発するための手法として捉えた場合、ウォーターフォールモデルには大きく2つの問題点があります。

■問題その1: システム全体に対する分析や設計を一括して行うため各工程が長く、ユーザーがシステムの実物を見られるようになるまでの時間が長い

 ウォーターフォールモデルではシステム全体についてひとつの工程をモレがない段階まで行い、レビューによる確認や承認を終えた段階で次の工程に移ります。そのため、ひとつひとつの工程が長く、システム開発の初期段階で要件をヒアリングしたユーザが実際のシステムを利用できるまでには長い時間がかかります。

 一方、市場で勝ち抜いていくために、企業は従来の業務構造を見直し、競合優位性を獲得できるように業務のあるべき姿を再構築しています。そのような業務に対するシステムの要件を検討した場合、日々の業務のみから必要な機能を抽出するということは困難であり、ビジネスゴールへの到達を想定した仮説にもとづいた要件にならざるを得ません。そのため、システムに本当に必要な機能は何か、システム機能を使用する業務は実現可能なのか、といった点については実際に動くもの見なければ検証できないという状況が発生してきています。

 ウォーターフォールモデルを採用した場合には、ユーザーは開発の終盤にならなければシステムを利用して仮説の検証を行うということができず、そのためほとんどの機能を作り終えた後で変更要求が頻発して対応しきれなくなり、最終的に満足度の低いシステムになってしまう可能性が高いと言えます。

 それに対して、アジャイル開発では開発プロジェクトの期間を短期間(1週間〜6週間)に区切り、この間に開発工程を一通り行って、部分的に機能を完成させます。そしてこの「短く区切られた期間で動くアプリケーションを開発する」という作業を繰り返すことによって、段階的にシステム全体を仕上げていきます。このような開発スタイルは反復型(イテレーション)開発と呼ばれていますが、開発期間の早い段階からユーザーが動くソフトウェアを目で見て確認できます。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

  • このエントリーをはてなブックマークに追加

この記事を読んだ方に

SpecialPR

連載

CIO
研究現場から見たAI
Fintechの正体
米ZDNet編集長Larryの独り言
大木豊成「仕事で使うアップルのトリセツ」
山本雅史「ハードから読み解くITトレンド放談」
田中克己「2020年のIT企業」
松岡功「一言もの申す」
松岡功「今週の明言」
内山悟志「IT部門はどこに向かうのか」
林 雅之「デジタル未来からの手紙」
谷川耕一「エンプラITならこれは知っとけ」
大河原克行「エンプラ徒然」
内製化とユーザー体験の関係
「プロジェクトマネジメント」の解き方
ITは「ひみつ道具」の夢を見る
セキュリティ
「企業セキュリティの歩き方」
「サイバーセキュリティ未来考」
「ネットワークセキュリティの要諦」
「セキュリティの論点」
スペシャル
課題解決のためのUI/UX
誰もが開発者になる時代 ~業務システム開発の現場を行く~
「Windows 10」法人導入の手引き
ソフトウェア開発パラダイムの進化
エンタープライズトレンド
10の事情
座談会@ZDNet
Dr.津田のクラウドトップガン対談
展望2017
Gartner Symposium
IBM World of Watson
de:code
Sapphire Now
VMworld
Microsoft WPC
HPE Discover
Oracle OpenWorld
Dell EMC World
AWS re:Invent
AWS Summit
PTC LiveWorx
より賢く活用するためのOSS最新動向
古賀政純「Dockerがもたらすビジネス変革」
中国ビジネス四方山話
ベトナムでビジネス
米株式動向
日本株展望
企業決算