はじめに
ソフトウェア開発において、アジャイル開発は変化に柔軟に対応するための開発手法として広く採用されている。
その中でもスクラム(Scrum)は、チームで協力しながら短期間(スプリント)で開発を進める手法として特に人気がある。
本記事では、基本情報技術者試験(令和6年)科目A 問12の問題を通じて、スクラムの基本概念やスプリントにおけるイベントの違いを詳しく解説する。
基本情報技術者試験(科目A)問12の問題
試験問題
アジャイル開発手法の一つであるスクラムで定義され,スプリントで実施するイベントのうち,毎日決まった時間に決まった場所で行い,開発チームの全員が前回からの進捗状況や今後の作業計画を共有するものはどれか。
ア. スプリントプランニング
イ. スプリントレトロスペクティブ
ウ. スプリントレビュー
エ. デイリースクラム
解答と解説
この問題の正解は 「エ. デイリースクラム」 である。では、それぞれの選択肢が何を意味するのか詳しく見ていこう。
1. デイリースクラム(Daily Scrum)
デイリースクラム(Daily Scrum) は、スクラム開発において、スプリント実施中に毎日行われる短いミーティング(スタンドアップミーティング) のことを指す。
デイリースクラムの目的
- チーム全員が進捗状況を共有し、スプリントの進行状況を確認する。
- 開発における障害(ボトルネック)を早期に特定し、対応策を考える。
- チームのコミュニケーションを活性化し、スプリントの成功を促進する。
デイリースクラムの特徴
- 毎日決まった時間・決まった場所で行う(通常は朝、15分程度)。
- 参加者は開発チームの全員。
- 立ったまま行うことが多く、短時間で要点を確認する。
- 基本的には以下の3つの質問に答える形式で進行する:
- 昨日やったことは何か?
- 今日やることは何か?
- 今抱えている問題(障害)は何か?
例えば、以下のような進行が想定される:
Aさん:「**昨日はログイン機能の実装を進めました。今日はAPIのエラーハンドリングを実装します。データベースの仕様がまだ決まっていないのが課題です。**」
Bさん:「**昨日はフロントエンドのデザイン調整を行いました。今日は認証機能の統合を進めます。APIの仕様が確定するまで待つ必要があります。**」
Cさん:「**昨日はユニットテストの追加を行いました。今日はバグ修正を進めます。サーバーのセットアップに時間がかかっているのが課題です。**」
このように、デイリースクラムはスプリントの進捗を可視化し、開発チーム全体の調整を行うために非常に重要なイベントである。
2. 各選択肢の説明
ア. スプリントプランニング(Sprint Planning)
「スプリントプランニングは、スプリントの開始に先立って行われるミーティングで、プロダクトバックログの中から、そのスプリントで開発するものを決定する場である。」
スプリントプランニング は、スプリント(開発期間)の開始前に行われる計画会議 である。
スプリントプランニングの特徴
- スプリントの目標を決定する(何を開発するのかを決める)。
- プロダクトオーナー、スクラムマスター、開発チームが参加。
- プロダクトバックログ(開発すべき項目のリスト)から、スプリントで実装するタスクを選択する。
- 通常は数時間程度かけて行われる。
デイリースクラムは毎日行われるのに対し、スプリントプランニングはスプリントの開始時に1回だけ行われる ため、本問の条件とは異なり 誤り である。
イ. スプリントレトロスペクティブ(Sprint Retrospective)
「スプリントレトロスペクティブは、スプリント終了後に次のスプリントを見据えて行われる振り返りの場である。」
スプリントレトロスペクティブ は、スプリント終了後に行われる振り返りのミーティング である。
スプリントレトロスペクティブの特徴
- スプリントを振り返り、次のスプリントに向けた改善点を話し合う。
- 開発チーム全員が参加し、良かった点・課題・改善点を議論する。
- 例えば、以下のような問いを用いて振り返る:
- うまくいったことは何か?
- 問題があったことは何か?
- 次回改善できることは?
デイリースクラムは毎日行われるのに対し、スプリントレトロスペクティブはスプリント終了後に1回行われる ため、本問の条件とは異なり 誤り である。
ウ. スプリントレビュー(Sprint Review)
「スプリントレビューは、スプリントの終了時に、スプリントの成果を検査し、今後の適応を決定する場である。」
スプリントレビュー は、スプリントの終了時に成果を発表し、関係者からフィードバックを得るための会議 である。
スプリントレビューの特徴
- スプリントの最終日に行われる。
- 開発チームがスプリントで作成した成果物をデモンストレーションする。
- プロダクトオーナーやステークホルダー(利害関係者)も参加する。
- フィードバックを受け取り、プロダクトバックログの更新に活かす。
デイリースクラムは毎日行われるのに対し、スプリントレビューはスプリント終了時に1回行われる ため、本問の条件とは異なり 誤り である。
3. スクラムにおける主要なイベントの違い
イベント名 | 実施タイミング | 目的 | 参加者 |
---|---|---|---|
スプリントプランニング | スプリント開始前 | スプリントの目標とタスクを決定 | プロダクトオーナー, スクラムマスター, 開発チーム |
デイリースクラム | 毎日 | 進捗の共有・課題の把握 | 開発チーム |
スプリントレビュー | スプリント終了時 | 成果物のデモ・フィードバック収集 | ステークホルダー, 開発チーム |
スプリントレトロスペクティブ | スプリント終了後 | 振り返りと改善点の議論 | 開発チーム |
まとめ
今回の試験問題では、「毎日決まった時間に行われる、開発チームの進捗状況共有のためのイベント」として、「デイリースクラム」(エ)が正解だった。
スクラムを理解することで、アジャイル開発の効率的な進め方を学ぶことができる。開発チームの一員として、スクラムの各イベントを適切に活用し、チームワークを最大化しよう!
コメント