アジャイル開発とテスト駆動開発
アジャイル開発は、計画、設計、実装、評価を短い期間で繰り返し、動くソフトウェアを早い段階で顧客に示しながら進める開発手法の総称である。代表的な手法にスクラムとエクストリームプログラミング(XP)があり、テスト駆動開発はXPで重視される実践の一つである。本単元では、反復の目的、スクラムとXPの構成要素、テスト駆動開発の手順と、試験で問われやすい区別を整理する。
反復の目的と進め方
イテレーションは、短い期間で開発と評価を繰り返す進め方である。その主な目的は、ソフトウェアに存在する顧客の要求との不一致を短いサイクルで解消し、要求の変化に柔軟に対応することにある。 動くソフトウェアを早く顧客に示すことで、要求とのずれを早期に見つけ、次の反復で修正できるようになる。
イテレーションの目的は、作業の可視化、役割の交代、問題の早期発見のための定例会議などと区別する必要がある。タスクの進捗を見えるようにすることは進捗管理の目的であり、ドライバとナビゲータを交代するのはペアプログラミングの実践である。毎日決まった時刻に集まって状況を共有するのはデイリースクラムの目的である。
スクラムとXPの構成要素
スクラムは、プロダクトオーナーなどの役割、スプリントレビューなどのイベント、プロダクトバックログなどの成果物、およびそれらを定めるルールから成るフレームワークである。 複雑なプロダクト開発に用いられ、反復ごとに動く成果物を作って検査と適応を繰り返す点が特徴である。
プロダクトオーナーは、ゴールやミッションが達成できるように、プロダクトバックログのアイテムの優先順位を決定する役割である。 チームの支援やファシリテーションを担うスクラムマスターとは区別される。プロダクトをどう作るかという技術的な手段は開発者が専門性に基づいて決め、インクリメントの作成も開発者が担う。
ふりかえり(レトロスペクティブ)は、各イテレーションの最後に行い、進め方や協働を振り返って次の改善を決める。 朝会は進捗や障害を共有する場であり、ニコニコカレンダーはチームの気持ちを共有する実践であるため、ふりかえりとは目的が異なる。
この節の続き
- テスト駆動開発の手順と実務
- 試験で問われやすい区別
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む