Agile
Agile Software Development
Agile(アジャイル開発)とは
ひとことで
機能を小さな単位に分け、短い期間(イテレーション、スクラムではスプリント)で「計画→設計→実装→テスト」を繰り返し、動くソフトウェアを少しずつ作りながら改善していく開発手法の総称。代表的な手法にスクラムやXP(エクストリームプログラミング)がある。
たとえると
家を一度に完成させるのではなく、まず寝室だけ作って住んでみて、「次はキッチンを広めに」と住み心地を聞きながら一部屋ずつ増やしていくようなものです。使う人の声を聞きながら作るので、途中の変更にも対応しやすくなります。
現場ではこう使う
大学のサークルで練習予約アプリを作ることになり、情報学部の学生が開発を担当しました。最初は予約機能だけを2週間で作ってメンバーに使ってもらい、「キャンセル通知がほしい」という声をもとに次の2週間で通知機能を追加しました。短い期間で作って意見をもらうアジャイル開発の進め方で、本当に必要な機能から順に完成させました。
試験のポイント
EXAM POINT「短い期間で反復」「動くソフトウェアを優先」「仕様変更に柔軟に対応」「顧客との協調」と出てきたらアジャイルです。スクラムのスプリントやデイリースクラム、XPのペアプログラミング(2人1組でプログラミング)、テスト駆動開発、リファクタリング(動作を変えずにプログラムの内部を改善)、ユーザーストーリーなどの用語が問われます。