アジャイル型開発とは
アジャイル型開発とは、変化に迅速かつ柔軟に対応できるように、
短い期間(1週間から1ヶ月)単位で、「計画、実行、評価」を繰り返す反復型の開発手法です。
この反復のことをイテレーションと呼びます。
スクラム
アジャイル開発のアプローチ方法の1つです。 スクラムでは反復の単位をスプリントと呼びます。 スプリントは以下のような構成で行われます。
スプリントプランニング (イテレーション計画) |
スプリントの開始に先立って行われるミーティング。プロダクトバックログの中から、プロダクトオーナーが順に従って、今回扱うバックログ項目を選ぶ。 スプリントバックログの決定 |
---|---|
デイリースクラム | スタンドアップミーティング、または朝回とも言われ毎日決まった場所・時刻で行う15分の短いミーティング |
スプリントレビュー (デモ) |
スプリント最後の成果物をデモンストレーションし、リリースの可否をプロダクトオーナが判断する |
スプリントレトロスペクティブ | スプリントレビュー終了後、スプリントの振り返りを実施し、次のスプリントに向けて改善を図る |
※プロダクトバックログ
プロダクトバックログは、今後のリリースで実装するプロフダクトの機能を、ユーザストーリ形式で記述したリストです。このリストはプロダクトオーナーが管理します。
次回以降のスプリントに向けて、バックログ項目の見直しを行ったり、詳細・見積もり・並び順を追加することをプロダクトバックログリファインメントと呼びます。
XP(エクストリームプログラミング)
XPは、アジャイル開発における開発手法や、マネジメントの軽計測をまとめたものです。
対象者である「共同、開発、管理者、顧客」の4つの立場ごとに全部で19の具体的なプラクティスが定義されています。
以下主なプラクティスです。
ペアプログラミング | 品質向上や知識共有を図るため2人のプログラマがペアとなりその場で相談したりレビューしながら1つのプログラム開発を行う |
---|---|
テスト駆動 | 最初にテストケースを設計し、テストをパスする必要最低限の実装を行ったあと、プログラムを洗礼させる |
リファクタリング | 完成済みのプログラムでも随時改良し、保守性の高いプログラムに書き直す。その際に、外部からみた振る舞いは変更しない。改良後には改良により想定外の箇所に悪影響を及ぼしていないか検証する回帰テストを行う |
継続的インテグレーション | コードの結合とテストを継続的に繰り返す。すなわち、単体テストをパスしたらすぐに結合テストを行い問題点や改善点を早期に発見する |
コードの共同所有 | 誰が作成士たコードであっても、開発チーム全員が改善再利用を行える |
YAGNI | "You Aren't Going to Need It"(今必要なことだけする)の略 |
リーンソフトウェア開発
製造業から生まれたリーン生産方式の考え方をソフトウェア製品に適用した開発手法。