最終更新日:2026年9月19日
fe fe-technology software-development agile scrum
まず結論
イテレーション(iteration)とは、アジャイル開発で短い期間ごとに開発を繰り返す1回分のサイクルです。
分析・設計・実装・テストなどを短い期間で回し、動くソフトウェアを少しずつ改善していきます。
基本情報技術者試験では、次の切り分けが重要です。
短い期間で開発を繰り返す
→ イテレーション
Scrumでの反復期間
→ スプリント
毎日短時間で状況を確認
→ デイリースクラム
作業状況を見える化
→ タスクボード
2人で一緒にプログラムを書く
→ ペアプログラミング
覚える一文はこれです。
短いサイクルで作る・確かめる・直す → イテレーション
直感的な説明
イテレーションは、「全部完成してから確認する」のではなく、小さく作って早く確認する考え方です。
たとえば、オンラインショップを開発するとします。
最初から全機能を完成させようとすると、
商品検索
↓
カート
↓
決済
↓
会員管理
↓
全部完成してから確認
となり、途中で要求が変わると修正範囲が大きくなりやすくなります。
アジャイル開発では、短いサイクルを繰り返します。
1回目
商品検索を作る
↓
確認する
↓
改善する
2回目
カート機能を追加
↓
確認する
↓
改善する
3回目
決済機能を追加
↓
確認する
↓
改善する
この1回分の短い開発サイクルがイテレーションです。
定義・仕組み
アジャイルソフトウェア開発宣言の原則では、価値のあるソフトウェアを早期かつ継続的に提供することや、要求の変更を歓迎することが重視されています。
イテレーションでは、一般に次のような活動を短い期間で繰り返します。
要求・分析
↓
設計
↓
実装
↓
テスト
↓
確認・改善
↓
次のイテレーション
重要なのは、短い周期で結果を確認し、その結果を次の開発に反映することです。
なぜ短く区切るのか
短いサイクルにすると、
- 顧客や利用者の要求との差を早く見つけやすい
- 要求変更に対応しやすい
- 問題を早い段階で発見しやすい
- 少しずつ完成度を高められる
という利点があります。
科目Aでどう出る?
科目Aでは、イテレーションそのものの定義だけでなく、アジャイル開発で使われる似た用語と比較して問われることがあります。
イテレーション
短い期間
繰り返し
要求との差を早く修正
変更へ柔軟に対応
このような表現なら、イテレーションを考えます。
タスクボード
タスクボードは、作業を「未着手」「作業中」「完了」などに分けて、進捗を見えるようにするものです。
未着手 作業中 完了
-------- -------- --------
機能A 機能B 機能C
機能D
したがって、
タスクの実施状況を可視化する
ならタスクボードです。
ペアプログラミング
ペアプログラミングは、2人で1台のコンピュータを使ってプログラムを書く方法です。
一般に、
- ドライバ:コードを書く
- ナビゲータ:コードを確認し、方針を考える
という役割を交代しながら進めます。
したがって、
ドライバとナビゲータを固定しない
ならペアプログラミングに関する説明です。
デイリースクラム
Scrumでは、開発者が毎日短時間集まり、進捗や次の作業を確認するデイリースクラムがあります。
Scrum Guideでは、デイリースクラムを15分のイベントとしています。
したがって、
毎日決めた時刻に集まり、開発状況を共有する
ならデイリースクラムを考えます。
試験での切り分け
| 表現 | 考える用語 |
|---|---|
| 短い期間で開発を繰り返す | イテレーション |
| Scrumの反復期間 | スプリント |
| 毎日短時間で状況を確認 | デイリースクラム |
| 作業状況を見える化 | タスクボード |
| 2人でコードを書く | ペアプログラミング |
どんな場面で使う?
要求が変わりやすい開発
利用者の反応を見ながら仕様を調整したい場合、長期間の計画を固定するより、短いサイクルで確認した方が変更に対応しやすくなります。
作る
↓
見せる
↓
意見をもらう
↓
直す
↓
もう一度作る
完成度を少しずつ高めたい場合
最初から100%を目指すのではなく、まず使える部分を作り、改善を繰り返します。
第1回:基本機能
第2回:機能追加
第3回:使いやすさ改善
第4回:性能改善
このように、反復するたびに製品を成長させます。
よくある誤解・混同
イテレーションとスプリントは同じ?
似ていますが、完全に同じ意味として覚えない方が安全です。
イテレーション
→ アジャイル開発で使われる一般的な反復サイクル
スプリント
→ Scrumで定義された反復期間
Scrum Guideでは、スプリントは1か月以内の固定長イベントとされています。
したがって、問題文に「Scrum」と明示されている場合は「スプリント」という用語を優先して確認します。
イテレーションは毎日のミーティング?
違います。
毎日短時間で行うミーティングは、Scrumではデイリースクラムです。
開発サイクルそのもの
→ イテレーション
毎日の短い確認
→ デイリースクラム
タスクを見える化することがイテレーション?
違います。
タスクの状態を見えるようにするのはタスクボードです。
イテレーションは、開発を短い周期で繰り返すことです。
ペアプログラミングもイテレーション?
違います。
ペアプログラミングは、2人で協力してプログラミングする開発方法です。
イテレーションとは役割が異なります。
まとめ(試験直前用)
- イテレーションは、アジャイル開発の短い反復サイクル
- 分析・設計・実装・テストなどを短期間で繰り返す
- 要求との差を早く見つけ、変更に対応しやすくする
- Scrumの反復期間はスプリント
- 毎日の短い確認はデイリースクラム
- 作業状況の可視化はタスクボード
- 2人でコードを書くのはペアプログラミング
試験では、次の形で切り分けます。
短いサイクルで繰り返す
→ イテレーション
Scrumの反復期間
→ スプリント
毎日集まる
→ デイリースクラム
作業を見える化
→ タスクボード
2人で実装
→ ペアプログラミング
「短期間で作る・確認する・直す」を繰り返すならイテレーション。