情報処理のWeb教科書―IPA情報処理試験対策のお供に!

アジャイル―スクラム、イテレーションなどアジャイル開発手法について解説。

トップ 情報処理の知識体系 テクノロジ系 技術要素 開発技術 ソフトウェア開発 開発プロセス・手法 ソフトウェア開発手法 アジャイル

アジャイル開発手法は、スクラムやイテレーションなど、顧客・技術・経営をつなぐ協調的ソフトウェア開発手法として期待される手法です。迅速かつ適応的にソフトウェア開発を行う軽量な開発手法であるアジャイルについてまとめています。

▲記事トップへ

目次

この記事の目次です。

1. アジャイルとは
2. アジャイル開発の特徴
3. アジャイルとウォーターフォールの違いを比較
4. アジャイル開発手法

アジャイルに関連したIPA情報処理試験の過去問
アジャイルに関連した参考書籍
もっと知識を広げるための参考
更新履歴

1. アジャイルとは

アジャイルとは、すばやいという意味を持つ言葉です。 別の開発手法であるウォーターフォールモデルの開発手法と比べ、迅速かつ適応的にソフトウェア開発を行う軽量な開発モデルです。

参考)アジャイルの英語の意味

アジャイルは英語でAgileと書き、和訳の英語の意味は以下になります。

  1. 素早い、すばしっこい、機敏な
  2. 活動的な、生き生きとした
  3. 明敏な、頭の切れる

英英辞典で調べるとアジャイルの意味は以下のように記述されています。

2. アジャイル開発の特徴

アジャイル開発の特徴として、以下があげられます。

3. アジャイルとウォーターフォールの違いを比較

ウォーターフォールモデルの場合、顧客が実際にできたソフトウェアに触れるのは開発工程がすべて完了してからになります。 つまり顧客は最後になるまで動くものが見えず、紙に書かれた文書を理解しなくてはならず、誤解も生じやすく、 さらに要求を出してから実際に使えるようになるまで長い時間がかかるため、そもそもの要求がソフトウェアの完成時点でもう古くなってしまうことさえあります。

これに対しアジャイルでは、分析、設計、実装、テストを短い期間で並列に行い、それを繰り返します。 顧客にとって価値の高い機能から開発し、短い間隔で動くソフトウェアを完成させます。 文書や報告ではなく、動くソフトウェアを一定間隔で作り、それを成長させます。 開発を通して顧客やユーザーの意見をフィードバックしながら進めます。 途中で修正が入るのは普通ですし、機能の優先順位も途中で変更されます。

4. アジャイル開発手法

迅速かつ適応的にソフトウェア開発を行う軽量な開発手法であるアジャイルについてまとめていきます。

エクストリームプログラミング

エクストリームプログラミングとは、Extreme Programmingのことで、XPと省略する言葉です。 アジャイル開発の代表的な手法の1つです。

エクストリームプログラミング(XP)のプラクティス

エクストリームプログラミング(XP)のプラクティスとしては、 XP(Extreme Programming)のプラクティスでは、 単体テストを終えたプログラムは、すぐに結合して、結合テストを行います。 またコードの結合とテストを継続的に繰り返します。

エクストリームプログラミング(XP)の方法論

エクストリームプログラミング(XP)の方法論では、利用者の要求や使用の変更リスクを軽減するために、利用者や開発者間のコミュニケーションを重視します。 コーディングとテスト、ペアプログラミング、リファクタリングに重点を置いて短期間のリリースを繰り返して開発を進めていきます。

エクストリームプログラミング(XP)は10人程度までの少人数のチームによる開発に適するといわれていますが、 この方法論の提唱者は、斬新的にソフトウェアを成長させることを目指せば大規模システムの開発も可能としています。

ペアプログラミング

ペアプログラミングとは、質の向上や知識の共有を図るために、2人のプログラマがペアになり、 その場で相談したりレビューしたりしながら、一つのプログラムの開発を行うことをいいます。

ペアプログラミングは、エクストリームプログラミング(XP:eXtreme Programming)のプラクティスの1つです。 アジャイルソフトウェア開発などで導入されています。 プログラム開発において、相互に役割を交換し、チェックし合うことによって、 コミュニケーションを円滑にし、プログラムの品質向上を図ります。

スクラム

スクラムとは、アジャイル開発の一手法で、 複雑で変化の激しい問題に対応するためのシステム開発のフレームワークであり、 反復的かつ斬新的な手法として定義したものです。

予見的ではなく経験的なプロセスで、実際にやってみた結果を見ながらチームを適応させていきます。

イテレーション

アジャイル開発において、短い間隔による開発工程の反復や、その開発サイクルを表す用語は、イテレーションです。

イテレーションでは、ソフトウェアに存在する顧客の要求との不一致を解消したり、 要求の変化に柔軟に対応したりすることを目的にスプリントと呼ばれる要件確認からリリースまで行う、 1~4週間の短い開発期間を繰り返します。

ふりかえり(レトロスペクティブ)

ふりかえり(レトロスペクティブ)は、アジャイル開発のベストプラクティスの1つです。 イテレーションの各回の最後に行います。

テスト駆動開発

エクストリームプログラミング(XP:eXtreme Programming)におけるテスト駆動開発は プログラムを書く前にテストケースを作成するなどの特徴があります。

アジャイルに関連したIPA情報処理試験の過去問

以下ではアジャイルに関連したIPA情報処理試験の過去問とその解説をまとめています。

アジャイルに関連した参考書籍

もっと知識を広げるための参考

更新履歴

戻る

スポンサーリンク

情報処理の知識体系

各試験の問題と解説

ランダム出題・採点アプリ

プログラミング

スポンサーリンク