一部の人々は「アジャイル開発=設計の必要なし」と考えている。これは正しくない。アジャイル開発は、設計を早めに行う必要がないというだけである。アジャイルは、両方とも「ちょうどよいタイミングで行う」ことを促進する点でリーンプロセスと似ている。
ユーザーストーリー
ユーザーストーリーは、アジャイル開発プロジェクトで最も頻繁に使用されるツールの一つである。ユーザーストーリーの魅力は、プロジェクトの初期段階で詳細に突き詰める必要がない点にある。以下に、ユーザーストーリーの一般的な使用シーンを示す。
- ユーザーストーリーの収集 – 最終ユーザーと会談し、ユーザーストーリーをブレインストーミングする
- ユーザーが達成したいことを1文で記録するだけ
- 必要に応じて簡単な説明を追加できる
- 開発者たちがユーザーストーリーに対して基本的な見積もりを行う
- スプリント会議では、すべての関係者が集まり、どのユーザーストーリーのセットをスプリント内で実施するかを決定する
- 開発者たちが最終ユーザーと会って、ユーザーストーリーの詳細について議論する
- 議論内容を会話メモとして記録する
- 確認項目として達成されなければならない内容を記録する
- 開発者たちが利用シナリオを記述し、システムのワイヤーフレームを描画する
- ユーザーと要件を確認する
- 開発者たちがシステムを設計する
- 開発者たちがシステムを実装する
- 要件が明確になり、設計もすべて完了しているため、実装の負荷は低い
- 開発者たちが、確認項目に基づいて最終ユーザーがテストを行うためのテスト環境を整備する
ご覧の通り、アジャイル開発チームは少なくとも以下の設計を必要とする:
- ユーザーエクスペリエンス設計(UX設計)- ワイヤーフレーム
- システム設計-アクティビティ図、シーケンス図
- データベース設計-エンティティ関係図(ERD)