アジャイル開発手法の定義
アジャイル開発とは、必要最低限のことをシンプルにムダなく実施して良いソフトウェアを開発することであり、それを実現するための開発手法には様々なものがあります。2001年2月にアジャイル開発の分野で著名な17名の開発方法論者が集まり、彼らが提唱する個々の方法論の重要な部分を「アジャイルソフトウェア開発宣言」としてまとめ、アジャイル開発の価値と原則を定義しました。アジャイル開発の価値は以下のように定義されています。
- プロセスやツールよりも個人や相互作用
- 分かりやすいドキュメントよりも動くソフトウェア
- 契約上の駆け引きよりも顧客とのコラボレーション
- 計画を硬直的に守るよりも変化に対応する
上記の価値をウォーターフォール開発と比較して具体的に表現すると、次のようになります。
| ウォーターフォールモデル | アジャイル開発 |
|---|---|
| 開発手法で定義されているドキュメントは必ず作成する | プロジェクトを成功させるために価値が少ないドキュメント作成を極限まで省く |
| ユーザーは要求仕様書を確認して要求の承認を行う | ユーザーには文書ではなく動くソフトウェアを使って要求を確認する |
| 要求仕様書の承認によって確定した要求を変更することは許さない | ユーザーの要求はビジネス環境の変化に応じてプロジェクトの途中で変化するものと考える |
| プロジェクト当初に策定した計画を遵守できるように管理を行う | PDCAサイクルを短く回し、プロジェクトの状況にあわせた管理を行う |
それぞれの項目について説明しましょう。
●価値が少ないドキュメント作成を極限まで省く
ウォーターフォール型の開発では各工程の終了は定義されているドキュメント類が完成し承認済みかどうかで判断されます。そのため、プロジェクトのゴール、つまりソフトウェアを完成させるという目的から見て価値の少ないものであっても定義されているものは必ず作成する必要があります。アジャイル開発では形式的なドキュメントよりも、コミュニケーションによりゴールを目指してプロジェクトを運営していくことを大切にします。
●ユーザーには文書ではなく動くソフトウェアを使って要求を確認する
ユーザーは業務の専門家ですが、システムの専門家ではないため、システムの担当者が記述した仕様書をみたところで、自分の要求どおりのシステムになっているのかを判断することは困難です。そのためにシステムがリリースされてから、機能に対して持っていたイメージと異なっていたことが判明し、問題が発生するような場合があります。ドキュメントの数を増やして、記述する情報の数を増やすよりも、動くソフトウェアを見せることによって、ユーザーは要求がどのようにシステムとして実現されるかを知ることができ、評価がしやすくなります。
●ユーザーの要求はビジネス環境の変化に応じて途中で変化する
ユーザーの要求は元を正せばビジネス上のゴールに到達するために必要な業務という観点から発生しているはずです。ビジネス環境の変化スピードが増している現在、システム開発プロジェクトの間に要求が変更されることは特別なことではないでしょう。ウォーターフォール型の開発のようにプロジェクトの初期段階で決定した要件を変更できないとすると、システムリリース時にはすでにビジネス上の価値が乏しいものになっている可能性もあります。
●PDCAサイクルを短く回し、プロジェクトの状況にあわせた管理を行う
ウォーターフォール型の開発ではプロジェクト初期段階で各工程の計画をきっちりと定め、それに対する進捗を管理するという形でプロジェクト管理が行われます。したがって、計画自体が正しくなかった場合でも、進捗管理のためのベースとなっているため計画を遵守することを第一とします。アジャイル開発手法の場合は、短いサイクルの中で要件定義から実装・テストまで行うため、各イテレーションでの反省を生かして計画を再考し、状況にあわせた管理を行うことができます。
関連情報
-
IBM、エクリプス財団に「Rational Unified Process」のコードを提供
BMは米国時間10月12日、オープンソース団体のエクリプス財団に対し、ソフトウェア開発プロジェクトの組織化に関するドキュメントやコードを寄贈したことを明らかにした - 離れていてもアジャイル開発が行える「Borland JBuilder 2006」、ボーランドが出荷
「今さら人に聞けないITトピック」 のバックナンバー
-
クラウドコンピューティング--希望の光か、それともただのマーケティング用語なのか
SaaS、PaaS、IaaSに関係する用語として、さまざまな文脈で「クラウドコンピューティング」について語られるようになった。単なるマーケティング用語にも思えるが、この用語について解説しよう。 -
日本発のQRコードがヨーロッパに本格進出?
-
最近よく聞く「クロスサイトスクリプティング」って?
-
ウェブの巨人が操るロボットが襲来?--Google Androidのインパクト
-
米国GPSとどう違うの?--欧州版の全地球測位システム「Galileo」とは
- 今さら人に聞けないITトピック 一覧へ »
ZDNet Japan Essential Topic
-
【今注目のIT企業は何を考える…??】
オススメIT系求人情報も毎週月曜日更新! -
コラボレーション基盤特集
Notes置換とバージョンアップの情報はこちら
企画特集
-
APC SOLUTIONS FORUM 2008をレポート
電源、冷却の効率化によるエネルギー削減とは? -
ZDNet Japan ホスティング特集
2008年夏のホスティングサービスのトレンドは何? -
「シンプル」&「低コスト」な運用管理
IT運用管理に関するアンケート実施中! -
ZDNet Japan Green IT
サミットだけでは終わらせない!エンタープライズの取り組みはこれからだ! -
Techno Exchange
RackableとCTCの地球にやさしい関係 -
セキュリティ対策レベルテスト公開!
自社のセキュリティのウイークポイントはドコ? -
DELLが掲げる「新・仮想化アセスメントサービス」
〜企業システムの仮想化環境の構築を支援〜 -
仮想化環境で求められるストレージの要件
それに応えるNetAppの実力とは? -
Webセキュリティ特集
Web2.0時代の脅威へ対抗するためのソリューションとは? -
SaaSで開発効率UP!
SaaSでできる、ソフトウェア開発情報の一元化とは -
IronPort Sシリーズ
Webからの脅威に関する課題の3つの解決方法 -
Secure Web
Web2.0時代にプロアクティブなセキュリティを実現!!