「アジャイル開発」って何がいいの?--アジャイル開発を実案件に生かすための基礎知識 - (page 4)

柏木雅之、山下博之 (IPA SEC エンタプライズ系プロジェクト)

2011-05-25 12:00

 要求変更に伴うコスト増も、最初から変更を見越しているアジャイル開発は、変更要求が後工程になればなるほど膨らんでしまうウォーターフォール型に比べ、一定の範囲に抑えることが可能です。ただしコストに関しては、アジャイル開発の場合、どの程度の変更までを許容するのかといった見積りが難しいという面もあります。ウォーターフォール型の場合、基本的に最初の要求定義以上に仕様が膨らむことはないので、予算の見積りがしやすいのです。アジャイル開発の案件が増えてくれば、このあたりのノウハウも充実するかもしれません。

 さて、まとめるとアジャイル開発は以下のような特徴を有しています。

  • 顧客の参画の度合いが強い
  • 動くソフトウェアを成長させながら作る
  • 反復・漸進型である
  • 人と人とのコミュニケーション、コラボレーションを重視する
  • 開発前の要求の固定を前提としない

 アジャイル開発がウォーターフォール型といかに大きく異なるかがおわかりかと思います。技術者だけでなく、「顧客も共に開発に参加する」ということが重要なので、アジャイル開発を進める際には顧客の同意と協力が不可欠です。残念なことに「発注者(顧客)のほうが受注者(開発側)より立場が上」という感覚が必要以上に強く刷り込まれている企業の間では、この図式が崩れることを嫌がる発注者と受注者が多いこともまた事実です。コミュニケーションが苦手な技術者であればアジャイル開発を苦痛に感じることもあるでしょう。

 このコミュニケーション/コラボレーションをいかにうまく行っていくかがアジャイル開発の成功のカギを握っていると言ってもいいでしょう。そういう意味ではチームのメンバーを束ねるプロジェクトリーダー(アジャイル開発の場合には「ファシリテーター」と称することが多い)には、人間関係を円滑にするため、より細やかな視点でメンバーの管理を行う役割が求められます。

 アジャイル開発とウォーターフォール型開発の違いをもうひとつ挙げるなら、それは技術者に求められる能力です。ウォーターフォール型の場合、たとえばテスト技術者はテストだけを行えばよく、コーディング担当者は仕様書の通りにコードを書けばよく、それ以外の作業に関わる必要がないことが多いです。

 一方、短い期間でひと通り動くソフトウェアを作り上げるには、1人でソフトウェア開発のすべての工程をこなせるスキルをもった技術者が必要です。ある程度以上のスキルをもった技術者でプロジェクトチームを構成してこそ、アジャイル開発は成り立つのです。従って、技術者にはこれまで以上のスキルアップが求められることになります。

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

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    「デジタル・フォレンジック」から始まるセキュリティ災禍論--活用したいIT業界の防災マニュアル

  2. 運用管理

    「無線LANがつながらない」という問い合わせにAIで対応、トラブル解決の切り札とは

  3. 運用管理

    Oracle DatabaseのAzure移行時におけるポイント、移行前に確認しておきたい障害対策

  4. 運用管理

    Google Chrome ブラウザ がセキュリティを強化、ゼロトラスト移行で高まるブラウザの重要性

  5. ビジネスアプリケーション

    技術進化でさらに発展するデータサイエンス/アナリティクス、最新の6大トレンドを解説

ZDNET Japan クイックポール

注目している大規模言語モデル(LLM)を教えてください

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]